{"version":3,"sources":["registerServiceWorker.js","services/HelperService.ts","Constants.ts","services/ConfigurationService.ts","enums/MeasurementType.ts","services/StorageFacade.ts","types/measure.ts","models/helpers/UnitOfMeasure.ts","context/ApplicationContext.ts","hooks/useApplicationContext.ts","context/LoadingContext.ts","hooks/useLoadingContext.ts","services/translations/en-tooltips.ts","services/translations/en.ts","services/translations/fr.ts","services/translations/es.ts","services/translations/TranslationService.ts","context/TranslationContext.ts","hooks/useTranslationContext.ts","components/BoxApplications/BoxApplications.tsx","components/helpers/Button.tsx","components/helpers/Modal.tsx","components/BoxApplications/AWEFDialog.tsx","components/BoxApplications/LoadCalcConfirmation.tsx","context/BoxContext.ts","hooks/useBoxContext.ts","context/SystemContext.ts","hooks/useSystemContext.ts","useCases/loadAWEFHelpMeDecideUrlUseCase.ts","components/BoxApplications/SelectNewBoxApplication.tsx","components/helpers/Checkbox.tsx","components/helpers/DropDownList.tsx","components/helpers/FormField.tsx","components/helpers/Measurement.tsx","components/EquipmentFilters/EquipmentFilters.tsx","components/helpers/NumericTextBox.tsx","components/EquipmentBalance/EquipmentBalance.tsx","components/helpers/ConfirmationMessage.tsx","components/helpers/FullScreenModal.tsx","components/EquipmentOptions/OptionConfigurations.tsx","components/helpers/WarningMessage.tsx","context/ErrorContext.ts","hooks/useErrorContext.ts","components/EquipmentOptions/EquipmentOptions.utils.ts","components/EquipmentOptions/EquipmentOptions.tsx","components/helpers/TextBox.tsx","components/EquipmentUnit/UnitAttributes.tsx","components/EquipmentUnit/UnitCapacity.tsx","components/EquipmentUnit/WarningBox.tsx","hooks/usePrevious.ts","services/ModelSelectionService.ts","components/EquipmentUnit/EquipmentUnit.utils.ts","components/EquipmentUnit/EquipmentUnit.tsx","components/Equipment/EquipmentComponent.tsx","services/LoadCalculationService.ts","enums/BoxType.ts","enums/BoxLocation.ts","enums/FloorType.ts","enums/SectionType.ts","models/helpers/FormFields.ts","enums/Radians.ts","enums/SectionLocation.ts","enums/WallType.ts","enums/OpeningType.ts","hooks/useApplicationConfigs.ts","models/helpers/ConstructionLayerCalculations.ts","models/helpers/ConstructionLayerFormFields.ts","context/BoxMaterialsContext.ts","hooks/useBoxMaterialsContext.ts","enums/Material.ts","models/helpers/OpeningCalculations.ts","hooks/useOpeningDetailsForm.ts","models/helpers/OpeningFormFields.ts","models/helpers/BoxSectionCalculations.ts","models/helpers/BoxSectionFormFields.ts","hooks/useBoxSectionForm.ts","models/helpers/LoadCalculations.ts","hooks/useSystemState.ts","components/Equipment/Equipment.tsx","components/helpers/ErrorNotification.tsx","components/Layout.tsx","components/WallLoad/BoxShapesModal.tsx","components/BoxApplications/ChangeBoxApplication.tsx","components/FloorTypes/FloorTypesModal.tsx","components/FloorTypes/FloorTypesButton.tsx","components/helpers/Grid.tsx","components/LoadCalculator/LoadCalculatorComponent.tsx","components/LoadCalculator/LoadCalculator.tsx","models/helpers/PrintPreview.ts","components/Print/LoadInfoEquipmentSummary.tsx","services/CertifiedPrintService.ts","components/Print/ModelInfo.tsx","components/Print/ModelOptions.tsx","components/Print/ModelDrawing.tsx","components/Print/Print.tsx","components/Print/SystemsLoadSummary.tsx","hooks/useProjectSystems.ts","components/Print/PrintMultiple.tsx","components/Print/PrintSingle.tsx","components/Print/ACCDCondensor.tsx","components/Print/PrintCondenser.tsx","components/helpers/Spinner.tsx","components/helpers/FormErrorNotification.tsx","hooks/useConstructionLayerForm.ts","hooks/useConstructionLayerReducer.ts","components/Construction/ConstructionLayerModal.tsx","components/Construction/ConstructionLayersGrid.tsx","components/Construction/ConstructionModal.tsx","hooks/useBoxSectionReducer.ts","components/WallLoad/BoxSectionModal.tsx","hooks/useOpeningDetailsReducer.ts","components/Openings/OpeningDetailsModal.tsx","components/Openings/OpeningsGrid.tsx","components/Openings/OpeningsModal.tsx","components/WallLoad/BoxSectionsGrid.tsx","components/WallLoad/RectangularBox.tsx","components/WallLoad/LShapeBox.tsx","components/WallLoad/UShapeBox.tsx","components/WallLoad/WallLoad.tsx","context/ApplicationContextProvider.tsx","context/BoxMaterialsContextProvider.tsx","context/ErrorContextProvider.tsx","context/LoadingContextProvider.tsx","context/TranslationContextProvider.tsx","context/BoxContextProvider.tsx","hooks/useSystemReducer.ts","context/SystemContextProvider.tsx","hooks/useClearCache.ts","components/helpers/KeepSessionAlive.tsx","App.tsx","components/Themes/ThemeSelector.tsx","index.tsx"],"names":["Boolean","window","location","hostname","match","HelperService","getQueryVariable","variable","vars","search","substring","split","i","length","pair","callAPI","url","callback","fetch","then","response","text","data","JSON","parse","catch","error","console","log","callAPIPost","dataToPost","method","body","stringify","headers","Config","API_URL","ConfigurationService","getBoxApplications","concat","this","baseURL","getApplicationById","id","getAppConstants","getBoxMaterials","getAirProperties","getCurtains","getApplicationUrlById","appId","getApprovalImageByNum","approvalImgNumber","isLarge","num","toString","getModelDrawings","fileName","getDivisionLogo","divisionId","getDivisionLogoAltString","getQueryString","request","Object","keys","filter","key","map","join","_ConfigurationService","getApplicationByIdAsync","boxApplicationId","Promise","resolve","reject","MeasurementType","StorageFacade","getItemRaw","value","sessionStorage","getItem","localStorage","setItem","equipmentSelection","selection","project","quote","loadCalcSystem","system","transferLoadCalcSystemFromSessionToLocal","transferProjectFromSessionToLocal","brand","_this$project","_this$project$Divisio","divId","Division","jobName","_this$project2","ProjectName","myInfo","_this$project3","MyInfo","customerInfo","_this$project4","CustomerInfo","AllowedSpecialModels","UsesMetricSystem","_userProfile$UsesMetr","userProfile","EquipmentToPrint","CondenserConnections","CondenserToPrint","ACCFilters","CPMFormInput","CPMQuoteFormInput","EquipmentToPrint_Options","EquipmentToPrint_ExcludedOptions","EquipmentToPrint_CapacityHasError","EquipmentToPrint_OptionsHasError","hasError","EquipmentToPrint_Attributes","CPMSubmittedBy","submittedBy","isFromLegacy","_userProfile$IsFromLe","IsFromLegacyApp","hasValue","undefined","getNumericValue","Number","roundOff","decimalPlaces","factor","Math","round","localeString","toLocaleString","navigator","language","maximumFractionDigits","countDecimals","floor","UnitOfMeasure","TDatRH","rh","RHatTD","td","TemperatureFtoC","f","TemperatureCtoF","c","TemperatureRelativeFtoC","TemperatureRelativeCtoF","RatingKilowattsToBTUH","kw","Kw_to_BTUH","RatingBTUHtoKilowatts","b","BTUH_to_Kw","RatingWattsToBTUH","w","W_to_BTUH","RatingBTUHtoWatts","BTUH_to_W","BTHUToHP","BTUH_to_HP","HPToBTHU","h","HP_to_BTUH","KgToLb","kg","KG_to_LB","LbToKg","lb","LB_to_KG","HPtoWatts","HP_to_W","WattstoHp","W_to_HP","MtoFt","m","M_to_Ft","FttoM","ft","Ft_to_M","MtoIn","M_to_In","IntoM","_in","In_to_M","FttoIn","Ft_to_In","IntoFt","In_to_Ft","SqMtoSqFt","sqm","SqM_to_SqFt","SqFttoSqM","sqft","SqFt_to_SqM","CuMtoCuFt","cubicm","CuM_to_CuFt","CuFttoCuM","cubicft","CuFt_to_CuM","CFMtoCMPH","cfm","CFM_to_CMPH","CMPHtoCFM","cmph","CMPH_to_CFM","CFMtoLPS","CFM_to_LPS","LPStoCFM","lps","LPS_to_CFM","CFMtoCMPS","CFM_to_CMPS","CMPStoCFM","cmps","CMPS_to_CFM","decimalToFraction","dec","gcd","a","whole","fraction","denominator","numerator","divisor","formatFraction","Denominator","GCD","Numerator","Remainder","TopNumber","WholeNumber","result","abs","numberRound","numberToRound","numOfDecimalPlaces","isNaN","pow","includes","decPlaces","processInput","input","numberValue","umValue","character","charAt","indexOf","allowedCharacter","measurementType","numbers","AirFlow","Dimension","SmallerDimension","toLowerCase","ElectricPower","Rating","Temperature","PositiveTemperature","TemperatureRelative","Weight","PositiveDecimal","Area","Volume","convertValueWithUnit","valueWithUnit","usesMetric","trim","getDisplayValue","displayValue","getConvertedDisplayValue","imperialValue","convertImperialToMetric","getMeasureDisplayValue","showLocaleString","roundedOffValue","getTemperatureDisplayValue","arguments","getTemperatureRelativeDisplayValue","getRatingDisplayValue","KilowattsDecimalPlaces","getAirFlowDisplayValue","String","getDimensionDisplayValue","getSmallerDimensionDisplayValue","getWeightDisplayValue","getElectricPowerDisplayValue","getPercentDisplayValue","Percent","getAreaDisplayValue","getVolumeDisplayValue","convertMetricToImperial","metricValue","getUnitLabel","usesMetricSystem","fromCharCode","getTemperatureUnitLabel","getRatingUnitLabel","getAirFlowUnitLabel","getDimensionUnitLabel","getSmallerDimensionUnitLabel","getWeightUnitLabel","getElectricPowerUnitLabel","getPercentUnitLabel","getAreaUnitLabel","getVolumeUnitLabel","BTUH_to_Kc","Kc_to_BTUH","ApplicationContext","React","appData","airProperties","curtains","isAppDataLoaded","useApplicationContext","getAirPropertyByTemperature","temperature","setTemperature","temp","t1","t2","t1Record","find","t2Record","ws","ha","has","v1","v2","v","getCurtain","_curtains$find","name","effectiveness","rValue","LoadingContext","loadingCount","showLoading","hideLoading","useLoadingContext","enTooltips","Box_Designer_Button_AddSection","Box_Designer_Button_AddWallConstruction","Box_Designer_Button_Cancel","Box_Designer_Button_Change_Shape","Box_Designer_Button_CompleteDirect","Box_Designer_Button_CompleteSquare","Box_Designer_Button_CopySection","Box_Designer_Button_DeleteSections","Box_Designer_Button_DrawWall","Box_Designer_Button_EditOpenings","Box_Designer_Button_EditSection","Box_Designer_Button_OK","Box_Designer_Button_RemoveWall","Box_Designer_CheckBox_OutDoors_Cold","Box_Designer_CheckBox_OutDoors_Warm","Box_Designer_DraftingBoard","Box_Designer_txtbox_Depth1","Box_Designer_txtbox_Depth2","Box_Designer_txtbox_Depth3","Box_Designer_txtbox_DrawX","Box_Designer_txtbox_DrawY","Box_Designer_txtBox_Exterior_Temp","Box_Designer_txtbox_ExternalRH","Box_Designer_txtbox_Floor_Area","Box_Designer_txtbox_Height","Box_Designer_txtBox_Interior_Temp","Box_Designer_txtbox_InternalRH","Box_Designer_txtbox_Length1","Box_Designer_txtbox_Length2","Box_Designer_txtbox_Length3","Box_Designer_txtbox_Volume","Box_Designer_txtbox_Wall_Load","Box_Designer_SelectType_Button_Cancel","Box_Designer_SelectType_Button_Floor_Planner","Box_Designer_SelectType_Button_L_Shaped","Box_Designer_SelectType_Button_Rectangular","Box_Designer_SelectType_Button_SectionList","Box_Designer_SelectType_Button_U_Shaped","Box_Designer_WallSection_Button_Add_And_Continue","Box_Designer_WallSection_Button_AddOpening","Box_Designer_WallSection_Button_Cancel","Box_Designer_WallSection_Button_DeleteOpening","Box_Designer_WallSection_Button_EditConstruction","Box_Designer_WallSection_Button_EditOpening","Box_Designer_WallSection_Button_OK","Box_Designer_WallSection_Combo_Material","Box_Designer_WallSection_Combo_Outdoors","Box_Designer_WallSection_ComboBox_SectionType","Box_Designer_WallSection_txtbox_Area","Box_Designer_WallSection_txtbox_Dimension1","Box_Designer_WallSection_txtbox_Dimension2","Box_Designer_WallSection_txtBox_ExteriorTemperature","Box_Designer_WallSection_txtbox_ExternalRH","Box_Designer_WallSection_txtBox_KFactor","Box_Designer_WallSection_txtbox_Load","Box_Designer_WallSection_txtbox_MaterialOther","Box_Designer_WallSection_txtbox_Perimeter","Box_Designer_WallSection_txtbox_R_Value_Effective","Box_Designer_WallSection_txtbox_R_Value_PerInch","Box_Designer_WallSection_txtbox_SectionName","Box_Designer_WallSection_txtbox_SectionType","Box_Designer_WallSection_txtbox_Thickness","Infiltration_Button_Cancel","Infiltration_Button_EditDoors","Infiltration_Button_OK","Infiltration_Combo_Method","Infiltration_Combo_Usage","Infiltration_lbl_Method1_Caption","Infiltration_lbl_Method2_Caption","Infiltration_lbl_Method3_Caption","Infiltration_txtbox_TotalInfiltrationload","Infiltration_txtbox_VentilationAirTemp","Infiltration_txtbox_VentilationRate","Infiltration_txtbox_VentilationRH","Miscellaneous_Button_AddLoad","Miscellaneous_Button_Cancel","Miscellaneous_Button_DeleteLoad","Miscellaneous_Button_EditLoad","Miscellaneous_Button_OK","Miscellaneous_Combo_Activity","Miscellaneous_lvOtherLoads","Miscellaneous_txtbox_EvapMotors_Load","Miscellaneous_txtbox_EvapMotors_Quantity","Miscellaneous_txtbox_EvapMotors_Rating","Miscellaneous_txtbox_EvapMotors_RunTIme","Miscellaneous_txtbox_ForkLift_Load","Miscellaneous_txtbox_ForkLift_Quantity","Miscellaneous_txtbox_ForkLift_RunTime","Miscellaneous_txtbox_Lighting_Load","Miscellaneous_txtbox_Lighting_PowerDensity","Miscellaneous_txtbox_Lighting_Quantity","Miscellaneous_txtbox_Lighting_Rating","Miscellaneous_txtbox_Lighting_RunTime","Miscellaneous_txtbox_Lighting_TotalPower","Miscellaneous_txtbox_Staff_Load","Miscellaneous_txtbox_Staff_Quantity","Miscellaneous_txtbox_Staff_RunTime","Miscellaneous_txtbox_TotalMiscellaneous_load","Miscellaneous_txtbox_TotalOtherLoads","Miscellaneous_Other_Button_Add","Miscellaneous_Other_Button_Cancel","Miscellaneous_Other_Button_OK","Miscellaneous_Other_Combo_Units","Miscellaneous_Other_txtbox_Description","Miscellaneous_Other_txtbox_Load","Miscellaneous_Other_txtbox_Power","Miscellaneous_Other_txtbox_Quantity","Miscellaneous_Other_txtbox_RunTime","Product_List_Button_AddProduct","Product_List_Button_Cancel","Product_List_Button_DeleteProduct","Product_List_Button_EditProduct","Product_List_Button_OK","Product_List_txtbox_Load","Product_List_txtbox_TotalWeight","Product_List_Item_Button_Add","Product_List_Item_Button_Cancel","Product_List_Item_Button_OK","Product_List_Item_ButtonSelectType","Product_List_Item_txtbox_EnteringTemp","Product_List_Item_txtbox_FinalTemp","Product_List_Item_txtbox_FreezeTemperature","Product_List_Item_txtbox_LoadFactor","Product_List_Item_txtbox_MoistureContent","Product_List_Item_txtbox_ProductLoad","Product_List_Item_txtbox_ProductOtherName","Product_List_Item_txtbox_PullDownTime","Product_List_Item_txtbox_SpcHeatAbove","Product_List_Item_txtbox_SpcHeatBelow","Product_List_Item_txtbox_SpcHeatRespiration","Product_List_Item_txtbox_Weight","System_Designer_Button_Infiltration_Load","System_Designer_Button_Miscellaneous_Load","System_Designer_Button_Preview","System_Designer_Button_Print","System_Designer_Button_Product_Load","System_Designer_Button_Wall_Load","System_Designer_txtbox_BoxDepth1","System_Designer_txtbox_BoxHeight","System_Designer_txtbox_BoxLength1","System_Designer_txtBox_Exterior_Temp","System_Designer_txtbox_ExteriorRH","System_Designer_txtBox_Interior_Temp","System_Designer_txtbox_InteriorRH","System_Designer_txtRun_Time","System_Designer_txtTotal_Hourly_Load","enStrings","_Feeds","_threeDollarSigns","_Cancel","_Feed","_RDPARTY","_PreviousModel","_SelectPreviousModel","_TD","a_ZDescription","a_ZName","aConfidentialErrorReportWillBeSentToTheSoftwareDevelopmentTeam_","aConstructionTypeNameIsNotEntered_","aCriticalErrorOccurredInTheApplication_","aDescriptionHasNotBeenEntered_","aProblemOccurredWhileRegisteringYourNewPassword_","aProblemOccurredWhileRegisteringYourNewUserInformation_","aProgramOrDataUpdateIsAvailable_","aProgramUpdateIsAvailable_","aPurchaseOrderNumberIsRequired_","aSurchargeWillApply_","a_C_L_","a_C_T_","a_T_D_","aCT","aIRCOOLEDCONDENSOR","aIRFLOW","aLL","aLLAPPLICABLETAXESEXTRA","aLLCLASSES","aLLMODELS","aLTITUDE","aLTITUDEFACTOR","aMBIENT","aMPS","aNY","aPPLICATIONFAILURE","aT","aTHR","aTTENTION","abort","aborted_NoUPDATESFolderFound_","about","aboutNROES","aboutThisApplication","active","activeOrderManager","activeOrders","activePurchaseOrderManager","activeRecordsShown","activity","actual","actualAir_T","actualCondensingTemperature","actualFluidFlowRate","actualFluidOutletTemperature","actualFluidTD","actualFluid_T","actualTDCanNotBeGreaterThan","actualTDCanNotBeLessThan","actualTDMustBeGreaterThanZero_","add","add_EditOptions","addBlankQuoteRevision","addCatalogueModel","addConnection","addCustomSection","addFeed","addLoad","addModel","addModelPriceAdjustment","addMoreConnections","addNon_CatalogueItem","addNon_CatalogueOption","addParts","addProduct","addSectionAndStartAnotherNewOne_Insert_","addSelectedPartTypesToOrder","addServiceParts","addSystem","addSystemFreightAllowance","addSystemOption","addToOrder","addWall","addANewSystem_","addAsNewItems_","addBlankQuoteRevision_","addClipboardSystemItemsToCurrentSystem_","addContactToYourDatabase_","addNewQuoteRevision","addOrEditOptions","additionalE_MailText","additionalInstructions_Notes","additionalOrderingInstructions","address","adjustAllMultipliers","adjustOrderPrice","adjustPrice","adjustM","adjustedPrice","adjustment","again","airCooledCondenserDesignTools","airCooledCondenserDesigner_FitAModel","airCooledCondenserDesigner_FitAJob","airCooledCondenserModelSelector","airCooledCondensingUnit","airFlow","airFlowDirection","airIn","airIn_DB_","airIn_WB_","airInletTemperature","airInletTemperature_DB_","airInletTemperature_WB_","airInletTemperature_Dry","airInletTemperature_Wet","airInletTemperatureExceedsFanRating_","airOut","airOutletTemperature","airOutletTemperatureExceedsFanRating_","airOutletTemperatureLessThanWetBulbTemperature_","airflow","allImperial","allMetric_SI_","allOrders","allCertifiedPrintsHaveBeenSigned","allListedOrdersWereMarkedAsClosed_","allListedOrdersWereMarkedAsShipped_","allOrderItemsWillBeShippedAtTheLongestLeadTime_","allParametersChecked_","allPricesWereUpToDate_","allSelectedPartsAlreadyExistOnTheOrder_","allSystemDesignTemperaturesHaveBeenChecked","altitude","altitudeFactor","altitudeIsNotSet_","aluminum","ambient","ambientTemp","ambientTemperature_BoxTemperature_","ambientTeperatureMustBeGraterThan","ambientTeperatureMustBeLessThan","amount","amountPer","anApplicationUpdateIsAvailable_","anAuthorizationRequestHasBeenSentToTheRegistrar_","anErrorOccurredRunningTheJob_ScopeTranslation_","anIssueOccuredTryingToApplyForRegistration_","anIssueOccurredWhileInstallingDataUpdates_","anUnexpectedErrorOccured_","anUnexpectedErrorOccurred_","anUnexpectedErrorOcurred_","anUpdatedPurchaseOrderIsAvailableOnRequest","applicationRegistrationCodeRequested_","applicationTitle","applicationDataFileHaveNotBeenDownloaded_","applicationMustBeOn_line_","applicationWillExpireAfter__Days_","applicationWillNowClose_","archivedRecordsShown","areYouARegisteredUser_","areYouSureThisIsTheRightNumber_","areYouSureYouWantToCreateABrandNewOrder_","areYouSureYouWantToDeleteTheSelectedItems_","areYouSureYouWantToDeleteTheSelectedSystem_","areYouSureYouWantToDeleteThisChangeOrder_","areYouSureYouWantToDeleteThisContact_","areYouSureYouWantToDeleteThisQuoteRevision_","areYouSureYouWantToDoThis_","areYouSureYouWantToOpenTheServerVersion_","areYouSureYouWantToPlaceThisOrderOnHold_","areYouSureYouWantToRejectThisOrder_","areYouSureYouWantToSetThisValue_","areYouSure_","area","areaIsNotCalculatedOrEntered_","at","atLeastOneConnectionErrorExists_","atLeastOneConnectionWarningExists_","atLeastOneDoorHasAnEntryOrCalculationError_","atLeastOneDoorHasAnEntryOrCalculationWarning_","atLeastOneLayerErrorExists_","atLeastOneLayerWarningExists_","atLeastOneListedProductHasAWarning_","atLeastOneListedProductHasAnError_","atLeastOneOtherLoadHasAWarning_","atLeastOneOtherLoadHasAnError_","atLeastOneRequestedDateIsSetToPriorToThe","atLeastOneRevisionWasAlteredByAnotherUserOrOnAnotherWorkstation_","atLeastOneSectionHasErrors_","atLeastOneSectionHasErrorsOrWarnings_","atLeastOneSectionHasWarnings_","atThisTime_YourOriginalOrderHasNotBeenProcessedByOurOrderDepartment_","atThisTime_YourOriginalRequestHasNotBeenProcessedByThePurchaser_","atThisTime_YourPreviousChangeRequestHasNotBeenProcessedByOurOrderDepartment_","atThisTime_YourPreviousChangeRequestHasNotBeenProcessedByThePurchaser_","availableOptions","availablePriceBooks","averageWork_","bUILDING","back","badRatingColumnCount_","badRatingRowCount_","ballyLoadCalcFiles","ballyRefrigeratedBoxes","baseModel","belowFluid_sRatedMinimumTemperature_","bestFit","billOfLading","blankTubes","blanks","both","box","boxDesigner","boxExteriorRelativeHumidity___","boxExteriorTemperature","boxInteriorRelativeHumidity___","boxInteriorTemperature","boxLocation","boxTemp","boxTemperature","boxInformationIsMissing_","browse","building","button","by","cALCULATEDDETAILS","cALCULATOR","cALL","cAPACITY","cERTIFIEDPRINTWIZARD","cHARGE","cHARGE_FORCED_","cIRCUITTOTAL","cL","cOLLECT","cOMP","cOMPLETE","cOMPLEXFLOORPLANNER","cOMPRESSOR","cOMPRESSORUNITSELECTION","cONDENSINGUNITSELECTION","cONNECTIONDIAGRAM","cONNECTIONS","cONTINUEDONPAGE","cOULDNOTLOADPRICEBOOK","cOULDNOTREADCURRENTORDERSUPLOADDATA_","cPWIZ_Splash","cREATENEWORDER","cUSTOMER","calculate","calculatedDetails","calculatedFluidFlowRate","calculatedValue","calculatedCondensingTemperatureCanNotBeGreaterThan","calculatedCondensingTemperatureCanNotBeLessThan","calculatedCondensingTemperatureMustBeGreaterThanTheAmbientTemperature_","calculatedCondensingTemperatureMustBeGreaterThanTheSuctionTemperature_","calculatedShipDatesMayBeAnApproximation_","calculateSystemCharge","calendar","canNotCalculateAirOutTemperature_","canNotCalculateFluidOutTemperature_","canNotCalculateTotalHeatTransmission_","canNotAddServiceParts_","canNotBeGreaterThanFluidTemperatureRange_","canNotBeGreaterThanWetBuldTemperature_","canNotCheckPrices_","canNotContinue_","canNotCopy_","canNotDeleteFactoryOrderFile_","canNotDeleteOldOrder_","canNotDeleteOrder_","canNotDeleteThisOrder_","canNotFetchOrderFile_","canNotOpenOrder_","canNotPaste_","canNotPreview_","canNotPrint_","canNotReadFile_","canNotReadOrderFile_","canNotRecoverEdits_","canNotSetRejectedStatus_","canNotStartApplicationShell_","canNotStartApplication_","canNotStopRequest_","canNotStoreOrderFile_","canNotSubmitChange_","canNotSubmitOrder_","canNotSwitchPriceBooks_","canNotUploadOrder_","canadian","canadianEnglish","cancel","cancelThisOperation","cancelThisOperation_","cancelUpload_","cancellingDuringTheQuickboxWalkThroughWillCloseTheTool_","cannotContinue_","cannotCreateBackupFolder","cannotDeleteBackupFolder_","cannotInstallUpdateFolder","cannotStartTool_","cannotUpdate_","capacity","capacityExceedsRequestedRange_","capacityPerUnit","capacityRange___","capacityTooLow_","capacityVariance","capacityCanNotBeBlank_","capacityIsNotCalculated_","capacityIsZero_","capacityMustBeGreaterThanZero_","caption","carrier","cascade","catalogModel","catalogueNotLoaded_","ceiling","centreDistance","certainOptionsMayNoLongerBeAvailable_","certifiedDrawing","certifiedPrint","certifiedPrintWizard","certifiedPrints","challengeAnswer","challengeQuestion","change_Shape","changeAllMultipliers","changeOrderForm","changePassword","changeReq","changeRequest","changesNotYetAppliedToCurrentOrder_","changesToTheCurrentOrderHaveNotBeenSaved_","checkingForUpdates","circuitLoadCanNotBeCalculated_","class","clear","clearDate","clickHereToAdjustTheMultipliersToGenerateTheNewPrice_","clickHereToApplyThePriceChangeAndReturnToTheOrderWindow_","clickHereToCloseThisFormWithoutChangingTheOrder_","clickHereToResetAllMultipliersToTheirDefaultValues_","clickOnNOToCancelThisSaveOperation_","clickingOnNoWillKeepTheCurrentOwner_sMultiplierStructure_","clipboardContainsACompleteSystem_","close","closeAllOrders","closeOrder","closeOrderManager","closeShellWhenICloseTheLastDesignerWindow","closed","closingThemMayResultInLossOfData_","code","collect","columns","compCapacity","company","companyName","company_Address_Country_City_Region_PhoneFieldsAreAllRequired_","completeDirect","completeSquare","composite","compositeInsulationConstruction","compositeK_Factor","compositeR_Value","compressor","compressorBalanceSSTTooHigh_","compressorBalanceSSTTooLow_","compressorCapacityIsRequired_","compressorCapacityMustBeGreaterThanZero_","compressorUnitCapacityError_","compressorUnitCapacityNotCalculated_","compressorUnitNotSelected_","compressorWithCondenser","concentration","condTemp","cond_Temp","condenserBalanceSSTTooHigh_","condenserBalanceSSTTooLow_","condenserCapacityError_","condenserCapacityNotCalculated_","condenserContainsAtLeastOneError_","condenserContainsAtLeastOneWarning_","condenserNotSelected_","condensing","condensingTemp","condensingTemp_S_C_T__","condensingTemperature","condensingUnit","condensingUnitAmbientTemperature","condensingTemperature_AmbientTemperature_","condensingTemperature_BoxTemperature_","condensingTemperatureCanNotBeGreaterThan","condensingTemperatureCanNotBeLessThan","condensingTemperatureIsLessThanSiteAmbientTemperature_","condensingTemperatureIsMissing_","condensingTemperatureIsRequired_","condensingTemperatureMustBeGreaterThanTheAmbientTemperature_","condensingTemperatureMustBeGreaterThanTheSuctionTemperature_","condensingUnitBalanceSSTTooHigh_","condensingUnitBalanceSSTTooLow_","condensingUnitCapacityError_","condensingUnitCapacityNotCalculated_","condensingUnitNotSelected_","conduction","configuration","confirmationIsRequired_","confirmationRequired_","connected","connectionDetails","connectionSize","connectionCrossesTheCentreLineOfTheUnit_SomeOptionsMayNotBeAvailable_","connectionIsOutsideBoundsOfTheUnit_","connectionNotAssignedToFeeds_","connections","construction_Insulation","constructionLayer","constructionLayers","contact","contactName","contacts","continued","copper","copy","copyCurrentQuoteAsNewRevision","copyCurrentRevisionEditsAsNewRevision_AndRestoreThisRevisionToLastSavePoint","copySection","copyAsNewOrder","copyLocalOrderWithNewOrderNumber_ThenDownloadMasterVersion_","copyMasterVersionWithNewOrderNo_ThenReplaceMasterVersionWithLocalCopy","copyQuote","copyToShipToAddress","copyToSoldToAddress","couldNotAccessRecoveryData_","couldNotAddNewContactRecord_","couldNotCalculateActualTD_","couldNotCalculateDesignTD_","couldNotCalculateDesignCircuitLoad_","couldNotCalculateDesignHeatOfCompressionFactor_","couldNotCalculateDesignTotalHeatRejected_","couldNotCalculateRefrigerantFactor_","couldNotCalculateSiteAltitudeFactor_","couldNotCalculateTheTotalHeatRejected_","couldNotChangeMasterRevision_","couldNotChangePassword_","couldNotConnectToServer_","couldNotCreateArchivePath_","couldNotCreateFactoryOrder_","couldNotCreateNewContactRecord_","couldNotCreateOrderStorePath_","couldNotDeleteFile","couldNotDeleteFile_","couldNotDeleteOneOfTheSelectedItems_","couldNotDeleteOrderStorePath_","couldNotDeleteSomeOfTheSelectedItems_","couldNotDeleteTheSelectedItem_","couldNotDownloadThisOrder_","couldNotExportOrderFile_","couldNotExtrapolateCompressorRating_","couldNotExtrapolateCondenserRating_","couldNotExtrapolateCondensingUnitRating_","couldNotExtrapolateEvaporatorRating_","couldNotFindArchivePath_","couldNotFindOrderFile_","couldNotGenerateTargetValue_","couldNotImportOrderFile_","couldNotListLocalOrders_","couldNotLoadModelCatalogue_","couldNotLoadServicePartsDatabase_","couldNotLockLocalOrderFile_","couldNotLockOrderFile_","couldNotLockRemoteOrder_","couldNotLockSubmittedOrder_","couldNotOpenDatabase_","couldNotOpenExportFile_","couldNotOpenOrder_","couldNotReadCalculatorFile_","couldNotReadDatabase_","couldNotReadFactoryCalendar_","couldNotReadFile_","couldNotReadOrderData_","couldNotReadOrderHeader_","couldNotReadOrderStatusFile_","couldNotReadResponse_","couldNotReadSynchronizedOrderStatusFile_","couldNotRetrieveAssociatedPurchaseRequest_","couldNotRetrieveOrderFile_","couldNotRetrieveOrderHeader_","couldNotStartShellApplication_","couldNotStartShell_","couldNotStoreOrderFileToPath","couldNotSubmitOrder_","couldNotSynchroniseRemoteOrderFile_","couldNotSynchronizeAddressBook_","couldNotSynchronizeOrder_","couldNotSynchronizeOrders_","couldNotSynchronizeServerOrders_","couldNotUpdateContactRecord_","couldNotUpdateOrderDatabase_","couldNotUpdateOrderOnNROESServer_","couldNotUpdatePurchaseRequestStatusOnServer_","couldNotUploadLocalVersion_","couldNotUploadOrder","couldNotUploadRevision_","couldNotWriteOrderFile_","country","countryName","countyOrRegion","coveredOpening","createAnotherChangeOrder","createChangeOrder","createANewListing_","criticalError_","currentPrice","currentMargin","currentOrderPrice","currentQuotePrice","currentChangesWillBeLost_","currentManufacturersMinimumPrice_","currentManufacturersRecommendedPrice_","currentOrderPrice_","currentSetting_","currentlyThereAreNoServicePartsListedForThisModel_","cust_","custName","custom","customCeiling","customFloor","customWall","customer","customer_","customerContact","customerName","customerREF_","customerRef","customerDatabaseIsMissing_","customerNumberEnteredIsAlreadyListedAbove__","customerNumberEnteredIsNotInTheListShown_","customerReferenceMustBeNumeric_","customerReferenceMustBeSixCharacters_","cut","cutItemsRequested_","cutSystemRequested_","dESCRIPTION","dESCRIPTION_REMARKS","dESIGNDATA","dESIGNTOOLS","dESIGNER","dETAILS","dISTRIBUTOR","dIV","dIVISION","dONOTUseThisFunctionToChangeAnExistingOrder_","dOCUMENTATIONBROWSER","dRAFT","dataUpdatesFound","dataRecovery_","date","dateCreated","dateModified","dateOK","dateQuoted","dateCanNotBeOnAWeekend_","dateChanged","dateIsPriorToToday_","dateMustBeInTheFuture_","dateVerifiedChanged","days_","defaultNumericUnits","defaultUnits","delete","deleteChangeOrder","deleteCustomSection","deleteCustomSections","deleteLayer","deleteLayers","deleteLoad","deleteOrder","deleteProduct","deleteTheSelectedSystem_","deltaX","deltaY","dep_Div","department","depth","depth_IsARequiredValue_","description","descriptionCanNotBeBlank_","descriptionIsMissing_","deselectingThisPackageWillAlsoDeselectALLThoseOptionsIncludedInThatPackage_","designAmbient","designConnections","designRequirements","designTD","designTDCanNotBeGreaterThan","designTDCanNotBeLessThan","designTDMustBeGreaterThanZero_","designTHRNotEntered_","designTools","designToolsShellOptions","designCondensingTemperatureCanNotBeGreaterThan","designCondensingTemperatureCanNotBeLessThan","designConnectionContainsErrorsOrWarnings_","designContainsErrorsOrWarnings_","designHasConfigurationErrors_","designHasConfigurationWarnings_","designHasRequirementErrors_","designHasRequirementWarnings_","designNotSaved","designer","details","detailsLabel","dialog","dialog_Product_Selector","differenceBetweenCurrentPriceAndFloorPrice_","differenceBetweenNewPriceAndCurrentPrice_","differenceBetweenNewPriceAndFloorPrice_","dim_","dimension","dimension_IsNotEntered_","dimensions","discardMyChanges_","distance","divisionsAvailable","doNotCheckTheAboveIfThis_WorkstationIsUsedByOtherPeople","doNotShowThisMessageAgain","doYouWantChangeAttachedOptionsToTheNewSetting_","doYouWantChangeTheAttachedOptionsToTheNewSetting_","doYouWantChangeTheseOptionsToTheNewIsSetting_","doYouWantChangeTheseOptionsToTheNewSetting_","doYouWantToApplyTheseSettingToTheCurrentOrder_","doYouWantToApplyYourPersonalMultiplierStructure_","doYouWantToBuildItNow_","doYouWantToChangeTheSoldByInformationToYourName_","doYouWantToDeleteTheSelectedOrderFromTheServerAndYourComputer_","doYouWantToDeleteTheSelectedOrderFromYourComputerOny_","doYouWantToOpenTheOrderAnyway_","doYouWantToOpenTheOrderNow_","doYouWantToRemoveTheOrderFromTheLocalStore_","doYouWantToReplaceYourExistingQuoteInformation_","doYouWantToReplicateThisChangeToAllItems_","doYouWantToReplicateThisDateToAllItems_","doYouWantToRestoreTheseOrders_","doYouWantToReviewYourErrorsNow_","doYouWantToRunInOff_lineMode_","doYouWantToSaveItNow_","doYouWantToSaveYourDataAnyway_","doYouWantToShutdownAnyway_","doYouWantToSubmitAnyway_","doYouWantToSubmitThisOrderAnyway_","doYouWantToUpdateTheOrderNow_","doYouWantToUpdateTheOrderToUseYourNewCatalogueProfileSettings_","doYouWantToUpdateTheOrderToUseYourNewMultiplierStructure_","doYouWantToUpdateThisRevisionToUseTheLatestPricebook_","doYouWishToRetry_","dockDoor","documentGenerator","documentContainsNoPages_","door","door_OpeningDetails","doorAndOpeningInfiltrationEstimate","doorsAndOpenings","down","downloadingApplicationShell","downloadingDataUpdate_","downloadingProgramUpdate_","downloadingUpdates","draft","draftC_O_","dualEnteringService","dualEnteringService__FanWideUnitWithSeperateControlsPerSide_","dualEnteringService__FanWideUnitsWithSeperateControlsPerSide_","e_Mail","e_Mail_UsernameCombinationAlreadyExists_","e_MailAddressAgain","e_MailAddresses","e_mailAddressesDoNotMatch_","eACH","eDIT","eNTERED","eNTEREDDESIGNREQUIREMENTS","eRROR","eRROR_","eRRORS","eULA","eVAPORATORMOTORS","eVAPORATORUNITSELECTION","eXITNROES","edit","editConstruction","editLayer","editLoad","editMode_","editModel","editProduct","editQuoteInformation","editSection","editSections","effectiveR_Value","effectiveR_ValuePerUnitDepth","either_ShippedClosedOrProcessedIsSet_","electricalPower","elevationIsTooHigh_","elevationIsTooLow_","emailAddress","ending","enter","enterANumberEndingInAPercent_SymbolIfRequired_","entered","enteredDesignRequirements","enteredValue_","enteredMultiplierIsLessThanTheRecommendedMinimumValue_","enteredPasswordDoNotMatch_","enteringTemperature","equipmentList","equipmentType","equipmentChangesOccurredOn","equipmentChangesOccurredOnOneRevision_","errorDetails_","errorsExistOnThisOrder_","evapTemp","evap_Temp","evaporatorBalanceSSTTooHigh_","evaporatorBalanceSSTTooLow_","evaporatorUnitCapacityError_","evaporatorUnitCapacityNotCalculated_","evaporatorUnitNotSelected_","exceedsAllModelMaxFanTemperatureSpecifications_","exceedsDryBulbTemperature_","exceedsFluid_sRatedMaximumTemperature_","excelCSVTextFiles","excelFile_AllListedParts_","excelFile_SelectedPartsOnly_","excludeDraftOrders","excludedArea","exit","exitNROES","exitOrderManager","expectedCarrier","expires","export","exportOrderFile","exportServicePartInformation","extTemp","extension","exteriorRH","exteriorTemperature","exteriorBoundaryLayer","externalRH","externalTemperature","fANLENGTH","fANMOTOR","fANWIDTH","fANS","fAX","fAXNumbers","fIN","fINSPACING","fINISH","fLA_FAN","fLUIDCOOLER","fORKLIFTS","fPI","faceArea","factoryInv_To","factoryJob","factoryJob_","factoryOrder","factorySettings","factoryStyle","factoryCalendarNotFound_","factoryOrderNotYetCreated_","failedToDownloadRequiredDataFiles_","familyMinimumOrderPriceNotReached_","fanConfiguration","fanCount","fans","fansLong","fansWide","fansL","fansW","faxNo","feeds","feedsAvailable","file","fileError_","fileIsNotAValidOrderFile_","fileRevisionNoLongerSupportByNROES_","fileStructureNotRecognized_","fileWasCreatedWithANewerVersionOfNROES_","filesDownloaded","finBlockDimensions","finConstruction","finStyle","final","finalTemperature","findCustomer","finish","finsPerInch","fitAModel","fitAnApplication","flat","floorArea","floorPrice","floorPlanIsNotCompleted_","fluid","fluidConcentration","fluidConcentrationNotSelected_","fluidCooler","fluidCoolerDesignTools","fluidCoolerDesigner","fluidCoolerDesigner_FitAJob","fluidCoolerDesigner_FitAModel","fluidCoolerModelSelector","fluidFlowRate","fluidFlowRateIsNotSet_","fluidFlowRatePerUnit","fluidFoulingFactor","fluidInletTemperature","fluidInletTemperatureIsNotSet_","fluidInletTemperatureMustBeSet_","fluidInletTemperatureNotCalculated_PleaseEnterOtherThreeValues_","fluidNotSelected_","fluidOutTemperature_AirTemp____C","fluidOutTemperatureGreaterThanFluidMaximumTemperature__C_","fluidOutTemperatureLessThanFluidMinimumTemperature__C_","fluidOutletTemperature","fluidOutletTemperatureIsNotSet_","fluidPressureDrop","fluidTemperatureRange","fluidType","fluidVelocity","fluidVelocityAboveRecommendedNominalRange_","fluidVelocityBelowRecommendedNominalRange_","fluidVelocityTooHigh_","fluidVelocityTooLow_","followTheInstructionsInTheEmailToCompleteYourNewUserRegistration_","forceUpdateWaiting","forkliftLoad","form_App_Menu","forms","formsMethod","fouling","foulingFactor","freeShippingIsAvailableOnThisOrder_SetTermsToPre_Paid_","freezeTemperature","freightTermsFOBBrantfordOntarioUnlessOtherwiseSpecified_","french","from","front","frontCut","frontInset","fuildFlow","fuildVolume","fullName","functionalityWillBeLimited_","fx_","gLYCOLCOIL","general","german","glycoilCoil_FitAJob","glycoilCoil_FitAModel","glycolCoil","glycolCoilDesignTools","glycolCoilDesigner","glycolCoilModelSelector","greek","guest","hEATERS","hELLO_WORLD_","hOCFactorNotAvailable_","hOLDING","heatOfRespiration","heavyUse","heavyWork_","height","heightIsARequiredValue_","held","help","holdChangeOrder","holdOrder","holding","holdingAnOrderWillSignalTheOriginatorThatTheyNeedToCorrectSomething_","horizontal","howDoYouWantToHandleThis_","howDoYouWantToResolveThisIssue_","howDoYouWantToStartTheNewQuote_","howeverYouMayLooseChangesIfTheOrderIsBeingEditedByAnotherUser_","hz","iACCEPTTHESETERMS","iDONOTACCEPTTHESETERMS","iForget","iHaveConfirmedItIsOkToUploadThisOrder_","iD","iMPORTORDERFILE","iNREVIEW","iNFORMATIONISGIVENGRATISANDTHEMANUFACTURERASSUMESNOOBLIGTIONORLIABILITYFORACTUALRESULTSOBTAINED_","iNIFileMissingOrInvalid_","iNVALIDREFRIGERANT","iNVOICETO","iTEM","iTEMCHANGES","iTM","identityVerificationChallenge_E_g_FavouriteHockeyTeam","ifTheLoadIsNotEnteredManually_TheDesignMustIncludeAFloor_ACeiling_AndAtLeastFourWalls__","ifThisProblemPersistsPleaseContactTheFactory_","ifYouCanReplicateTheError_PleaseProvideDetailedStepByStepInstructions_","ifYouChoseNoYouWillNotBeAbleToRecoverTheseOrdersLater_","ifYouContinue_YourOutstandingChangeRequestWillBeStopped_","ifYouContinue_YourOutstandingOrderWillBeStopped_","ifYouContinue_YourOutstandingRequestWillBeStopped_","ifYouHaveIssuesWithTheTranslations_AndWouldLikeToHelp_PleaseClickOnTheButtonBelow_","ifYouHaveVerifiedThatItIsOkToUploadThisOrder_YouMayStillDoSo_","ifYouThinkTheNetworkIsAvailablePleaseContinueWaiting_","ifYouWantToSaveYourChangesAsANewQuoteRevision_DoTheFollowing_","ignore","ignoreForNow_","imageFiles","imperial","importExistingCondenserJobFile","importJobFile","importLoadCalcParameters","importLoadCalculatorFile","importLoadCalculatorModels","importOrder","importOrderFile","includeAllCompanyOrders","includeAllOfTheAbove","includeAllOrders","includeClosedOrders","includeDeletedOrders","includeHeldOrders","includeOrdersClosedWithinThePast__Days","includeOrdersRejectedWithinThePast__Days","includeOrdersShippedWithinThePast__Days","includeProcessedOrders","incompatibleServerVersion_","indicatesOptionIsShippedLoose","indicatesRevisionSpecificStatus","indicatesRequiredEntries","indoors","infiltratingAirRH","infiltration","infiltrationLoad","infiltrationLoadIsNotCalculatedOrEntered_","infiltrationLoadIsRarelyZero_","informationIncomplete_","informationRetreivalFailed_","initializing","insertLayer","insulation","insulation_Construction","insulationName","interiorBoundaryLayer","internalRH","internalTemperature","internalVolume","invalidPassword_","invalidChecksum_","invalidDateEntered_","invalidE_mailAddress_","invalidFileHeader_","invalidFileLength_","invalidHeaderLength_","invalidPromiseDate_","invalidQuantityEntered_","invoice","italian","item_","itemAdjustmentDetails","itemDescription","itemListPrice","itemMultiplier","itemName","itemNet","itemNo","itemPrice","itemQuantity","itemRequestedDate","itemTotal","itemTotalAfterAdjustments","itemWeight","itemsInBOLDAreRequired","itemsOnTheClipboard_","itemsOnThisSystemHaveErrors_","itemsOnThisSystemHaveWarnings_","itm_OptNotes","itm_OptTag","job_SiteDetails","job_SiteDetails_Preferences","jobMayBeUploaded_","jobNotBeUploaded_","job_ScopeREF_","job_ScopeReferenceNotReturned_","job_ScopeReturnFileNotFound_","kFactor","k_Factor","keepRiteLoadCalcFiles","keepRiteRefrigeration","keepriteRefrigeration","l_SHAPED","lIGHTING","lIQUID","lISTPRICE","lOAD","lOADCONNECTIONS","lOADINGCATALOGUE","lOC","lOCATION","lOCKED","lRA","label","label__Text","largeToolbarIcons","layer","leadTime","leadTimeIsDependentOnPartAvailabilityAndWillBeConfirmedAtTimeOfOrder_","leaveQuoteDateAsIs_","leftCut","leftEnd","leftInset","length_IsARequiredValue_","less","lightWork_","lightingLoad","lineFrequency","lineItem","liquidOut","listPrice","listPricesAreNotCurrentAndTheQuoteIsOlderThan__Days_","listPricesAreNotCurrent_","load","loadCalculator","loadCalculatorDesignTool","loadDifferentFile","loadFactor","loadingPriceBook","localVersionUploadTimestamp_","localOrdersQueried_","localVersionModificationTimestamp_","locations","longStorage","lookingForUserProfile_","m_R_P","mANUALOPTIONS","mAXSPARES","mAY","mCA_MOPAreForTheCondensingUnitONLY_SinglePointConnectionsWILLShowDifferentOnDataplate_","mCA_","mESSAGENOTFOUND","mODELFEATURES","mODELINFORMATION","mODELOPTIONS","mODELTYPE","mODIFIED","mOP_","mOREINFO","mULT","mULTI_CIRCUIT","manufacturer","manufacturing","margin","markAllAsRead","markAsShipped","markRequestAsProcessed","markUp","markAsClosed","markAsRead","masterCatalogNotLoaded","matched","matches","matchingModels","material","materialName","materialLoadIsNotCalculatedOrEntered_","materialNameMustBeEntered_","materialTypeMustBeSelected_","maximum","maximumFluidFlowRateExceeded_","maximumOvercurrentProtection","measurementUnits","menuStrip","messages","metric_SI_","minimum","minimumCircuitAmpacity","minimumValue_","minimumOrderPriceNotReached_","minus","miscelaneousRefrigerationEquipment","miscellaneousLoad","miscellaneousLoads","miscellaneousSelected","missingPriceBook","model","model_","modelCapacity","modelConfiguration","modelFeatures","modelMatchingCriterea","modelNumber","modelOptions","modelPartNumber","modelSelector","modelIsNoLongerAvailable_","modelIsNoLongerListedInOurInventory_","modelMatch","modelMultiplierChanged_","modelsAvailable_","modifyStatus","moistureContent","motor","motorLoad","motorType","moveConnectionLeft","moveConnectionRight","moveDown","moveFirst","moveLast","moveLeft","moveRight","moveToSide","moveUp","multiplier","multiplierHasBeenResetToDefaultForThisModelType_","multiplierIsLessThanDefaultValue_","multiplierIsLessThanMinimumValue_","multipliersUpdated_","mustBeGreaterThanAirInletTemperature_DB__","mustBeGreaterThanFluidInletTemperature_","mustBeGreaterThanOrEqualToZero_","mustBeGreaterThenOrEqualToMinimumValue_","mustBeLessThanAirInletTemperature_DB__","mustBeLessThanFluidInletTemperature_","mustBeLessThenOrEqualTo_____","mustBeLessThenOrEqualToMaximumValue_","myProfile","nToN","n_A_","n_A","nEW","nEWCOMPOSITE","nOPARTSFOUND_","nOParametersChanged_","nONE","nOTORDERED","nOTORDEREDQUOTE","nOTPRINTED_SET","nOTQUOTED","nOTSAVED","nOTSUBMITTEDORDER","nOTE","nR_Shell","nRDOCS_Splash","nROES","nROES_NotesEditor","nROESContact","nROESSERVER","nROESServerInterface","nROESServerIsNotAvailable_","nROESIsHavingIssuesCommunicatingWithTheServer_","nROES__","nR_DOCS_BROWSER","nationalRefrigeration","nationalRefrigerationAndAirConditioning","nationalRefrigerationDesignTools","nationalRefrigerationOrderEntrySystem_Bally","nationalRefrigerationOrderEntrySystem_KeepRite","nationalRefrigerationOrderEntrySystem_Trenton","nationalRefrigerationOrderFiles_","negativeTemperatureDifference_","neitherTheKFactorNorTheR_ValueHasBeenEntered_","neitherTheK_FactorNorTheR_ValueAreEnteredForTheMaterialMaterial_","neitherTheK_FactorNorTheR_ValueAreEnteredForTheDividerMaterial_","neitherTheK_FactorNorTheR_ValueHaveBeenSet_","netPrice","new","newJob_KnownLoads","newJob_KnownModel","newMargin","newMultipler","newOrder","newOrderPrice","newPassword","newPrice","newQuotePrice","newSystem_KnownLoads","newSystem_KnownModel","newUser","newNetPrice_","newPasswordMustBeAtLeastSixCharactersInLength_","newPasswordsDoNotMatch_","newServicePartsAddedToOrder_","newUserNameRegistered_","next","nextModel_","nextWallConstruction","no","noCountryEntered_","noDetails","noItemsOrSystemsSelected_","noModelSelected","noModelSelected_","noModelsAvailable","noPartNameEntered_","noAddressEntered_","noAlternativePriceBooksOfThisTypeAreAvailable_","noAmbientTempEntered_","noApplicationRegistrationOnformationWasFoundForYourUserID_","noBoxTempEntered_","noCalculationMethodSelected_","noChangesDetectedOnTheOrder_","noCityEntered_","noCondenserModelSelected_","noCondensingTempEntered_","noConnectionsDefined_","noConstructionLayersHaveBeenDefined_","noContactNameGiven_","noContactsListed_","noDeratingFactorListed_","noDescriptionEntered_","noDoorsEstimateCalculatedOrEntered_","noDoorsHaveBeenDefined_","noDoorsHaveBeenDefined_DefaultDoorLoadValueUsedForOneManDoor_","noEquipmentChangesFound_","noEquipmentChangesOccurred_","noEvaporatorMotorLoadHasBeenCalculatedOrEntered_","noFeedsAssigned_","noFluidSelected_","noFutureNonWorkingDaysWereListed_","noInternetConnection_","noItemDeliveryDatesHaveBeenSelected_","noLightingLoadHasBeenCalculatedOrEntered_","noLoadHasBeenCalculatedOrEntered_","noModelVARatingValuesListed_","noModelRatingValuesListed_","noModelsAvailableForThisHighAFlowRate_","noOrdersListed_","noPartsSelected_","noPhoneNumberEntered_","noPowerValueEntered_","noPriceBooksHaveBeenAssignedToYourProfile_","noPriceChangesOccurred_","noPricesWereChanged_","noPricingChangesOccurred_","noQuantityEntered_","noRefrigerantSelected_","noRevisionsWereUpdated_","noShippingAndHandlingCostEntered_","noState_ProvinceOrCountyEntered_","noSuctionTempEntered_","noSuitableFeedConfigurationFound_","noTotalLoadHasBeenCalculatedOrEntered_","noTotalProductLoadHasBeenCalculatedOrEntered_","noTotalProductWeightHasBeenCalculatedOrEntered_","noUsageEstimateCalculatedOrEntered_","noUsageLevelSelected_","noVentilationEstimateCalculatedOrEntered_","noVersion_OrdersFoundInThisList_","noZipOrPostalCodeEntered_","no_CancelThisOperation","no_IAmANewUser_","no_I_llDoItManually_","no_TryToConnectAgain_","no_LeaveTheExistingOptionMultipliersUnchanged_","no_RestorePreviousValue_","non_CatalogItemDetails","non_CatalogOptionDetails","non_numericJob_ScopeReferenceReturned_","none","notOwner","notFound_","notLatestCO","note_AnInternetConnectionIsRequiredToCompleteThisProcedure","note_","note_IfYouAnswerNO_NewProductsAddedToThisOrderMayNotUseTheCorrectMultiplier_","note_IndoorValueOnly__TheExteriorBoundaryLayerIsAdjusted_AutomaticallyIfSectionIsMarkedAsOutdoors","note_OrderOriginatorsAndOrderDeskWillAutomaticallyBeIncludedInTheNotifyList","notes","notes_Comments","notes_Remarks","nothingToDo_","numberOfUnits","numericValueRequired_","o_ptions","oE","oELIST","oEList","oEM","oFFLINE","oK","oNHOLD","oPENACTIVEORDERMANAGER","oPENEXISTINGORDER","oPENPURCHAREORDERMANAGER","oRDER","oRDERCONTAINS","oRDERCONTAINSCALLPRICING_","oRDERENTRYSYSTEM","oRDERNO","oRDERNOTES","oRDERSTATUS","oRDERVERIFIED","oRDERED","oTHER","oTHERLOADS","obsolete","off_LineWarning_","oldPassword","oldPasswordDoesNotMatch_","oneEquipmentChangeFound_","onePriceChanged_","oneRevisionUpdated","open","openBallyTools","openExistingJob","openFromWeb","openKeepRiteTools","openOrder","openOrder_ForceSynch","openTrentonTools","openAsNewOrder","openFileInEXCEL_","openFileInTextViewer_","openLastSavedEditOrder_","openingType","openingDeletionRequested_","openingsSelected","oppositeEnds","option","optionPrice","optionSelector","optionIsNoLongerAvailable_","optionNeedsFactoryLeadTime_PleaseCall_","optionNeedsFactoryPricing_PleaseCall_","optional","options","optionsOnThisItemHaveErrors_","optionsOnThisItemHaveWarnings_","orEnterAModelNumber","order","orderDate","orderEntry","orderEntryListPrice","orderEntryMultiplier","orderEntrySystem","orderForm","orderItemNo","orderManager","orderManager_COLLATING","orderNumericUnits","orderPreview","orderPreview_NoOrderSelected","orderPreview_NotAvailable","orderPrice","orderStatus","orderUploadConfirmationCheck","orderCanNotBeImported_","orderChangeStopRequested_","orderChangesHaveYetToBeUploadedToTheServer_","orderImported_","orderIncludesIncompleteFactoryPricingInformation_","orderInformationAlreadyExistsInTheProgramOrderStore_","orderIsAlreadyLoadedLocally_","orderIsOpenForReviewAndPrintOnly_","orderPriceTooLowForPre_paidShippingTerms_","orderStopRequested_","orderWasDeleted_","orderWillBeUploadedAfterNextProgramUpdate_","ordered","orders","orientation","original","other","otherCountryName","otherEquipmentManufacturer_sModel","otherHeatSources","otherName","otherDeletionRequested_","outOfRange_ShouldBe__And______","outdoors","p_O","p_O_","pARAMETERSREQUIRECHECKINGORADJUSTMENT","pARSING","pARTNOTFOUNDINDATABASE_","pARTIAL","pENDING","pERSONNEL","pICK_UP","pO_","pOWER","pRD","pRE_PAID","pRICEBOOKNOTAVAILABLE","pRICEEACH","pROCESSED","pRODUCTLINE","pRODUCTNO","pROJECT","pROTECTED","package","packageOptionsAreHighlightedInGreen_","panel","panelExteriorIsOutdoors","parametersCheckCompleted_","params","partDescription","partDescriptions","partNo","partDescriptionRequired_","partialShipmentSelected_","partialShippingRequested_ButNoSpecificShipDatesListedOnSystemsOrItems_","parts","password","passwordAgain","passwordRequired_","paste","pasteOptions_","pastingNonStockingModelsOnAStockingOrderIsProhibited_","pastingStockingModelsOnAStandardOrderIsProhibited_","perUnit","percentageChangeCausedByEnteredAdjustmentValue_","percentageDifferenceBetweenCurrentPriceAndFloorPrice_","percentageDifferenceBetweenNewPriceAndCurrentPrice_","percentageDifferenceBetweenNewPriceAndFloorPrice_","perimeterLength","permanentOpening","personalInformation","personnelLoad","ph_","phone","phoneNo","phoneNumbers","pick_Up","pleaseDescribe","pleaseNote_","pleaseSelect","pleaseSelectAModelType","pleaseSelectObjectsToInclude","pleaseSelectRatingOptions","pleaseAdjustTemperaturesOrChangeRefrigerant_","pleaseAdjustTemperaturesOrSelectAndEnterT_H_R_Value_","pleaseCheckAllItems_","pleaseCheckInternetAndTryAgain_","pleaseCheckServerConnectionAndTryAgain_","pleaseCheckThemIndividually_","pleaseCheckYourPermissionsAndOrCloseThisApplicationAndRunTheBootstrapManually_","pleaseCheckYourPermissionsAndOrDeleteThisFileManually_","pleaseCheckYourPermissionsAndOrMoveThisFileManually_","pleaseCheckYourProfileAndUpdateTheSoldByAddressPanel_","pleaseClickOnTheNEWButtonToBeginAddingYourFirstContact_","pleaseCloseAllInstancesOfNROESAndRestartTheApplication_","pleaseCloseAllRefrigerationAppsClickOnRetry_","pleaseCloseAllRefrigerationToolsAndRestartTheApplication_","pleaseCloseAllToolsAndRestartTheApplication_","pleaseCompleteRequiredInformation_","pleaseConfirmTheFollowing","pleaseConfirm_","pleaseContact","pleaseContactSupportTeam_","pleaseContactTheDevelopmentTeam_","pleaseContactTheFactoryToHaveYourProfileAdjusted_","pleaseContactTheManufacturerForServicePartInformation_","pleaseDescribeTheReasonForThisExceptionBelowAnd","pleaseEnterJob_ScopeReference_","pleaseEnterANumericValueGreaterZero_","pleaseEnterAllThePrimaryDimensionInformationFirst_","pleaseEnterCustomerReferenceNumber_","pleaseEnterExpectedShippingCarried_","pleaseEnterYourPersonalApplicationRegistrationCode","pleaseInstallCustomerDatabaseFileIntoYourApplicationProgramDataFolder_","pleaseQuoteFACTORYORDER__","pleaseRestartTheApplication","pleaseRestartTheApplicationWithTheInternetConnected_","pleaseSaveYourWorkAndCloseAllDesignWindows_","pleaseSelectACompressor_","pleaseSelectACountryFromTheList_","pleaseSelectADivision","pleaseSelectAMatchingModelNumberFirst_","pleaseSelectAPriceBook","pleaseSelectAnotherFile_","pleaseSelectOrderType_","pleaseSelectServicePartTypesToAddToOrder_","pleaseSelectTheSameSystemModelType_","pleaseSelectTheTypeOfSystemYouWantToAdd","pleaseTryAgainLater_","pleaseTryAgain_","pleaseUpdateYourPrices_","pleaseUseTheOptionsSelectorToAdjustTheseOptions_","pleaseUseTheOrderManagerToOpenThisOrder_","pleaseWait_","plus","popup_Tooltip","postal","postal_ZIPCode","postalCode","power","powerDensity","powerSearch","power_Deg","pr_St","pre_view","pre_Paid_Charge","pre_paid","pressure","pressureDropExceedsRequestedRange_","pressureDropRange","pressureDropTolerance","pressureDropTooLow_","pressureRange","preview","previousNetPrice_","price","priceBook","priceChange","priceOK","priceBookUpdated_","priceBookHasExpired_","priceBookHasExpiredAndTheQuoteIsOlderThan__Days_","priceBookIsMissing_","priceBookNotUpdated_","priceDidNotChange_","pricebookHasExpired","pricebookHasExpired_","pricebookMissing","pricebookNotLoaded_","pricebookWillExpireIn","pricingChangeOccurredOnOneRevision_","pricingChangesOccurredOn","pricingShownIncludesAllOptionsListedOnCertifiedPrints_","primary","print","printPreview","printSelectedModelOnly","printing","processChangeOrderRequest","processOrder","processingNotes","product","productDetails","productLine","productList","productLoad","productType","productDeletionRequested_","productsSelected","profitRate","programUpdateAvailable_","programUpdatesFound","programUpdatesShouldBeAvailableShortly_","promise","promiseDate","promised","protectCurrentRevision","province","pulldownTime","purchaseOrder","purchaseOrders","purchaseRequests","purchaser","qTY","qUOTE","qUOTEDAYS","qtty","qty","quantity","quantityPerUnit","quickBox","quotationValidFor__DaysFromQuoteDate_","quote_","quoteDate","quoteNo","quotePrice","quoteSetup","quoteDateIsNotSetToCurrentDate_","r_Value","r____A_R____CombinationNoLongerAvailable_R____ASelected_","rATING","rEADONLY","rEADY","rECTANGULAR","rEF","rEFf","rEQDate","rEQSHIPDATE_","rETRIEVENROESORDERFROMSERVER","rLA","rOUTING","rUN","rUNNUMBER","range","ratedAt","rating","ratingOptions","rear","rearrangeItemOrder","rearrangeItems","rearrangeSystemOrder_RenameSystems","rearrangeSystems","rebuildFactoryOrder","rebuildFactoryOrderRequested_","recentOrders","recommendedQuantity","recoverMyEdits_","rectangularBoxDimensions","redo","reference","refresh","refreshOrderList","refrigerant","refrigerantFactor","refrigerantFactorNotAvailable_","refrigerantFactorOutOfRange_","refrigerantNotSelected_","refrigerants","refrigerationDesignTools","refrigerationSystemDetails","regBuild","region","regularShipDate_","regularUse","rejectOrder","rejected","rejectingAnOrderWillPreventTheOriginatorFromResubmittingThisOrder_","releaseNotes","remarks_Notes","remarks_TermsAndConditions","rememberMeOnThisComputer","remo_ve","remoteOrderLockNotEstablished_","remoteVersionModificationTimestamp_","remoteVersionUploadTimestamp_","remove","remove_LocalOrder","removeFeed","removeLastWall","removeLocalOrder","removeModel_Item","removeSystem","renumberIDs","replaceAllItems_","replaceLocalOrderWithMasterVersion_","replaceSelectedItems_","replaceSelectedSystem_","replaceTheOrderInformationFromTheSelectedFile_","requested","requestedChanges_PleaseUpdateJob_ScopeAndCheckOffEachItem","requestedDate_","requestedDateException","requestedItemShipDateIsLessThanItemLeadTime_","requestedOrderShipDateIsLessThanLeadTime_","requestedSystemShipDateIsLessThanLeadTime_","required","requiredCapacity","requiredCapacity_Unit","requiredCapacityIsNotSet_","requiredCapacityPerUnit","requiredCapacityTolerance","requiredOptions","requiredRatingOptions","requiredShipDate","requiredValue_","requirementDatesInThePast_","resetColumnWidths","resizeColumns","restoreQuoteRevisionRequested_","restoreTheOrderInformationFromTheOrderStore_","resultingPriceIsLowerThanFloorPrice_","retrieveOrder","retry","rev","revision","revisionContainsErrors_","revisionContainsWarnings_","rightEnd","rightClickOnTheQuoteTabsOnTheTopLeftOfTheOrderWindow_","rounding","runNumber","runTime","sAndH","s_C_T_","s_S_T_","sCT","sECTIONLIST","sEEITEMS","sELECTEDMODELDETAILS","sERVERERROR_","sERVICEPARTSCATALOG","sHIPTO","sHIPPEDLOOSE","sIDE_","sITEVOLTAGES","sOLDBY","sOLDTO","sST","sTARTING","sTATE","sTOPSUBMITTEDORDERORCHANGE","sUBMITNOTES","sUBMITORDER","sUBMITTED","sUBMITTEDC_O_","sUITABLEREFRIGERANTS","sYNCHRONIZING","sYS","sYSTEM","sYSTEMBALANCE","sYSTEMBULLETIN_","sYSTEMREFRIGERANT","sales","salesman","sameEnd","saturatedCondensingTemperature","saturatedSuctionTemperature","save","saveAllOrders","saveAsDefault","saveAsDefaults","saveAsSiteDefaults","saveChanges","saveOrder","saveOrderParameterChanges_","saveChangedContactInformation_","saveFailed_","saveMyChanges_","saveTheseChangesAsANewContact_","searchServiceParts","searchingForMatchingAirCooledCondensers_","searchingForMatchingCompressors_","searchingForMatchingCondensingUnits_","searchingForMatchingEvaporatorUnits_","section","sectionConstruction","sectionDivider","sectionExteriorIsOutdoors","sectionLoad","sectionType","sectionDeletionRequested_","sectionHasOpeningErrors_","sectionHasOpeningWarning_","sectionNameNotProvided_","sectionTypeMustBeSelected_","sectional_E_g_StudWall_","sections","sectionsSelected","selectAll","selectApplicationLanguage","selectEquipment","selectModel","selectNextModel_","selectOptions","selectRequestRevision","selectRoomShape","selectWhichPowerOfTenToRoundTo_","selectedItemDetails","selectedModelDetails","selectedQuoteDetails","selectedConstructionNotFound_","selectedItemCountDiffersFromPasteBufferCount_","selectedModelNotFoundInActivePriceBook_","selectedPriceBookHasExpired_","selectionError_","sendNotification","sendNotifications","sendItToMeAgain","sendNotificationsTo__SelectAllThatApply_","separatePrice","seperatePrice","serverConnected","serverNotAvailable","serverCopyHasDifferentSaveHistory_","serverOrdersQueried_","serverVersionDiffersFromApplication_","serviceParts","setDefaults","setStatus","setQuoteDateToToday_","shellApplicationFailedToAcceptCommand_","shellApplicationFailedToStart_","shellApplicationFilesAreMissing_","shellTerminatedUnexpectedy_","shellDidNotAcceptCommand_","shellDidNotRespond_","shellIsLoading","shipOrdersFromFile","shipTo","shipToInformationIsIncomplete","shipToRegionMustBeTwoCharacterCode_","shipment","shipped","shippedInformation","shippedLoose","shippedLoose_LineItem_","shippingNotes","shippingTerms","shippingWeight","showAll","showChangeDetails","showExtendedParameters","showItemPrices","showLocalOrders","showMyOrders","showNotes_Tags_AndDates","showOptionPrices","showOptions","showSplashScreenAtStartup","showToolbarText","showWhereUsedList","showMeMoreInformation_","shutdown","side","side_","signIn","signedIn","signedIn_","signingInAsGuest_","sineWave","siteAltitude","siteLineFrequency","siteAltitudeCanNotBeGreaterThan","siteAltitudeCanNotBeLessThan","siteAltitudeNotEntered_","smallDimensions","softwarePatches","soldBy","soldByNameChangeRequested_","soldTo","soldByInformationIsIncomplete","soldToInformationIsIncomplete","soldToRegionMustBeTwoCharacterCode_","someDescriptionsHaveNotBeenEntered_","someDesignWindowsAreStillOpen_","someFactoryCallLeadTimeSettingsAreStillNotSet_","someFilesDidNotTransferToTheServer_","someFunctionalityMayBeDisabled_","someItemsNeedFactoryLeadTimes_PleaseCall_","someItemsNeedFactoryPricing_PleaseCall_","someOptionsWerePreviouslySetToAnotherValue_","someOrdersNotSaved_","someOrdersWereNotProperlyClosed_","someParametersChanged_","somePriceChangesOccurred_","somePricesOrOptionsMayHaveChanged_","somePricesWereUpdated_","somePrintFunctionsAreDisabled_","spanish","spareFeeds","spares","specificHeatAboveFreezing","specificHeatBelowFreezing","standard","standardOrder","standardTextFile_AllListedParts_","standardTextFile_SelectedPartsOnly_","startNROES","startUpOptions","startShellWhenILogInToWindows","starting","startingTools","state","status","status_","statusStrip","stockingModelOrder","storedOrderIsMoreRecentThanRecoveryData_","stripCurtains","style","sub_Total","subject","submitChangeOrderNow","submitChangeOrderRequestToManufacturer","submitChangeRequestToPurchaser","submitNotes","submitOrder","submitOrderNow","submitted","submittedOrdersMayNotBeEditedInOff_lineMode_","success_","suction","suctionTemp","suctionTemp_S_S_T__","suctionTemperatureCanNotBeGreaterThan","suctionTemperatureCanNotBeLessThan","suctionTemperatureIsGreaterThanCondensingTemperature_","suctionTemperatureIsMissing_","suctionTemperatureIsRequired_","suitableModels","switchPriceBook","synchronizingOrder_","syncronizingContacts","systemLoad","systemName","systemNetPrice","systemNotes","systemRun_Time","systemTagging","systemWeight","systemLoadIsMissing_","systemOptionIsNoLongerAvailable_","systemReturned_","systemsOnThisOrderContainErrors_","systemsOnThisOrderContainWarnings_","t_D_","t_D_Error","t_H_R","tD","tDCanNotBeCalculated_","tDCanNotBeGreaterThan","tDCanNotBeLessThan","tDOutOfEnteredToleranceRange_","tDOutOfMaximumRange_","tERMS_CONDITIONSANDREMARKS","tHEVALUESCONTAINEDHERINAREBASEDONLABORATORYFINDINGSANDTHEINITIALCONDITIONSENTEREDBYTHEUSER_","tHR","tHRCanNotBeCalculated_","tOTAL","tOTALINFILTRATIONLOAD","tOTALLISTPRICE","tOTALNET","tOTALQUOTEPRICE","tYP","tYPE","tabSeparatedTextFiles","tagging","taggingID","taggingID_","taggingText","takeOwnership","targetPriceAccordingToAdjustmentAndRoundingFactors_","tax","taxes","temperatures","terminationOptions","terms","test","textBox","theInternalRelativeHumidityNotEntered_","theMaterialLoadHasNotBeenCalculatedOrEntered_","theMaterialMaterialNameIsNotEntered_","theMaterialMaterialTypeIsNotSelected_","theOriginatingCustomersInformationIsAlreadyListedInYourContactDatabase_","theR_ValueHasNotBeenEntered_","theActualCondensingTemperatureCouldNotBeCalculated_","theAmbientTemperatureIsNotEntered_","theApplicationCouldNotMoveFile_BootStrap_exeFromTheUpdatesFolderToTheApplicationFolder_","theApplicationCouldNotRemoveFile_BootStrap_exe_FromTheApplicationFolder_","theApplicationCouldNotSpawn_BootStrap_exe_InTheApplicationFolder_","theAreaHasNotBeenCalculatedOrEntered_","theAreaIsGreaterThanTheSectionArea_","theBoxTypeMustBeSelected_","theCentreDistanceIsNotEntered_","theChangeCanNotBeProcessedUntilYouCloseTheWorkbookInThisApplication_","theConstructionK_FactorIsNotCalculatedOrEntered_","theConstructionR_ValueIsNotCalculatedOrEntered_","theConstructionNameIsNotEntered_","theConstructionThicknessHasNotBeenEntered_","theConstructionTypeIsNotSelected_","theCorrectQuoteRevisionIsSelected","theCurrentPricebookHasBeenSuperseded_","theCurrentPricebookHasExpired_","theCurrentPricebookNoLongerExists_","theCurrentPricebookWillExpireInLessThanAMonth_","theCurrentSettingsWillBeUsedOnAllNewOrdersForThisDivision_","theCurrentSettingsWillBeUsedOnAllNewOrders_","theDividerMaterialNameIsNotEntered_","theDividerMaterialTypeIsNotSelected_","theDividerWidthIsNotEntered_","theEffectiveR_ValueIsNotCalculatedOrEntered_","theEmailAddressGivenIsNotListed_","theExternalRelativeHumidityMustBeGreaterThanZero_","theExternalRelativeHumidityMustBeLessThan____","theExternalRelativeHumidityNotEntered_","theExternalTemperatureIsLowerThanTheInternalTemperature_","theExternalTemperatureIsNotEntered_","theExternalTemperatureIsTooHigh_","theExternalTemperatureIsTooLow_","theExternalTemperatureNotEntered_","theFactoryInvoiceRecipientIsCorrect","theFactoryInvoiceWillBeSentTo","theFactoryIsNotShippingOnTheSelectedDate_","theFloorAreaIsNotCalculatedOrEntered_","theFollowingChangesHaveBeenVerified","theFollowingOptionIsNotAllowedWithThisPackage_","theFollowingOrdersCouldNotBeMarkedAsClosed_","theFollowingOrdersCouldNotBeMarkedAsShipped_","theFollowingOrdersCouldNotBeSynchronized_","theInfiltrationLoadHasNotBeenCalculatedOrEntered_","theInformationInTheStoreIsOlderThanTheSelectedFile_","theInternalTemperatureIsNotEntered_","theItemOrSomeOptionsNeedFactoryLeadTimes_PleaseCall_","theLayerThicknessIsNotCalculatedOrEntered_","theLayerThicknessIsNotEntered_","theLoadIsNotCalculatedOrEntered_","theOpeinngWidthIsGreaterThanTheSectionWidth_","theOpeningHeightHasNotBeenEntered_","theOpeningHeightIsGreaterThanTheSectionHeight_","theOpeningTypeIsNotSelected_","theOpeningWidthHasNotBeenEntered_","theOrderCanNotBeProcessedUntilYouCloseTheWorkbookInThisApplication_","theOrderFileAppearsCorrupt_","theOrderIsAlreadyListedInTheLocalOrderDatabase_","theOrderIsLockedByAnotherUser_","theOrderWindowWillUpdateWhenYouCloseTheServicePartsWindow_","theOriginalOrderHasNotBeenProcessedYet_","thePerimeterLengthMustBeEnteredForSlabOnGradeFloors_","thePowerUnitsAreNotEntered_","thePriceBookSelectedForThisOrderHasBeenUpdated_","thePriceBookUsedForTheOpenChangeRequestHasBeenRevised_","thePriceBookUsedForTheOpenChangeRequestHasBeenSuperseded_","thePriceBookUsedForTheOpenChangeRequestIsExpiring_","thePriceBookUsedForThisOrderHasBeenRevised_","thePriceBookUsedForThisOrderHasBeenSuperseded_","thePriceBookUsedForThisOrderIsExpiring_","thePriceBookUsedOnOneQuoteHasBeenRevised_","thePriceBookUsedOnOneQuoteHasBeenSuperseded_","thePriceBookUsedOnOneQuoteHasExpired_","thePriceBookUsedOnOneQuoteIsMissing_","thePriceBookWasUpdated_","thePriceBooksUsedForThisOrderAreExpiring_","thePriceBooksUsedForThisOrderHaveBeenRevised_","thePriceBooksUsedForThisOrderHaveBeenSuperseded_","thePriceBooksUsedOn","thePriceBooksUsedOnOneQuoteIsExpiring_","theProductFreezingTemperatureIsNotEntered_","theProductIsEnteringAtTheInternalTemperature_TheFinalTemperatureMustAlsoBeTheInternalTemperature_","theProductTypeIsNotSelected_","theProduct_sEnteringTemperatureIsNotSet_","theProduct_sFinalTemperatureCanNotBeGreaterThanTheEnteringTemperature_","theProduct_sFinalTemperatureCanNotBeLowerThanTheEnteringTemperature_","theProduct_sFinalTemperatureCanNotBePulledHigherThanTheInternalTemperature_","theProduct_sFinalTemperatureCanNotBePulledLowerThanTheInternalTemperature_","theProduct_sFinalTemperatureIsNotSet_","theProduct_sLoadFactorIsNotSet_","theProduct_sLoadFactorShouldBeOneUnlessRapidCoolingIsRequired__","theProduct_sLoadIsNotCalculatedNotEntered_","theProduct_sMoistureContentIsNotEntered_","theProduct_sPullDownTimeIsNotSet_","theProduct_sSpecificHeatAboveFreezingIsNotEntered_","theProduct_sSpecificHeatBelowFreezingIsNotEntered_","theProduct_sWeightIsNotEntered_","theProgramStoreIsNewerThanTheFileYouSelected_","theQuoteHasBeenSignedByTheCustomer","theRunTimeIsNotEntered_","theSelectedChangeOrderHasBeenProcessedByOurOrderDepartment_","theSelectedChangeOrderHasBeenProcessedByThePurchaser_","theSelectedOrderHasBeenProcessedByOurOrderDepartment_","theSelectedOrderHasBeenProcessedByThePurchaser_","theSelectedOrderIsOpenInAnotherSessionOfNROES_","theSelectedRefrigerantIsNotAvailableOnThisUnit_","theServerReturnedTheFollowing_","theSystemReportedError","theSystemReportedTheFollowingError_","theTotalInfiltrationLoadIsNotCalculatedOrEntered_","theTotalVolumeIsNotCalculatedOrEntered_","theUserNameYouEnteredIsNotRegisteredOnThisWorkstation_","theValueWillBeAddedOrSubtractedFromTheCurrentPrice_","thenClickOnSaveAgain_","thereAreNoItemsOnThisOrder_","thereAreNoOptionsAvailableForThisUnit_","thickness","thicknessIsNotEntered_","thirdParty","thisMayTakeAFewMinutes_","thisModelHasOptionsAttached_","thisOrderHasBeenPutOnHoldByTheOrderDepartment_","thisOrderHasBeenRejectedByTheOrderDepartment_","thisOrderHasPriceBookIssues_","thisOrderWasNotClosedProperlyTheLastTimeYouOpenedItOnThisWorkstation_","thisOrderWasSavedUsingAPreviousVersionOfYourMultiplierStructure_","thisOrderWasSavedUsingAPreviousVersionOfYourUserCatalogueProfile_","tileHorizontally","tileVertically","time","title","toNearest","toNearest_","toNearest_____","toNearest__","toNearest______","toNearest___","toNearest_______","toAssistUs_PleaseProvideAnyFurtherInformationYouMayThinkIsRelevant_","toChangeThePartQuantities_PleaseEditThemInTheOrderWindow_","tolerance","tools","total","totalCapacityAtDesignTD","totalEquipmentPrice","totalHeatRejected","totalHourlyLoad","totalLoadRequired","totalMiscellaneousLoad","totalOpeningInfiltration","totalOtherLoads","totalPrice","totalProductLoad","totalProductWeight","totalSystemCapacity","totalThickness","totalVolume","totalWallLoad","totalDoorWidthExceedsSectionWidth","totalHeatRejectedOutOfRange_","totalOpeningAreaExceedsSectionArea","translationsAreUNDERCONSTRUCTIONAndMayBeLiteralByNatureAndMayBeContextuallyInError_","trentonLoadCalcFiles","trentonRefrigeration","tubeConfiguration","tubeRows","tubes","tubesPerFeed","tubesPerRow","typ","type","u_SHAPED","u_S_","u_S_English","uNIT","uNITLIST","uNITNET","uNLESSOTHERWISESPECIFIED","uNUSEDCONNECTIONS","uPDATED","uSERINFORMATION","uSERPREFERENCES","undo","unit_","unitCooler","unitList","unitNet","unitPrice","unitTotal","unitIsNotCompatibleWithSelectedSystemRefrigerant_","units","unknownReason_","untilTheChangeIsProcessedByTheManufacturer_YouMayStopYourRequest_","untilThen_FunctionalityWillBeLimited_","unusedFeeds","upOrDown","updateAllMultipliers","updateAllParameters","updateAllPrices","updateNow","updatePricebook","updatePending_","updateTheCurrentInformation_Or","updateTheExistingListing_","updatesCanNotBeInstalled_","uploadToJOB_SCOPE","uploadingBuffer","uploadingPreviouslySavedFiles","uploadingQueuedOrders","uploadingQueuedOrder_","useLogoImageFile","useMyInformation","useBoxSetting","useMenuFunctionCreateChangeOrderInstead_","useTheHOLDFunctionIfYouExpectTheOriginatorToCorrectTheOrder_","useTheSTOPSUBMITTEDCHANGESelectionInTheOrderMenu_","useTheSTOPSUBMITTEDORDERSelectionInTheOrderMenu_","useTheMenuToCreateNewRevision_s_FromYourEditsAsDesired_","userID","userInformation","userInformationRequested_","userName","userRegistrationInformation","userVerification","userNameRequired_","userSelectablePriceAdjustmentValue_","usernameNotFound_","usingLocalVersion_","vWaffle","vOLTAGE","valueRequired_","valueMustBeGreaterThanZero_","various","velocity","ventilationAirRelativeHumidity___","ventilationAirTemperature","ventilationRate","ventilationAirRelativeHumidityIsNotEntered_","ventilationAirTemperatureIsNotEntered_","ventilationRateIsLessThanTheRecommendedMinimumValue_","verifyDesign","version","version_OfNROESUsesADifferentSaveStrategy_","version_UsesAWorkbookForYourJobInsteadOfMultipleQuoteRevisionFiles_","vertical","via","view_ArchivedFiles","viewCSV","visitUsOn_Line","voltage","volume","wAITINGFORSERVICEPARTSCATALOGUETOLOAD","wARNING","wARNING_","wARNINGS","wATTS","wO","wORKORDER","waitingForShellToComeReady","waitingForShellToComeReadyForFirstTime","waitingForShellToStart","waitingForANewPassword_","waitingForRegistrationKey_","waitingForShell_","waitingForSign_in","wall","wallLoad","wallSection","wallsCross_PleaseCheckYourDimensions_","warning","warning_PriceBookHasExpired_","warningOppositeEndConnections_DimensionDrawingWillOnlyShowSameEndHeaders","warning_","warnings","waterCooledCondensingUnit","webMessagesAndBulletins","weight","whatToPrint","whatDoYouWantToDo_","whatTypeOfFileDoYouRequire_","whatTypeOfOrderDoYouWishToCreate_","whereUsed","whereUsed_","wholesale","width","with","withTheInternetConnected_","workHours","workOrder","workingDays","workingOn_Line","wouldYouLikeToDo_","wrapSystemBar","yes","yesPlease","yes_ChangeTheModelToTheOneISelected_","yes_IAmARegisteredUser_","yes_SetOptionsToTheNewMultiplier_","yes_SetTheValueIEntered_","yes__SomeFunctionalityWillBeDisabled_","youAreNotTheOriginalOwnerOfThisOrder_","youAreProhibitedFromSettingTheMultiplierThisLow_","youAreWorkingOffline_","youCanNoLongerStopThisChangeRequest_","youCanNoLongerStopThisOrder_","youCanNoLongerStopThisPurchaseRequest_","youCanNotDeleteTheLastSystemOnAnQuote_","youCanNotDeleteThisOrderFromTheServer_","youCanNotEditTheDoorInformationAtThisTime_","youCanNotEditTheSectionInformationAtThisTime_","youCanNotEditThisOrderAtThisTime_","youCanNotRejectAnOrderUsingNROESOnceItHasBeenSubmittedToJob_Scope_","youChangedTheCondensingUnitModelNumber_","youChangedTheModelNumber_","youDoNotCurrentlyHaveRightsToThisTool_","youDoNotHaveTheOriginalPriceBookLoaded_","youDoNotHaveTheRequiredPriceBookForTheOpenChangeRequest_","youDoNotHaveTheRequiredPriceBookForThisOrder_","youDoNotHaveTheRequiredPriceBooksForThisOrder_","youHaveFailedToReceiveACatalogueDataUpdateForMoreThan__Days_","youHaveFailedToReceiveAProgramUpdateForMoreThan__Days_","youHaveNotBeenAssignedAChannelForDirectEntryToTheAS_____","youHaveNotConfirmedYourEmailAddressYet_","youHaveNotReceivedACatalogueDataUpdateForMoreThan__Days_","youHaveNotReceivedAProgramUpdateForMoreThan__Days_","youHaveNotStartedTheApplicationOn_lineForMoreThan__Days_","youMayCreateANewChangeOrder_OrContactUsByTelephone_","youMayCreateANewChangeOrder_OrContactYourPurchaser_","youMayCreateANewOrderAndCorrectTheListedIssues_","youMayEditThisOrderOff_line_","youMayEnterAPositiveOrNegativeValueHere_","youMayEnterAValueHereToRoundToAValueOtherThanThatEndingInAZero_","youMayHaveTheOrderOpenInAnotherApplication_","youMayNotCopyThisOrder_","youMayNowEditYourData_","youMayPreferToSimplyDeselectTheSpecificOptionsYouDoNotRequire_","youMaySelectRoundingOptionsHere_","youMayTakeOwnershipOfThisOrderUsingTheOrderMenu_","youMayThenEditTheServicePartQuantitiesInTheOrderItself_","youMayWorkOff_lineIfYouWish_","youMustBeConnectedToTheInternetToUseThisTool_","youRequestedIDeleteASystemFromTheOrder_","youShouldCloseThisOrderAndTryToReopenItForSynchronizationOptions_","youShouldReceiveAnE_mailShortly_","youShouldReceiveMoreInformationWithinTheNextFewWorkingDays_","youShouldReceiveYourCodeShortlyAtTheFollowingE_mailAddress_","youShouldReceiveYourLoginInformationViaE_mailShortly_","youShouldStopTheRequest_CorrectTheIssuesListedBelow_AndResubmit_","youWillBeTheOnlyOneAbleToMakeChanges_","yourAuthorizationHasBeenRecinded_","yourAuthorizationIsNowUnderReview_","yourAuthorizationIsStillUnderReview_","yourChangeRequestWasSubmitted_","yourDataContainsWarnings_","yourNeedToBeOn_lineToCompleteTheRegistrationProcess_","yourNewChangeRequestWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_","yourNewOrderWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_","yourNewRequestWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_","yourOrderWasSubmitted_","yourPasswordHasBeenSuccessfullyUpdated","yourPreviouslySubmittedChangeOrderHasBeenStopped_","yourPreviouslySubmittedChangeRequestHasBeenStopped_","yourPreviouslySubmittedOrderHasBeenStopped_","yourPreviouslySubmittedRequestHasBeenStopped_","yourPurchaserHasBegunWorkOnYourOrderRequest_","yourRequestCouldNotBeRetractedAtThisTime_","yourSoldByRegionMustBeTwoCharacterCode_","yourUserAccountHasBeenRejected_","yourUserAccountIsCurrentlyDisabled_","yourUserProfileHasBeenSuccessfullyUpdated_","yourVendorAccountIsCurrentlyDisabled_","zip_PostalCode","zipCode","zoneBoundary","zoneBoundary_TD___","asNewRevision_AndRestore","asNewRevision_","atFixtureRating","confirmYourRequestByClickingOnTheOKButton_","e_g_ToRoundTo______SetRoundingToNearest____AndEnter__Here_","equipmentChangesFound_","feedIsNotUsed_","feedsAreNotUsed_","freightTerms","frmOptions","haveBeenRevised_","haveBeenSuperseded_","lblBOLD","orQuantity","orR_Value_UnitThickness","orTotalLightingPower","pricesChanged_","quotesAreExpiring_","quotesAreMissing_","quotesHaveExpired_","regularShipDateOfTheSelectedItem_","revisionsUpdated_","revisions_","to","toLastSavedVersion_","youCanNoLongerCreateQuoteRevisionsDuringTheSaveOperation_","_LessOptions_","airCooledCondenserDesigner","approvalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_","aPPROVALS","aPPROVEDBY_","cARRIERPREFERENCE","certifiedPrintMaker","cHANGEORDERREQUESTFORM","cUSTOMERORDER__","dATE_","dimA","dimB","dimC","dimD","dIMENSIONA","dIMENSIONB","dIMENSIONC","dIMENSIOND","dIMENSIONE","dIMENSIONF","dIMENSIONG","dIMENSIONH","dIMENSIONS","dimensionsShownAreForStandardUnitLessOptions_","dimensionsShownAreForStandardUnitLessOptions_SeeCertifiedDrawingForMoreDetails_","dISCHARGE","documentBrowser","dRAIN","eLECTRONICORDERFORM","eLECTRONICORDERFORM_CONTINUED","eQUIPMENTSUMMARY","eSTSHIPWEIGHT_LessOptions_","eSTSHIPWEIGHT_","fACTORYINVOICETO_","fACTORYORDER__","fREIGHT","fREIGHTTERMS_","hOTGASINLET","hOTGASOUTLET","hOTGASSIDEPORT","iD__","iTEM__","lbs_LessOptions_","lead","list","mANUALENTRY","mANUALOPTION","mult","nATIONALREFRIGERATIONWillFurnishEquipmentInAccordanceWithThisDrawingAndSpecifications_AndSubjectToItsPublishedWarranty_ApprovalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_","nEWSYSTEM","nOTES_","oEMult","oF","oPTION","oRDER__","oRDERDATE_","pACKAGE","pACKAGEITEM","pACKAGEOPTION","pAGE","pANLOOP","pRICEBOOK_","priceTotal","pROD","pROJECT_","pURCHASER_","pURCHASER_SPO__","qUOTE__","qUOTEDATE_","rEF__","rEMARKS_SPECIALSHIPPINGINSTRUCTIONS","s_H","servicePartsList","sHIPMENT_","shippingAndHandling","sHIPPINGWEIGHT","sOUND","sTOCKINGMODELS","sUBMITTEDBY_","sUBTOTAL","sUCTION","systemNet","tAGGING_","totalNet","uSERID_","vENDORID_","wATER","wEIGHT","aSuiteOfSoftwareApplicationsCreatedToHelpRefrigerationProfessionalsMakeAccurateCalculations_AccessProductInformation_ChooseComponentsAndPrintTechnicalDrawings","pleaseUpdateAllPrices_","pleaseEnterYourPersonal","applicationRegistrationKey_","saveAsNewContact","saveContact","saveNewContact","partNumber","loadCalculatorII","newJob","systemCapacity","descriptions","boxApplication","application","theExternalRelativeHumidityMustBeGreaterThan","theExternalRelativeHumidityMustBeLessThan___","theInternalRelativeHumidityMustBeGreaterThan","theInternalRelativeHumidityMustBeLessThan","lineLoss","systemRunTime","systemRunTimeMustBeGreaterThanOneHour_","systemRunTimeMustBeLessThanTwentyfourHours_","theSystemLineLossIsNotEntered_","theSystemLineLossIsTooHigh_","theSystemLineLossIsTooLow_","averagePassageTime_Seconds_","passagesPerDay","curtainEffectiveness","standOpenTimePerDay_Minutes_","cONSTRUCTIONANDDIMENSIONS","volumeAndTemperatures","airFlowRates","volumeAndTemperature","hasConfigurationErrors","optionConfigurations","setConfiguration","can_tHaveOptions","notRecommendedOptions","recommendedOptions","availableConfigurations_","normalConfiguration_","hasConfigurationWarning","optionConfigurationError_","optionConfigurationWarning_","optionConfigurtionErrorsDetected_","pleaseSelectOneOfTheAvailableConfigurations_","thisOptionHasMultipleConfigurationsAvailable_","includesOptions","over_Ride_SubmitErrors","cHeckPRicesOK","errorLabel","noRefrigerantRatingValuesListed_","termsOfSale","warranty","lOGO","tERMSOFSALE","vENDORINFORMATION","useTOSImageFile","checkAllErrors","drawings","optionList","specificationsPage","warningLabel","clickCANCELToAdjustYourSelectedOptions_","youWillNotBeAbleToSubmitThisOrderUsingThisOptionConfiguration_","oPTIONDESCRIPTIONAPPENDIX","requestedOrderShipDateIsBeforeToday_","ordersListed_","sEARCHINGANDSORTING","synchronizingOrders_PleaseWait","archive_","synchronizingOrders","itemPartDescriptionRequired_","doYouWantToAttemptToOpenThisFileAnyway_","oldStyleChecksumDoesNotMatch_","failedToOpenDataCatalog_","oPTIONDESCRIPTIONAPPENDIXCONTINUED","includeUnselectedOptions","sELECTEDOPTIONDESCRIPTIONS","sELECTEDOPTIONDESCRIPTIONSCONTINUED","setRevisionSUbmitted","uNsubmitQuote","addDoors_Openings","deleteDoors_Openings","dOORUSAGE","editDoor_Openings","curtainR_Value","loadingPlatformRoll_UpDoor","trailerDockRoll_UpDoor","reach_InGlassDoor","boxUsage","floorType","theRefrigeratedFloorIsBuiltDirectlyOnTheGround__OrTheRoomInWhichTheRefrigeratedBoxIsLocatedIsBuiltDirectlyOnTheGround__","orTheRoomInWhichTheRefrigeratedBoxIsLocatedIsBuiltDirectlyOnTheGround_","orThereIsAVentilatedSpaceUnderTheRoomInWhichTheRefrigeratedSpaceIsLocated_","theRefrigeratedFloorIsBuiltDirectlyOnTheGround_","thereIsAVentilatedSpaceUnderTheRefrigeratedFloor_","thisIncludesCrawlSpacesOrUpperFloorInstallations_","coolingLoads","checkBox","aboveGrade","onGrade","heatingTemperature","surroundingAirTemperature","onGrade_FrostHeaveProtected","aNDAControlledFrostHeavePreventionHeaterSystemIsOrWillBeInstalled_","construction","wALL_FLOORANDCEILINGLOADS","cONTINUED","pRODUCTLOADS","finalTemp","enterTemp","pullDown","tOTALPRODUCTLOAD","tOTALPRODUCTWEIGHT","tOTALWALL_FLOORANDCEILINGLOAD","vOLUME","mISCELLANEOUSLOADS","tOTALMISCELLANEOUSLOAD","aVERAGE","fORKLIFTS_TOWMOTORS","hEAVY","lIGHT","externalRh","externalTemp","heavy","internalRh","internalTemp","regular","tOTALINFILTRATIONLOADESTIMATEDBYDOORSANDOPENINGS","ventilation","iNFILTRATIONLOAD_ESTIMATEDBYDOORSANDOPENINGS","iNFILTRATIONLOAD_ESTIMATEDBYVENTILATION","iNFILTRATIONLOAD_ESTIMATEDBYVOLUMEANDUSAGE","doorOrOpeningType","openTime","preparedBy","preparedFor","customerInformation","job_ProjectName","cOOLINGREQUIREMENTS","designLoad","equipmentLoad","hours","safetyLoad","safetyFactor","capacityRequired","condenserAmbient","sYSTEMDESIGNSUMMARY","sYSTEMEQUIPMENTSELECTION","evaporator","nOTSELECTED_","airCooledCondenser","condenser","evaporatorTD","fanLoad","deleteSystem","duplicateSystem","editSystem","area_ZoneOrSystemName","areaDeletionRequested_","systemDetails","equipmentCapacity","equipmentTD","design","miscellaneous","products","safety","openBoxDesigner","sYSTEMSLOADSUMMARY","importLoadCalculatorIDesignFile","importLoadCalculatorIIDesignFile","newCondenserDesign","newFluidCoolerDesign","newGlycolCoilDesign","newLoadCalculatorIIDesign","newSystemNamed","otherEquipment","safetyFactor___","quantityPERCompressorUnit","quantityPERCondensingUnit","hourlyLoadRequired","suctionLineLoss","connectionCount","pleaseSelectAndEditTheAppropriateSection_","toEnterOrEditDoorOrOpeningDetails_","clearAllSelections","interiorTemperature","areYouSureYouWantToSubmitThisMyEditOrder_","doYouWantToProcessThisChangeOrderAsAnOriginalMyEditOrder_","ifYouSubmitThisOrder_YouAreOfficiallyTakingResponsibilityForTheMyEditOrder_","untilTheOrderIsProcessedByTheManufacturerYouMayStopThisMyEditOrder_","untilTheOrderIsProcessedByThePurchaserYouMayStopThisMyEditOrder_","wARNING_YOUARENOTTHEORIGINATOROFTHISMyEditOrder_","youCanNoLongerStopThisMyEditOrder_","youDoNotHaveOwnershipOfThisOrder_","testCloneCompare","modelNotLoaded_","temperature_TooHigh_","temperature_TooLow_","noRatingFound_","temperature_IsTooHigh_","temperature_IsTooLow_","balancedCapacity","evap_TD","ambientTemperature_EvapTemperature_","boxTemperature_EvapTemperature_","condensingTemperature_EvapTemperature_","evap","evapTemperature","isInvalid_","isMissing_","isOutOfRange_","systemLoadIsInvalid_","systelLoadNotGiven_","temperature_NotGiven_","productName","ambientTemperature","loadCalculationDesignHasErrors_","loadCalculationDesignHasWarnings_","equipmentSelectionIsIncomplete_","systemIsNotBalanced_","designHasErrors_","designHasWarnings_","loadCalculationSystemHasDesignErrors_","loadCalculationSystemHasDesignWarnings_","testMail","oneOrMoreRequestedDatesAreInThePast_","shipmentDateErrorsFound_","reset","currency","edit_AddDoorsAndOpenings","thePriceBookUsedForTheOpenChangeRequestHasExpired_","thePriceBookUsedForThisOrderHasExpired_","thePriceBooksUsedForThisOrderHaveExpired_","alwaysOpenAreaOfWallLeadingToAnotherZone_","areaToBeExcludedFromWallDefinition_","nonOpeningGlassWindow_","normallyClosedDoorForStaffOrGoodsTraffic_","roll_UpDoorOpenToOutsideEnvironmentOrOtherZone_","sectionOfWallWithDifferentInsulationOrExternalEnvironmentFromRestOfWall_","pleaseSelectAnOpeningType_","lOADCALCULATION","reach_InSelfServeGlassDoors_","roll_UpDoorDesignedToBeNormallyClosedOrSealedByTransportTrailer_","areYouSureYouWantToUseTheSeletedValue_","theInfiltrationCalculatedForTheseIsGreaterThanTheVentilationInfiltration_","theInfiltrationCalculatedForTheseIsGreaterThanTheVolumeEstimatedInfiltration_","valueWarning_","youHaveDoorsAndOpeningsDefinedInTheBoxDesign_","conductionLoad","iNFILTRATIONLOADPERUNIT","iNSULATIONLOADPERUNIT","indoor","outdoor","outdoorCool","outdoorWarm","outdoors_ColdClimate_","eSTIMATEDBYVENTILATION","eSTIMATEDBYBOXVOLUME_USAGE","eSTIMATEDBYDOORSANDOPENINGS","ventilationInfiltrationEstimate","volume_UsageInfiltrationEstimate","infiltrationMethodChosenIsNotTheMaximumLoadEstimateEntered_","calculationMethod","useMaximum","lOADCONNECTIONSCONTINUED","insulationLayerIsRecommendedForSlabOnGradeFreezers_","aDDNEWSYSTEMUSING","iMPORTFROMFILE","miscelaneousUnits","importSystemsFromALoadCalculatorIIFile_","ballyBoxWizardFile","importSystemsFromABallyBoxWizardFile_","importSystemsFromAKeepriteCalc_RiteFile_","importSystemsFromATretonCalculoadFile_","keepriteCalc_RiteFile","tretonCalculoadFile","abortAddingASystem_","saveSystemAsTemplate","sTANDARDAPPLICATIONS","uSERTEMPLATES","rH_TD","createSystem_PleaseSelectApplicationTypeOrTemplate","fACTORYTEMPLATES","saveAsTemplate","change","evapTDIsTooHighForTheSelectedApplication_","evapTDIsTooLowForTheSelectedApplication_","theInternalTemperatureIsTooHighForTheSelectedApplication_","theInternalTemperatureIsTooLowForTheSelectedApplication_","newMulti_SystemJob","betaVersionDesignDetected_","doYouWantToUpdateTheDesignToTheNewerVersion_","newerCalculatorVersionDetected_","pleaseVerifyYourDesign_","theLoadCalculationHASCHANGEDWithTheNewerVersion_","theLoadCalculationHASNOTChangedWithTheNewerVersion_","theLoadCalculationsMayHaveChangedSinceYouFirstCreatedThisJob_","thisDesignWasCreatedWithTheBetaVersionOfTheSoftware_","export_CSV","loadCalculation","optionDescriptionList","pleaseCheckYourEquipmentSelection_","ifThisProblemPersists_PleaseContactTheFactory_","selectedEquipmentNoLongerBalances_","thisDesignWasCreatedWithAnEarlierVersionOfThisSoftware_","newerVersionDesignDetected_","pleaseRestartYourSoftwareToUpdateYourSystemAndDataFiles_","lade","pending","outdoors_ColdClimate___","loadingServicePartCatalog_","clearFilter","category","partName_No","qTTY","modelNumber_WhereUsed","equipmentDetails","leadTimeChangesFound_","leadTimesChangedOn","leadTimesChangedOnOneRevision_","noLeadTimeChangesFound_","noLeadTimeChangesOccurred_","oneLeadTimeChangeFound_","copyShippingDateInformationTo","forComplexFloorsWeSuggestYouUseTheFloorPlanner","onlyOneFloorSectionMayBeAddedWithThisTool_","sorry","orEnterTheTotalFloorAreaAndPerimeterValuesInTheExistingFloorDefinition_","boxDesign","canNotSubmit_","invalidEmail_Format_","OrdersWillBeMarkedAsShipped_","OrdersWillBeMarkedClosed_","calendarDays","leadTimeCalendarDays","leadTimeAddWeeks","leadTimeWeeksAdded","pleaseContactFactory","wARNING_SUBMITTEDQUOTENOTFOUND_","CalandarDays_","sorry_","youCanNotDeleteTheOrderedQuoteRevision_","deleteCurrentQuoteRevision","restoreCurrentQuoteRevisionToLastSavePoint","canNotRestoreTheOrderedQuoteRevision_","thePackage","standardFeatures","additionalOptionsAndAccessories","frStrings","esStrings","translations","LocalizedStrings","en","fr","es","TranslationService","getCurrentLanguageFromQueryString","getTranslations","storedLanguage","setLanguage","TranslationContext","useTranslationContext","applicationStyle","cursor","applicationSelectedStyle","backgroundColor","padding","BoxApplications","props","_props$selectedId","apps","setApps","selectedAppId","setSelectedAppId","selectedId","setBoxTemp","setRH","setTD","selectApplication","boxApp","relativeHumidity","designTd","BOX","FreezerInternalRH_Default","_jsxs","_Fragment","children","_jsx","className","fontSize","app","onClick","handleClick","onDoubleClick","handleDoubleClick","src","alt","Button","_ref","tooltip","disabled","Modal","show","footer","onCancelClick","modalCardWidthStyle","BulmaModal","onClose","AWEFMessage","modalBody","FontAwesomeIcon","icon","faExclamationTriangle","size","message","modalFooter","onYesClick","onNoClick","onHelpDecieClick","LoadCalcConfirmation","onLoadCalcButtonClick","onEquipmentSelectorButtonClick","onCloseClick","BoxContext","boxId","boxData","isBoxDataLoaded","loadBox","useBoxContext","SystemContext","systemState","dispatch","useSystemContext","loadAWEFHelpMeDecideUrl","division","SelectNewBoxApplication","selectedApplicationId","setSelectedApplicationId","isEquipmentOnly","setIsEquipmentOnly","showLoadCalcConfirmation","setShowLoadCalcConfirmation","showAwefConfirmation","setShowAwefConfirmation","history","useHistory","handleOkButtonClick","handleSelectApplicationId","applicationId","resetState","requireAwef","updateStore","push","awefConfirmationMessage","loadAWEFHelpMeDecideUrlUseCase","goBack","toggleModal","handleLoadCalculatorButtonClick","handleEquipmentSelectorButtonClick","Checkbox","isChecked","onChange","checked","event","DropDownList","dataSource","item","FormField","getStringValue","decimals","stringValue","Measurement","_props$disabled","setDisplayValue","previousDisplayValue","setPreviousDisplayValue","isCustom","setIsCustom","isTouched","setIsTouched","isValid","setIsValid","_props$defaultValue","_props$actualValue","actualDisplayValue","actualValue","onValidate","defaultValueDecimals","defaultValue","isCustomValue","onFocus","fieldValue","currentTarget","onBlur","handleBlur","newDisplayValue","defaultDisplayValue","convertedValue","onKeyPress","preventDefault","equipmentTypes","siteLineFrequencies","EquipmentFilters","_props$formState$actu","_props$formState$actu2","_props$formState$actu3","_props$formState$actu4","_props$formState$actu5","formState","actualValues","onCheckboxChange","onDropDownChange","defaultValues","onMeasurementChange","runTimeHours","onValidateSystemField","onValidateEquipmentField","isCUAmbientTempVisible","isCondensingTempVisible","NumericTextBox","min","max","readOnly","minValue","inputValue","parseInt","EquipmentBalance","systemBalanced","sstBalance","tdBalance","ConfirmationMessage","_translations$yes","FullScreenModal","OptionConfigurations","modalTitle","optionName","variants","_translations$setConf","o","groupName","excludedOptions","includedOptions","index","r","handleSetConfigurationClick","variant","optionId","onSelectConfiguration","handleCloseClick","WarningMessage","_translations$oK","showErrorIcon","faTimesCircle","ErrorContext","errorMessages","showError","showErrorList","hideError","useErrorContext","getSelectedOptionQuantities","selectedOptions","isPackageOption","isPackage","selectedPackage","packageItems","packageOptions","findIndex","classOptionId","selectedQuantity","isPackageItem","isRequired","isSeparatePrice","isLineItem","optionOrder","subOptionOrder","isAssembly","getSelectedRegularOptionIds","selected","isAddOn","updateOptionList","s","allowMultiples","optionIndex","splice","checkPackageMatch","groups","packageMatch","some","nonAddOnSelectedOptionIds","hasPackageMatch","packageMatchOptionIds","forEach","g","includedOptionIds","po","currentPackageMatches","every","isStandAlone","isCurrentPackageOption","checkVariantStrictMatch","excludedOptionIds","so","checkVariantRequiredOnlyMatch","validateSelectedConfigurations","selectionHasError","hasWarning","hasConfigurationSet","configurationSets","isSelected","otherVariantMatch","ov","vo","otherVariantRequiredOnlyMatch","variantMatch","variantRequiredOnlyMatch","checkRules","selectedOptionId","rules","ruleTypeId","optionIdList","messageTitle","messageBody","updateOption","currentPackage","currentlySelectedOptions","isCurrentPackageCollectionModified","selectedOption","optionGroups","currentSelectedOptions","warningMessage","errorMessage","ruleMessage","isExclusive","getOptionById","getAvailableOptions","async","class9Id","_StorageFacade$quote","getOptionsUrl","_StorageFacade$quote2","PriceBookId","optionsResponse","optionsJsonData","json","groupedData","reduce","keyOptions","keyHasEmptyOption","selectedOptionIndex","isPreviouslySelected","isBold","isGroupDefault","groupSelectedQuantity","isListOption","selectedItemIndex","ko","isVisible","checkedData","loadOptions","selectedOptionList","_StorageFacade$quote3","_StorageFacade$quote4","validatedData","getRulesUrl","optionRulesResponse","selectionRules","EquipmentOptions","_translations$cancel","onOkClick","setData","setRules","setHasError","setSelectedOptions","setCurrentPackage","configurationSetModal","setConfigurationSetModal","confirmationMessage","setConfirmationMessage","setWarningMessage","closeConfirmationMessage","closeWarningMessage","showWarningMessage","isError","optionsData","OptionUtils","_error$message","loadData","selectPackage","updatedData","unselectPackage","selectOption","isInvalidOption","showConfigurations","hideConfigurations","handleCheckboxChange","target","selectedRegularOptions","hasSelectedExcludedOption","selectedExcludedOption","checkedOptions","go","eo","confirmPackageSelected","confirmPackageUnselected","handleOptionMouseOver","isCurrentPackagePreviewOption","isCurrentPackageExcludedOption","handleOptionMouseOut","handleQuantityChange","updateQuantityOption","triggerConfirmEvent","selectedOptionQuantities","handleCancelOptionsClick","optionGroup","listKey","boldClassName","selectedDropdownOption","handleGroupQuantityChange","handleDropdownChange","onMouseOver","onMouseOut","role","tabIndex","handleOptionLinkClicked","faInfoCircle","setConfigurationVariant","setVariantOptions","variantOptions","variantOption","hasInvalidOption","selectMultipleOptions","handleSubmitOptionsClick","TextBox","UnitAttributes","taggingId","onAttributeChange","UnitCapacity","unitCount","WarningBox","usePrevious","ref","current","ModelSelectionService","getEquipmentById","queryString","_ModelSelectionService","getEquipmentByIdAsync","setPath","items","parentPath","treeItem","path","simplifyTreeData","fixTreeData","toUpperCase","expanded","findEquipment","idToFind","EquipmentUnit","_props$selectedUnitIt2","_props$selectedUnitIt3","_props$selectedUnitIt4","_props$selectedUnitIt5","_props$selectedUnitIt6","_props$selectedUnitIt7","_props$selectedOption2","isMountedRef","unitSelections","setUnitSelections","setShowOptions","treeViewRef","prevProps","getTreeView","_treeViewRef$current","instance","handleItemSelected","equipment","equipmentUnit","refrigerantFluidId","optionIds","_equipmentDetails$war","interiorTemp","features","class0ID","class8ID","class9ID","awefCompliant","EquipmentUtils","itemSelected","_props$selectedOption","onEquipmentSelected","populateTreeView","currentSelectedUnitItem","clearSelectedItem","equipmentUnits","capacityMin","capacityMax","tdPlus","tdMinus","condenserCount","evaporatorCount","modelIdFilter","class9IdFilter","specialModels","getUrl","getParams","RequireAwef","EqType","Herz","Fluid","DivID","InTemp","TD","SucLoss","AmbTemp","ConTemp","Cap","CapMin","CapMax","TDPlus","TDMinus","NoCon","NoEvap","modid","c9id","spMods","responseText","matchingUnitItem","findMatchingEquipment","equipmentSelections","matchingEquipment","rootItem","pathIds","matchingNode","nodeId","nodeItem","matchingItem","treeView","expandItem","selectItem","_error$message2","isPrimary","isPrimaryReloaded","selectedUnitItem","equipmentUnitKey","TreeView","onItemClick","itemData","_props$selectedUnitIt","unselectAll","itemElement","focusStateEnabled","handleSelectOptionsClick","unitAttributes","fieldName","updatedAttributes","onAttributeChanged","onOptionsSelected","emptyUnitAttributes","EquipmentComponent","_props$formState$actu6","_props$formState$actu7","_props$formState$actu8","_props$formState$actu9","_props$formState$actu10","_props$formState$actu11","showCancelConfirmation","setShowCancelConfirmation","allowedSpecialModels","setAllowedSpecialModels","SpecialModels","condenserLabel","evaporatorLabel","isCondenserPrimary","cancelConfirmationMessage","onCancelEquipmentClick","showSccbutton","selectedCondenserUnit","selectedEvaporator","spModels","SpeicalModels","condenserQuantity","onInputChange","condenserUnitCount","isMatchedReloaded","evaporatorUnitCount","condenserModelIdFilter","condenserClass9IdFilter","selectedCondenserOptionList","selectedCondenserAttributes","onCondensorEquipmentSelected","onCondenserUnitOptionsSelected","onCondenserAttributeChanged","evaporatorQuantity","evaporatorModelIdFilter","evaporatorClass9IdFilter","selectedEvaporatorOptionList","selectedEvaporatorAttributes","onEvaporatorEquipmentSelected","onEvaporatorOptionsSelected","onEvaporatorAttributeChanged","onClearSelections","onShowSystemChargeButtonClick","onSubmitEquipmentClick","LoadCalculationService","getMiscLoad","boxAppId","inTemp","miscload","getMiscLoadItems","getInfiltrationLoad","openingInfilLoad","exTemp","exRH","inRH","getInfiltrationLoadItems","getProductLoad","prodLoad","getProductLoadItems","_LoadCalculationService","getTotalMiscLoadAsync","miscLoad","getTotalInfiltrationLoadAsync","openingsTotalInfiltrationLoad","exteriorHumidity","interiorHumidity","getTotalProductLoadAsync","getMiscLoadItemsAsync","getInfiltrationLoadItemsAsync","getProductLoadItemsAsync","fetchLoadsAsync","customTotalMiscLoad","customTotalInfiltrationLoad","customTotalProductLoad","totalMiscLoad","miscLoadItems","totalInfiltrationLoad","infiltrationLoadItems","productLoadItems","fetchCalculatedLoadsAsync","BoxType","BoxLocation","FloorType","SectionType","getProperty","obj","acc","part","isNumeric","enteredValue","getCustomValue","getFormField","getDefaultValue","undefinedFormField","Radians","atan2","NaN","SectionLocation","WallType","OpeningType","useApplicationConfigs","getBoxLocationConfig","_appData$BOX","_appData$BOX$External","_appData$BOX$External2","_appData$BOX2","_appData$BOX2$Externa","_appData$BOX2$Externa2","_appData$FLOOR_ON_GRA","_appData$FLOOR_ON_GRA2","_appData$FLOOR_ON_GRA3","_appData$FLOOR_ON_GRA4","_appData$FLOOR_ON_GRA5","_appData$FLOOR_ON_GRA6","_appData$FLOOR_ON_GRA7","_appData$FLOOR_ON_GRA8","_appData$FLOOR_ON_GRA9","_appData$FLOOR_ON_GRA10","_appData$FLOOR_ON_GRA11","_appData$FLOOR_ON_GRA12","_appData$FLOOR_ON_GRA13","_appData$FLOOR_ON_GRA14","_appData$FLOOR_ON_GRA15","_appData$FLOOR_ON_GRA16","_appData$FLOOR_ON_GRA17","_appData$FLOOR_ON_GRA18","_appData$BOX3","_appData$BOX3$Externa","_appData$BOX3$Externa2","_appData$BOX4","_appData$BOX4$Externa","_appData$BOX4$Externa2","_appData$FLOOR_ON_GRA19","_appData$FLOOR_ON_GRA20","_appData$FLOOR_ON_GRA21","_appData$FLOOR_ON_GRA22","_appData$FLOOR_ON_GRA23","_appData$FLOOR_ON_GRA24","_appData$FLOOR_ON_GRA25","_appData$FLOOR_ON_GRA26","_appData$FLOOR_ON_GRA27","_appData$FLOOR_ON_GRA28","_appData$FLOOR_ON_GRA29","_appData$FLOOR_ON_GRA30","_appData$FLOOR_ON_GRA31","_appData$FLOOR_ON_GRA32","_appData$FLOOR_ON_GRA33","_appData$FLOOR_ON_GRA34","_appData$FLOOR_ON_GRA35","_appData$FLOOR_ON_GRA36","_appData$FLOOR_ON_GRA37","_appData$FLOOR_ON_GRA38","_appData$FLOOR_ON_GRA39","_appData$BOX5","_appData$BOX5$Externa","_appData$BOX5$Externa2","_appData$BOX6","_appData$BOX6$Externa","_appData$BOX6$Externa2","_appData$FLOOR_ON_GRA40","_appData$FLOOR_ON_GRA41","_appData$FLOOR_ON_GRA42","_appData$FLOOR_ON_GRA43","_appData$FLOOR_ON_GRA44","_appData$FLOOR_ON_GRA45","_appData$FLOOR_ON_GRA46","_appData$FLOOR_ON_GRA47","_appData$FLOOR_ON_GRA48","_appData$FLOOR_ON_GRA49","_appData$FLOOR_ON_GRA50","_appData$FLOOR_ON_GRA51","_appData$FLOOR_ON_GRA52","_appData$FLOOR_ON_GRA53","_appData$FLOOR_ON_GRA54","_appData$FLOOR_ON_GRA55","_appData$FLOOR_ON_GRA56","_appData$FLOOR_ON_GRA57","_appData$FLOOR_ON_GRA58","_appData$FLOOR_ON_GRA59","_appData$FLOOR_ON_GRA60","_boxLocations$find","boxLocations","Indoors","defaultExternalHumidity","ExternalRH","Indoors_Default","defaultExternalTemperature","ExternalTemp","tmTemperature","taTemperature","FLOOR_ON_GRADE","Indoor_Ta","angularFrequency","Angular_Frequency","soilConductivity","Soil_Conductivity","thermalDiffusivity","Thermal_Diffusivity","insulationFactorM","Insulation_Factor_M","insulationFactorA","Insulation_Factor_A","OutdoorsWarm","Default","Warm_Tm","Warm_Ta","OutdoorsCold","Cold_Tm","Cold_Ta","getSectionBoxLocationConfig","selectedSectionLocation","Outdoors","getSectionTypes","_appData$BOX7","_appData$BOX7$AirFilm","_appData$BOX8","_appData$BOX8$Outdoor","_appData$BOX9","_appData$BOX9$AirFilm","_appData$BOX10","_appData$BOX10$Outdoo","_appData$BOX11","_appData$BOX11$AirFil","_appData$BOX12","_appData$BOX12$Outdoo","_appData$BOX13","_appData$BOX13$AirFil","_appData$BOX14","_appData$BOX14$Outdoo","Undefined","defaultSectionName","defaultMaterialId","defaultThickness","outdoorRValueAdjustment","outdoorTemperatureAdjustment","WallCustom","wallMaterialId","wallMaterialThickness","AirFilm_R_Exterior_OutdoorAdjusment","OutdoorWallTemp_Add","WallPolygon","FloorCustom","FloorPolygon","CeilingCustom","ceilingMaterialId","ceilingMaterialThickness","OutdoorCeilingTemp_Add","CeilingPolygon","Various","getSectionTypeConfig","_sectionTypes$find","sectionTypes","getBoxTypeConfig","_boxTypes$find","boxTypes","sectionsConfig","Rectangular","wallType","Rear","radians","Right","RightEnd","Down","Front","Left","LeftEnd","Up","None","LShape","LeftCut","FrontCut","UShape","FrontInsetCut","LeftInSetCut","Custom","FloorPlanner","getFloorTypeConfig","_appData$BOX$FloorHea","_appData$BOX15","_appData$BOX15$FloorH","_floorTypes$find","floorTypes","defaultExteriorTemperature","OnGrade","onGradeFloorMaterialId","onGradeFloorMaterialThickness","OnGradeHeated","FloorHeatingTemperature","AboveGrade","aboveGradeFloorMaterialId","aboveGradeFloorMaterialThickness","getSectionFloorTypeConfig","selectedSectionFloorType","boxFloorType","BoxSetting","getOpeningTypes","_appData$OPENING","_appData$OPENING$ManD","_appData$OPENING$ManD2","_appData$OPENING2","_appData$OPENING2$Man","_appData$OPENING2$Man2","_appData$INFILTRATION","_appData$INFILTRATION2","_appData$INFILTRATION3","_appData$INFILTRATION4","_appData$INFILTRATION5","_appData$INFILTRATION6","_appData$INFILTRATION7","_appData$INFILTRATION8","_appData$INFILTRATION9","_appData$OPENING3","_appData$OPENING3$R_V","_appData$OPENING3$R_V2","_appData$OPENING4","_appData$OPENING4$R_V","_appData$OPENING4$R_V2","_appData$INFILTRATION10","_appData$INFILTRATION11","_appData$OPENING5","_appData$OPENING5$Flo","_appData$OPENING6","_appData$OPENING6$Gla","_appData$OPENING6$Gla2","_appData$OPENING7","_appData$OPENING7$Gla","_appData$OPENING7$Gla2","_appData$OPENING$R_Va","_appData$OPENING8","_appData$OPENING8$R_V","_appData$OPENING8$R_V2","_appData$OPENING$R_Va2","_appData$OPENING9","_appData$OPENING9$R_V","_appData$OPENING9$R_V2","_appData$INFILTRATION12","_appData$INFILTRATION13","_appData$OPENING10","_appData$OPENING10$Fl","_appData$OPENING11","_appData$OPENING11$Do","_appData$OPENING11$Do2","_appData$OPENING12","_appData$OPENING12$Do","_appData$OPENING12$Do2","_appData$OPENING13","_appData$OPENING13$R_","_appData$OPENING13$R_2","_appData$OPENING14","_appData$OPENING14$R_","_appData$OPENING14$R_2","_appData$INFILTRATION14","_appData$INFILTRATION15","_appData$OPENING15","_appData$OPENING15$Do","_appData$OPENING15$Do2","_appData$OPENING16","_appData$OPENING16$Fl","_appData$OPENING17","_appData$OPENING17$Do","_appData$OPENING17$Do2","_appData$OPENING18","_appData$OPENING18$Do","_appData$OPENING18$Do2","_appData$INFILTRATION16","_appData$INFILTRATION17","_appData$INFILTRATION18","_appData$INFILTRATION19","_appData$INFILTRATION20","_appData$INFILTRATION21","_appData$INFILTRATION22","_appData$INFILTRATION23","_appData$INFILTRATION24","_appData$OPENING19","_appData$OPENING19$R_","_appData$OPENING19$R_2","_appData$OPENING20","_appData$OPENING20$R_","_appData$OPENING20$R_2","_appData$INFILTRATION25","_appData$INFILTRATION26","_appData$OPENING21","_appData$OPENING21$Fl","_appData$OPENING22","_appData$OPENING22$R_","_appData$OPENING22$R_2","_appData$OPENING23","_appData$OPENING23$R_","_appData$OPENING23$R_2","_appData$INFILTRATION27","_appData$INFILTRATION28","_appData$OPENING24","_appData$OPENING24$Fl","_appData$OPENING25","_appData$OPENING25$R_","_appData$OPENING25$R_2","_appData$OPENING26","_appData$OPENING26$R_","_appData$OPENING26$R_2","_appData$INFILTRATION29","_appData$INFILTRATION30","_appData$OPENING27","_appData$OPENING27$Fl","_appData$OPENING28","_appData$OPENING28$R_","_appData$OPENING28$R_2","_appData$OPENING29","_appData$OPENING29$R_","_appData$OPENING29$R_2","_appData$INFILTRATION31","_appData$INFILTRATION32","_appData$OPENING30","_appData$OPENING30$Fl","_appData$OPENING31","_appData$OPENING31$R_","_appData$OPENING31$R_2","_appData$OPENING32","_appData$OPENING32$R_","_appData$OPENING32$R_2","_appData$INFILTRATION33","_appData$INFILTRATION34","_appData$OPENING33","_appData$OPENING33$Fl","hasQuantityField","hasDescriptionField","hasDimensionFields","hasExteriorTemperatureField","hasStripCurtainsField","hasDoorUsageFields","hasRValueEffectiveField","hasConductionLoadField","hasInfiltratingAirRhField","hasInfiltrationLoadField","defaultWidth","defaultHeight","defaultPassagesPerDay","defaultAveragePassageTime","defaultStandOpenTimePerDay","defaultRValueEffective","defaultInfiltrationLoad","infiltrationEnthalpy","dockDoorGap","flowFactor","opens","closes","Door","OPENING","ManDoor","Width_Default","Height_Default","INFILTRATION","PassagesPerDay_Default","PassageTime_Default","StandOpenTime_Default","isBoxFreezer","R_Value","Freezer_Default","Cooler_Default","Enthalpy_Constant","Flow_Factor","GlassDoor","Glass_Freezer_Default","Glass_Cooler_Default","infiltGlassDoorLoad","TrailerDockingDoor","DockDoor","Gap_Default","LoadingPlatformDoor","PermanentOpening","Window","Panel","ExcludedArea","getOpeningTypeConfig","_openingTypes$find","openingTypes","getBoundaryConstructionLayers","_appData$BOX$AirFilm_","_appData$BOX16","_appData$BOX16$AirFil","_appData$BOX$AirFilm_2","_appData$BOX17","_appData$BOX17$AirFil","materialId","rValuePerInch","rValueEffective","parseFloat","AirFilm_R_Interior","isBoundaryInteriorLayer","isBoundaryExteriorLayer","isSectional","sectionCentreDistance","sectionMaterialId","sectionMaterialName","sectionWidth","sectionKFactor","sectionRValuePerInch","AirFilm_R_Exterior","calculateKFactor","calculateRValuePerInch","calculateConstructionThickness","layers","sum","calculateConstructionRValue","calculateConstructionKFactor","getThickness","enteredThickness","stdThickness","getKFactor","enteredKFactor","enteredRValuePerInch","enteredRValueEffective","calculatedKFactor","ConstructionLayer","getRValuePerInch","calculatedRValuerPerInch","defaultKFactor","getRValueEffective","sectionMaterial","defaultRValuePerInch","defaultSectionKFactor","defaultSectionRValuePerInch","calculateRValueEffective","f1","f2","getSectionCentreDistance","enteredSectionCentreDistance","getSectionWidth","enteredSectionWidth","_sectionMaterial$stdW","stdWidth","getSectionKFactor","enteredSectionKFactor","enteredSectionRValuePerInch","getSectionRValuePerInch","BoxMaterialsContext","boxMaterials","isMaterialListLoaded","updateBoxMaterials","materials","useBoxMaterialsContext","getBoxMaterialName","selectedMaterial","isConstruct","example","getBoxMaterial","locked","showAsSectionType","showAsBuildingMaterial","layerMaterials","constructionFromStorage","_constructionFromStor","initialValues","initialFormState","calculatedLayers","lm","ConstructionLayerFields","ConstructionLayerCalculations","getMaterialConstruction","isMaterialLocked","_boxMaterials$find$lo","_boxMaterials$find","isMaterialConstruct","_boxMaterials$find$is","_boxMaterials$find2","isMaterialThicknessStandard","_boxMaterials$find3","Material","calculateArea","calculateTotalArea","calculateOpeningsTotalArea","openings","_o$totalArea","totalArea","calculateDoorOpenTimeRatio","standOpenTimePerDay","averagePassageTime","pt","calculateDoorOpenTimeHours","calculateConductionLoad","curtainValue","doorOpenTimeRatio","rc","qClose","qOpen","calculateTotalConductionLoad","calculateOpeningsTotalConductionLoad","_o$totalConductionLoa","totalConductionLoad","calculateInfiltrationLoad","infiltratingAirRh","exteriorTemperatureAirProperty","boxInteriorTemperatureAirProperty","boxInteriorRh","_openingType$flowFact","enthalpy","leakageCurtain","airTemp","faRecordHa","faRecordWs","faRecordHas","fbRecordHa","fbRecordWs","fbRecordHas","enthalpyI","densityI","enthalpyR","densityR","fm","e","iArea","_calculateTrailerArea","areaTrailer","calculateTrailerArea","gap","calculateTotalInfiltrationLoad","useOpeningDetailsForm","stripCurtainId","curtainRValue","validateOpening","opening","dimension1","dimension2","errors","getDefaultOpening","openingTypeId","sectionExteriorTemperature","sectionExteriorHumidity","sectionDimension1","sectionDimension2","boxInteriorHumidity","OpeningCalculations","curtain","exteriorTempAirProperty","interiorTempAirProperty","defaultOpening","recalculateOpening","formInput","getOpeningTypeId","selectedOpeningTypeId","_state$actualValues$o","OpeningForm","quantityField","getQuantity","enteredQuantity","descriptionField","getDescription","defaultDescription","widthField","getWidth","enteredWidth","heightField","getHeight","enteredHeight","areaField","getArea","enteredArea","Opening","exteriorTemperatureField","getExteriorTemperature","enteredExteriorTemperature","curtainId","getStripCurtainId","selectedCurtainId","_state$actualValues$s","curtainEffectivenessField","getCurtainEffectiveness","curtainRValueField","getCurtainRValue","enteredCurtainRValue","passagesPerDayField","getPassagesPerDay","enteredPassagesPerDay","averagePassageTimeField","getAveragePassageTime","enteredAveragePassageTime","standOpenTimePerDayField","getStandOpenTimePerDay","enteredStandOpenTimePerDay","rValueEffectiveField","conductionLoadField","getConductionLoad","enteredConductionLoad","infiltratingAirRhField","getInfiltratingAirRh","enteredInfiltratingAirRh","infiltrationLoadField","enteredInfiltrationLoad","setInitialState","openingToEdit","resetFormForEdit","calculateCustomSectionArea","customRValuePerInch","customRValueEffective","calculateDefaultRValuePerInch","customKFactor","calculateExteriorTemperature","floorTemperature","temperatureAdjustment","floorPerimeter","totalOpeningsArea","sectionArea","floorLoad","calculateFloorLoad","perimeter","tmTempCelcius","taTempCelcius","interiorTempCelcius","areaSqM","perimeterM","req","uo","d","sqrt","loadWatts","heat","tdHeat","calculateCustomSectionDimension1","calculateCustomSectionDimension2","heigth","calculatePolygonSectionDimension1","boxType","boxLength","boxLength2","boxLength3","boxDepth","boxDepth2","boxDepth3","calculatePolygonSectionDimension2","boxHeight","calculateBoxPerimeter","_calculatePolygonSect","calculatePolygonSectionArea","box1Area","box2Area","box3Area","calculateSectionAreaWithoutOpenings","calculateConductionLoadWithoutOpenings","totalOpeningsLoad","getDefaultMaterialId","getDefaultMaterialName","getDefaultThickness","useBoxSectionForm","validateSection","sectionName","replace","Other","ZoneBoundary","totalDoorLength","_o$quantity","_o$width","_o$quantity2","_o$width2","calculateTotalDoorLength","getDefaultSectionName","getDefaultSection","boxTypeId","sectionTypeId","isCustomSection","boxExteriorHumidity","BoxSectionCalculations","actualMaterialId","BoxSectionForm","areaWithoutOpenings","conductionLoadWithoutOpenings","defaultSection","sectionLocation","isModified","recalculateSection","_formInput$materialId","_rValueEffectiveField","_widthField","_lengthField","_heightField","_depthField","_materialNameField$de","_materialNameField","_thicknessField2","_kFactorField","_rValuePerInchField2","_rValueEffectiveField2","_widthField2","_lengthField2","_heightField2","_depthField2","_materialNameField$ac","_materialNameField2","_thicknessField3","_kFactorField2","_rValuePerInchField3","_rValueEffectiveField3","getSectionTypeId","selectedSectionTypeId","sectionNameField","getSectionName","enteredName","sectionLocationId","getSectionLocation","_state$actualValues$s2","sectionFloorTypeId","getFloorType","selectedFloorType","_state$actualValues$f","lengthField","depthField","perimeterField","getLength","enteredLength","getDepth","enteredDepth","getCustomSectionArea","BoxSection","getSectionPerimeter","enteredPerimeter","calculatedArea","calculatedPerimeter","selectedMaterialId","getMaterialId","materialNameField","thicknessField","kFactorField","rValuePerInchField","_rValuePerInchField","_thicknessField","getMaterialName","isKFactorEntered","isRValuePerInchEntered","rValuePerInchValue","exteriorHumidityField","getExteriorHumidity","enteredExteriorHumidity","openingFormState","enteredLoad","isAddMode","sectionToEdit","isPolygonSection","resetForm","getPolygonSections","boxSections","formTitle","visibleSectionTypes","getMaterialsLookup","materialsLookup","calculateTotalHourlyLoad","calculateTotalLoadRequired","calculateCapacityRequired","calculateLoadPercentage","useSystemState","_StorageFacade$loadCa","emptySystem","isEditing","systemDescription","boxApplicationName","uid","modalState","equipmentOnly","selectedCondenserClass9Id","selectedCondenserCapacityPerUnit","selectedEvaporatorClass9Id","selectedEvaporatorCapacityPerUnit","emptySystemState","store","validateBox","_boxData$boxTempMin","_boxData$boxTempMax","_appData$BOX$External4","_boxData$boxRHMin","_boxData$boxRHMax","_system$wallLoad$boxS","boxTempMin","boxTempMax","Min","_appData$BOX$External3","Max","_appData$BOX$External5","boxRHMin","_boxData$boxRHMin2","boxRHMax","_boxData$boxRHMax2","hasSectionErrors","openingsCount","_s$openings$length","_s$openings","validateEquipment","_boxData$evapTdMin","_boxData$evapTdMax","evapTdMin","evapTdMax","validateLoadCalc","equipmentErrors","getDefaultStoreSections","systemActualValues","storeSections","recalculateSystem","boxApplicationData","_state$store$systemNa","_state$store$systemDe","_state$store$floorTyp","_boxDefaultSystem$flo","_state$store$boxType","_boxDefaultSystem$box","_state$store$interior","_state$store$interior2","_state$store$boxLengt","_state$store$boxLengt2","_state$store$boxLengt3","_state$store$boxDepth","_state$store$boxDepth2","_state$store$boxDepth3","_state$store$boxHeigh","_state$store$safetyFa","_state$store$boxLocat","_boxDefaultSystem$box2","_appData$SYSTEM2","_state$store$runTimeH","_boxLocation$defaultE","_boxLocation$defaultE2","_state$store$exterior","_state$store$exterior2","_state$store$totalWal","_state$store$wallLoad","_state$store$wallLoad2","_state$store$totalMis","_state$store$totalInf","_state$store$totalPro","_state$store$totalHou","_state$store$totalLoa","_state$store$capacity","_state$store$equipmen","_state$store$equipmen2","_state$store$equipmen3","_state$store$equipmen4","_state$store$equipmen5","_state$store$equipmen6","_state$store$equipmen7","_state$store$equipmen8","_state$store$equipmen9","_state$store$equipmen10","_state$store$equipmen11","_state$store$equipmen12","_state$store$equipmen13","boxDefaultSystem","_appData$SYSTEM","_appData$SYSTEM$Safet","_appData$SYSTEM$Safet2","_appData$EQUIPMENT","_appData$EQUIPMENT$Co","_appData$EQUIPMENT2","_appData$EQUIPMENT2$C","_appData$EQUIPMENT3","_appData$EQUIPMENT3$R","_appData$EQUIPMENT4","_appData$EQUIPMENT4$D","_appData$EQUIPMENT5","_appData$EQUIPMENT5$L","_appData$EQUIPMENT5$L2","_appData$EQUIPMENT6","_appData$EQUIPMENT6$T","_appData$EQUIPMENT6$T2","_appData$EQUIPMENT7","_appData$EQUIPMENT7$T","_appData$EQUIPMENT7$T2","boxLocationId","frostHeave","_appData$BOX5$Freezer","SYSTEM","SafetyFactor","EQUIPMENT","CondensorAmbient","CondensingTemperature","RefrigerantID_Default","DefaultLineFrequency","LineLoss","TDE","Over","Under","getBoxDefaultSystem","calculatedRunTimeHours","calculateRunTimeHours","runTimeAppData","_runTimeAppData$h","h3","_runTimeAppData$Temp","_runTimeAppData$Temp2","_runTimeAppData$h2","Temp1","h1","Temp2","_runTimeAppData$h3","h2","LoadCalculations","RunTime","defaultExteriorHumidity","getBoxSections","storeSection","recalculatedSection","constructions","getConstructions","firstMaterialId","sort","lastMaterialId","calculatedTotalWallLoad","sectionsWallLoad","calculatedFloorArea","sectionsFloorArea","calculatedVolume","calculateVolume","hasCustomSection","calculatedTotalHourlyLoad","calculatedTotalLoadRequired","calculatedCapacityRequired","defaultCapacityRequired","recalculateLoads","calculatedTotalMiscLoad","calculatedTotalInfiltrationLoad","calculatedTotalProductLoad","_state$store$totalMis2","_state$store$totalInf2","_state$store$totalPro2","_state$store$totalHou2","_state$store$totalLoa2","_state$store$capacity2","getSystemValues","systemStore","validateWallLoad","boxErrors","validateEquipmentSelector","equipmentFiltersErrors","validateEquipmentFilters","recalculateTotalLoads","_StorageFacade$loadCa2","changeValue","isEquipmentField","customizeMeasureProperty","_systemStore$wallLoad","customValue","TotalProductLoad","TotalMiscLoad","TotalInfiltrationLoad","customizeWallLoadMeasureProperty","_systemStore$wallLoad2","resetBoxType","clearEquipmentSelections","clearedEquipmentSelection","setSelectedCondenser","_equipment$class9ID","modelId","equipmentSelectedCondenser","setSelectedEvaporator","_equipment$class9ID2","equipmentSelectedEvaporator","setEquipmentBalance","equipmentBalance","addSection","_state$store$wallLoad3","_getDefaultStoreSecti","updateSection","_state$store$wallLoad4","_getDefaultStoreSecti2","slice","_state$store$wallLoad5","_getDefaultStoreSecti3","deleteSection","_state$store$wallLoad6","_getDefaultStoreSecti4","currentSection","currentIndex","updateSectionOpenings","_state$store$wallLoad7","_getDefaultStoreSecti5","Equipment","showConfirmation","setShowConfirmation","emptySubmitConfirmationMessage","submitChanges","validateField","_errors$find$text2","_errors$find2","fieldError","showErrors","currentFieldError","newList","currentList","_errors$find$text","_errors$find","errorText","n","calculateSystemBalance","_currentSystem$equipm","_currentSystem$equipm2","currentSystem","ConC9Id","EvapC9Id","ConOps","EvapOps","balanced","sst","_systemState$formStat","loads","getLoads","action","href","handleMeasurementChange","validateSystemField","validateEquipmentField","handleCondensorEquipmentSelected","handleEvaporatorEquipmentSelected","attributes","onToggleModal","handleClearSelections","handleShowSystemChargeButtonClick","_systemState$formStat2","_refrigerants$find","_systemState$formStat4","_systemState$formStat5","_systemState$formStat6","_systemState$formStat7","_systemState$formStat8","_systemState$formStat3","querystring","screen","onPrintPreviewClick","handlePrintPreviewClick","handleSubmitClick","handleCancelClick","errorMessageDisplayStyle","display","position","top","right","zIndex","ErrorNotification","Layout","_StorageFacade$brand","_document$title","divisionName","measurementUnit","document","Container","Date","getFullYear","BoxShapesModal","showShapes","setShowShapes","handleShapeButtonClick","selectedBoxType","onSelect","ChangeBoxApplication","handleSubmitChangeApplication","FloorTypesModal","setShow","setSelected","floorTypeName","isFreezer","showBoxSetting","boxSetting","handleOkClick","content","activator","FloorTypesButton","_props$showBoxSetting","faAngleDown","Grid","selectedRowIndex","setSelectedRowIndex","selectedRow","k","rows","heightStyle","header","hIndex","hKey","row","_row$errors","rowIndex","rowClassName","onRowClick","handleRowClick","onRowDoubleClick","handleRowDoubleClick","color","getLoadPercentageButtonLabel","buttonLabel","totalLoad","percentage","LoadCalculatorComponent","onCancelButtonClick","onChangeBoxApplicationButtonClick","onFloorTypeChange","onBoxLocationChange","onWallLoadButtonClick","onCoolingLoadButtonClick","Link","equipmentGridView","condenserUnit","evaporatorUnit","onPrintPreviewButtonClick","onSaveButtonClick","LoadCalculator","showChangeBoxApplicationModal","setShowChangeBoxApplicationModal","showWallLoad","handleBoxApplicationChange","handleInputChange","handleBoxLocationChange","handleFloorTypeChange","handleBoxTypeSelect","handleChangeBoxApplicationButtonClick","handleWallLoadButtonClick","handleCoolingLoadButtonClick","redirectPath","handleSaveButtonClick","handlePrintPreviewButtonClick","handleCancelButtonClick","getLocationDescription","table","border","LoadInfoEquipmentSummary","_props$system$systemN","_props$myInfo","_props$myInfo2","_props$myInfo3","_props$myInfo4","_props$myInfo5","_props$myInfo6","_props$myInfo$City","_props$myInfo$Region","_props$myInfo7","_props$myInfo8","_props$myInfo$Postal","_props$myInfo$Country","_props$myInfo9","_props$myInfo10","_props$myInfo11","_props$customerInfo","_props$customerInfo2","_props$customerInfo3","_props$customerInfo4","_props$customerInfo5","_props$customerInfo6","_props$customerInfo$C","_props$customerInfo$R","_props$customerInfo7","_props$customerInfo8","_props$customerInfo$P","_props$customerInfo$C2","_props$customerInfo9","_props$customerInfo10","_props$customerInfo11","_UnitOfMeasure$getRat","_UnitOfMeasure$getRat2","_UnitOfMeasure$getRat3","_UnitOfMeasure$getRat4","_sectionsGridView","_props$system$infiltr","_props$system$infiltr2","_props$system$wallLoa","_props$system$product","_props$system$miscLoa","_props$system$miscLoa2","_props$system$miscLoa3","_props$system$miscLoa4","_props$system$miscLoa5","_props$system$miscLoa6","_props$system$miscLoa7","_props$system$miscLoa8","_props$system$miscLoa9","_props$system$miscLoa10","_props$system$miscLoa11","_props$system$miscLoa12","_props$system$miscLoa13","_props$system$miscLoa14","_props$system$miscLoa15","_props$system$miscLoa16","_props$system$miscLoa17","_props$system$miscLoa18","_props$system$miscLoa19","_props$system$miscLoa20","_props$system$miscLoa21","_props$system$miscLoa22","_props$system$miscLoa23","_props$system$miscLoa24","_props$system$miscLoa25","_props$system$miscLoa26","_props$system$miscLoa27","_props$system$miscLoa28","_props$system$miscLoa29","_props$system$miscLoa30","_props$system$miscLoa31","_props$system$miscLoa32","_props$system$miscLoa33","_props$system$miscLoa34","_props$system$miscLoa35","_props$system$miscLoa36","_props$system$miscLoa37","_props$system$miscLoa38","_props$system$miscLoa39","_props$system$miscLoa40","getPowerUnit","unitId","getInfiltrationLoadCalcMethod","_infiltrationLoad$cal","calcMethod","doorAndOpeningLoad","volumeUsageInfiltration","ventilationInfiltration","getInfiltrationLoadCalcMethodLabel","calcMethodLabel","getInfiltrationLoadEstimated","sectionId","textAlign","fontWeight","marginTop","lineHeight","Contact","Company","Address1","Address2","City","Region","Postal","Country","Phone","Fax","eMail","colSpan","whiteSpace","sectionsList","previousValue","_section$openings","quantityLabel","openingRow","getBoxUsage","_section$openings2","skey","j","_calculateDoorOpenTim","okey","enteringTemp","runtime","evaporatorMotorsLoad","activityId","getPersonnelActivityLabel","personnelActivity","forkLiftLoad","otherLoads","otherLoad","_otherLoad$powerUnit","powerUnit","_props$system$equipme","strings","CertifiedPrintService","getCertifiedPrintValues","equipmentState","get_CertifiedPrintValues","_equipment$requiredOp","_equipment$requiredOp2","x","ModelInfo","_props$quoteFormInput","_props$quoteFormInput2","_props$quoteFormInput3","_props$selectedUnitAt","_props$quoteFormInput4","_props$selectedUnitAt2","_props$selectedUnitAt3","cp","setCP","lblLiquid","setLblLquid","setAvailableOptions","approvalImages","setApprovalImages","numberOfImgRows","setNumberOfImgRows","imgRows","setImgRows","certifiedPrintValues","equipmentInfo","class0Id","numOfRows","ceil","_imgRows","verticalAlign","loadApprovalImg","Approvals","isPrintSingleEquipment","isCondensingUnit","borderRight","borderLeft","quoteFormInput","Purchaser","myName","Project","toLocaleDateString","itemNumber","QuoteNumber","selectedUnitAttributes","PO","borderBottom","borderTop","paddingLeft","listStyleType","featureDescription","rowSpan","ModelOptions","paddingBottom","ModelDrawing","_props$selectedUnitIt15","_props$selectedUnitIt16","_props$selectedUnitIt17","_translations$dimensi","_translations$dimensi2","_translations$cONNECT","_translations$refrige","_props$selectedUnitIt18","_props$selectedUnitIt19","_props$selectedUnitIt20","_props$selectedUnitIt21","_props$selectedUnitIt22","_props$selectedUnitIt23","_props$selectedUnitIt24","_props$selectedUnitIt25","_props$selectedUnitIt26","_props$selectedUnitIt27","_props$selectedUnitIt28","_props$selectedUnitIt29","_props$selectedUnitIt30","_props$selectedUnitIt31","_props$selectedUnitIt32","_props$selectedUnitIt33","lblHeaterCompressor","setLblHeaterCompressor","lblAirFlowRating","setLblAirFlowRating","lblAirFlowRatingUnit","setLblAirFlowRatingUnit","lblLRA","setLblLRA","lblRLAAmps","setLblRLAAmps","lblRefs","setLblRefs","circuitRows","setCircuitRows","getDimensionFraction","getWeightLabel","getLblLRA","getTemp1Value","_equipmentInfo$interi","_equipmentInfo$design","_equipmentInfo$suctio","_equipmentInfo$interi2","_equipmentInfo$design2","_equipmentInfo$conden","getTemp2Value","_equipmentInfo$conden2","_equipmentInfo$interi3","_equipmentInfo$conden3","selectedRefrigerant","_props$equipmentInfo$","refs","RefrigerantName","_props$selectedUnitIt8","_props$selectedUnitIt9","_props$selectedUnitIt10","_props$selectedUnitIt11","_props$selectedUnitIt12","_props$selectedUnitIt13","_props$selectedUnitIt14","getLblHeaterCompressor","getLblAirFlowRating","getLblAirFlowRatingUnit","getLblAMPSRla","_lblLRA","circuits","VoltageInfo","cur","va","Circuit_No","Fan_Count","Fan_Power","Fan_Units","Fan_FLA","Circuit_Type","Circuit_Count","RLA","LRA","FLA","KW","MCA","MOP","Drawing_File","Dim_A","Dim_E","Con_Liquid","Con_PanLoop","Ship_Weight","Dim_B","Dim_F","Con_Suction","Con_HGSide","Charge","Dim_C","Dim_G","Con_Drain","HGInlet","Receiver_Capacity","Dim_D","Dim_H","Con_Water","HGOutlet","Con_Discharge","isForACCD","getTemp2Label","capacityHasError","Noise","ratingNoise","PrintReport","_StorageFacade$custom","_StorageFacade$custom2","_StorageFacade$myInfo","_StorageFacade$myInfo2","_StorageFacade$CPMFor","_StorageFacade$CPMFor2","_StorageFacade$custom3","_StorageFacade$custom4","_StorageFacade$myInfo3","_StorageFacade$myInfo4","_StorageFacade$custom5","_StorageFacade$custom6","_StorageFacade$myInfo5","_StorageFacade$myInfo6","_StorageFacade$CPMFor3","_StorageFacade$CPMFor4","_StorageFacade$custom7","_StorageFacade$custom8","_StorageFacade$myInfo7","_StorageFacade$myInfo8","_StorageFacade$CPMFor5","_StorageFacade$CPMFor6","_StorageFacade$custom9","_StorageFacade$custom10","_StorageFacade$myInfo9","_StorageFacade$myInfo10","_StorageFacade$custom11","_StorageFacade$custom12","_StorageFacade$myInfo11","_StorageFacade$myInfo12","_StorageFacade$CPMFor7","_StorageFacade$CPMFor8","exportingPageNumber","setExportingPageNumber","totalPageNumber","setTotalPageNumber","setIsFromLegacy","condensingUnitModelDrawingClassName","ItemNumber","SystemsLoadSummary","projectSystems","_system$systemName","useProjectSystems","setCurrentSystem","tempProjectSystems","setTempProjectSystems","setProjectSystems","baseBoxMaterials","setBaseBoxMaterials","getProjectSystemByIndex","_StorageFacade$projec","storeSystems","Systems","_system$wallLoad","systemBoxId","_StorageFacade$projec2","loadCurrentProjectSystem","projectSystem","_storeSystem$boxAppli","_appData$EQUIPMENT2$L","_appData$EQUIPMENT2$L2","_storeSystem$equipmen","_storeSystem$equipmen6","_systemValues$boxAppl","storeSystem","defaultCondensingUnitAmbientTemperature","defaultSuctionLineLoss","defaultDesignTd","_storeSystem$equipmen2","_storeSystem$equipmen3","_storeSystem$equipmen4","_storeSystem$equipmen5","_storeSystem$equipmen7","_storeSystem$equipmen8","_storeSystem$equipmen9","_storeSystem$equipmen10","_equipmentDetails$war2","systemValues","getProjectSystem","PrintMultipleReport","prints","setPrints","systemCount","projectPrints","evapUnitModelDrawingClassName","PrintSingleReport","equipmentToPrint","cpmFormInput","cpmQuoteFormInput","capacityError","RefrigerantId","BoxTemperature","EvaporatorTemperature","SuctionLineLoss","AmbientTemperature","ACCDCondensor","condensor","filters","MaxFeeds","circuitsDiagram","initializeCanvas","canvasId","getElementById","cirString","FansWide","StartFeed","EndFeed","Guid","IsSelected","circuitStrings","connection","shouldSplit","shouldConnectionSplitIntoTwoCircuits","getCircuitsString","addCircuits","resizeCanvas","attachToWindowResizeEvent","PartNumber","ModelType","AmbientTemp","Altitude","AltitudeFactor","borderWidth","FansLong","SiteVoltage","ratingDisplay","getRatingPerTdDisplay","CapacityPerDegreeTD","Motor","Spares","thrPerTd","THR","ATD","thrDisplay","thrPerTdDisplay","ID","Description","SST","SCT","CapacityRequired","DesignTD","ACT","PrintCondenserReport","Spinner","FormErrorNotification","setErrorMessages","_props$errorMessages","useConstructionLayerForm","validateLayer","recalculateConstruction","_state$actualValues$m","_formInput$isSectiona","_formInput$sectionMat","sectionCentreDistanceField","sectionWidthField","sectionKFactorField","sectionRValuePerInchField","constructionLayerToEdit","useConstructionLayerReducer","constructionLayerForm","useReducer","reducer","formValues","ConstructionLayerModal","_props$layerToEdit$er","layerToEdit","layerName","isThicknessFixed","materialsOptions","ConstructionLayersGrid","showConstructionLayerPopup","setShowConstructionLayerPopup","setConstructionLayers","setSelectedRow","setLayerToEdit","allowDeleteLayer","allowMoveUpLayer","allowMoveDownLayer","onGridUpdated","openEditLayerPopup","selectedLayer","moveLayer","newIndex","layersGridView","gridData","handleAddButtonClick","handleDeleteButtonClick","handleMoveUpButtonClick","newPosition","handleMoveDownButtonClick","handleEditButtonClick","handleConstructionLayerOkClick","isNew","newLayer","addLayer","updatedLayer","updateLayer","ConstructionModal","_construction$layerMa","initialConstruction","constructionState","constructionToEdit","setConstruction","useBoxSectionReducer","boxSectionForm","updatedFormState","isWall","isFloor","isCeiling","BoxSectionModal","_formState$actualValu","_formState$actualValu2","_formState$actualValu3","_formState$actualValu4","_formState$actualValu5","showConstruction","setShowConstruction","setConstructionToEdit","depth2","depth3","length2","length3","_props$sectionToEdit$","getActualMaterialId","NewComposite","handleEditConstructionButtonClick","openEditConstructionPopup","selectedConstruction","_formState$defaultVal","sectionCustomValues","handleConstructionOkClick","isNewConstruction","constructionId","hasConstruction","newConstruction","useOpeningDetailsReducer","openingDetailsForm","OpeningDetailsModal","_props$openingToEdit$","openingTypesLookup","selectedOpeningType","curtainsLookup","showCurtainEffectivenessField","showCurtainRValueField","openingCustomValues","OpeningsGrid","showConfirmationMessage","setShowConfirmationMessage","showOpeningDetailsPopup","setShowOpeningDetailsPopup","setOpenings","setOpeningToEdit","openEditOpeningPopup","selectedOpening","deleteConfirmationMessage","deleteOpening","openingsList","openingsGridView","actualOpening","isRowSelected","handleOpeningDetailsOkClick","newOpening","addOpening","updatedOpening","updateOpening","OpeningsModal","_props$section$openin","_props$section","_props$section$sectio","_props$section3","sectionOpenings","setSectionOpenings","_props$section$openin2","_props$section2","getSelectedSectionIndex","sectionList","associatedSectionIndex","sIndex","getSelectedSection","isSectionSelected","isCustomSectionSelected","_getSelectedSection","_getSelectedSection2","_getSelectedSection3","isWallSectionSelected","_getSelectedSection$s","_getSelectedSection4","BoxSectionsGrid","_getSelectedSection5","setSectionToEdit","showSection","setShowSection","showOpenings","setShowOpenings","openEditSectionPopup","selectedSection","openAddOpeningsPopup","openingsModalProps","sectionIndex","sectionRow","onSectionSelect","isOpeningSelected","isOpening","_s$openings2","handleCopyButtonClick","totalRows","_s$openings$length2","_s$openings4","handleAddOpeningsButtonClick","handleBoxSectionOkClick","newSection","_s$openings3","updatedSection","RectangularBox","LShapeBox","UShapeBox","WallLoad","setSelectedSection","validateWallLoadField","handleWallLoadMeasurementChange","showDimensions1","showDimensions2","showDimensions3","showHeight","lengthLabel","depthLabel","handleSectionSelected","updatedSelectedSection","ApplicationContextProvider","setAppData","setAirProperties","setCurtains","setIsAppDataLoaded","all","contextValue","Provider","BoxMaterialsContextProvider","setBoxMaterials","setIsMaterialListLoaded","layersConfig","interiorLayerConfig","interiorLayer","layerConfig","exteriorLayerConfig","exteriorLayer","ErrorContextProvider","LoadingContextProvider","loadingState","toggleLoading","prevState","loading","useState","TranslationContextProvider","BoxContextProvider","setBoxId","setBoxData","setIsBoxDataLoaded","useSystemReducer","updateStoreFlag","setUpdateStoreFlag","SystemContextProvider","storeBoxId","_storeSystem","_storeSystem2","_storeSystem2$equipme","_storeSystem3","_storeSystem3$equipme","getEquipmentDetails","defaultProps","auto","storageKey","basePath","useClearCache","setLoading","useAppVersionState","createPersistedState","appVersion","setAppVersion","isLatestVersion","setIsLatestVersion","latestVersion","setLatestVersion","setVersion","emptyCacheStorage","caches","names","reload","baseUrl","cache","meta","newVersion","isUpdated","err","fetchMeta","KeepSessionAlive","useEffect","intervalId","setInterval","credentials","redirect","ok","Error","clearInterval","App","process","Switch","Redirect","exact","Route","component","BallyTheme","KeepRiteTheme","TrentonTheme","ThemeSelector","fallback","rootElement","ReactDOM","BrowserRouter","componentsRenderer","clearReactDomNode","renderEquipmentOptions","popupTitle","defaultAndSelectedOptions","invokeMethodAsync","cancelClick","serviceWorker","ready","registration","unregister"],"mappings":"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QAAS,UACTC,qCACC,4CACDC,MAAO,QACPC,wBAAyB,6BACzBC,0BAA2B,8BAC3BC,OAAQ,SACRC,gBAAiB,mBACjBC,iBAAkB,oBAClBC,OAAQ,UACRC,yBAA0B,8BAC1BC,yBAA0B,6BAC1BC,uEACC,qFACDC,MAAO,QACPC,SAAU,WACVC,cAAe,iBACfC,kBAAmB,qBACnBC,MAAO,QACPC,cAAe,iBACfC,sDACC,iEACDC,mDACC,6DACDC,QAAS,WACTC,gDACC,wDACDC,sDACC,+DACDC,oDACC,6DACDC,kDACC,2DACDC,gBAAiB,mBACjBC,iBAAkB,oBAClBC,oBAAqB,uBACrBC,cAAe,iBACfC,IAAK,OACLC,MAAO,QACPC,QAAS,WACTC,aAAc,gBACdC,QAAS,UACTC,eAAgB,kBAChBC,YAAa,eACbC,aAAc,gBACdC,uBAAwB,6BACxBC,6BAA8B,mCAC9BC,0BAA2B,+BAC3BC,6CACC,oDACDC,qDACC,+DACDC,qBAAsB,0BACtBC,gCAAiC,uCACjCC,wCACC,gDACDC,6BAA8B,kCAC9BC,+EACC,8FACDC,uDACC,kEACDC,qDACC,gEACDC,sDACC,kEACDC,wDACC,qEACDC,wDACC,mEACDC,6CACC,sDACDC,0DACC,oEACDC,6CACC,sDACDC,mCAAoC,wCACpCC,0BAA2B,+BAC3BC,eAAgB,kBAChBC,cAAe,iBACfC,0BAA2B,+BAC3BC,iCAAkC,uCAClCC,kDACC,4DACDC,uDACC,gEACDC,gDACC,0DACDC,+BAAgC,oCAChCC,qCACC,6CACDC,mDACC,4DACDC,oCACC,0CACDC,oCACC,0CACDC,mDACC,2DACDC,uEACC,mFACDC,0BAA2B,gCAC3BC,4BAA6B,iCAC7BC,qDACC,8DACDC,4CACC,sDACDC,yBAA0B,+BAC1BC,iCAAkC,yCAClCC,sBAAuB,2BACvBC,uCACC,+CACDC,uBAAwB,6BACxBC,yBAA0B,8BAC1BC,uBAAwB,4BACxBC,0CACC,oDACDC,oCACC,6CACDC,wCACC,mDACDC,qBAAsB,0BACtBC,gBAAiB,oBACjBC,wBAAyB,6BACzBC,iDACC,2DACDC,yCACC,mDA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CC,wGACDC,yEACC,qFACDC,kEACC,6EACDC,sCACC,gDACDC,oCACC,8CACDC,0BAA2B,kCAC3BC,+BAAgC,uCAChCC,qEACC,oFACDC,iDACC,2DACDC,gDACC,0DACDC,iCAAkC,yCAClCC,2CACC,oDACDC,kCAAmC,0CACnCC,kCAAmC,yCACnCC,sCACC,6CACDC,+BAAgC,qCAChCC,mCAAoC,0CACpCC,+CACC,0DACDC,2DACC,yEACDC,4CACC,uDACDC,oCACC,6CACDC,qCACC,8CACDC,6BAA8B,qCAC9BC,6CACC,uDACDC,iCAAkC,yCAClCC,kDACC,6DACDC,8CACC,yDACDC,uCACC,+CACDC,yDACC,oEACDC,oCACC,4CACDC,iCAAkC,yCAClCC,gCAAiC,wCACjCC,kCAAmC,yCACnCC,oCACC,2CACDC,8BAA+B,sCAC/BC,0CACC,oDACDC,sCACC,gDACDC,oCACC,2CACDC,+CACC,yDACDC,4CACC,sDACDC,6CACC,uDACDC,0CACC,kDACDC,kDACC,6DACDC,oDACC,gEACDC,oCACC,4CACDC,qDACC,kEACDC,2CACC,qDACDC,+BAAgC,uCAChCC,iCAAkC,0CAClCC,6CACC,wDACDC,mCACC,4CACDC,+CACC,0DACDC,6BAA8B,qCAC9BC,kCAAmC,2CACnCC,oEACC,mFACDC,4BAA6B,kCAC7BC,gDACC,2DACDC,+BAAgC,uCAChCC,2DACC,wEACDC,wCACC,iDACDC,qDACC,kEACDC,4BAA6B,oCAC7BC,gDACC,4DACDC,uDACC,oEACDC,0DACC,uEACDC,mDACC,+DACDC,4CACC,uDACDC,+CACC,0DACDC,wCACC,kDACDC,0CACC,qDACDC,6CACC,wDACDC,sCACC,gDACDC,qCACC,+CACDC,wBAAyB,8BACzBC,0CACC,oDACDC,8CACC,yDACDC,iDACC,4DACDC,oBAAqB,0BACrBC,uCACC,iDACDC,2CACC,oDACDC,kGACC,qHACDC,6BAA8B,qCAC9BC,yCACC,kDACDC,uEACC,qFACDC,qEACC,mFACDC,4EACC,2FACDC,2EACC,0FACDC,sCACC,+CACDC,gCAAiC,yCACjCC,gEACC,8EACDC,2CACC,qDACDC,yCACC,kDACDC,kCACC,4CACDC,mDACC,8DACDC,mDACC,8DACDC,gCAAiC,wCACjCC,8CACC,yDACDC,mCACC,4CACDC,wBAAyB,gCACzBC,4DACC,wEACDC,sDACC,iEACDC,sDACC,iEACDC,gDACC,0DACDC,+CACC,0DACDC,gDACC,2DACDC,+BAAgC,qCAChCC,uBAAwB,4BACxBC,oCACC,2CACDC,kDACC,6DACDC,wCACC,kDACDC,uDACC,mEACDC,oDACC,gEACDC,sBAAuB,4BACvBC,4BAA6B,oCAC7BC,uCACC,gDACDC,UAAW,YACXC,uBAAwB,6BACxBC,WAAY,cACZC,wBAAyB,+BACzBC,6BAA8B,mCAC9BC,+CACC,2DACDC,8CACC,wDACDC,6BAA8B,oCAC9BC,sEACC,sFACDC,iEACC,8EACDC,kEACC,gFACDC,iBAAkB,oBAClBC,eAAgB,kBAChBC,KAAM,OACNC,MAAO,QACPC,UAAW,aACXC,WAAY,eACZC,eAAgB,mBAChBC,YAAa,gBACbC,gBAAiB,oBACjBC,aAAc,iBACdC,iBAAkB,qBAClBC,oEACC,kFACDC,0DACC,uEACDC,UAAW,YACXC,MAAO,QACPC,MAAO,QACPC,wBAAyB,8BACzBC,oBAAqB,wBACrBC,kBAAmB,sBACnBC,gBAAiB,oBACjBC,kBAAmB,sBACnBC,uBAAwB,2BACxBC,yBAA0B,6BAC1BC,gBAAiB,oBACjBC,WAAY,cACZC,iBAAkB,qBAClBC,mBAAoB,uBACpBC,oBAAqB,wBACrBC,eAAgB,kBAChBC,YAAa,eACbC,cAAe,kBACfC,kCAAmC,yCACnCC,6BAA8B,oCAC9BC,mCAAoC,0CACpCC,oFACC,qGACDC,qBAAsB,0BACtBC,qBAAsB,wBACtBC,kBAAmB,qBACnBC,SAAU,YACVC,MAAO,QACPC,aAAc,iBACdC,YAAa,gBACbC,IAAK,MACLC,KAAM,OACNC,SAAU,aACVC,KAAM,OACNC,YAAa,eACbC,KAAM,OACNC,SAAU,YACVC,QAAS,WACTC,yBAA0B,6BAC1BC,kBAAmB,qBACnBC,QAAS,UACTC,gBAAiB,mBACjBC,gBAAiB,mBACjBC,KAAM,OACNC,MAAO,SACPC,WAAY,cACZC,SAAU,YACVC,QAAS,WACTC,UAAW,aACXC,UAAW,aACXC,kDACC,4DACDC,MAAO,QACPC,eAAgB,kBAChBC,kEACC,gFACDC,sCACC,6CACDC,YAAa,eACbC,SAAU,aACVC,qBAAsB,yBACtBC,oBAAqB,wBACrBC,gBAAiB,oBACjBC,UAAW,aACXC,gBAAiB,mBACjBC,eAAgB,kBAChBC,+BAAgC,sCAChCC,0BAA2B,+BAC3BC,0BAA2B,gCAC3BC,kBAAmB,uBACnBC,gBAAiB,mBACjBC,8BAA+B,mCAC/BC,sBAAuB,0BACvBC,sBAAuB,0BACvBC,iBAAkB,sBAClBC,iBAAkB,qBAClBC,cAAe,kBACfC,yCACC,iDACDC,6DACC,2EACDC,kDACC,6DACDC,iDACC,4DACDC,wDACC,qEACDC,OAAQ,UACRC,gBAAiB,mBACjBC,0BAA2B,8BAC3BC,SAAU,YACVC,4BAA6B,gCAC7BC,iBAAkB,oBAClBC,kBAAmB,sBACnBC,oCACC,0CACDC,kBAAmB,sBACnBC,mBAAoB,uBACpBC,QAAS,WACTC,QAAS,UACTC,eAAgB,kBAChBC,4BAA6B,mCAC7BC,QAAS,UACTC,SAAU,WACVC,kCAAmC,wCACnCC,0BAA2B,8BAC3BC,gBAAiB,mBACjBC,4CACC,qDACDC,uCACC,+CACDC,qDACC,gEACDC,aAAc,gBACdC,QAAS,UACTC,2CACC,qDACDC,oEACC,mFACDC,SAAU,WACVC,IAAK,MACLC,mBAAoB,uBACpBC,QAAS,WACTC,eAAgB,mBAChBC,QAAS,UACTC,OAAQ,SACRC,sCACC,8CACDC,QAAS,UACTC,SAAU,WACVC,SAAU,WACVC,MAAO,QACPC,GAAI,KACJC,UAAW,aACXC,2BAA4B,kCAC5BC,uCACC,iDACDC,uBAAwB,6BACxBC,wBAAyB,8BACzBC,2BAA4B,gCAC5BC,iBAAkB,qBAClBC,kBAAmB,sBACnBC,KAAM,OACNC,SAAU,YACVC,YAAa,eACbC,sCACC,6CACDC,QAAS,UACTC,6BAA8B,oCAC9BC,yEACC,sFACDC,SAAU,WACVC,SAAU,WACVC,0BAA2B,+BAC3BC,wBAAyB,6BACzBC,OAAQ,SACRC,YAAa,gBACbC,mBAAoB,0BACpBC,4BAA6B,oCAC7BC,kCACC,4CACDC,UAAW,aACXC,WAAY,cACZC,UAAW,YACXC,MAAO,QACPnqF,OAAQ,SACRoqF,KAAM,OACNC,0BAA2B,+BAC3BC,UAAW,aACXC,UAAW,aACXC,YAAa,eACbC,eAAgB,kBAChBC,kBAAmB,wBACnBC,cAAe,kBACfC,IAAK,MACLC,UAAW,aACXC,qCACC,+CACDC,wBAAyB,+BACzBC,kCAAmC,0CACnCC,yBAA0B,gCAC1BC,sCACC,6CACDC,sCACC,gDACDC,iDACC,2DACDC,sBAAuB,2BACvBC,qCACC,8CACDC,6BAA8B,qCAC9BC,uCACC,gDACDC,uCACC,kDACDC,uCACC,iDACDC,2CACC,uDACDC,8CACC,0DACDC,kCACC,4CACDC,mEACC,mFACDC,wCACC,gDACDC,0BAA2B,gCAC3BC,uCACC,iDACDC,wCACC,kDACDC,yDACC,uEACDC,8CACC,2DACDC,+CACC,2DACDC,6DACC,4EACDC,uDACC,qEACDC,yDACC,uEACDC,wCACC,iDACDC,yDACC,uEACDC,mDACC,gEACDC,yDACC,sEACDC,oDACC,iEACDC,oDACC,gEACDC,gDACC,4DACDC,6BAA8B,oCAC9BC,yCACC,mDACDC,gEACC,mFACDC,4CACC,sDACDC,wBAAyB,+BACzBC,uBAAwB,8BACxBC,+DACC,6EACDC,iCAAkC,wCAClCC,iDACC,6DACDC,wDACC,qEACDC,6BAA8B,qCAC9BC,8CACC,0DACDC,wCACC,kDACDC,kEACC,gFACDC,iCAAkC,wCAClCC,4DACC,wEACDC,4DACC,wEACDC,sDACC,gEACDC,iEACC,8EACDC,sCACC,iDACDC,kCAAmC,wCACnCC,mCAAoC,0CACpCC,qCACC,4CACDC,+BAAgC,qCAChCC,0BAA2B,+BAC3BC,qDACC,gEACDC,uFACC,wGACDC,+EACC,+FACDC,iFACC,iGACDC,uBAAwB,4BACxBC,uCACC,8CACDC,kDACC,2DACDC,oDACC,6DACDC,4CACC,oDACDC,8CACC,sDACDC,6CACC,uDACDC,0CACC,oDACDC,wCACC,kDACDC,gCAAiC,uCACjCC,oCACC,2CACDC,2CACC,mDACDC,sCACC,6CACDC,eAAgB,oBAChBC,QAAS,WACTC,aAAc,gBACdC,mBAAoB,2BACpBC,yBAA0B,+BAC1BC,eAAgB,mBAChBC,gBAAiB,oBACjBC,2CACC,sDACDC,2DACC,0EACDC,uBAAwB,2BACxBC,eAAgB,qBAChBC,iBAAkB,uBAClBC,aAAc,gBACdC,WAAY,aACZC,iBAAkB,qBAClBC,oBAAqB,wBACrBC,QAAS,UACTC,WAAY,cACZC,wBAAyB,8BACzBC,qBAAsB,0BACtBC,eAAgB,kBAChBC,mBAAoB,uBACpBC,kBAAmB,sBACnBC,mBAAoB,uBACpBC,kCAAmC,0CACnCC,kBAAmB,qBACnBC,WAAY,aACZC,GAAI,KACJC,oBAAqB,yBACrBC,0DACC,sEACDC,cAAe,mBACfC,2BAA4B,gCAC5BC,qMACC,yOACDC,UAAW,YACXC,YAAa,iBACbC,kBAAmB,qBACnBC,oBAAqB,wBACrBC,uBAAwB,4BACxBC,gBAAiB,qBACjBC,MAAO,SACPC,KAAM,QACNC,KAAM,QACNC,KAAM,QACNC,KAAM,QACNC,WAAY,cACZC,WAAY,cACZC,WAAY,cACZC,WAAY,cACZC,WAAY,cACZC,WAAY,cACZC,WAAY,cACZC,WAAY,cACZC,WAAY,aACZC,8CACC,uDACDC,gFACC,+FACDC,UAAW,YACXC,gBAAiB,mBACjBC,MAAO,QACPC,oBAAqB,wBACrBC,8BAA+B,oCAC/BC,iBAAkB,oBAClBC,2BAA4B,iCAC5BC,eAAgB,oBAChBC,kBAAmB,uBACnBC,eAAgB,oBAChBC,QAAS,UACTC,cAAe,kBACfC,YAAa,gBACbC,aAAc,iBACdC,eAAgB,oBAChBC,KAAM,SACNC,OAAQ,WACRC,iBAAkB,uBAClBC,KAAM,OACNC,KAAM,OACNC,YAAa,eACbC,aAAc,gBACdC,KAAM,OACNC,4TACC,kXACDC,UAAW,aACXC,OAAQ,SACRC,OAAQ,UACRC,GAAI,KACJC,OAAQ,SACRC,QAAS,YACTC,WAAY,eACZC,QAAS,UACTC,YAAa,eACbC,cAAe,iBACfC,KAAM,OACNC,QAAS,WACTC,WAAY,eACZC,WAAY,cACZC,KAAM,OACNC,SAAU,YACVC,WAAY,cACZC,gBAAiB,qBACjBC,QAAS,YACTC,WAAY,eACZC,MAAO,UACPC,oCACC,0CACDC,IAAK,QACLC,iBAAkB,qBAClBC,UAAW,aACXC,oBAAqB,wBACrBC,eAAgB,kBAChBC,MAAO,QACPC,eAAgB,kBAChBC,aAAc,iBACdC,SAAU,WACVC,QAAS,UACTC,UAAW,aACXC,SAAU,YACVC,SAAU,YACVC,QAAS,YACTC,UAAW,cACXC,MAAO,QACPC,OAAQ,SACRC,+JACC,sLACDC,uBAAwB,4BACxBC,wBAAyB,6BACzBC,4BAA6B,gCAC7BC,iBAAkB,sBAClBC,YAAa,eACbC,eAAgB,mBAChBC,WAAY,cACZC,iBAAkB,qBAClBC,OAAQ,UACRC,eAAgB,kBAChBC,aAAc,eACdC,eAAgB,kBAChBC,YAAa,cACbC,6CACC,sDACDC,6CACC,mDACDC,6CACC,sDACDC,0CACC,mDACDC,SAAU,YACVC,cAAe,kBACfC,uCACC,kDACDC,4CACC,uDACDC,+BAAgC,wCAChCC,4BAA6B,qCAC7BC,2BAA4B,oCAC5BC,4BAA6B,iCAC7BC,eAAgB,mBAChBC,qBAAsB,wBACtBC,6BAA8B,oCAC9BC,0BAA2B,8BAC3BC,sBAAuB,0BACvBC,aAAc,iBACdC,qBAAsB,yBACtBC,uBAAwB,2BACxBC,qBAAsB,wBACtBC,iBAAkB,oBAClBC,iBAAkB,qBAClBC,sBAAuB,0BACvBC,mBAAoB,sBACpBC,yBAA0B,4BAC1BC,qBAAsB,wBACtBC,wBAAyB,4BACzBC,0BAA2B,+BAC3BC,4BAA6B,iCAC7BC,kCAAmC,uCACnCC,6CACC,qDACDC,8CACC,qDACDC,gBAAiB,mBACjBC,uBAAwB,2BACxBC,cAAe,gBACfC,WAAY,aACZC,iCAAkC,uCAClCC,YAAa,gBACbC,SAAU,WACVC,KAAM,OACNC,YAAa,gBACbC,kBAAmB,qBACnBC,gBAAiB,qBACjBC,eAAgB,iBAChBC,SAAU,WACVC,WAAY,cACZC,mBAAoB,sBACpBC,aAAc,gBACdC,wCACC,gDACDC,+DACC,6EACDC,0BAA2B,8BAC3BC,qCACC,6CACDC,cAAe,iBACfC,oBAAqB,wBACrBC,+BAAgC,qCAChCC,SAAU,aACVC,oBAAqB,uBACrBC,6BAA8B,mCAC9BC,wCACC,mDACDC,8BAA+B,qCAC/BC,yBAA0B,+BAC1BC,mCAAoC,wCACpCC,yBAA0B,6BAC1BC,2BAA4B,+BAC5BC,oCAAqC,yCACrCC,qBAAsB,yBACtBC,cAAe,iBACfC,kBAAmB,uBACnBC,qBAAsB,0BACtBC,UAAW,aACXC,kBAAmB,uBACnBC,eAAgB,kBAChBC,2BAA4B,gCAC5BC,uBAAwB,4BACxBC,kBAAmB,sBACnBC,SAAU,YACVC,UAAW,aACXC,wHACC,oJACDC,uEACC,wFACDC,2EACC,4FACDC,gDACC,0DACDC,kDACC,4DACDC,kDACC,2DACDC,aAAc,gBACdC,SAAU,WACVC,WAAY,cACZC,QAAS,WACTC,mBAAoB,sBACpBC,0BAA2B,8BAC3BC,4BAA6B,mCAC7BC,mEACC,iFACDC,aAAc,eACdC,0BAA2B,gCAC3BC,UAAW,YACXC,aAAc,gBACdC,UAAW,aACXC,UAAW,aACXC,SAAU,YACVC,iBAAkB,qBAClBC,mBAAoB,uBACpBC,8BAA+B,qCAC/BC,OAAQ,SACRC,mBAAoB,sBACpBC,uBAAwB,2BACxBC,QAAS,UACTC,oBAAqB,wBACrBC,MAAO,QACPC,MAAO,QACPC,WAAY,cACZC,aAAc,gBACdC,MAAO,QACPC,WAAY,cACZC,aAAc,gBACdC,QAAS,UACTC,iDACC,0DACDC,YAAa,cACbC,6CACC,sDACDC,wCACC,+CACDC,2CACC,oDACDzrF,SAAU,WACV0rF,kBAAmB,uBACnBC,SAAU,YACVC,WAAY,cACZC,YAAa,eACbC,oBAAqB,uBACrBC,gBAAiB,mBACjBC,oBAAqB,uBACrBC,WAAY,cACZC,cAAe,iBACfC,MAAO,QACPC,WAAY,cACZC,aAAc,gBACdC,iBAAkB,oBAClBC,iBAAkB,oBAClBC,oBAAqB,wBACrBC,yBAA0B,6BAC1BC,WAAY,aACZC,aAAc,gBACdC,mBAAoB,uBACpBC,UAAW,YACXC,aAAc,gBACdC,QAAS,WACTC,aAAc,gBACdC,gBAAiB,mBACjBC,WAAY,cACZC,sBAAuB,4BACvBC,uBAAwB,2BACxBC,cAAe,iBACfC,kBAAmB,qBACnBC,YAAa,eACbC,OAAQ,SACRC,cAAe,gBACfC,SAAU,WACVC,OAAQ,SACRC,gBAAiB,oBACjBC,mBAAoB,uBACpBC,gCAAiC,uCACjCC,iCAAkC,wCAClCC,mBAAoB,uBACpBC,qBAAsB,0BACtBC,oBAAqB,yBACrBC,0BAA2B,gCAC3BC,eAAgB,mBAChBC,eAAgB,kBAChBC,gBAAiB,oBACjBC,0BAA2B,+BAC3BC,0BAA2B,+BAC3BC,mBAAoB,uBACpBC,gBAAiB,oBACjBC,gBAAiB,mBACjBC,0CACC,kDACDC,mCACC,4CACDC,mBAAoB,uBACpBC,oBAAqB,uBACrBC,0CACC,oDACDC,0DACC,uEACDC,4EACC,0FACDC,oEACC,kFACDC,iEACC,+EACDC,iDACC,2DACDC,mCACC,2CACDC,kCAAmC,2CACnCC,iBAAkB,mBAClBC,gBAAiB,oBACjBC,qBAAsB,0BACtBC,oBAAqB,yBACrBC,eAAgB,mBAChBC,uBAAwB,6BACxBC,sBAAuB,4BACvBC,iBAAkB,oBAClBC,QAAS,WACTC,oCACC,0CACDC,gCAAiC,sCACjCC,uCACC,6CACDC,KAAM,OACNC,gBAAiB,mBACjBC,WAAY,cACZC,WAAY,cACZC,cAAe,mBACfC,qBAAsB,0BACtBC,oBAAqB,yBACrBC,sBAAuB,0BACvBC,YAAa,eACbC,mBAAoB,sBACpBC,gCAAiC,uCACjCC,kCAAmC,yCACnCC,gCAAiC,qCACjCC,qBAAsB,2BACtBC,iBAAkB,qBAClBC,mBAAoB,uBACpBC,sCACC,8CACDC,wCACC,gDACDC,SAAU,WACVC,qCACC,+CACDC,yBAA0B,8BAC1BC,MAAO,QACPC,SAAU,WACVC,yBAA0B,8BAC1BC,mDACC,+DACDC,wCACC,kDACDC,0CACC,oDACDC,0CACC,oDACDC,oCACC,4CACDC,uBAAwB,4BACxBC,0CACC,mDACDC,gDACC,0DACDC,yEACC,uFACDC,2BAA4B,iCAC5BC,gBAAiB,mBACjBC,6BAA8B,mCAC9BC,iEACC,8EACDC,uCACC,kDACDC,0EACC,sFACDC,8EACC,2FACDC,cAAe,iBACfC,8CACC,yDACDC,eAAgB,kBAChBC,wBAAyB,6BACzBC,sBAAuB,2BACvBC,OAAQ,SACRC,QAAS,UACTC,YAAa,eACbC,YAAa,eACbC,sBAAuB,0BACvBC,uBAAwB,2BACxBC,2BAA4B,kCAC5BC,4BAA6B,kCAC7BC,gCAAiC,oCACjCC,iCAAkC,qCAClCC,4DACC,uEACDC,kBAAmB,qBACnBC,WAAY,cACZC,yBAA0B,6BAC1BC,oDACC,+DACDC,kBAAmB,uBACnBC,eAAgB,mBAChBC,kBAAmB,qBACnBC,wCACC,iDACDC,mBAAoB,wBACpBC,sCACC,+CACDC,yCACC,iDACDC,uCACC,+CACDC,sBAAuB,0BACvBC,oBAAqB,wBACrBC,oBAAqB,yBACrBC,qBAAsB,0BACtBC,qBAAsB,wBACtBC,cAAe,iBACfC,MAAO,UACPC,mDACC,6DACDC,iBAAkB,oBAClBC,eAAgB,mBAChBC,OAAQ,SACRC,0CACC,qDACDC,yCACC,oDACDC,0DACC,sEACDC,yDACC,qEACDC,mBAAoB,uBACpBC,2BAA4B,gCAC5BC,6CACC,yDACDC,gCAAiC,qCACjCC,wBAAyB,6BACzBC,iDACC,2DACDC,oDACC,+DACDC,8DACC,2EACDC,qDACC,iEACDC,WAAY,aACZC,gBAAiB,mBACjBC,sBAAuB,0BACvBC,mCAAoC,yCACpCC,+CACC,wDACDC,mCAAoC,yCACpCC,wDACC,oEACDC,4BAA6B,kCAC7BC,yDACC,qEACDC,KAAM,OACNC,QAAS,UACTC,wBAAyB,+BACzBC,2BAA4B,gCAC5BC,YAAa,eACbC,SAAU,WACVC,YAAa,iBACbC,KAAM,OACNC,sBAAuB,4BACvBC,iBAAkB,oBAClBC,sBAAuB,2BACvBC,mBAAoB,wBACpBC,+BAAgC,sCAChCC,wBAAyB,8BACzBC,2BAA4B,iCAC5BC,wBAAyB,8BACzBC,8BAA+B,oCAC/BC,+CACC,0DACDC,2CACC,sDACDC,MAAO,QACPC,wEACC,uFACDC,UAAW,aACXC,cAAe,kBACfC,qBAAsB,0BACtBC,6BAA8B,qCAC9BC,0BAA2B,iCAC3BC,aAAc,gBACdC,qBAAsB,0BACtBC,iBAAkB,sBAClBC,mBAAoB,wBACpBC,qBAAsB,yBACtBC,gCAAiC,sCACjCC,cAAe,mBACfC,OAAQ,SACRC,wCACC,iDACDC,2BAA4B,gCAC5BC,2CACC,oDACDC,sCACC,8CACDC,WAAY,eACZC,iBAAkB,oBAClBC,gCAAiC,sCCtyGrBC,EAAY,IACrBt3F,EACHoJ,OAAQ,QACRC,kBAAmB,MACnBC,QAAS,WACTC,MAAO,YACPC,SAAU,aACVC,eAAgB,8BAChBC,qBAAsB,iDACtBC,IAAK,MACLC,eAAgB,oBAChBC,QAAS,YACTC,gEACC,yGACDC,mCACC,sDACDC,wCACC,yDACDC,+BAAgC,yCAChCC,iDACC,qFACDC,wDACC,gGACDC,iCACC,mEACDC,2BAA4B,kDAC5BC,gCAAiC,2CACjCC,qBAAsB,oCACtBC,OAAQ,MACRC,OAAQ,MACRC,OAAQ,MACRC,IAAK,MACLC,mBAAoB,wBACpBC,QAAS,aACTC,IAAK,OACLC,wBAAyB,eACzBC,WAAY,wBACZC,UAAW,sBACXC,SAAU,WACVC,eAAgB,qBAChBC,QAAS,WACTC,KAAM,YACNC,IAAK,QACLC,mBAAoB,kBACpBC,GAAI,OACJC,KAAM,OACNC,UAAW,YACXC,MAAO,UACPC,8BACC,4DACDC,MAAO,WACPC,WAAY,oBACZC,qBAAsB,+BACtBC,OAAQ,SACRC,mBAAoB,uBACpBC,aAAc,oBACdC,2BAA4B,0BAC5BC,mBAAoB,yBACpBC,SAAU,cACVC,OAAQ,aACRC,YAAa,wBACbC,4BAA6B,2CAC7BC,oBAAqB,0BACrBC,6BAA8B,6CAC9BC,cAAe,oBACfC,cAAe,yBACfC,4BAA6B,sDAC7BC,yBAA0B,sDAC1BC,+BAAgC,yDAChCC,IAAK,UACLC,gBAAiB,iCACjBC,sBAAuB,qCACvBC,kBAAmB,8BACnBC,cAAe,wBACfC,iBAAkB,sCAClBC,QAAS,kBACTC,QAAS,iBACTC,SAAU,oBACVC,wBAAyB,8CACzBC,mBAAoB,6BACpBC,qBAAsB,yCACtBC,uBAAwB,mCACxBC,SAAU,yBACVC,WAAY,qBACZC,wCACC,iEACDC,4BAA6B,wDAC7BC,gBAAiB,oCACjBC,UAAW,qBACXC,0BAA2B,oCAC3BC,gBAAiB,+BACjBC,WAAY,wBACZC,QAAS,cACTC,eAAgB,iCAChBC,eAAgB,sCAChBC,uBAAwB,oCACxBC,wCACC,gFACDC,0BAA2B,oDAC3BC,oBAAqB,oCACrBC,iBAAkB,kCAClBC,qBAAsB,iCACtBC,6BAA8B,0CAC9BC,+BAAgC,iCAChCC,QAAS,UACTC,qBAAsB,qCACtBC,iBAAkB,uBAClBC,YAAa,kBACbC,QAAS,UACTC,cAAe,iBACfC,WAAY,aACZC,MAAO,kBACPC,8BACC,sDACDC,qCACC,kEACDC,mCACC,8DACDC,gCACC,8DACDC,wBAAyB,iCACzBC,QAAS,iBACTC,iBAAkB,0BAClBC,MAAO,aACPC,UAAW,WACXC,UAAW,WACXC,oBAAqB,mCACrBC,wBAAyB,wCACzBC,wBAAyB,wCACzBC,wBAAyB,yCACzBC,wBAAyB,yCACzBC,qCACC,4DACDC,OAAQ,WACRC,qBAAsB,iCACtBC,sCACC,0DACDC,gDACC,uGACDC,QAAS,iBACTC,YAAa,gBACbC,cAAe,+BACfC,UAAW,oBACXC,iCAAkC,wDAClCC,mCACC,gFACDC,oCACC,0EACDC,gDACC,wFACDC,sBAAuB,yCACvBC,uBAAwB,gCACxBC,wCACC,4EACDC,2CACC,mFACDC,SAAU,aACVC,eAAgB,qBAChBC,kBAAmB,iCACnBC,SAAU,YACVC,QAAS,WACTC,YAAa,gBACbC,mCACC,qDACDC,kCACC,yDACDC,gCACC,6DACDC,OAAQ,UACRC,UAAW,cACXC,gCACC,uDACDC,iDACC,kEACDC,+CACC,qFACDC,4CACC,mEACDC,2CACC,0FACDC,0BAA2B,wCAC3BC,2BAA4B,wCAC5BC,0BAA2B,wCAC3BC,2CACC,2DACDC,sCACC,4CACDC,iBAAkB,yBAClBC,0CACC,8EACDC,0BAA2B,oCAC3BC,kCAAmC,0CACnCC,yBAA0B,mCAC1BC,qBAAsB,8BACtBC,uBAAwB,6CACxBC,gCAAiC,oDACjCC,yCACC,qEACDC,2CACC,+EACDC,4CACC,8DACDC,0CACC,iEACDC,sCACC,oDACDC,4CACC,iEACDC,2BAA4B,2CAC5BC,yCACC,iEACDC,yCACC,gEACDC,oCACC,oDACDC,iCACC,0DACDC,YAAa,oBACbC,KAAM,OACNC,8BAA+B,0CAC/BC,GAAI,OACJC,iCAAkC,yCAClCC,mCACC,kDACDC,4CACC,kEACDC,8CACC,mEACDC,4BAA6B,uCAC7BC,8BAA+B,+CAC/BC,oCACC,mDACDC,mCACC,oDACDC,gCACC,kDACDC,+BAAgC,4CAChCC,yCACC,gDACDC,iEACC,6GACDC,4BAA6B,8CAC7BC,sCACC,4DACDC,8BAA+B,0CAC/BC,qEACC,kGACDC,iEACC,sFACDC,6EACC,4HACDC,uEACC,8GACDC,iBAAkB,sBAClBC,oBAAqB,yBACrBC,aAAc,iBACdC,SAAU,eACVC,KAAM,kBACNC,sBAAuB,sCACvBC,mBAAoB,sCACpBC,mBAAoB,kCACpBC,uBAAwB,uCACxBC,UAAW,oBACXC,qCACC,oDACDC,QAAS,sBACTC,aAAc,gBACdC,WAAY,cACZC,OAAQ,QACRC,KAAM,WACNC,IAAK,WACLC,YAAa,4BACbC,+BAAgC,qDAChCC,uBAAwB,uCACxBC,+BAAgC,qDAChCC,uBAAwB,2CACxBC,YAAa,6BACbC,QAAS,gBACTC,eAAgB,6BAChBC,yBAA0B,+CAC1BC,OAAQ,YACRC,SAAU,cACVC,OAAQ,SACRC,GAAI,MACJC,kBAAmB,yBACnBC,WAAY,eACZC,KAAM,QACNC,SAAU,cACVC,qBAAsB,qCACtBC,OAAQ,QACRC,eAAgB,iBAChBC,aAAc,gBACdC,GAAI,KACJC,QAAS,iBACTC,KAAM,WACNC,SAAU,UACVC,oBAAqB,4BACrBC,WAAY,cACZC,wBAAyB,yCACzBC,wBAAyB,6CACzBC,kBAAmB,4BACnBC,YAAa,aACbC,gBAAiB,qBACjBC,sBAAuB,yCACvBC,qCACC,wEACDC,aAAc,eACdC,eAAgB,2BAChBC,SAAU,SACVC,UAAW,WACXC,kBAAmB,yBACnBC,wBAAyB,gCACzBC,gBAAiB,qBACjBC,mDACC,oFACDC,gDACC,oFACDC,uEACC,0GACDC,uEACC,8GACDC,yCACC,8EACDC,sBAAuB,mCACvBC,SAAU,aACVC,kCACC,4DACDC,oCACC,4DACDC,sCACC,2DACDC,uBAAwB,kDACxBC,0CACC,gFACDC,uCACC,yEACDC,mBAAoB,sCACpBC,gBAAiB,yBACjBC,YAAa,wBACbC,8BACC,+DACDC,sBAAuB,0CACvBC,mBAAoB,mCACpBC,uBAAwB,qCACxBC,sBAAuB,qDACvBC,iBAAkB,+BAClBC,aAAc,sBACdC,eAAgB,sCAChBC,aAAc,yBACdC,gBAAiB,kCACjBC,qBAAsB,0CACtBC,oBAAqB,mDACrBC,yBAA0B,iDAC1BC,6BAA8B,kDAC9BC,wBAAyB,2CACzBC,mBAAoB,oCACpBC,sBAAuB,+CACvBC,oBAAqB,yCACrBC,mBAAoB,iCACpBC,wBAAyB,2CACzBC,mBAAoB,2CACpBC,SAAU,aACVC,gBAAiB,mBACjBC,OAAQ,UACRC,oBAAqB,6BACrBC,qBAAsB,8BACtBC,cAAe,wBACfC,wDACC,yDACDC,gBAAiB,yBACjBC,yBAA0B,kDAC1BC,0BAA2B,kDAC3BC,0BACC,uDACDC,iBAAkB,mCAClBC,cAAe,iCACfC,SAAU,cACVC,+BAAgC,gDAChCC,gBAAiB,uBACjBC,iBAAkB,2BAClBC,gBAAiB,4BACjBC,iBAAkB,2BAClBC,uBAAwB,wCACxBC,yBAA0B,uCAC1BC,gBAAiB,0BACjBC,+BAAgC,uDAChCC,QAAS,UACTC,QAAS,eACTC,QAAS,UACTC,aAAc,sBACdC,oBAAqB,2BACrBC,QAAS,UACTC,eAAgB,UAChBC,sCACC,yDACDC,iBAAkB,qBAClBC,eAAgB,uBAChBC,qBAAsB,sCACtBC,gBAAiB,uBACjBC,gBAAiB,uBACjBC,kBAAmB,qBACnBC,aAAc,sBACdC,qBAAsB,mCACtBC,gBAAiB,sBACjBC,eAAgB,uBAChBC,UAAW,iBACXC,cAAe,wBACfC,oCACC,qEACDC,0CACC,yFACDC,mBAAoB,kCACpBC,+BACC,qDACDC,MAAO,SACPC,MAAO,SACPC,UAAW,kBACXC,sDACC,mFACDC,yDACC,8FACDC,iDACC,6DACDC,oDACC,+FACDC,oCACC,iEACDC,0DACC,uFACDC,kCACC,iDACDC,MAAO,SACPC,eAAgB,2BAChBC,WAAY,eACZC,kBAAmB,uBACnBC,0CACC,yEACDC,OAAQ,WACRC,kCACC,2DACDC,KAAM,OACNC,QAAS,iBACTC,QAAS,WACTC,aAAc,mBACdC,QAAS,gBACTC,YAAa,sBACbC,+DACC,0GACDC,eAAgB,oBAChBC,eAAgB,mBAChBC,UAAW,YACXC,gCAAiC,qCACjCC,kBAAmB,qBACnBC,iBAAkB,qBAClBC,WAAY,cACZC,6BAA8B,kDAC9BC,4BAA6B,6CAC7BC,8BAA+B,iDAC/BC,yCACC,uEACDC,6BAA8B,iDAC9BC,qCACC,4DACDC,2BAA4B,sDAC5BC,wBAAyB,gCACzBC,cAAe,gBACfC,SAAU,YACVC,UAAW,gBACXC,4BAA6B,iDAC7BC,2BAA4B,4CAC5BC,wBAAyB,0CACzBC,gCAAiC,mDACjCC,kCACC,8CACDC,oCACC,oDACDC,sBAAuB,yCACvBC,WAAY,eACZC,eAAgB,oBAChBC,uBAAwB,+BACxBC,sBAAuB,iCACvBC,eAAgB,2BAChBC,iCACC,mDACDC,0CACC,6DACDC,sCACC,yDACDC,yCACC,wEACDC,sCACC,wEACDC,uDACC,4FACDC,gCAAiC,+CACjCC,iCACC,qDACDC,6DACC,8FACDC,6DACC,kGACDC,iCACC,4DACDC,gCACC,uDACDC,6BAA8B,gDAC9BC,qCACC,gEACDC,2BAA4B,uDAC5BC,WAAY,aACZC,cAAe,gBACfC,wBAAyB,kCACzBC,sBAAuB,wBACvBC,UAAW,eACXC,kBAAmB,6BACnBC,eAAgB,sBAChBC,sEACC,sGACDC,oCACC,6CACDC,8BAA+B,yCAC/BC,YAAa,aACbC,wBAAyB,2BACzBC,kBAAmB,yBACnBC,mBAAoB,0BACpBC,QAAS,UACTC,YAAa,qBACbC,SAAU,WACVC,UAAW,QACXC,OAAQ,SACRC,KAAM,SACNC,8BAA+B,iDAC/BC,4EACC,4JACDC,YAAa,oBACbC,eAAgB,kCAChBC,4DACC,6FACDC,sEACC,gHACDC,UAAW,eACXC,oBAAqB,8BACrBC,oBAAqB,8BACrBC,4BACC,oEACDC,6BACC,yDACDC,2BAA4B,oCAC5BC,2BAA4B,uCAC5BC,oCACC,kDACDC,gDACC,sEACDC,0CACC,qEACDC,oCACC,sDACDC,qCACC,oDACDC,uCACC,sDACDC,8BAA+B,kDAC/BC,wBAAyB,yCACzBC,yBAA0B,yCAC1BC,2BAA4B,8CAC5BC,4BAA6B,6CAC7BC,gCACC,8DACDC,8BACC,4DACDC,mBAAoB,qCACpBC,oBAAqB,sCACrBC,qCACC,gEACDC,8BACC,6DACDC,sCACC,oEACDC,+BAAgC,uDAChCC,2BAA4B,6CAC5BC,yBAA0B,iDAC1BC,qCACC,4CACDC,oCACC,6CACDC,yCACC,8DACDC,qCACC,oDACDC,yBAA0B,gDAC1BC,uBAAwB,6CACxBC,6BAA8B,kDAC9BC,yBAA0B,6CAC1BC,yBAA0B,0CAC1BC,4BAA6B,oDAC7BC,kCACC,uEACDC,4BACC,wDACDC,uBAAwB,iDACxBC,yBAA0B,mDAC1BC,4BAA6B,oDAC7BC,sBAAuB,6CACvBC,wBAAyB,gDACzBC,mBAAoB,oCACpBC,4BAA6B,8CAC7BC,sBAAuB,4CACvBC,6BAA8B,4CAC9BC,kBAAmB,iCACnBC,uBAAwB,8CACxBC,yBAA0B,yCAC1BC,6BACC,oDACDC,sBAAuB,4BACvBC,yCACC,gEACDC,2CACC,iEACDC,2BAA4B,qDAC5BC,6BAA8B,oDAC9BC,+BAAgC,wCAChCC,oBAAqB,4BACrBC,6BACC,oDACDC,qBAAsB,mCACtBC,oCACC,4DACDC,gCACC,+CACDC,0BAA2B,sCAC3BC,2BAA4B,yCAC5BC,iCACC,wDACDC,6BACC,8DACDC,6BACC,iEACDC,kCACC,4DACDC,6CACC,gFACDC,4BAA6B,qDAC7BC,oBAAqB,0CACrBC,wBAAyB,kDACzBC,wBAAyB,8CACzBC,QAAS,OACTC,YAAa,cACbC,eAAgB,2BAChBC,eAAgB,qBAChBC,yBAA0B,0CAC1BC,kBAAmB,2BACnBC,mBAAoB,qCACpBC,eAAgB,mBAChBC,aAAc,cACdC,cAAe,iBACfC,kBAAmB,qCACnBC,kBAAmB,0BACnBC,0BAA2B,yCAC3BC,kCAAmC,kCACnCC,sCAAuC,wCACvCC,mBAAoB,0BACpBC,gBAAiB,wBACjBC,mDACC,gFACDC,MAAO,SACPC,SAAU,WACVC,OAAQ,kBACRC,cAAe,0BACfC,YAAa,2BACbC,WAAY,sBACZC,SAAU,SACVC,UAAW,WACXC,gBAAiB,+BACjB95B,aAAc,sBACd+5B,aAAc,gBACdC,aAAc,uBACdC,YAAa,aACbC,2BAA4B,2CAC5BC,4CACC,0DACDC,0CACC,oEACDC,gCAAiC,oDACjCC,sCACC,0EACDC,IAAK,SACLC,mBAAoB,qCACpBC,oBAAqB,6BACrBC,YAAa,cACbC,oBAAqB,0BACrBC,WAAY,oBACZC,YAAa,uBACbC,SAAU,aACVC,QAAS,aACTC,YAAa,eACbC,IAAK,MACLC,SAAU,WACVC,6CACC,iEACDC,qBAAsB,8BACtBC,MAAO,SACPC,iBAAkB,4CAClBC,cAAe,oCACfC,KAAM,OACNC,YAAa,sBACbC,aAAc,iBACdC,OAAQ,UACRC,WAAY,eACZC,wBAAyB,+CACzBC,YAAa,iBACbC,oBAAqB,2CACrBC,uBAAwB,sCACxBC,oBAAqB,oCACrBC,MAAO,SACPC,oBAAqB,sCACrBC,aAAc,0BACdC,OAAQ,YACRC,kBAAmB,4BACnBC,oBAAqB,wCACrBC,qBAAsB,2CACtBC,YAAa,sBACbC,aAAc,wBACdC,WAAY,sBACZC,YAAa,kBACbC,cAAe,uBACfC,yBAA0B,kCAC1BC,OAAQ,UACRC,OAAQ,UACRC,QAAS,YACTC,WAAY,iBACZC,MAAO,aACPC,wBAAyB,wCACzBC,YAAa,cACbC,0BAA2B,yCAC3BC,sBAAuB,8BACvBC,4EACC,2HACDC,cAAe,sBACfC,kBAAmB,yBACnBC,mBAAoB,0BACpBC,SAAU,gBACVC,4BAA6B,uDAC7BC,yBAA0B,uDAC1BC,+BACC,6DACDC,qBAAsB,mCACtBC,YAAa,uBACbC,wBAAyB,yCACzBC,+CACC,sFACDC,4CACC,sFACDC,0CACC,oEACDC,gCACC,0DACDC,8BACC,qDACDC,gCACC,8CACDC,4BACC,oDACDC,8BAA+B,yCAC/BC,eAAgB,+BAChBC,SAAU,aACVC,QAAS,aACTC,aAAc,eACdC,OAAQ,WACRC,wBAAyB,0BACzBC,4CACC,uDACDC,0CACC,yDACDC,wCACC,2DACDC,KAAM,QACNC,UAAW,YACXC,wBAAyB,oCACzBC,WAAY,aACZC,kBAAmB,2BACnBC,SAAU,WACVC,mBAAoB,uBACpBC,wDACC,0FACDC,0BAA2B,8BAC3BC,+CACC,8EACDC,kDACC,8EACDC,8CACC,iEACDC,4CACC,qEACDC,+CACC,oEACDC,iDACC,oEACDC,uBAAwB,wCACxBC,iDACC,qEACDC,+DACC,iGACDC,sDACC,mFACDC,+BACC,kDACDC,4BAA6B,kDAC7BC,4CACC,+CACDC,gDACC,4DACDC,0CACC,+DACDC,wCACC,8DACDC,+BAAgC,qCAChCC,gCACC,8CACDC,8BAA+B,4CAC/BC,sBAAuB,wCACvBC,+BACC,6DACDC,2BAA4B,6CAC5BC,yBAA0B,2CAC1BC,kCACC,wDACDC,8BACC,+DACDC,+DACC,qGACDC,0DACC,gGACDC,sDACC,sFACDC,kBAAmB,4BACnBC,SAAU,gBACVC,kBAAmB,gCACnBC,yBAA0B,qCAC1BC,KAAM,QACNC,oBAAqB,iCACrBC,mCACC,6CACDC,iBAAkB,uBAClBC,KAAM,cACNC,4BAA6B,wCAC7BC,uBAAwB,qDACxBC,0BAA2B,uDAC3BC,mBAAoB,2CACpBC,MAAO,YACPC,UAAW,eACXC,oBAAqB,2BACrBC,6DACC,8FACDC,8DACC,+FACDC,OAAQ,WACRC,yCACC,iEACDC,mBAAoB,mCACpBC,gBAAiB,kBACjBC,2BAA4B,+CAC5BC,KAAM,SACNC,KAAM,WACNC,QAAS,SACTC,0BAA2B,qCAC3BC,MAAO,SACPC,OAAQ,WACRC,OAAQ,UACRC,KAAM,OACNC,iBAAkB,wBAClBC,wBAAyB,4CACzBC,UAAW,eACXC,KAAM,WACNC,iBAAkB,2BAClBC,UAAW,q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AO,YACPC,SAAU,eACVC,cAAe,4BACfC,kBAAmB,uBACnBC,MAAO,SACPC,cAAe,sBACfC,sDACC,wEACDC,mDACC,8DACDC,QAAS,eACTC,gDACC,+EACDC,sDACC,mEACDC,oDACC,wEACDC,kDACC,0EACDC,gBAAiB,8BACjBC,iBAAkB,uBAClBC,oBAAqB,4BACrBC,cAAe,sBACfC,IAAK,QACLC,MAAO,kBACPC,QAAS,sBACTC,aAAc,gCACdC,QAAS,UACTC,eAAgB,gCAChBC,YAAa,2BACbC,aAAc,2BACdC,uBAAwB,gDACxBC,6BACC,6DACDC,0BAA2B,yDAC3BC,6CACC,wEACDC,qDACC,6EACDC,qBAAsB,oDACtBC,gCACC,mEACDC,wCACC,kFACDC,6BACC,uDACDC,+EACC,8HACDC,uDACC,8FACDC,qDACC,gGACDC,sDACC,+FACDC,wDACC,uFACDC,wDACC,0FACDC,6CACC,2FACDC,0DACC,oGACDC,6CACC,6EACDC,mCACC,6DACDC,0BAA2B,2CAC3BC,eAAgB,gCAChBC,cAAe,+BACfC,0BAA2B,uDAC3BC,iCACC,gEACDC,kDACC,0EACDC,uDACC,sFACDC,gDACC,+DACDC,+BACC,+DACDC,qCACC,gFACDC,mDACC,iFACDC,oCACC,uEACDC,oCACC,4DACDC,mDACC,qEACDC,uEACC,oIACDC,0BAA2B,yCAC3BC,4BAA6B,iDAC7BC,qDACC,oFACDC,4CACC,qFACDC,yBAA0B,4CAC1BC,iCACC,mDACDC,sBAAuB,kDACvBC,uCACC,yFACDC,uBAAwB,uDACxBC,yBAA0B,uDAC1BC,uBAAwB,uDACxBC,0CACC,kGACDC,oCACC,uEACDC,wCACC,sFACDC,qBAAsB,6CACtBC,gBAAiB,yCACjBC,wBAAyB,gDACzBC,iDACC,oFACDC,yCACC,uFACDC,YAAa,sBACbC,KAAM,OACNC,cAAe,gBACfC,OAAQ,UACRC,eAAgB,oBAChBC,WAAY,cACZC,MAAO,YACPC,aAAc,0BACdC,YAAa,uBACbC,UAAW,iBACXC,MAAO,UACPC,SAAU,gBACVC,gBAAiB,2BACjBC,SAAU,iBACVC,S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MAAO,WACPC,UAAW,aACXC,QAAS,kBACTC,qBAAsB,iDACtBC,uCACC,+DACDC,+BACC,uDACDC,YAAa,kBACbC,YAAa,qBACbC,eAAgB,mCAChBC,UAAW,SACXC,6CACC,kEACDC,SAAU,aACVC,QAAS,aACTC,YAAa,kBACbC,oBAAqB,0BACrBC,sCACC,qEACDC,mCACC,qEACDC,sDACC,wFACDC,6BAA8B,6CAC9BC,8BAA+B,qDAC/BC,eAAgB,wBAChBC,gBAAiB,wBACjBC,oBAAqB,4BACrBC,qBAAsB,2BACtB3vE,OAAQ,aACR4vE,WAAY,0BACZC,WAAY,cACZC,eAAgB,gCAChBC,YAAa,mBACbC,eAAgB,sBAChBC,cAAe,yBACfC,aAAc,sBACdC,qBAAsB,mCACtBC,iCAAkC,+CAClCC,gBAAiB,0BACjBC,iCACC,iDACDC,mCACC,gDACDC,KAAM,KACNC,UAAW,YACXC,MAAO,MACPC,GAAI,KACJC,sBAAuB,sCACvBC,sBAAuB,2CACvBC,mBAAoB,2CACpBC,8BAA+B,gDAC/BC,qBAAsB,iCACtBC,2BAA4B,0BAC5BC,4FACC,8IACDC,IAAK,MACLC,uBAAwB,uCACxBC,MAAO,QACPC,sBAAuB,6BACvBC,eAAgB,kBAChBC,SAAU,YACVC,gBAAiB,wBACjBC,IAAK,MACLC,KAAM,OACNC,sBAAuB,uCACvBC,QAAS,WACTC,UAAW,4BACXC,WAAY,gBACZC,YAAa,oBACbC,cAAe,qBACfC,oDACC,8EACDC,IAAK,WACLC,MAAO,YACP1jE,YAAa,iBACb2jE,aAAc,kBACdC,mBAAoB,4BACpBC,MAAO,aACPC,KAAM,OACNC,QAAS,gBACTC,uCACC,0DACDC,8CACC,uEACDC,qCACC,uDACDC,sCACC,oEACDC,wEACC,6FACDC,6BAA8B,oCAC9BC,oDACC,uEACDC,mCACC,mDACDC,wFACC,8HACDC,yEACC,uGACDC,kEACC,oFACDC,sCACC,4DACDC,oCACC,mDACDC,0BAA2B,0DAC3BC,+BAAgC,2CAChCC,qEACC,4GACDC,iDACC,gEACDC,gDACC,oEACDC,iCAAkC,8CAClCC,2CACC,0DACDC,kCACC,wDACDC,kCACC,0DACDC,sCACC,kDACDC,+BAAgC,qCAChCC,mCAAoC,uCACpCC,+CACC,iDACDC,2DACC,gGACDC,4CACC,8EACDC,oCACC,qDACDC,qCACC,wEACDC,6BAA8B,iDAC9BC,6CACC,6DACDC,iCACC,gEACDC,kDACC,iFACDC,8CACC,4EACDC,uCACC,0DACDC,yDACC,qFACDC,oCACC,wDACDC,iCACC,0DACDC,gCAAiC,mDACjCC,kCACC,2DACDC,oCACC,oDACDC,8BAA+B,yCAC/BC,0CACC,qEACDC,sCACC,8DACDC,oCACC,4DACDC,+CACC,0DACDC,4CACC,uFACDC,6CACC,6EACDC,0CACC,gEACDC,kDACC,2EACDC,oDACC,+FACDC,oCACC,kDACDC,qDACC,qGACDC,2CACC,iEACDC,+BAAgC,mDAChCC,iCAAkC,iDAClCC,6CACC,oEACDC,mCACC,gDACDC,+CACC,0EACDC,6BAA8B,oDAC9BC,kCACC,mDACDC,oEACC,kGACDC,4BAA6B,8CAC7BC,gDACC,mFACDC,+BACC,sDACDC,2DACC,0GACDC,wCACC,+DACDC,qDACC,8FACDC,4BACC,6DACDC,gDACC,qEACDC,uDACC,iGACDC,0DACC,+FACDC,mDACC,kGACDC,4CACC,4EACDC,+CACC,gFACDC,wCACC,2EACDC,0CACC,2EACDC,6CACC,2EACDC,sCACC,8DACDC,qCACC,+DACDC,wBAAyB,gDACzBC,0CACC,oEACDC,8CACC,mFACDC,iDACC,kFACDC,oBAAqB,qCACrBC,uCACC,yEACDC,2CACC,kEACDC,kGACC,kIACDC,6BAA8B,mDAC9BC,yCACC,6DACDC,uEACC,6GACDC,qEACC,6GACDC,4EACC,qHACDC,2EACC,yGACDC,sCACC,6DACDC,gCACC,sDACDC,gEACC,yGACDC,2CACC,gEACDC,yCACC,gDACDC,kCACC,mDACDC,mDACC,8EACDC,mDACC,+EACDC,gCAAiC,wCACjCC,8CACC,6FACDC,mCAAoC,iDACpCC,wBAAyB,mDACzBC,4DACC,iGACDC,sDACC,oFACDC,sDACC,sEACD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PnqF,OAAQ,aACRoqF,KAAM,OACNC,0BAA2B,oCAC3BC,UAAW,oBACXC,UAAW,mBACXC,YAAa,mBACbC,eAAgB,sBAChBC,kBAAmB,wBACnBC,cAAe,6BACfC,IAAK,MACLC,UAAW,yBACXC,qCACC,+DACDC,wBAAyB,6CACzBC,kCACC,8DACDC,yBAA0B,iDAC1BC,sCACC,+DACDC,sCACC,+EACDC,iDACC,+EACDC,sBAAuB,8BACvBC,qCACC,qEACDC,6BAA8B,4CAC9BC,uCACC,6DACDC,uCACC,mEACDC,uCACC,iEACDC,2CACC,iEACDC,8CACC,4EACDC,kCACC,sDACDC,mEACC,4GACDC,wCACC,gFACDC,0BAA2B,iDAC3BC,uCACC,0DACDC,wCACC,4DACDC,yDACC,wFACDC,8CACC,qEACDC,+CACC,iEACDC,6DACC,iGACDC,uDACC,2FACDC,yDACC,yFACDC,wCACC,4DACDC,yDACC,+FACDC,mDACC,qFACDC,yDACC,iFACDC,oDACC,2FACDC,oDACC,wFACDC,gDACC,wFACDC,6BAA8B,2CAC9BC,yCACC,6DACDC,gEACC,2GACDC,4CACC,iEACDC,wBAAyB,uCACzBC,uBAAwB,kDACxBC,+DACC,iIACDC,iCACC,4DACDC,iDACC,+EACDC,wDACC,4FACDC,6BACC,0DACDC,8CACC,wEACDC,wCACC,+DACDC,kEACC,4FACDC,iCACC,8CACDC,4DACC,8EACDC,4DACC,8DACDC,sDACC,+EACDC,iEACC,8GACDC,sCACC,8DACDC,kCAAmC,wCACnCC,mCACC,uDACDC,qCACC,4CACDC,+BACC,qDACDC,0BAA2B,iDAC3BC,qDACC,gFACDC,uFACC,qIACDC,+EACC,iHACDC,iFACC,wHACDC,uBAAwB,mCACxBC,uCAAwC,+CACxCC,kDACC,mEACDC,oDACC,qEACDC,4CACC,mDACDC,8CACC,qDACDC,6CACC,mEACDC,0CACC,kEACDC,wCACC,0EACDC,gCAAiC,sDACjCC,oCACC,gEACDC,2CACC,qEACDC,sCACC,kEACDC,eAAgB,oBAChBC,QAAS,cACTC,aAAc,oBACdC,mBAAo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e,2BACfC,kBAAmB,iCACnBC,YAAa,mBACbC,OAAQ,aACRC,cAAe,SACfC,SAAU,WACVC,OAAQ,iBACRC,gBAAiB,oCACjBC,mBAAoB,kCACpBC,gCACC,mEACDC,iCACC,2DACDC,mBAAoB,+BACpBC,qBAAsB,0CACtBC,oBAAqB,qCACrBC,0BAA2B,yCAC3BC,eAAgB,8BAChBC,eAAgB,wBAChBC,gBAAiB,gCACjBC,0BAA2B,0CAC3BC,0BAA2B,2CAC3BC,mBAAoB,yBACpBC,gBAAiB,oCACjBC,gBAAiB,uBACjBC,0CACC,iEACDC,mCACC,qEACDC,mBAAoB,mCACpBC,oBAAqB,+BACrBC,0CACC,6DACDC,0DACC,+EACDC,4EACC,4FACDC,oEACC,uGACDC,iEACC,qGACDC,iDACC,uEACDC,mCACC,uDACDC,kCACC,mEACDC,iBAAkB,mBAClBC,gBAAiB,+BACjBC,qBAAsB,0CACtBC,oBAAqB,mCACrBC,eAAgB,2BAChBC,uBAAwB,8CACxBC,sBAAuB,uCACvBC,iBAAkB,+BAClBC,QAAS,UACTC,oCACC,kDACDC,gCAAiC,qDACjCC,uCACC,yDACDC,KAAM,OACNC,gBAAiB,2BACjBC,WAAY,qBACZC,WAAY,iBACZC,cAAe,0BACfC,qBAAsB,0CACtBC,oBAAqB,iCACrBC,sBAAuB,gCACvBC,YAAa,iBACbC,mBAAoB,0BACpBC,gCACC,wDACDC,kCACC,oDACDC,gCAAiC,+CACjCC,qBAAsB,yCACtBC,iBAAkB,oCAClBC,mBAAoB,gCACpBC,sCACC,sEACDC,wCACC,2DACDC,SAAU,WACVC,qCACC,8DACDC,yBAA0B,8CAC1BC,MAAO,sBACPC,SAAU,UACVC,yBAA0B,4CAC1BC,mDACC,yFACDC,wCACC,+DACDC,0CACC,sEACDC,0CACC,4DACDC,oCACC,gDACDC,uBAAwB,2BACxBC,0CACC,6EACDC,gDACC,8EACDC,yEACC,sFACDC,2BAA4B,gDAC5BC,gBAAiB,sBACjBC,6BAA8B,4CAC9BC,iEACC,+GACDC,uCACC,6EACDC,0EACC,wGACDC,8EACC,0GACDC,cAAe,4BACfC,8CA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,oBACXC,0BAA2B,8CAC3BC,gBAAiB,qCACjBC,WAAY,qBACZC,QAAS,kBACTC,eAAgB,8BAChBC,eAAgB,mCAChBC,uBAAwB,uCACxBC,wCACC,oEACDC,0BAA2B,yCAC3BC,oBAAqB,+CACrBC,iBAAkB,4BAClBC,qBAAsB,yBACtBC,6BAA8B,oCAC9BC,+BAAgC,oCAChCC,QAAS,eACTC,qBAAsB,oCACtBC,iBAAkB,0BAClBC,YAAa,oBACbC,QAAS,MACTC,cAAe,kBACfC,WAAY,SACZC,MAAO,iBACPC,8BACC,iEACDC,qCACC,uEACDC,mCACC,wEACDC,gCACC,yDACDC,wBAAyB,2CACzBC,QAAS,gBACTC,iBAAkB,iCAClBC,MAAO,UACPC,UAAW,eACXC,UAAW,YACXC,oBAAqB,iCACrBC,wBAAyB,sCACzBC,wBAAyB,sCACzBC,wBAAyB,wCACzBC,wBAAyB,0CACzBC,qCACC,2EACDC,OAAQ,mBACRC,qBAAsB,gCACtBC,sCACC,0EACDC,gDACC,yEACDC,QAAS,gBACTC,YAAa,iBACbC,cAAe,6BACfC,UAAW,uBACXC,iCACC,+CACDC,mCACC,6DACDC,oCACC,+DACDC,gDACC,oGACDC,sBAAuB,sCACvBC,uBAAwB,uCACxBC,wCACC,yDACDC,2CACC,oEACDC,SAAU,UACVC,eAAgB,iBAChBC,kBAAmB,mCACnBC,SAAU,WACVC,QAAS,WACTC,YAAa,uBACbC,mCACC,6CACDC,kCAAmC,yCACnCC,gCAAiC,wCACjCC,OAAQ,WACRC,UAAW,eACXC,gCACC,2DACDC,iDACC,iEACDC,+CACC,qEACDC,4CACC,8DACDC,2CACC,oDACDC,0BAA2B,oBAC3BC,2BAA4B,oBAC5BC,0BAA2B,oBAC3BC,2CACC,sEACDC,sCACC,kDACDC,iBAAkB,gCAClBC,0CACC,sDACDC,0BAA2B,uCAC3BC,kCAAmC,sDACnCC,yBAA0B,+BAC1BC,qBAAsB,wCACtBC,uBAAwB,iCACxBC,gCACC,4DACDC,yCACC,4DACDC,2CACC,qEACDC,4CACC,iEACDC,0CACC,iEACDC,sCACC,uDACDC,4CACC,yEACDC,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CC,qEACDC,kDACC,uEACDC,gBAAiB,4BACjBC,iBAAkB,sBAClBC,oBAAqB,0BACrBC,cAAe,oBACfC,IAAK,QACLC,MAAO,cACPC,QAAS,cACTC,aAAc,4BACdC,QAAS,UACTC,eAAgB,qBAChBC,YAAa,mBACbC,aAAc,wBACdC,uBAAwB,yCACxBC,6BAA8B,yCAC9BC,0BAA2B,4CAC3BC,6CACC,yDACDC,qDACC,+DACDC,qBAAsB,4CACtBC,gCACC,wDACDC,wCACC,0EACDC,6BAA8B,uCAC9BC,+EACC,qGACDC,uDACC,kEACDC,qDACC,+DACDC,sDACC,qFACDC,wDACC,yFACDC,wDACC,gFACDC,6CACC,uEACDC,0DACC,6FACDC,6CACC,yEACDC,mCACC,mDACDC,0BAA2B,mCAC3BC,eAAgB,uBAChBC,cAAe,6BACfC,0BAA2B,8CAC3BC,iCACC,sDACDC,kDACC,mEACDC,uDACC,kFACDC,gDACC,kDACDC,+BACC,wDACDC,qCACC,2DACDC,mDACC,yEACDC,oCACC,gEACDC,oCAAqC,yCACrCC,mDACC,uEACDC,uEACC,qHACDC,0BAA2B,+CAC3BC,4BAA6B,uCAC7BC,qDACC,oEACDC,4CACC,8DACDC,yBAA0B,sCAC1BC,iCAAkC,+CAClCC,sBAAuB,wCACvBC,uCACC,wEACDC,uBAAwB,4CACxBC,yBAA0B,sCAC1BC,uBAAwB,2CACxBC,0CACC,iFACDC,oCACC,2DACDC,wCACC,6DACDC,qBAAsB,iDACtBC,gBAAiB,oCACjBC,wBAAyB,oCACzBC,iDACC,0EACDC,yCACC,kEACDC,YAAa,cACbC,KAAM,SACNC,cAAe,gBACfC,OAAQ,WACRC,eAAgB,mBAChBC,WAAY,mBACZC,MAAO,WACPC,aAAc,yBACdC,YAAa,uBACbC,UAAW,sBACXC,MAAO,UACPC,SAAU,YACVC,gBAAiB,sBACjBC,SAAU,WACVC,SAAU,aACVC,mCAAoC,+CACpCC,kBAAmB,gCACnBC,sBAAuB,uCACvBC,oBAAqB,yCACrBC,cAAe,qBACfC,QAAS,WACTC,kBAAmB,wBACnBC,MAAO,SACPC,UAAW,mBACXC,Y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ACXC,6CACC,wEACDC,SAAU,YACVC,QAAS,gBACTC,YAAa,+BACbC,oBAAqB,qCACrBC,sCACC,sDACDC,mCACC,uDACDC,sDACC,4EACDC,6BAA8B,yCAC9BC,8BAA+B,0CAC/BC,eAAgB,oBAChBC,gBAAiB,wBACjBC,oBAAqB,iCACrBC,qBAAsB,wBACtB3vE,OAAQ,aACR4vE,WAAY,mBACZC,WAAY,wBACZC,eAAgB,2BAChBC,YAAa,mBACbC,eAAgB,mBAChBC,cAAe,wBACfC,aAAc,mBACdC,qBAAsB,8BACtBC,iCAAkC,iDAClCC,gBAAiB,uBACjBC,iCAAkC,4CAClCC,mCACC,qDACDC,KAAM,KACNC,UAAW,WACXC,MAAO,MACPC,GAAI,KACJC,sBAAuB,8BACvBC,sBAAuB,4BACvBC,mBAAoB,6BACpBC,8BACC,gDACDC,qBAAsB,kCACtBC,2BAA4B,0CAC5BC,4FACC,gIACDC,IAAK,MACLC,uBAAwB,+BACxBC,MAAO,QACPC,sBAAuB,iCACvBC,eAAgB,yBAChBC,SAAU,YACVC,gBAAiB,2BACjBC,IAAK,MACLC,KAAM,OACNC,sBAAuB,oCACvBC,QAAS,aACTC,UAAW,kCACXC,WAAY,kBACZC,YAAa,sBACbC,cAAe,oBACfC,oDACC,qEACDC,IAAK,YACLC,MAAO,YACP1jE,YAAa,cACb2jE,aAAc,eACdC,mBAAoB,6BACpBC,MAAO,cACPC,KAAM,SACNC,QAAS,kBACTC,uCAAwC,wCACxCC,8CACC,uDACDC,qCACC,oDACDC,sCACC,sDACDC,wEACC,uFACDC,6BAA8B,4BAC9BC,oDACC,6DACDC,mCAAoC,uCACpCC,wFACC,kIACDC,yEACC,kGACDC,kEACC,4FACDC,sCACC,0CACDC,oCACC,uDACDC,0BAA2B,uCAC3BC,+BAAgC,2CAChCC,qEACC,oFACDC,iDACC,4DACDC,gDACC,oDACDC,iCACC,qDACDC,2CACC,iDACDC,kCACC,oDACDC,kCACC,oDACDC,sCACC,2CACDC,+BAAgC,mCAChCC,mCAAoC,oCACpCC,+CACC,sDACDC,2DACC,8FACDC,4CACC,0EACDC,oCACC,mDACDC,qCACC,yDACDC,6BAA8B,2CAC9BC,6CACC,iDACDC,iCACC,gEACDC,kDACC,uDACDC,8CACC,qDACDC,uCAAwC,wCACxCC,yDACC,+DACDC,oCACC,gDACDC,iCACC,6CACDC,gCAAiC,uCACjCC,kCAAmC,sCACnCC,oCACC,0DACDC,8BAA+B,6CAC/BC,0CACC,4DACDC,sCACC,6CACDC,oCACC,8CACDC,+CACC,+DACDC,4CACC,gEACDC,6CACC,qEACDC,0CACC,wDACDC,kDACC,iEACDC,oDACC,gFACDC,oCACC,+CACDC,qDACC,kFACDC,2CACC,oDACDC,+BAAgC,6CAChCC,iCAAkC,wCAClCC,6CACC,8DACDC,mCAAoC,0CACpCC,+CACC,oEACDC,6BAA8B,6CAC9BC,kCAAmC,uCACnCC,oEACC,mFACDC,4BAA6B,wCAC7BC,gDACC,mEACDC,+BAAgC,+CAChCC,2DACC,gGACDC,wCACC,kDACDC,qDACC,gFACDC,4BAA6B,+CAC7BC,gDACC,uEACDC,uDACC,yFACDC,0DACC,2FACDC,mDACC,uFACDC,4CACC,kEACDC,+CACC,kEACDC,wCACC,iEACDC,0CACC,mEACDC,6CACC,sEACDC,sCACC,8DACDC,qCACC,4DACDC,wBAAyB,+CACzBC,0CACC,iEACDC,8CACC,gEACDC,iDACC,sEACDC,oBAAqB,wCACrBC,uCACC,gEACDC,2CACC,+DACDC,kGACC,2HACDC,6BAA8B,6CAC9BC,yCACC,6DACDC,uEACC,mFACDC,qEACC,oFACDC,4EACC,wFACDC,2EACC,wFACDC,sCACC,0DACDC,gCACC,mDACDC,gEACC,iGACDC,2CACC,gDACDC,yCACC,yDACDC,kCACC,6DACDC,mDACC,gFACDC,mDACC,kEACDC,gCAAiC,iCACjCC,8CACC,mFACDC,mCAAoC,yCACpCC,wBAAyB,8CACzBC,4DACC,yFACDC,sDACC,sEACDC,sDACC,0EACDC,gDACC,uDACDC,+CACC,+DACDC,gDACC,qEACDC,+BAAgC,wCAChCC,uBAAwB,oCACxBC,oCAAqC,2CACrCC,kDACC,iEACDC,wCACC,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BC,cAAe,6BACfC,IAAK,QACLC,UAAW,mBACXC,qCACC,mDACDC,wBAAyB,oCACzBC,kCACC,0DACDC,yBAA0B,uCAC1BC,sCACC,yDACDC,sCACC,4DACDC,iDACC,yDACDC,sBAAuB,8CACvBC,qCACC,uDACDC,6BAA8B,6CAC9BC,uCACC,uDACDC,uCACC,8DACDC,uCACC,qDACDC,2CACC,qEACDC,8CACC,yEACDC,kCACC,oDACDC,mEACC,6GACDC,wCACC,8DACDC,0BAA2B,sCAC3BC,uCACC,qDACDC,wCACC,uDACDC,yDACC,yFACDC,8CACC,4DACDC,+CACC,gEACDC,6DACC,mGACDC,uDACC,wFACDC,yDACC,kEACDC,wCACC,0EACDC,yDACC,6FACDC,mDACC,mFACDC,yDACC,yEACDC,oDACC,kGACDC,oDACC,2EACDC,gDACC,wEACDC,6BACC,sDACDC,yCACC,8DACDC,gEACC,sGACDC,4CACC,2DACDC,wBAAyB,oCACzBC,uBAAwB,mCACxBC,+DACC,gHACDC,iCACC,wDACDC,iDACC,6EACDC,wDACC,8FACDC,6BACC,sDACDC,8CACC,kEACDC,wCACC,sDACDC,kEACC,4GACDC,iCAAkC,gDAClCC,4DACC,sFACDC,4DACC,mGACDC,sDACC,yFACDC,iEACC,yGACDC,sCACC,oDACDC,kCAAmC,uCACnCC,mCACC,qDACDC,qCACC,0DACDC,+BAAgC,yCAChCC,0BAA2B,oCAC3BC,qDACC,uEACDC,uFACC,yHACDC,+EACC,wGACDC,iFACC,4GACDC,uBAAwB,4BACxBC,uCACC,mDACDC,kDACC,2DACDC,oDACC,6DACDC,4CACC,sDACDC,8CACC,sDACDC,6CACC,kEACDC,0CACC,0DACDC,wCACC,qEACDC,gCAAiC,0CACjCC,oCACC,wDACDC,2CACC,wDACDC,sCACC,yDACDC,eAAgB,yBAChBC,QAAS,mBACTC,aAAc,uBACdC,mBAAoB,iCACpBC,yBAA0B,sCAC1BC,eAAgB,0BAChBC,gBAAiB,qCACjBC,2CACC,+DACDC,2DACC,iGACDC,uBAAwB,0CACxBC,eAAgB,oCAC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","file":"static/js/main.62e594df.chunk.js","sourcesContent":["// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === \"localhost\" ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === \"[::1]\" ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport default function register(config) {\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener(\"load\", () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n \"This web app is being served cache-first by a service \" +\n \"worker. To learn more, visit https://bit.ly/CRA-PWA\"\n );\n });\n } \n // else if (window.location.pathname.startsWith('/project')) {\n // navigator.serviceWorker.ready.then(registration => {\n // console.info(\"Unregistering service worker for project route...\");\n // registration.unregister().then(() => {\n // console.info(\"Reloading...\");\n // window.location.reload();\n // });\n // });\n // }\n else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === \"installed\") {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n \"New content is available and will be used when all \" +\n \"tabs for this page are closed. See https://bit.ly/CRA-PWA.\"\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log(\"Content is cached for offline use.\");\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error(\"Error during service worker registration:\", error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { \"Service-Worker\": \"script\" },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get(\"content-type\");\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf(\"javascript\") === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n \"No internet connection found. App is running in offline mode.\"\n );\n });\n}\n\nexport function unregister() {\n if (\"serviceWorker\" in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","class HelperService {\n\tpublic static getQueryVariable(variable: string) {\n\t\tconst query = window.location.search.substring(1);\n\t\t// console.log(query); // \"app=article&act=news_content&aid=160990\"\n\t\tconst vars = query.split(\"&\");\n\n\t\tfor (let i = 0; i < vars.length; i = i + 1) {\n\t\t\tconst pair = vars[i].split(\"=\");\n\t\t\t// console.log(pair); // [ 'app', 'article' ][ 'act', 'news_content' ][ 'aid', '160990' ]\n\t\t\tif (pair[0] === variable) {\n\t\t\t\treturn pair[1];\n\t\t\t}\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tpublic static callAPI(url: string, callback: (data: any) => void) {\n\t\tfetch(url)\n\t\t\t.then(response => response.text())\n\t\t\t.then(text => {\n\t\t\t\tconst data = text.length ? JSON.parse(text) : {};\n\t\t\t\tcallback(data);\n\t\t\t})\n\t\t\t.catch(error => {\n\t\t\t\tconsole.log(error);\n\t\t\t});\n\t}\n\n\tpublic static callAPIPost(url: string, dataToPost: any, callback: (data: any) => void) {\n\t\tfetch(url, {\n method: \"POST\",\n body: JSON.stringify(dataToPost),\n headers: {\n \"Content-Type\": \"application/json\"\n }\n })\n\t\t\t.then(response => response.text())\n\t\t\t.then(text => {\n\t\t\t\tconst data = text.length ? JSON.parse(text) : {};\n\t\t\t\tcallback(data);\n\t\t\t})\n\t\t\t.catch(error => {\n\t\t\t\tconsole.log(error);\n\t\t\t});\n }\n\t\n}\n\nexport default HelperService;\n","\nconst production = {\n API_URL: \"/api/models/v1.0\"\n};\n\nconst development = {\n // API_URL: \"https://localhost:44369/api/models/v1.0\" \n API_URL: \"https://uat-rewrite-keeprite.azurewebsites.net/api/models/v1.0\"\n};\n\nexport const Config = process.env.NODE_ENV === \"development\" ? development : production;\n\nexport const SECTION_CENTRE_DISTANCE_DEFAULT: number = 16;\nexport const SECTION_WIDTH_DEFAULT: number = 1.5;\n","import IAirProperty from \"../models/interfaces/IAirProperty\";\nimport ICurtain from \"../models/interfaces/ICurtain\";\nimport IMaterial from \"../models/interfaces/IMaterial\";\nimport IEquipmentSelectionParameters from \"../models/interfaces/IEquipmentSelectionParameters\";\nimport UnitOfMeasure from \"../models/helpers/UnitOfMeasure\";\nimport HelperService from \"./HelperService\";\nimport { Config } from \"../Constants\";\n\nclass ConfigurationService {\n\tprivate static baseURL = Config.API_URL;\n\n\tpublic static getBoxApplications(callback: (data: any) => void) {\n\t\tconst url = `${this.baseURL}/configuration/applications`;\n\t\tHelperService.callAPI(url, callback);\n\t}\n\n\tpublic static getApplicationById(id: string, callback: (data: any) => void) {\n\t\tconst url = `${this.baseURL}/configuration/applications?id=${id}`;\n\t\tHelperService.callAPI(url, callback);\n\t}\n\n\tpublic static getApplicationByIdAsync = (\n boxApplicationId: number\n ) => {\n return new Promise((resolve, reject) => {\n try {\n ConfigurationService.getApplicationById(boxApplicationId.toString(), (data: any) => {\n resolve(data);\n });\n } catch (error) {\n reject(error);\n }\n });\n\t};\n\n\tpublic static getAppConstants(callback: (data: any) => void) {\n\t\tconst url = `${this.baseURL}/configuration/constants`;\n\t\tHelperService.callAPI(url, callback);\n\t}\n\n\tpublic static getBoxMaterials(callback: (data: IMaterial[]) => void) {\n\t\tconst url = `${this.baseURL}/configuration/materials`;\n\t\tHelperService.callAPI(url, callback);\n\t}\n\n\tpublic static getAirProperties(callback: (data: IAirProperty[]) => void) {\n\t\tconst url = `${this.baseURL}/configuration/airproperties`;\n\t\tHelperService.callAPI(url, callback);\n\t}\n\n\tpublic static getCurtains(callback: (data: ICurtain[]) => void) {\n\t\tconst url = `${this.baseURL}/configuration/curtains`;\n\t\tHelperService.callAPI(url, callback);\n\t}\n\t\n\tpublic static getApplicationUrlById(appId: number): string {\n\t\t// return `/images/box_applications/Application_${appId}.jpg`;\n\t\treturn `https://storageaccountkeeprbb51.blob.core.windows.net/load-calculator-images/Application_${appId}.jpg`;\n\t}\n\n\tpublic static getApprovalImageByNum(approvalImgNumber: number, isLarge:boolean):string {\n\t\tlet num: string = \"\";\n\t\tif (approvalImgNumber >= 10)\n\t\t\tnum = approvalImgNumber.toString();\n\t\telse\n\t\t\tnum = \"0\" + approvalImgNumber.toString();\n\n\t\tif (isLarge)\n\t\t\treturn `/images/approvals/Approval_${num}.jpg`;\n\t\telse\n\t\t\treturn `/images/approvals/Approval_${num}s.jpg`;\n\t}\n\n\tpublic static getModelDrawings(fileName: string):string {\n\t\treturn `/images/drawings/${fileName}`;\n\t}\n\n\tpublic static getDivisionLogo(divisionId: number): string {\n\t\t//CASE WHEN @DivisionID in (1, 11) THEN c9.PartNoB WHEN @DivisionID in (2, 12) THEN c9.PartNoK WHEN @DivisionID in (3, 13) THEN c9.PartNoT END AS PN\n\n\t\t//Bally\n\t\tif (divisionId === 1 || divisionId == 11) return \"/images/logos/LogoB.jpg\";\n\n\t\t//KeepRite\n\t\tif (divisionId === 2 || divisionId == 12) return \"/images/logos/LogoK.jpg\";\n\n\t\t//Trendon\n\t\tif (divisionId === 3 || divisionId == 13) return \"/images/logos/LogoT.jpg\";\n\n\t\treturn \"\";\n\t}\n\n\tpublic static getDivisionLogoAltString(divisionId: number): string {\n\t\t//CASE WHEN @DivisionID in (1, 11) THEN c9.PartNoB WHEN @DivisionID in (2, 12) THEN c9.PartNoK WHEN @DivisionID in (3, 13) THEN c9.PartNoT END AS PN\n\n\t\t//Bally\n\t\tif (divisionId === 1 || divisionId == 11) return \"Bally\";\n\n\t\t//KeepRite\n\t\tif (divisionId === 2 || divisionId == 12) return \"KeepRite\";\n\n\t\t//Trendon\n\t\tif (divisionId === 3 || divisionId == 13) return \"Trendon\";\n\n\t\treturn \"\";\n\t}\n\n\tprivate static getQueryString(request: any): string {\n\t\tconst queryString = Object.keys(request)\n\t\t\t.filter(key => request[key])\n\t\t\t.map(key => `${key}=${request[key]}`)\n\t\t\t.join(\"&\");\n\n\t\treturn queryString;\n\t}\n}\n\nexport default ConfigurationService;\n","enum MeasurementType {\n\tTemperature,\n\tPositiveTemperature,\n\tTemperatureRelative,\n\tDimension,\n\tSmallerDimension,\n\tWeight,\n\tRating,\n\tElectricPower,\n\tAirFlow,\n\tPositiveDecimal,\n\tPercent,\n\tArea,\n\tVolume\n}\n\nexport default MeasurementType;\n","import IEquipmentState from \"../models/interfaces/IEquipmentState\";\nimport ISystem from \"../models/interfaces/ISystem\";\n\n// declare var require: any\n\nclass StorageFacade {\n\n private static getItemRaw(key: string): any {\n let value = sessionStorage.getItem(key);\n if (value === null) value = localStorage.getItem(key);\n if (value === null) return null;\n\n return value;\n }\n\n private static getItem(key: string): any {\n let value = this.getItemRaw(key); \n return JSON.parse(value);\n }\n\n private static setItem(key: string, value: any) {\n sessionStorage.setItem(key, JSON.stringify(value));\n } \n\n public static get equipmentSelection(): IEquipmentState | null {\n // const store = require('store');\n return this.getItem(\"KeepRite.EquipmentSelection\");\n } \n\n public static set equipmentSelection(selection: IEquipmentState | null) {\n // const store = require('store');\n this.setItem(\"KeepRite.EquipmentSelection\", selection);\n } \n \n public static get project(): any | null {\n // const store = require('store');\n return this.getItem(\"KeepRite.Project\");\n } \n\n public static get quote(): any | null {\n return this.getItem(\"KeepRite.Quote\");\n } \n\n public static get loadCalcSystem(): ISystem | null {\n // const store = require('store');\n return this.getItem(\"KeepRite.LoadCalcSystem\");\n } \n\n public static set loadCalcSystem(system: ISystem | null) {\n // const store = require('store');\n this.setItem(\"KeepRite.LoadCalcSystem\", system);\n }\n\n public static transferLoadCalcSystemFromSessionToLocal() { \n const system: string | null = sessionStorage.getItem(\"KeepRite.LoadCalcSystem\")\n if (system !== null) localStorage.setItem(\"KeepRite.LoadCalcSystem\", system);\n }\n\n public static transferProjectFromSessionToLocal() {\n const project: string | null = sessionStorage.getItem(\"KeepRite.Project\");\n if (project !==null) localStorage.setItem(\"KeepRite.Project\", project);\n }\n\n public static get brand(): string {\n return this.getItemRaw(\"brand\");\n }\n\n public static get divisionId(): string {\n let divId: string;\n divId = \"-1\";\n\n if (this.project?.Division?.id)\n divId = this.project.Division.id.toString();\n else {\n let divisionId = this.getItem(\"KeepRite.DivisionId\");\n if (divisionId)\n divId = divisionId.toString();\n }\n\n return divId;\n } \n\n public static get jobName(): string {\n return this.project?.ProjectName\n ? this.project.ProjectName.toString()\n : \"\";\n } \n\n public static get myInfo(): any {\n return this.project?.MyInfo;\n } \n\n public static get customerInfo(): any {\n return this.project?.CustomerInfo;\n } \n\n public static get AllowedSpecialModels(): any {\n return this.getItem(\"KeepRite.UserProfile\");\n }\n\n public static get UsesMetricSystem(): boolean {\n const userProfile = this.getItem(\"KeepRite.UserProfile\");\n return userProfile?.UsesMetricSystem ?? false;\n }\n\n public static get EquipmentToPrint(): any {\n\n return this.getItem(\"KeepRite.EquipmentToPrint\");\n } \n\n public static get CondenserConnections(): any {\n return this.getItem(\"KeepRite.CondenserConnections\");\n } \n\n public static get CondenserToPrint(): any {\n\n return this.getItem(\"KeepRite.ACCCondenser\");\n }\n\n public static get ACCFilters(): any {\n return this.getItem(\"KeepRite.ACCFilters\");\n }\n\n public static get CPMFormInput(): any {\n return this.getItem(\"KeepRite.CPMFormInput\");\n }\n\n public static get CPMQuoteFormInput(): any {\n return this.getItem(\"KeepRite.CPMQuoteFormInput\");\n }\n\n public static get EquipmentToPrint_Options(): any {\n return this.getItem(\"KeepRite.EquipmentToPrint.Options\");\n }\n\n public static get EquipmentToPrint_ExcludedOptions(): any {\n return this.getItem(\"KeepRite.EquipmentToPrint.ExcludedOptions\");\n }\n\n public static get EquipmentToPrint_CapacityHasError(): boolean {\n return this.getItem(\"KeepRite.EquipmentToPrint.CapacityHasError\");\n }\n\n public static set EquipmentToPrint_OptionsHasError(hasError: boolean) { \n this.setItem(\"KeepRite.EquipmentToPrint.OptionsHasError\", hasError);\n }\n\n public static get EquipmentToPrint_Attributes(): any {\n return this.getItem(\"KeepRite.EquipmentToPrint.Attributes\");\n }\n\n public static get CPMSubmittedBy(): string {\n const submittedBy = this.getItemRaw(\"KeepRite.CPMSubmittedBy\");\n if (submittedBy)\n return submittedBy;\n else\n return \"\";\n }\n\n public static get isFromLegacy(): boolean {\n const userProfile = this.getItem(\"KeepRite.UserProfile\");\n return userProfile?.IsFromLegacyApp ?? false;\n }\n \n}\n\nexport default StorageFacade;\n","export type measure = number | null | undefined;\n\nexport const hasValue = (\n value: any\n): boolean => {\n return (value !== null && value !== undefined && value !== \"\");\n}\n\nexport const getNumericValue = (\n value: measure\n): number => {\n // If you are sure that value is not null and not undefined, \n // use this function to prevent the linter error \"Object is possibly 'null' or 'undefined'.ts(2533)\".\n return (value === null || value === undefined)\n ? 0\n : Number(value);\n}\n\nexport const roundOff = (\n value: measure,\n decimalPlaces?: number\n): measure => {\n if (value !== null && value !== undefined) {\n if (decimalPlaces === undefined) {\n return value;\n\t\t}\n\t\tconst factor = 10 ** decimalPlaces;\n\t\treturn Math.round(value * factor) / factor;\n }\n \n return undefined;\n}\n\nexport const localeString = (\n value: measure,\n decimalPlaces: number\n) => {\n if (!hasValue(value)) {\n return \"\";\n }\n return getNumericValue(value)\n .toLocaleString(\n navigator.language, \n { \n maximumFractionDigits: decimalPlaces\n }\n );\n};\n\nexport const countDecimals = (\n value: measure\n) => {\n if (!hasValue(value)) {\n return 0;\n }\n if (Math.floor(getNumericValue(value)) === getNumericValue(value)) {\n return 0;\n }\n return getNumericValue(value).toString().split(\".\")[1].length || 0;\n}","/* eslint-disable lines-between-class-members */\n/* eslint-disable camelcase */\n\nimport MeasurementType from \"../../enums/MeasurementType\";\nimport StorageFacade from \"../../services/StorageFacade\";\nimport { getNumericValue, hasValue, localeString, measure, roundOff } from \"../../types/measure\";\n\nclass UnitOfMeasure {\n\n\tpublic static KilowattsDecimalPlaces: number = 3;\n\n\t// Rating\n\tprivate static BTUH_to_Kw: number = 0.0002930711;\n\tprivate static Kw_to_BTUH: number = 1 / 0.0002930711;\n\tprivate static BTUH_to_W: number = 0.2930711;\n\tprivate static W_to_BTUH: number = 1 / 0.2930711;\n\tprivate static BTUH_to_Kc: number = 0.2519958;\n\tprivate static Kc_to_BTUH: number = 1 / 0.2519958;\n\tprivate static HP_to_W: number = 746.0;\n\tprivate static W_to_HP: number = 1 / 746.0;\n\n\t// Electrical Power\n\tprivate static BTUH_to_HP: number = (0.2930711 * 1) / 746;\n\tprivate static HP_to_BTUH: number = 746 / 0.2930711;\n\n\t// Weight\n\tprivate static LB_to_KG: number = 0.453592;\n\tprivate static KG_to_LB: number = 1 / 0.453592;\n\n\t// Dimension\n\tprivate static M_to_Ft: number = 3.28084;\n\tprivate static Ft_to_M: number = 1 / 3.28084;\n\tprivate static M_to_In: number = 39.3701;\n\tprivate static In_to_M: number = 1 / 39.3701;\n\tprivate static Ft_to_In: number = 12.0;\n\tprivate static In_to_Ft: number = 1 / 12.0;\n\tprivate static SqM_to_SqFt: number = 10.764;\n\tprivate static SqFt_to_SqM: number = 1 / 10.764;\n\tprivate static CuM_to_CuFt: number = 35.3147;\n\tprivate static CuFt_to_CuM: number = 1 / 35.3147;\n\n\t// Air Flow\n\tprivate static CFM_to_CMPH: number = 1.69901;\n\tprivate static CMPH_to_CFM: number = 1 / 1.69901;\n\tprivate static CFM_to_LPS: number = 0.4719474;\n\tprivate static LPS_to_CFM: number = 1 / 0.4719474;\n\tprivate static CFM_to_CMPS: number = 0.4719474 / 1000;\n\tprivate static CMPS_to_CFM: number = 1 / (0.4719474 / 1000);\n\n\tpublic static TDatRH(rh: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(39.5 - rh * 0.35, decimalPlaces));\n\t}\n\n\tpublic static RHatTD(td: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff((39.5 - td) / 0.35, decimalPlaces));\n\t}\n\n\tpublic static TemperatureFtoC(f: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(((f - 32) * 5) / 9, decimalPlaces));\n\t}\n\n\tpublic static TemperatureCtoF(c: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff((c * 9) / 5 + 32, decimalPlaces));\n\t}\n\n\tpublic static TemperatureRelativeFtoC(\n\t\tf: number,\n\t\tdecimalPlaces?: number\n\t): number {\n\t\treturn getNumericValue(roundOff((f * 5) / 9, decimalPlaces));\n\t}\n\n\tpublic static TemperatureRelativeCtoF(\n\t\tc: number,\n\t\tdecimalPlaces?: number\n\t): number {\n\t\treturn getNumericValue(roundOff((c * 9) / 5, decimalPlaces));\n\t}\n\n\tpublic static RatingKilowattsToBTUH(\n\t\tkw: number,\n\t\tdecimalPlaces?: number\n\t): number {\n\t\treturn getNumericValue(roundOff(kw * this.Kw_to_BTUH, decimalPlaces));\n\t}\n\n\tpublic static RatingBTUHtoKilowatts(\n\t\tb: number,\n\t\tdecimalPlaces?: number\n\t): number {\n\t\treturn getNumericValue(roundOff(b * this.BTUH_to_Kw, decimalPlaces));\n\t}\n\n\tpublic static RatingWattsToBTUH(w: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(w * this.W_to_BTUH, decimalPlaces));\n\t}\n\n\tpublic static RatingBTUHtoWatts(b: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(b * this.BTUH_to_W, decimalPlaces));\n\t}\n\n\tpublic static BTHUToHP(b: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(b * this.BTUH_to_HP, decimalPlaces));\n\t}\n\n\tpublic static HPToBTHU(h: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(h * this.HP_to_BTUH, decimalPlaces));\n\t}\n\n\tpublic static KgToLb(kg: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(kg * this.KG_to_LB, decimalPlaces));\n\t}\n\n\tpublic static LbToKg(lb: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(lb * this.LB_to_KG, decimalPlaces));\n\t}\n\n\tpublic static HPtoWatts(h: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(h * this.HP_to_W, decimalPlaces));\n\t}\n\n\tpublic static WattstoHp(w: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(w * this.W_to_HP, decimalPlaces));\n\t}\n\n\tpublic static MtoFt(m: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(m * this.M_to_Ft, decimalPlaces));\n\t}\n\n\tpublic static FttoM(ft: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(ft * this.Ft_to_M, decimalPlaces));\n\t}\n\n\tpublic static MtoIn(m: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(m * this.M_to_In, decimalPlaces));\n\t}\n\n\tpublic static IntoM(_in: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(_in * this.In_to_M, decimalPlaces));\n\t}\n\n\tpublic static FttoIn(ft: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(ft * this.Ft_to_In, decimalPlaces));\n\t}\n\n\tpublic static IntoFt(_in: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(_in * this.In_to_Ft, decimalPlaces));\n\t}\n\n\tpublic static SqMtoSqFt(sqm: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(sqm * this.SqM_to_SqFt, decimalPlaces));\n\t}\n\n\tpublic static SqFttoSqM(sqft: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(sqft * this.SqFt_to_SqM, decimalPlaces));\n\t}\n\n\tpublic static CuMtoCuFt(cubicm: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(cubicm * this.CuM_to_CuFt, decimalPlaces));\n\t}\n\n\tpublic static CuFttoCuM(cubicft: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(cubicft * this.CuFt_to_CuM, decimalPlaces));\n\t}\n\n\tpublic static CFMtoCMPH(cfm: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(cfm * this.CFM_to_CMPH, decimalPlaces));\n\t}\n\n\tpublic static CMPHtoCFM(cmph: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(cmph * this.CMPH_to_CFM, decimalPlaces));\n\t}\n\n\tpublic static CFMtoLPS(cfm: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(cfm * this.CFM_to_LPS, decimalPlaces));\n\t}\n\n\tpublic static LPStoCFM(lps: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(lps * this.LPS_to_CFM, decimalPlaces));\n\t}\n\n\tpublic static CFMtoCMPS(cfm: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(cfm * this.CFM_to_CMPS, decimalPlaces));\n\t}\n\n\tpublic static CMPStoCFM(cmps: number, decimalPlaces?: number): number {\n\t\treturn getNumericValue(roundOff(cmps * this.CMPS_to_CFM, decimalPlaces));\n\t}\n\n\tpublic static decimalToFraction(dec: number): string {\n\t\tif (dec === undefined) return \"\";\n\n\t\tconst gcd = (a: any, b: any): any => {\n\t\t\tif (b < 0.0000001) return a; // Since there is a limited precision we need to limit the value.\n\t\t\treturn gcd(b, Math.floor(a % b)); // Discard any fractions due to limitations in precision.\n\t\t};\n\n\t\tlet whole: number = 0;\n\t\tif (dec >= 1) whole = Math.floor(dec);\n\n\t\tconst fraction: number = dec - whole;\n\t\tconst len = fraction.toString().length - 2;\n\n\t\tlet denominator = 10 ** len;\n\t\tlet numerator = fraction * denominator;\n\n\t\tconst divisor = gcd(numerator, denominator); // Should be 5\n\n\t\tnumerator /= divisor; // Should be 687\n\t\tdenominator /= divisor; // Should be 2000\n\n\t\tif (whole > 0) {\n\t\t\tif (fraction > 0)\n\t\t\t\treturn `${whole} ${Math.floor(numerator)}/${Math.floor(denominator)}`;\n\n\t\t\treturn whole.toString();\n\t\t}\n\n\t\treturn `${Math.floor(numerator)}/${Math.floor(denominator)}`;\n\t}\n\n\tpublic static formatFraction(dec: number): string {\n\t\tconst LargestDenominator: number = 64;\n\n\t\tlet Denominator: number;\n\t\tlet GCD: number;\n\t\tlet Numerator: number;\n\t\tlet Remainder: number;\n\t\tlet TopNumber: number;\n\t\tlet WholeNumber: number = 0;\n\t\tlet result: string = \"\";\n\n\t\tif (dec >= 1) WholeNumber = Math.floor(dec);\n\t\tDenominator = LargestDenominator;\n\t\tNumerator = Math.floor(Denominator * Math.abs(dec - WholeNumber));\n\n\t\tif (Numerator > 0) {\n\t\t\tGCD = LargestDenominator;\n\t\t\tTopNumber = Numerator;\n\n\t\t\tdo {\n\t\t\t\tRemainder = GCD % TopNumber;\n\t\t\t\tGCD = TopNumber;\n\t\t\t\tTopNumber = Remainder;\n\t\t\t} while (Remainder !== 0);\n\n\t\t\tNumerator = Math.floor(Numerator / GCD);\n\t\t\tDenominator = Math.floor(Denominator / GCD);\n\t\t\tif (Math.abs(WholeNumber) > 0) {\n\t\t\t\tresult = `${WholeNumber} ${Numerator}/${Denominator}`;\n\t\t\t} else {\n\t\t\t\tresult = `${Numerator}/${Denominator}`;\n\t\t\t\tif (dec < 0) result = `-${result}`;\n\t\t\t}\n\t\t} else result = WholeNumber.toString();\n\n\t\tif (result === \"0\") return \"\";\n\n\t\treturn result;\n\t}\n\n\tpublic static numberRound(numberToRound: any, numOfDecimalPlaces: number) {\n\t\tif (numberToRound === undefined || Number.isNaN(numberToRound)) {\n\t\t\treturn \"\";\n\t\t}\n\t\tconst result = Math.round(numberToRound * Math.pow(10, numOfDecimalPlaces)) / Math.pow(10, numOfDecimalPlaces);\n\n\t\tif (!result.toString().includes(\".\")) {\n\t\t\tlet decPlaces = \".\";\n\t\t\tfor (let i = 1; i <= numOfDecimalPlaces; i += 1) {\n\t\t\t\tdecPlaces += \"0\";\n\t\t\t}\n\n\t\t\treturn result.toString() + decPlaces;\n\t\t}\n\n\t\treturn result.toString();\n\t}\n\n\t// find the number value and the unit of measure value from the input\n\tpublic static processInput(input: string): [string, string] {\n\t\tconst numbers: string = \"-0123456789.,\";\n\n\t\tlet numberValue: string = \"\";\n\t\tlet umValue: string = \"\";\n\n\t\tfor (let i = 0; i < input.length; i += 1) {\n\t\t\tconst character = input.charAt(i);\n\t\t\tif (numbers.indexOf(character) >= 0) {\n\t\t\t\tnumberValue += character;\n\t\t\t} else {\n\t\t\t\tumValue += character;\n\t\t\t}\n\t\t}\n\n\t\treturn [numberValue, umValue];\n\t}\n\n\tpublic static allowedCharacter(\n\t\tinput: string,\n\t\tmeasurementType: MeasurementType\n\t): boolean {\n\t\tconst numbers: string = \"0123456789.\";\n\n\t\tif (numbers.indexOf(input) < 0) {\n\t\t\tswitch (measurementType) {\n\t\t\t\tcase MeasurementType.AirFlow:\n\t\t\t\t\treturn false; // not implemented yet\n\t\t\t\tcase MeasurementType.Dimension:\n\t\t\t\tcase MeasurementType.SmallerDimension:\n\t\t\t\t\tif (\n\t\t\t\t\t\tinput.toLowerCase() !== \"m\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== \"f\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== \"t\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== \"i\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== \"n\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== \"c\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== \"'\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== '\"'\n\t\t\t\t\t)\n\t\t\t\t\t\treturn false;\n\t\t\t\t\treturn true;\n\t\t\t\tcase MeasurementType.ElectricPower:\n\t\t\t\t\tif (input.toLowerCase() !== \"h\" && input.toLowerCase() !== \"w\")\n\t\t\t\t\t\treturn false;\n\t\t\t\t\treturn true;\n\t\t\t\tcase MeasurementType.Rating:\n\t\t\t\t\tif (\n\t\t\t\t\t\tinput.toLowerCase() !== \"b\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== \"w\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== \"k\" &&\n\t\t\t\t\t\tinput !== \"-\"\n\t\t\t\t\t)\n\t\t\t\t\t\treturn false;\n\t\t\t\t\treturn true;\n\t\t\t\tcase MeasurementType.Temperature:\n\t\t\t\t\tif (\n\t\t\t\t\t\tinput.toLowerCase() !== \"c\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== \"f\" &&\n\t\t\t\t\t\tinput !== \"-\"\n\t\t\t\t\t)\n\t\t\t\t\t\treturn false;\n\t\t\t\t\treturn true;\n\t\t\t\tcase MeasurementType.PositiveTemperature:\n\t\t\t\t\tif (input.toLowerCase() !== \"c\" && input.toLowerCase() !== \"f\")\n\t\t\t\t\t\treturn false;\n\t\t\t\t\treturn true;\n\t\t\t\tcase MeasurementType.TemperatureRelative:\n\t\t\t\t\tif (input.toLowerCase() !== \"c\" && input.toLowerCase() !== \"f\")\n\t\t\t\t\t\treturn false;\n\t\t\t\t\treturn true;\n\t\t\t\tcase MeasurementType.Weight:\n\t\t\t\t\tif (input.toLowerCase() !== \"l\" && input.toLowerCase() !== \"k\")\n\t\t\t\t\t\treturn false;\n\t\t\t\t\treturn true;\n\t\t\t\tcase MeasurementType.PositiveDecimal:\n\t\t\t\t\treturn false;\n\t\t\t\tcase MeasurementType.Area:\n\t\t\t\tcase MeasurementType.Volume:\n\t\t\t\t\tif (\n\t\t\t\t\t\tinput.toLowerCase() !== \"m\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== \"f\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== \"t\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== \"'\" &&\n\t\t\t\t\t\tinput.toLowerCase() !== '\"'\n\t\t\t\t\t)\n\t\t\t\t\t\treturn false;\n\t\t\t\t\treturn true;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (numbers.indexOf(input) >= 0) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tpublic static convertValueWithUnit(\n\t\tvalueWithUnit: string,\n\t\tusesMetric: boolean,\n\t\tmeasurementType: MeasurementType\n\t): measure {\n\t\tconst [numberValue, umValue] = this.processInput(valueWithUnit);\n\n\t\tif (!numberValue || numberValue.length <= 0) return undefined;\n\t\tif (!umValue || umValue.length <= 0) return +numberValue;\n\n\t\tswitch (measurementType) {\n\t\t\tcase MeasurementType.Temperature:\n\t\t\tcase MeasurementType.PositiveTemperature: {\n\t\t\t\t// Metric default unit for temperature is Celsius.\n\t\t\t\t// Imperial default unit for temperature is Fahrenheit.\n\n\t\t\t\t// Fahrenheit\n\t\t\t\tif (umValue.trim().toLowerCase() === \"f\") {\n\t\t\t\t\t// Fahrenheit to Celsius\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn UnitOfMeasure.TemperatureFtoC(+numberValue);\n\t\t\t\t\t}\n\t\t\t\t\t// Fahrenheit to Fahrenheit\n\t\t\t\t\treturn +numberValue;\n\t\t\t\t}\n\t\t\t\t// Celsius\n\t\t\t\tif (umValue.trim().toLowerCase() === \"c\") {\n\t\t\t\t\t// Celsius to Celsius\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn +numberValue;\n\t\t\t\t\t}\n\t\t\t\t\t// Celsius to Fahrenheit\n\t\t\t\t\treturn UnitOfMeasure.TemperatureCtoF(+numberValue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase MeasurementType.TemperatureRelative: {\n\t\t\t\t// Metric default unit for temperature is Celsius.\n\t\t\t\t// Imperial default unit for temperature is Fahrenheit.\n\n\t\t\t\t// Fahrenheit\n\t\t\t\tif (umValue.trim().toLowerCase() === \"f\") {\n\t\t\t\t\t// Fahrenheit to Celsius\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn UnitOfMeasure.TemperatureRelativeFtoC(+numberValue);\n\t\t\t\t\t}\n\t\t\t\t\t// Fahrenheit to Fahrenheit\n\t\t\t\t\treturn +numberValue;\n\t\t\t\t}\n\t\t\t\t// Celsius\n\t\t\t\tif (umValue.trim().toLowerCase() === \"c\") {\n\t\t\t\t\t// Celsius to Celsius\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn +numberValue;\n\t\t\t\t\t}\n\t\t\t\t\t// Celsius to Fahrenheit\n\t\t\t\t\treturn UnitOfMeasure.TemperatureRelativeCtoF(+numberValue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase MeasurementType.Rating: {\n\t\t\t\t// Metric default unit for rating is Kilowatts.\n\t\t\t\t// Imperial default unit for rating is BTUH.\n\n\t\t\t\t// BTUH\n\t\t\t\tif (umValue.charAt(0).toLowerCase() === \"b\") {\n\t\t\t\t\t// BTUH to Kilowatts\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn UnitOfMeasure.RatingBTUHtoWatts(+numberValue) / 1000.0;\n\t\t\t\t\t}\n\t\t\t\t\t// BTUH to BTUH\n\t\t\t\t\treturn +numberValue;\n\t\t\t\t}\n\t\t\t\t// Watts\n\t\t\t\tif (umValue.charAt(0).toLowerCase() === \"w\") {\n\t\t\t\t\t// Watts to Kilowatts\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn +numberValue / 1000.0;\n\t\t\t\t\t}\n\t\t\t\t\t// Watts to BTUH\n\t\t\t\t\treturn UnitOfMeasure.RatingWattsToBTUH(+numberValue);\n\t\t\t\t}\n\t\t\t\t// Kilowatts\n\t\t\t\tif (umValue.charAt(0).toLowerCase() === \"k\") {\n\t\t\t\t\t// Kilowatts to Kilowatts\n\t\t\t\t\tif (usesMetric)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn +numberValue;\n\t\t\t\t\t}\n\t\t\t\t\t// Kilowatts to BTUH\n\t\t\t\t\treturn UnitOfMeasure.RatingWattsToBTUH(+numberValue * 1000);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase MeasurementType.Dimension: {\n\t\t\t\t// Metric default unit for dimension is Meters.\n\t\t\t\t// Imperial default unit for dimension is Feet.\n\n\t\t\t\t// Feet\n\t\t\t\tif (\n\t\t\t\t\tumValue.trim().toLowerCase() === \"f\" ||\n\t\t\t\t\tumValue.trim().toLowerCase() === \"ft\" ||\n\t\t\t\t\tumValue.trim().toLowerCase() === \"'\"\n\t\t\t\t) {\n\t\t\t\t\t// Feet to Meters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn UnitOfMeasure.FttoM(+numberValue);\n\t\t\t\t\t}\n\t\t\t\t\t// Feet to Feet\n\t\t\t\t\treturn +numberValue;\n\t\t\t\t}\n\t\t\t\t// Centimeters\n\t\t\t\tif (umValue.trim().toLowerCase() === \"cm\") {\n\t\t\t\t\t// Centimeters to Meters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn +numberValue / 100.0;\n\t\t\t\t\t}\n\t\t\t\t\t// Centimeters to Feet\n\t\t\t\t\treturn UnitOfMeasure.MtoFt(+numberValue / 100.0);\n\t\t\t\t}\n\t\t\t\t// Millimeters\n\t\t\t\tif (umValue.trim().toLowerCase() === \"mm\") {\n\t\t\t\t\t// Millimeters to Meters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn +numberValue / 1000.0;\n\t\t\t\t\t}\n\t\t\t\t\t// Millimeters to Feet\n\t\t\t\t\treturn UnitOfMeasure.MtoFt(+numberValue / 1000.0);\n\t\t\t\t}\n\t\t\t\t// Meters\n\t\t\t\tif (umValue.trim().toLowerCase() === \"m\") {\n\t\t\t\t\t// Meters to Meters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn +numberValue;\n\t\t\t\t\t}\n\t\t\t\t\t// Meters to Feet\n\t\t\t\t\treturn UnitOfMeasure.MtoFt(+numberValue);\n\t\t\t\t}\n\t\t\t\t// Inches\n\t\t\t\tif (\n\t\t\t\t\tumValue.trim().toLowerCase() === \"i\" ||\n\t\t\t\t\tumValue.trim().toLowerCase() === \"in\" ||\n\t\t\t\t\tumValue.trim().toLowerCase() === '\"'\n\t\t\t\t) {\n\t\t\t\t\t// Inches to Meters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn UnitOfMeasure.IntoM(+numberValue);\n\t\t\t\t\t}\n\t\t\t\t\t// Inches to Feet\n\t\t\t\t\treturn UnitOfMeasure.IntoFt(+numberValue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase MeasurementType.SmallerDimension: {\n\t\t\t\t// Metric default unit for smaller dimension is Millimeters.\n\t\t\t\t// Imperial default unit for smaller dimension is Inches.\n\n\t\t\t\t// Feet\n\t\t\t\tif (\n\t\t\t\t\tumValue.trim().toLowerCase() === \"f\" ||\n\t\t\t\t\tumValue.trim().toLowerCase() === \"ft\" ||\n\t\t\t\t\tumValue.trim().toLowerCase() === \"'\"\n\t\t\t\t) {\n\t\t\t\t\t// Feet to Millimeters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn UnitOfMeasure.FttoM(+numberValue) * 1000.0;\n\t\t\t\t\t}\n\t\t\t\t\t// Feet to Inches\n\t\t\t\t\treturn UnitOfMeasure.FttoIn(+numberValue);\n\t\t\t\t}\n\t\t\t\t// Centimeters\n\t\t\t\tif (umValue.trim().toLowerCase() === \"cm\") {\n\t\t\t\t\t// Centimeters to Millimeters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn +numberValue * 10.0;\n\t\t\t\t\t}\n\t\t\t\t\t// Centimeters to Inches\n\t\t\t\t\treturn UnitOfMeasure.MtoIn(+numberValue / 100.0);\n\t\t\t\t}\n\t\t\t\t// Millimeters\n\t\t\t\tif (umValue.trim().toLowerCase() === \"mm\") {\n\t\t\t\t\t// Millimeters to Millimeters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn +numberValue;\n\t\t\t\t\t}\n\t\t\t\t\t// Millimeters to Inches\n\t\t\t\t\treturn UnitOfMeasure.MtoIn(+numberValue / 1000.0);\n\t\t\t\t}\n\t\t\t\t// Meters\n\t\t\t\tif (umValue.trim().toLowerCase() === \"m\") {\n\t\t\t\t\t// Meters to Millimeters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn +numberValue * 1000.0;\n\t\t\t\t\t}\n\t\t\t\t\t// Meters to Inches\n\t\t\t\t\treturn UnitOfMeasure.MtoIn(+numberValue);\n\t\t\t\t}\n\t\t\t\t// Inches\n\t\t\t\tif (\n\t\t\t\t\tumValue.trim().toLowerCase() === \"i\" ||\n\t\t\t\t\tumValue.trim().toLowerCase() === \"in\" ||\n\t\t\t\t\tumValue.trim().toLowerCase() === '\"'\n\t\t\t\t) {\n\t\t\t\t\t// Inches to Millimeters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn UnitOfMeasure.IntoM(+numberValue) * 1000.0;\n\t\t\t\t\t}\n\t\t\t\t\t// Inches to Inches\n\t\t\t\t\treturn +numberValue;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase MeasurementType.Weight: {\n\t\t\t\t// Metric default unit for weight is Kilograms.\n\t\t\t\t// Imperial default unit for weight is Pounds.\n\n\t\t\t\t// Pounds\n\t\t\t\tif (umValue.charAt(0).toLowerCase() === \"l\") {\n\t\t\t\t\t// Pounds to Kilograms\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn UnitOfMeasure.LbToKg(+numberValue);\n\t\t\t\t\t}\n\t\t\t\t\t// Pounds to Pounds\n\t\t\t\t\treturn +numberValue;\n\t\t\t\t}\n\t\t\t\t// Kilograms\n\t\t\t\tif (umValue.charAt(0).toLowerCase() === \"k\") {\n\t\t\t\t\t// Kilograms to Kilograms\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn +numberValue;\n\t\t\t\t\t}\n\t\t\t\t\t// Kilograms to Pounds\n\t\t\t\t\treturn UnitOfMeasure.KgToLb(+numberValue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase MeasurementType.ElectricPower: {\n\t\t\t\t// Metric default unit for electric power is Watts.\n\t\t\t\t// Imperial default unit for electric power is Horsepower.\n\n\t\t\t\t// HP\n\t\t\t\tif (umValue.charAt(0).toLowerCase() === \"h\") {\n\t\t\t\t\t// HP to W\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn UnitOfMeasure.HPtoWatts(+numberValue);\n\t\t\t\t\t}\n\t\t\t\t\t// HP to HP\n\t\t\t\t\treturn +numberValue;\n\t\t\t\t}\n\t\t\t\t// W\n\t\t\t\tif (umValue.charAt(0).toLowerCase() === \"w\") {\n\t\t\t\t\t// W to W\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn +numberValue;\n\t\t\t\t\t}\n\t\t\t\t\t// W to HP\n\t\t\t\t\treturn UnitOfMeasure.WattstoHp(+numberValue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase MeasurementType.Area: {\n\t\t\t\t// Metric default unit for area is Square Meters.\n\t\t\t\t// Imperial default unit for area is Square Feet.\n\n\t\t\t\t// SqFeet\n\t\t\t\tif (\n\t\t\t\t\tumValue.trim().toLowerCase() === \"f\" ||\n\t\t\t\t\tumValue.trim().toLowerCase() === \"ft\" ||\n\t\t\t\t\tumValue.trim().toLowerCase() === \"'\"\n\t\t\t\t) {\n\t\t\t\t\t// SqFeet to SqMeters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn UnitOfMeasure.SqFttoSqM(+numberValue);\n\t\t\t\t\t}\n\t\t\t\t\t// SqFeet to SqFeet\n\t\t\t\t\treturn +numberValue;\n\t\t\t\t}\n\t\t\t\t// SqMeters\n\t\t\t\tif (umValue.trim().toLowerCase() === \"m\") {\n\t\t\t\t\t// SqMeters to SqMeters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn +numberValue;\n\t\t\t\t\t}\n\t\t\t\t\t// SqMeters to SqFeet\n\t\t\t\t\treturn UnitOfMeasure.SqMtoSqFt(+numberValue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase MeasurementType.Volume: {\n\t\t\t\t// Metric default unit for volume is Cubic Meters.\n\t\t\t\t// Imperial default unit for volume is Cubic Feet.\n\n\t\t\t\t// CuFeet\n\t\t\t\tif (\n\t\t\t\t\tumValue.trim().toLowerCase() === \"f\" ||\n\t\t\t\t\tumValue.trim().toLowerCase() === \"ft\" ||\n\t\t\t\t\tumValue.trim().toLowerCase() === \"'\"\n\t\t\t\t) {\n\t\t\t\t\t// CuFeet to CuMeters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn UnitOfMeasure.CuFttoCuM(+numberValue);\n\t\t\t\t\t}\n\t\t\t\t\t// CuFeet to CuFeet\n\t\t\t\t\treturn +numberValue;\n\t\t\t\t}\n\t\t\t\t// CuMeters\n\t\t\t\tif (umValue.trim().toLowerCase() === \"m\") {\n\t\t\t\t\t// CuMeters to CuMeters\n\t\t\t\t\tif (usesMetric) {\n\t\t\t\t\t\treturn +numberValue;\n\t\t\t\t\t}\n\t\t\t\t\t// SqMeters to CuFeet\n\t\t\t\t\treturn UnitOfMeasure.CuMtoCuFt(+numberValue);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\treturn +numberValue;\n\t\t}\n\n\t\treturn +numberValue;\n\t}\n\n\tpublic static getDisplayValue(value: measure, decimalPlaces?: number): string | undefined {\n\t\tif (!hasValue(value)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tlet displayValue = getNumericValue(value).toString();\n\t\tif (hasValue(decimalPlaces)) {\n\t\t\tdisplayValue = localeString(value, getNumericValue(decimalPlaces));\n\t\t}\n\t\treturn displayValue;\n\t}\n\n\tpublic static getConvertedDisplayValue(\n\t\timperialValue: number,\n\t\tmeasurementType: MeasurementType\n\t) {\n\t\tif (StorageFacade.UsesMetricSystem) {\n\t\t\treturn this.convertImperialToMetric(imperialValue, measurementType);\n\t\t}\n\t\treturn imperialValue;;\n\t}\n\n\tpublic static getMeasureDisplayValue(imperialValue: measure, measurementType: MeasurementType, showLocaleString: boolean, decimalPlaces?: number): string | undefined {\n\t\tif (!hasValue(imperialValue)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tlet displayValue = this.getConvertedDisplayValue(getNumericValue(imperialValue), measurementType).toString();\n\t\tif (hasValue(decimalPlaces)) {\n\t\t\tif (showLocaleString) {\n\t\t\t\tdisplayValue = localeString(this.getConvertedDisplayValue(getNumericValue(imperialValue), measurementType), getNumericValue(decimalPlaces));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconst roundedOffValue = roundOff(this.getConvertedDisplayValue(getNumericValue(imperialValue), measurementType), getNumericValue(decimalPlaces));\t\n\t\t\t\tdisplayValue = hasValue(roundedOffValue) ? getNumericValue(roundedOffValue).toString() : \"\";\n\t\t\t}\n\t\t}\n\t\treturn displayValue;\n\t}\n\n\tpublic static getTemperatureDisplayValue(imperialValue: measure, decimalPlaces?: number, showLocaleString: boolean = true): string | undefined {\n\t\treturn this.getMeasureDisplayValue(imperialValue, MeasurementType.Temperature, showLocaleString, decimalPlaces);\n\t}\n\n\tpublic static getTemperatureRelativeDisplayValue(imperialValue: measure, decimalPlaces?: number, showLocaleString: boolean = true): string | undefined {\n\t\treturn this.getMeasureDisplayValue(imperialValue, MeasurementType.TemperatureRelative, showLocaleString, decimalPlaces);\n\t}\n\n\tpublic static getRatingDisplayValue(imperialValue: measure, decimalPlaces?: number, showLocaleString: boolean = true): string | undefined {\n\t\tif (hasValue(decimalPlaces)) {\n\t\t\tif (StorageFacade.UsesMetricSystem) {\n\t\t\t\tdecimalPlaces = getNumericValue(decimalPlaces) + this.KilowattsDecimalPlaces;\n\t\t\t}\n\t\t}\n\t\treturn this.getMeasureDisplayValue(imperialValue, MeasurementType.Rating, showLocaleString, decimalPlaces);\n\t}\n\n\tpublic static getAirFlowDisplayValue(imperialValue: measure, decimalPlaces?: number, showLocaleString: boolean = true): string | undefined {\n\t\tconst displayValue = this.getMeasureDisplayValue(imperialValue, MeasurementType.AirFlow, showLocaleString, decimalPlaces);\n\t\tif (displayValue === 'NaN') {\n\t\t\treturn String(imperialValue);\n\t\t}\n\t\treturn displayValue;\n\t}\n\n\tpublic static getDimensionDisplayValue(imperialValue: measure, decimalPlaces?: number, showLocaleString: boolean = true): string | undefined {\n\t\treturn this.getMeasureDisplayValue(imperialValue, MeasurementType.Dimension, showLocaleString, decimalPlaces);\n\t}\n\n\tpublic static getSmallerDimensionDisplayValue(imperialValue: measure, decimalPlaces?: number, showLocaleString: boolean = true): string | undefined {\n\t\treturn this.getMeasureDisplayValue(imperialValue, MeasurementType.SmallerDimension, showLocaleString, decimalPlaces);\n\t}\n\n\tpublic static getWeightDisplayValue(imperialValue: measure, decimalPlaces?: number, showLocaleString: boolean = true): string | undefined {\n\t\treturn this.getMeasureDisplayValue(imperialValue, MeasurementType.Weight, showLocaleString, decimalPlaces);\n\t}\n\n\tpublic static getElectricPowerDisplayValue(imperialValue: measure, decimalPlaces?: number, showLocaleString: boolean = true): string | undefined {\n\t\treturn this.getMeasureDisplayValue(imperialValue, MeasurementType.ElectricPower, showLocaleString, decimalPlaces);\n\t}\n\n\tpublic static getPercentDisplayValue(imperialValue: measure, decimalPlaces?: number, showLocaleString: boolean = true): string | undefined {\n\t\treturn this.getMeasureDisplayValue(imperialValue, MeasurementType.Percent, showLocaleString, decimalPlaces);\n\t}\n\n\tpublic static getAreaDisplayValue(imperialValue: measure, decimalPlaces?: number, showLocaleString: boolean = true): string | undefined {\n\t\treturn this.getMeasureDisplayValue(imperialValue, MeasurementType.Area, showLocaleString, decimalPlaces);\n\t}\n\n\tpublic static getVolumeDisplayValue(imperialValue: measure, decimalPlaces?: number, showLocaleString: boolean = true): string | undefined {\n\t\treturn this.getMeasureDisplayValue(imperialValue, MeasurementType.Volume, showLocaleString, decimalPlaces);\n\t}\n\n\tpublic static convertMetricToImperial(\n\t\tmetricValue: number,\n\t\tmeasurementType: MeasurementType\n\t): number {\n\t\tswitch (measurementType) {\n\t\t\tcase MeasurementType.Temperature:\n\t\t\tcase MeasurementType.PositiveTemperature: {\n\t\t\t\t// Metric (Celsius) to Imperial (Fahrenheit)\n\t\t\t\treturn UnitOfMeasure.TemperatureCtoF(metricValue);\n\t\t\t}\n\t\t\tcase MeasurementType.TemperatureRelative: {\n\t\t\t\t// Metric (Celsius) to Imperial (Fahrenheit)\n\t\t\t\treturn UnitOfMeasure.TemperatureRelativeCtoF(metricValue);\n\t\t\t}\n\t\t\tcase MeasurementType.Rating: {\n\t\t\t\t// Metric (Kilowatts) to Imperial (BTUH)\n\t\t\t\treturn UnitOfMeasure.RatingWattsToBTUH(metricValue * 1000.0); \n\t\t\t}\n\t\t\tcase MeasurementType.Dimension: {\n\t\t\t\t// Metric (Meters) to Imperial (Feet)\n\t\t\t\treturn UnitOfMeasure.MtoFt(metricValue);\n\t\t\t}\n\t\t\tcase MeasurementType.SmallerDimension: {\n\t\t\t\t// Metric (Millimeters) to Imperial (Inches)\n\t\t\t\treturn UnitOfMeasure.MtoIn(metricValue / 1000.0);\n\t\t\t}\n\t\t\tcase MeasurementType.Weight: {\n\t\t\t\t// Metric (Kilograms) to Imperial (Pounds)\n\t\t\t\treturn UnitOfMeasure.KgToLb(metricValue);\n\t\t\t}\n\t\t\tcase MeasurementType.ElectricPower: {\n\t\t\t\t// Metric (Watts) to Imperial (Horsepower)\n\t\t\t\treturn UnitOfMeasure.WattstoHp(metricValue);\n\t\t\t}\n\t\t\tcase MeasurementType.AirFlow: {\n\t\t\t\t// Metric (Cubic Meter Per Hour) to Imperial (Cubic Feet Per Minute)\n\t\t\t\treturn UnitOfMeasure.CMPHtoCFM(metricValue);\n\t\t\t}\n\t\t\tcase MeasurementType.Area: {\n\t\t\t\t// Metric (Square Meters) to Imperial (Square Feet)\n\t\t\t\treturn UnitOfMeasure.SqMtoSqFt(metricValue);\n\t\t\t}\n\t\t\tcase MeasurementType.Volume: {\n\t\t\t\t// Metric (Cubic Meters) to Imperial (Cubic Feet)\n\t\t\t\treturn UnitOfMeasure.CuMtoCuFt(metricValue);\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\treturn metricValue;\n\t\t}\n\t}\n\n\tpublic static convertImperialToMetric(\n\t\timperialValue: number,\n\t\tmeasurementType: MeasurementType\n\t): number {\n\t\tswitch (measurementType) {\n\t\t\tcase MeasurementType.Temperature:\n\t\t\tcase MeasurementType.PositiveTemperature: {\n\t\t\t\t// Imperial (Fahrenheit) to Metric (Celsius)\n\t\t\t\treturn UnitOfMeasure.TemperatureFtoC(imperialValue);\n\t\t\t}\n\t\t\tcase MeasurementType.TemperatureRelative: {\n\t\t\t\t// Imperial (Fahrenheit) to Metric (Celsius)\n\t\t\t\treturn UnitOfMeasure.TemperatureRelativeFtoC(imperialValue);\n\t\t\t}\n\t\t\tcase MeasurementType.Rating: {\n\t\t\t\t// Imperial (BTUH) to Metric (Kilowatts)\n\t\t\t\treturn UnitOfMeasure.RatingBTUHtoWatts(imperialValue) / 1000.0;\n\t\t\t}\n\t\t\tcase MeasurementType.Dimension: {\n\t\t\t\t// Imperial (Feet) to Metric (Meters)\n\t\t\t\treturn UnitOfMeasure.FttoM(imperialValue);\n\t\t\t}\n\t\t\tcase MeasurementType.SmallerDimension: {\n\t\t\t\t// Imperial (Inches) to Metric (Millimeters)\n\t\t\t\treturn UnitOfMeasure.IntoM(imperialValue) * 1000.0;\n\t\t\t}\n\t\t\tcase MeasurementType.Weight: {\n\t\t\t\t// Imperial (Pounds) to Metric (Kilograms)\n\t\t\t\treturn UnitOfMeasure.LbToKg(imperialValue);\n\t\t\t}\n\t\t\tcase MeasurementType.ElectricPower: {\n\t\t\t\t// Imperial (Horsepower) to Metric (Watts)\n\t\t\t\treturn UnitOfMeasure.HPtoWatts(imperialValue);\n\t\t\t}\n\t\t\tcase MeasurementType.AirFlow: {\n\t\t\t\t// Imperial (Cubic Feet Per Minute) to Metric (Cubic Meter Per Hour)\n\t\t\t\treturn UnitOfMeasure.CFMtoCMPH(imperialValue);\n\t\t\t}\n\t\t\tcase MeasurementType.Area: {\n\t\t\t\t// Imperial (Square Feet) to Metric (Square Meters)\n\t\t\t\treturn UnitOfMeasure.SqFttoSqM(imperialValue);\n\t\t\t}\n\t\t\tcase MeasurementType.Volume: {\n\t\t\t\t// Imperial (Cubic Feet) to Metric (Cubic Meters)\n\t\t\t\treturn UnitOfMeasure.CuFttoCuM(imperialValue);\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\treturn imperialValue;\n\t\t}\n\t}\n\n\tpublic static getUnitLabel(measurementType: MeasurementType) {\n\t\tconst usesMetricSystem = StorageFacade.UsesMetricSystem;\n\n\t\tswitch (measurementType) {\n\t\t\tcase MeasurementType.Temperature:\n\t\t\tcase MeasurementType.PositiveTemperature:\n\t\t\tcase MeasurementType.TemperatureRelative: {\n\t\t\t\tif (usesMetricSystem) {\n\t\t\t\t\treturn `${String.fromCharCode(176)}C`;\n\t\t\t\t}\n\t\t\t\treturn `${String.fromCharCode(176)}F`;\n\t\t\t}\n\t\t\tcase MeasurementType.Rating: {\n\t\t\t\tif (usesMetricSystem) {\n\t\t\t\t\treturn \"kW\";\n\t\t\t\t}\n\t\t\t\treturn \"BTUH\";\n\t\t\t}\n\t\t\tcase MeasurementType.AirFlow: {\n\t\t\t\tif (usesMetricSystem) {\n\t\t\t\t\treturn `m${String.fromCharCode(179)}/h`;\n\t\t\t\t}\n\t\t\t\treturn \"CFM\";\n\t\t\t}\n\t\t\tcase MeasurementType.Dimension: {\n\t\t\t\tif (usesMetricSystem) {\n\t\t\t\t\treturn \"m\";\n\t\t\t\t}\n\t\t\t\treturn \"ft\";\n\t\t\t}\n\t\t\tcase MeasurementType.SmallerDimension: {\n\t\t\t\tif (usesMetricSystem) {\n\t\t\t\t\treturn \"mm\";\n\t\t\t\t}\n\t\t\t\treturn \"in\";\n\t\t\t}\n\t\t\tcase MeasurementType.Weight: {\n\t\t\t\tif (usesMetricSystem) {\n\t\t\t\t\treturn \"kg\";\n\t\t\t\t}\n\t\t\t\treturn \"lb\";\n\t\t\t}\n\t\t\tcase MeasurementType.ElectricPower: {\n\t\t\t\tif (usesMetricSystem) {\n\t\t\t\t\treturn \"W\";\n\t\t\t\t}\n\t\t\t\treturn \"HP\";\n\t\t\t}\n\t\t\tcase MeasurementType.Percent: {\n\t\t\t\treturn \"%\";\n\t\t\t}\n\t\t\tcase MeasurementType.Area: {\n\t\t\t\tif (usesMetricSystem) {\n\t\t\t\t\treturn `m${String.fromCharCode(178)}`;\n\t\t\t\t}\n\t\t\t\treturn `ft${String.fromCharCode(178)}`;\n\t\t\t}\n\t\t\tcase MeasurementType.Volume: {\n\t\t\t\tif (usesMetricSystem) {\n\t\t\t\t\treturn `m${String.fromCharCode(179)}`;\n\t\t\t\t}\n\t\t\t\treturn `ft${String.fromCharCode(179)}`;\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\treturn \"\";\n\t\t}\n\t}\n\n\tpublic static getTemperatureUnitLabel() {\n\t\treturn this.getUnitLabel(MeasurementType.Temperature);\n\t}\n\n\tpublic static getRatingUnitLabel() {\n\t\treturn this.getUnitLabel(MeasurementType.Rating);\n\t}\n\n\tpublic static getAirFlowUnitLabel() {\n\t\treturn this.getUnitLabel(MeasurementType.AirFlow);\n\t}\n\n\tpublic static getDimensionUnitLabel() {\n\t\treturn this.getUnitLabel(MeasurementType.Dimension);\n\t}\n\n\tpublic static getSmallerDimensionUnitLabel() {\n\t\treturn this.getUnitLabel(MeasurementType.SmallerDimension);\n\t}\n\n\tpublic static getWeightUnitLabel() {\n\t\treturn this.getUnitLabel(MeasurementType.Weight);\n\t}\n\n\tpublic static getElectricPowerUnitLabel() {\n\t\treturn this.getUnitLabel(MeasurementType.ElectricPower);\n\t}\n\n\tpublic static getPercentUnitLabel() {\n\t\treturn this.getUnitLabel(MeasurementType.Percent);\n\t}\n\n\tpublic static getAreaUnitLabel() {\n\t\treturn this.getUnitLabel(MeasurementType.Area);\n\t}\n\n\tpublic static getVolumeUnitLabel() {\n\t\treturn this.getUnitLabel(MeasurementType.Volume);\n\t}\n}\n\nexport default UnitOfMeasure;\n","import * as React from \"react\";\n\nimport IAirProperty from \"../models/interfaces/IAirProperty\";\nimport ICurtain from \"../models/interfaces/ICurtain\";\n\nconst ApplicationContext = React.createContext({\n appData: {} as any,\n airProperties: [] as IAirProperty[],\n curtains: [] as ICurtain[],\n isAppDataLoaded: false\n});\n\nexport default ApplicationContext;","import * as React from \"react\";\n\nimport ApplicationContext from \"../context/ApplicationContext\";\n\nimport { measure, hasValue, getNumericValue, roundOff } from \"../types/measure\";\n\nimport IAirProperty from \"../models/interfaces/IAirProperty\";\nimport ICurtain from \"../models/interfaces/ICurtain\";\n\nconst useApplicationContext = () => {\n const { appData, airProperties, curtains, isAppDataLoaded } = React.useContext(ApplicationContext);\n\n const getAirPropertyByTemperature = React.useCallback((\n temperature: measure\n ) => {\n\n const setTemperature = () => {\n if (!hasValue(temperature)) {\n return undefined;\n }\n\n const temp = getNumericValue(temperature);\n\n const t1 = getNumericValue(roundOff(temperature, 0));\n const t2 = temp > t1 ? t1 + 1 : t1;\n \n const t1Record = airProperties.find(a => a.temp === t1);\n const t2Record = airProperties.find(a => a.temp === t2);\n \n let ws;\n let ha;\n let has;\n \n if (t1Record && t2Record) {\n let v1 = t1Record.ws;\n let v2 = t2Record.ws;\n let v = v1 + (v2 - v1) * (temp - t1);\n ws = v;\n \n v1 = t1Record.ha;\n v2 = t2Record.ha;\n v = v1 + (v2 - v1) * (temp - t1);\n ha = v;\n \n v1 = t1Record.has;\n v2 = t2Record.has;\n v = v1 + (v2 - v1) * (temp - t1);\n has = v;\n } \n else if (t1Record) {\n ws = t1Record.ws;\n ha = t1Record.ha;\n has = t1Record.has;\n } \n else if (t2Record) {\n ws = t2Record.ws;\n ha = t2Record.ha;\n has = t2Record.has;\n }\n else {\n return undefined;\n }\n\n const airProperty: IAirProperty = {\n temp,\n ws,\n ha,\n has\n };\n \n return airProperty;\n };\n\n return setTemperature();\n }, [airProperties]);\n\n const getCurtain = React.useCallback((\n id: string\n ) => {\n const defaultCurtain: ICurtain = {\n id: 0,\n name: \"None\",\n effectiveness: 100,\n rValue: 0\n };\n\n return curtains.find(c => c.id.toString() === id) ?? defaultCurtain;\n }, [curtains]);\n\n return { \n appData, \n isAppDataLoaded,\n curtains,\n getAirPropertyByTemperature,\n getCurtain\n };\n};\n\nexport default useApplicationContext;\n","import * as React from \"react\";\n\nconst LoadingContext = React.createContext({\n loadingCount: 0,\n showLoading: () => {},\n hideLoading: () => {}\n})\n\nexport default LoadingContext;","import * as React from \"react\";\n\nimport LoadingContext from \"../context/LoadingContext\";\n\nconst useLoadingContext = () => {\n const { loadingCount, showLoading, hideLoading } = React.useContext(LoadingContext);\n return { loadingCount, showLoading, hideLoading };\n};\n\nexport default useLoadingContext;\n","/* eslint-disable import/prefer-default-export */\n\nimport IToolTips from \"../../models/interfaces/ITooltips\";\n\nexport const enTooltips: IToolTips = {\n Box_Designer_Button_AddSection: \"Add a custom wall, ceiling or floor to the list.\",\n Box_Designer_Button_AddWallConstruction: \"Select the construction details of the next wall you add.\",\n Box_Designer_Button_Cancel: \"Discard your edits and return to the main form.\",\n Box_Designer_Button_Change_Shape: \"Select a different shape for your box.\",\n Box_Designer_Button_CompleteDirect: \"Add a final wall that goes directly back to the start point.\",\n Box_Designer_Button_CompleteSquare: \"Draw two final walls to square out the floor back to the start point.\",\n Box_Designer_Button_CopySection: \"Copy the selected section as a new section and edit it.\",\n Box_Designer_Button_DeleteSections: \"Delete the selected custom sections.\",\n Box_Designer_Button_DrawWall: \"Draw a wall from the cursor point ±X units horizontally and ±Y units vertically.\",\n Box_Designer_Button_EditOpenings: \"Add or edit any doors, windows, panels or excluded areas.\",\n Box_Designer_Button_EditSection: \"Edit the selected sections.\",\n Box_Designer_Button_OK: \"Save your changes and return to the main form.\",\n Box_Designer_Button_RemoveWall: \"Undraw the last wall you added to the floor planner.\",\n Box_Designer_CheckBox_OutDoors_Cold: \"Select if box is outside in a cold climate\",\n Box_Designer_CheckBox_OutDoors_Warm: \"Select if box is outside in a warm climate\",\n Box_Designer_DraftingBoard: \"This panel shows your floor plan.\",\n Box_Designer_txtbox_Depth1: \"First depth of box. See wall highlighted in box view.\",\n Box_Designer_txtbox_Depth2: \"Second depth of box. See wall highlighted in box view.\",\n Box_Designer_txtbox_Depth3: \"Third depth of box. See wall highlighted in box view.\",\n Box_Designer_txtbox_DrawX: \"Horizontal distance to draw the next wall. Use negative values to draw left.\",\n Box_Designer_txtbox_DrawY: \"Vertical distance to draw the next wall. Use negative values to draw down.\",\n Box_Designer_txtBox_Exterior_Temp: \"The maximum external temperature in the vicinity of the box.\",\n Box_Designer_txtbox_ExternalRH: \"Ambient humidity around box.\",\n Box_Designer_txtbox_Floor_Area: \"This is the total floor area. You may need to enter this number directly if the box shape is irregular.\",\n Box_Designer_txtbox_Height: \"Height of box.\",\n Box_Designer_txtBox_Interior_Temp: \"Enter the coldest temperature you wish the box to reach.\",\n Box_Designer_txtbox_InternalRH: \"Enter the relative humidity you wish to maintain within the box.\",\n Box_Designer_txtbox_Length1: \"First length of box. See wall highlighted in box view.\",\n Box_Designer_txtbox_Length2: \"Second length of box. See wall highlighted in box view.\",\n Box_Designer_txtbox_Length3: \"Third length of box. See wall highlighted in box view.\",\n Box_Designer_txtbox_Volume: \"This is the cubic volume of the box. You may enter it directly here or it will be calculated automatically from the above data if the room is not irregular.\",\n Box_Designer_txtbox_Wall_Load: \"This is the wall load calculated from the above information. You may enter it directly if you wish.\",\n Box_Designer_SelectType_Button_Cancel: \"Cancel this operation.\",\n Box_Designer_SelectType_Button_Floor_Planner: \"Box is one height but has an odd shaped floor, draw a floor plan.\",\n Box_Designer_SelectType_Button_L_Shaped: \"Box is shaped like an L.\",\n Box_Designer_SelectType_Button_Rectangular: \"Box is rectangular or square.\",\n Box_Designer_SelectType_Button_SectionList: \"Box is an odd shape, define all surfaces and volume manually.\", \n Box_Designer_SelectType_Button_U_Shaped: \"Box is shaped like a U.\",\n Box_Designer_WallSection_Button_Add_And_Continue: \"Click here to add the current section information, and begin a new addition.\",\n Box_Designer_WallSection_Button_AddOpening: \"Click this button to add doors, windows and other openings to the section.\",\n Box_Designer_WallSection_Button_Cancel: \"Cancel your edits and return to the previous form.\",\n Box_Designer_WallSection_Button_DeleteOpening: \"Delete the selected openings.\",\n Box_Designer_WallSection_Button_EditConstruction: \"Edit the section construction layers.\",\n Box_Designer_WallSection_Button_EditOpening: \"Edit the selected opening.\",\n Box_Designer_WallSection_Button_OK: \"Save your information and return to the previous form.\",\n Box_Designer_WallSection_Combo_Material: \"Select the insulation type, or construction details from the list. ~ Click on ADD NEW CONSTRUCTION to create a new layered wall construction.\",\n Box_Designer_WallSection_Combo_Outdoors: \"Select if the external face of this section is outside, exposed to the sun.\",\n Box_Designer_WallSection_ComboBox_SectionType: \"Select whether the section is a wall, a floor, or a ceiling.\",\n Box_Designer_WallSection_txtbox_Area: \"This is the area of the section. You should enter this value manually if the section is an odd shape.\",\n Box_Designer_WallSection_txtbox_Dimension1: \"First dimension of section, usually length.\",\n Box_Designer_WallSection_txtbox_Dimension2: \"Second dimension of section, usually height but could be width.\",\n Box_Designer_WallSection_txtBox_ExteriorTemperature: \"The maximum temperature on the outside of this wall section.\",\n Box_Designer_WallSection_txtbox_ExternalRH: \"The relative humidity on the outside of this wall section.\",\n Box_Designer_WallSection_txtBox_KFactor: \"Thermal 'K-Factor' of section. Derived from insulation type above or may be entered directly if known.\",\n Box_Designer_WallSection_txtbox_Load: \"This is the load generated by the above section.\",\n Box_Designer_WallSection_txtbox_MaterialOther: \"The name of the wall insulation or construction.\",\n Box_Designer_WallSection_txtbox_Perimeter: \"This is the perimeter length of the floor section. You may need to enter this manually if the floor is an odd shape.\",\n Box_Designer_WallSection_txtbox_R_Value_Effective: \"This is the effective R-Value of the section across it's entire thickness including air film effects.\",\n Box_Designer_WallSection_txtbox_R_Value_PerInch: \"This is the R-Value per inch of the section.\",\n Box_Designer_WallSection_txtbox_SectionName: \"Giving sections distinct names often helps.\",\n Box_Designer_WallSection_txtbox_SectionType: \"A section can be a wall, ceiling or floor.\",\n Box_Designer_WallSection_txtbox_Thickness: \"This is the thickness of the wall.\",\n Infiltration_Button_Cancel: \"Discard your changes and return to the previous form.\",\n Infiltration_Button_EditDoors: \"Open the door and opening editor to define or edit your doors.\",\n Infiltration_Button_OK: \"Save your changes and return to the previous form.\",\n Infiltration_Combo_Method: \"Select the method you want to use.\",\n Infiltration_Combo_Usage: \"Select the usage level of the box.\",\n Infiltration_lbl_Method1_Caption: \"This value is calculated based on A.S.H.R.A.E. air change factors and infiltration air temperature.\",\n Infiltration_lbl_Method2_Caption: \"Use this method for a more accurate load estimate.\",\n Infiltration_lbl_Method3_Caption: \"Use this method if positive ventilation is used.\",\n Infiltration_txtbox_TotalInfiltrationload: \"This is the total infiltration load. You may enter this number directly if you wish.\",\n Infiltration_txtbox_VentilationAirTemp: \"Average Infiltrating Air Temperature.\",\n Infiltration_txtbox_VentilationRate: \"Enter the air flow rate coming into the box.\",\n Infiltration_txtbox_VentilationRH: \"Enter relative humidity of the infiltrating air. (e.g. 55%)\",\n Miscellaneous_Button_AddLoad: \"Add another load to the list.\",\n Miscellaneous_Button_Cancel: \"Discard my changes and return to the previous form.\",\n Miscellaneous_Button_DeleteLoad: \"Delete the selected loads from the list.\",\n Miscellaneous_Button_EditLoad: \"Edit the selected load.\",\n Miscellaneous_Button_OK: \"Save my changes and return to the previous form.\",\n Miscellaneous_Combo_Activity: \"Select the expected average work activity within the box etc.\",\n Miscellaneous_lvOtherLoads: \"If you have other relevant loads you may describe them here.\",\n Miscellaneous_txtbox_EvapMotors_Load: \"This value is the total motor load. You may enter it directly if you wish.\",\n Miscellaneous_txtbox_EvapMotors_Quantity: \"Enter the total number of motors inside the box.\",\n Miscellaneous_txtbox_EvapMotors_Rating: \"Enter the power rating of the motors that exist within the box. \",\n Miscellaneous_txtbox_EvapMotors_RunTIme: \"Enter the amount of time the motors can be expected to run per day.\",\n Miscellaneous_txtbox_ForkLift_Load: \"This value is the total forklift load. You may enter it directly if you wish.\",\n Miscellaneous_txtbox_ForkLift_Quantity: \"Enter how many forklifts are present in the box.\",\n Miscellaneous_txtbox_ForkLift_RunTime: \"Enter amount of time the forklifts are active per day.\",\n Miscellaneous_txtbox_Lighting_Load: \"This value is the total lighting load. You may enter it directly if you wish.\",\n Miscellaneous_txtbox_Lighting_PowerDensity: \"This value is the wattage of light you are expecting per square foot of floor.\",\n Miscellaneous_txtbox_Lighting_Quantity: \"If you know how many lighting fixtures will be installed, then enter the number here.\",\n Miscellaneous_txtbox_Lighting_Rating: \"If you know which lighting fixtures will be installed, then enter their rating here.\",\n Miscellaneous_txtbox_Lighting_RunTime: \"Enter the maximum amount of time per day that these lights will be on in hours.\",\n Miscellaneous_txtbox_Lighting_TotalPower: \"If you know how much lighting will be installed, then enter the total wattage here.\",\n Miscellaneous_txtbox_Staff_Load: \"This value is the total staff load. You may enter it directly if you wish.\",\n Miscellaneous_txtbox_Staff_Quantity: \"Enter how many staff are usually present in the box.\",\n Miscellaneous_txtbox_Staff_RunTime: \"Enter how much time per day the staff are present in the box.\",\n Miscellaneous_txtbox_TotalMiscellaneous_load: \"This value is the total of the above loads. You may enter it directly if you wish.\",\n Miscellaneous_txtbox_TotalOtherLoads: \"This value is the total of the other loads. You may enter it directly if you wish.\",\n Miscellaneous_Other_Button_Add: \"Add this load to the list and start a new one.\",\n Miscellaneous_Other_Button_Cancel: \"Discard my changes and return to the previous form.\",\n Miscellaneous_Other_Button_OK: \"Save my changes and return to the previous form.\",\n Miscellaneous_Other_Combo_Units: \"Select the units of the power value.\",\n Miscellaneous_Other_txtbox_Description: \"Describe the load here.\",\n Miscellaneous_Other_txtbox_Load: \"This value is the refrigeration load of the above. You may enter it directly if you wish.\",\n Miscellaneous_Other_txtbox_Power: \"Enter the watts or horsepower of the load here. Remember to set the appropriate units.\",\n Miscellaneous_Other_txtbox_Quantity: \"Enter the quantity of described item that are present in the box here.\",\n Miscellaneous_Other_txtbox_RunTime: \"Enter the relative time per day that this load is active.\",\n Product_List_Button_AddProduct: \"Add a product to the list.\",\n Product_List_Button_Cancel: \"Discard your changes and return to the previous form.\",\n Product_List_Button_DeleteProduct: \"Remove the selected products from the list.\",\n Product_List_Button_EditProduct: \"Edit the details about the selected product.\",\n Product_List_Button_OK: \"Save your product information and return to the previous form.\",\n Product_List_txtbox_Load: \"This value is the Total Product Load. It is calculated from the above data or may be entered directly.\",\n Product_List_txtbox_TotalWeight: \"Total weight of product.\",\n Product_List_Item_Button_Add: \"Add the current product to the list and start adding a new one.\",\n Product_List_Item_Button_Cancel: \"Discard this information and return to the previous form.\",\n Product_List_Item_Button_OK: \"Save this information and return to the previous form.\",\n Product_List_Item_ButtonSelectType: \"Select a product type from a list.\",\n Product_List_Item_txtbox_EnteringTemp: \"Temperature of the product as is enters the box.\",\n Product_List_Item_txtbox_FinalTemp: \"Temperature at which product is stored, or leaves the box.\",\n Product_List_Item_txtbox_FreezeTemperature: \"Highest freeze temperature.\",\n Product_List_Item_txtbox_LoadFactor: \"Normally 1, change only if the box is used as a blast freezer or if rapid temp reduction is required.\",\n Product_List_Item_txtbox_MoistureContent: \"Moisture content of product as a percent of total weight.\",\n Product_List_Item_txtbox_ProductLoad: \"This is the refrigeration load for this product.\",\n Product_List_Item_txtbox_ProductOtherName: \"Name of the product, If you chose OTHER from the list, please enter the type manually here.\",\n Product_List_Item_txtbox_PullDownTime: \"This is the amount of time you have calculated it will take to chill the product to the entered final temperature as the specific box temperature.\",\n Product_List_Item_txtbox_SpcHeatAbove: \"This is the specific heat of the product above freezing.\",\n Product_List_Item_txtbox_SpcHeatBelow: \"This is the specific heat of the product below freezing.\",\n Product_List_Item_txtbox_SpcHeatRespiration: \"Heat of respiration /24 hours.\",\n Product_List_Item_txtbox_Weight: \"Total weight of entering or stored product.\",\n System_Designer_Button_Infiltration_Load: \"Click this button to define or calculate the infiltration load.\",\n System_Designer_Button_Miscellaneous_Load: \"Click this button to enter information about lights, motors etc.\",\n System_Designer_Button_Preview: \"See how your job data will look when it is printed.\",\n System_Designer_Button_Print: \"Print your job data.\",\n System_Designer_Button_Product_Load: \"Click this button to enter information about the products you wish to store.\",\n System_Designer_Button_Wall_Load: \"Click here to enter specifics about the physical size of your box.\",\n System_Designer_txtbox_BoxDepth1: \"If your box is a standard rectangular shape, enter the width here.\",\n System_Designer_txtbox_BoxHeight: \"If your box is a standard rectangular shape, enter the height here.\",\n System_Designer_txtbox_BoxLength1: \"If your box is a standard rectangular shape, enter the length here.\",\n System_Designer_txtBox_Exterior_Temp: \"Ambient temperature around box.\",\n System_Designer_txtbox_ExteriorRH: \"Ambient humidity around box.\",\n System_Designer_txtBox_Interior_Temp: \"Enter the coldest temperature you wish the box to reach.\",\n System_Designer_txtbox_InteriorRH: \"Enter the relative humidity you wish to maintain within the box.\",\n System_Designer_txtRun_Time: \"Design Run-Time hours are dependant on the type of defrost system used and box temperature.\",\n System_Designer_txtTotal_Hourly_Load: \"This is the total box load in Btu/h over a 24 hour time period with an allowance for System Run-Time.\"\n}","import { enTooltips } from \"./en-tooltips\";\n\nexport const enStrings = {\n\t...enTooltips,\n\t_Feeds: \"# Feeds\",\n\t_threeDollarSigns: \"$$$\",\n\t_Cancel: \"&Cancel\",\n\t_Feed: \"/Feed\",\n\t_RDPARTY: \"3RD PARTY\",\n\t_PreviousModel: \"< Previous Model\",\n\t_SelectPreviousModel: \"< Select Previous Model\",\n\t_TD: \"\",\n\tnextWallConstruction: \"Next Wall Construction\",\n\tno: \"No\",\n\tnoCountryEntered_: \"No Country entered !\",\n\tnoDetails: \"No Details\",\n\tnoItemsOrSystemsSelected_: \"No Items or Systems Selected.\",\n\tnoModelSelected: \"No Model Selected\",\n\tnoModelSelected_: \"No Model Selected!\",\n\tnoModelsAvailable: \"No Models Available\",\n\tnoPartNameEntered_: \"No Part Name Entered !\",\n\tnoAddressEntered_: \"No address entered !\",\n\tnoAlternativePriceBooksOfThisTypeAreAvailable_:\n\t\t\"No alternative price books of this type are available.\",\n\tnoAmbientTempEntered_: \"No ambient temp entered.\",\n\tnoApplicationRegistrationOnformationWasFoundForYourUserID_:\n\t\t\"No application registration onformation was found for your user ID.\",\n\tnoBoxTempEntered_: \"No box temp entered.\",\n\tnoCalculationMethodSelected_: \"No calculation method selected !\",\n\tnoChangesDetectedOnTheOrder_: \"No changes detected on the order.\",\n\tnoCityEntered_: \"No city entered !\",\n\tnoCondenserModelSelected_: \"No condenser model selected !\",\n\tnoCondensingTempEntered_: \"No condensing temp entered.\",\n\tnoConnectionsDefined_: \"No connections defined !\",\n\tnoConstructionLayersHaveBeenDefined_:\n\t\t\"No construction layers have been defined !\",\n\tnoContactNameGiven_: \"No contact name given !\",\n\tnoContactsListed_: \"No contacts listed.\",\n\tnoDeratingFactorListed_: \"No derating factor listed!\",\n\tnoDescriptionEntered_: \"No description entered !\",\n\tnoDoorsEstimateCalculatedOrEntered_:\n\t\t\"No doors estimate calculated or entered !\",\n\tnoDoorsHaveBeenDefined_: \"No doors have been defined !\",\n\tnoDoorsHaveBeenDefined_DefaultDoorLoadValueUsedForOneManDoor_:\n\t\t\"No doors have been defined ! Default door load value used for one man door.\",\n\tnoEquipmentChangesFound_: \"No equipment changes found.\",\n\tnoEquipmentChangesOccurred_: \"No equipment changes occurred.\",\n\tnoEvaporatorMotorLoadHasBeenCalculatedOrEntered_:\n\t\t\"No evaporator motor load has been calculated or entered !\",\n\tnoFeedsAssigned_: \"No feeds assigned !\",\n\tnoFluidSelected_: \"No fluid selected!\",\n\tnoFutureNonWorkingDaysWereListed_: \"No future non working days were listed.\",\n\tnoInternetConnection_: \"No internet connection.\",\n\tnoItemDeliveryDatesHaveBeenSelected_:\n\t\t\"No item delivery dates have been selected!\",\n\tnoLightingLoadHasBeenCalculatedOrEntered_:\n\t\t\"No lighting load has been calculated or entered !\",\n\tnoLoadHasBeenCalculatedOrEntered_: \"No load has been calculated or entered !\",\n\tnoModelVARatingValuesListed_: \"No model VA rating values listed.\",\n\tnoModelRatingValuesListed_: \"No model rating values listed.\",\n\tnoModelsAvailableForThisHighAFlowRate_:\n\t\t\"No models available for this high a flow rate!\",\n\tnoOrdersListed_: \"No orders listed!\",\n\tnoPartsSelected_: \"No parts selected!\",\n\tnoPhoneNumberEntered_: \"No phone number entered !\",\n\tnoPowerValueEntered_: \"No power value entered !\",\n\tnoPriceBooksHaveBeenAssignedToYourProfile_:\n\t\t\"No price books have been assigned to your profile.\",\n\tnoPriceChangesOccurred_: \"No price changes occurred.\",\n\tnoPricesWereChanged_: \"No prices were changed.\",\n\tnoPricingChangesOccurred_: \"No pricing changes occurred.\",\n\tnoQuantityEntered_: \"No quantity entered !\",\n\tnoRefrigerantSelected_: \"No refrigerant selected!\",\n\tnoRevisionsWereUpdated_: \"No revisions were updated.\",\n\tnoShippingAndHandlingCostEntered_: \"No shipping and handling cost entered !\",\n\tnoState_ProvinceOrCountyEntered_: \"No state, province or county entered !\",\n\tnoSuctionTempEntered_: \"No suction temp entered.\",\n\tnoSuitableFeedConfigurationFound_: \"No suitable feed configuration found.\",\n\tnoTotalLoadHasBeenCalculatedOrEntered_:\n\t\t\"No total load has been calculated or entered !\",\n\tnoTotalProductLoadHasBeenCalculatedOrEntered_:\n\t\t\"No total product load has been calculated or entered !\",\n\tnoTotalProductWeightHasBeenCalculatedOrEntered_:\n\t\t\"No total product weight has been calculated or entered !\",\n\tnoUsageEstimateCalculatedOrEntered_:\n\t\t\"No usage estimate calculated or entered !\",\n\tnoUsageLevelSelected_: \"No usage level selected !\",\n\tnoVentilationEstimateCalculatedOrEntered_:\n\t\t\"No ventilation estimate calculated or entered !\",\n\tnoVersion_OrdersFoundInThisList_: \"No version 8 Orders found in this list!\",\n\tnoZipOrPostalCodeEntered_: \"No zip or postal code entered !\",\n\tno_CancelThisOperation: \"No, Cancel this operation\",\n\tno_IAmANewUser_: \"No, I am a new user.\",\n\tno_I_llDoItManually_: \"No, I'll do it manually.\",\n\tno_TryToConnectAgain_: \"No, Try to connect again.\",\n\tno_LeaveTheExistingOptionMultipliersUnchanged_:\n\t\t\"No, leave the existing option multipliers unchanged.\",\n\tno_RestorePreviousValue_: \"No, restore previous value.\",\n\tnon_CatalogItemDetails: \"Non-Catalog Item Details\",\n\tnon_CatalogOptionDetails: \"Non-Catalog Option Details\",\n\tnon_numericJob_ScopeReferenceReturned_:\n\t\t\"Non-numeric Job-Scope reference returned!\",\n\tnone: \"None\",\n\tnotOwner: \"Not Owner\",\n\tnotFound_: \"Not found!\",\n\tnotLatestCO: \"Not latest CO\",\n\tnote_AnInternetConnectionIsRequiredToCompleteThisProcedure:\n\t\t\"Note : An internet connection is required to complete this procedure\",\n\tnote_: \"Note:\",\n\tnote_IfYouAnswerNO_NewProductsAddedToThisOrderMayNotUseTheCorrectMultiplier_:\n\t\t\"Note: If you answer NO, new products added to this order may not use the correct multiplier?\",\n\tnote_IndoorValueOnly__TheExteriorBoundaryLayerIsAdjusted_AutomaticallyIfSectionIsMarkedAsOutdoors:\n\t\t\"Note: Indoor value only. ~ The exterior boundary layer is adjusted ~ automatically if section is marked as outdoors\",\n\tnote_OrderOriginatorsAndOrderDeskWillAutomaticallyBeIncludedInTheNotifyList:\n\t\t\"Note: Order originators and order desk will automatically be included in the notify list\",\n\tnotes: \"Notes\",\n\tnotes_Comments: \"Notes / Comments\",\n\tnotes_Remarks: \"Notes/Remarks\",\n\tnothingToDo_: \"Nothing to do.\",\n\tnumberOfUnits: \"Number Of Units\",\n\tnumericValueRequired_: \"Numeric value required.\",\n\to_ptions: \"O&ptions\",\n\toE: \"OE\",\n\toELIST: \"OE LIST\",\n\toEList: \"OE List\",\n\toEM: \"OEM\",\n\toFFLINE: \"OFFLINE\",\n\toK: \"OK\",\n\toNHOLD: \"ON HOLD\",\n\toPENACTIVEORDERMANAGER: \"OPEN ACTIVE ORDER MANAGER\",\n\toPENEXISTINGORDER: \"OPEN EXISTING ORDER\",\n\toPENPURCHAREORDERMANAGER: \"OPEN PURCHARE ORDER MANAGER\",\n\toRDER: \"ORDER\",\n\toRDERCONTAINS: \"ORDER CONTAINS\",\n\toRDERCONTAINSCALLPRICING_: \"ORDER CONTAINS CALL PRICING!\",\n\toRDERENTRYSYSTEM: \"ORDER ENTRY SYSTEM\",\n\toRDERNO: \"ORDER NO\",\n\toRDERNOTES: \"ORDER NOTES\",\n\toRDERSTATUS: \"ORDER STATUS\",\n\toRDERVERIFIED: \"ORDER VERIFIED\",\n\toRDERED: \"ORDERED\",\n\toTHER: \"OTHER\",\n\toTHERLOADS: \"OTHER LOADS\",\n\tobsolete: \"Obsolete\",\n\toff_LineWarning_: \"Off-Line Warning.\",\n\toldPassword: \"Old Password\",\n\toldPasswordDoesNotMatch_: \"Old password does not match!\",\n\toneEquipmentChangeFound_: \"One equipment change found.\",\n\tonePriceChanged_: \"One price changed.\",\n\toneRevisionUpdated: \"One revision updated\",\n\topen: \"Open\",\n\topenBallyTools: \"Open Bally Tools\",\n\topenExistingJob: \"Open Existing Job\",\n\topenFromWeb: \"Open From Web\",\n\topenKeepRiteTools: \"Open KeepRite Tools\",\n\topenOrder: \"Open Order\",\n\topenOrder_ForceSynch: \"Open Order - Force Synch\",\n\topenTrentonTools: \"Open Trenton Tools\",\n\topenAsNewOrder: \"Open as New Order\",\n\topenFileInEXCEL_: \"Open file in EXCEL?\",\n\topenFileInTextViewer_: \"Open file in text viewer?\",\n\topenLastSavedEditOrder_: \"Open last saved EditOrder.\",\n\topeningType: \"Opening Type\",\n\topeningDeletionRequested_: \"Opening deletion requested.\",\n\topeningsSelected: \"Openings Selected\",\n\toppositeEnds: \"Opposite Ends\",\n\toption: \"Option\",\n\toptionPrice: \"Option Price\",\n\toptionSelector: \"Option Selector\",\n\toptionIsNoLongerAvailable_: \"Option is no longer available!\",\n\toptionNeedsFactoryLeadTime_PleaseCall_:\n\t\t\"Option needs factory lead time. Please call !\",\n\toptionNeedsFactoryPricing_PleaseCall_:\n\t\t\"Option needs factory pricing. Please call !\",\n\toptional: \"Optional\",\n\toptions: \"Options\",\n\toptionsOnThisItemHaveErrors_: \"Options on this item have errors !\",\n\toptionsOnThisItemHaveWarnings_: \"Options on this item have warnings !\",\n\torEnterAModelNumber: \"Or Enter A Model Number\",\n\torder: \"Order\",\n\torderDate: \"Order Date\",\n\torderEntry: \"Order Entry\",\n\torderEntryListPrice: \"Order Entry List Price\",\n\torderEntryMultiplier: \"Order Entry Multiplier\",\n\torderEntrySystem: \"Order Entry System\",\n\torderForm: \"Order Form\",\n\torderItemNo: \"Order Item No\",\n\torderManager: \"Order Manager\",\n\torderManager_COLLATING: \"Order Manager - COLLATING\",\n\torderNumericUnits: \"Order Numeric Units\",\n\torderPreview: \"Order Preview\",\n\torderPreview_NoOrderSelected: \"Order Preview - No Order Selected\",\n\torderPreview_NotAvailable: \"Order Preview - Not Available\",\n\torderPrice: \"Order Price\",\n\torderStatus: \"Order Status\",\n\torderUploadConfirmationCheck: \"Order Upload Confirmation Check\",\n\torderCanNotBeImported_: \"Order can not be imported.\",\n\torderChangeStopRequested_: \"Order change stop requested.\",\n\torderChangesHaveYetToBeUploadedToTheServer_:\n\t\t\"Order changes have yet to be uploaded to the server.\",\n\torderImported_: \"Order imported.\",\n\torderIncludesIncompleteFactoryPricingInformation_:\n\t\t\"Order includes incomplete factory pricing information!\",\n\torderInformationAlreadyExistsInTheProgramOrderStore_:\n\t\t\"Order information already exists in the program order store.\",\n\torderIsAlreadyLoadedLocally_: \"Order is already loaded locally.\",\n\torderIsOpenForReviewAndPrintOnly_: \"Order is open for review and print only!\",\n\torderPriceTooLowForPre_paidShippingTerms_:\n\t\t\"Order price too low for pre-paid shipping terms! \",\n\torderStopRequested_: \"Order stop requested.\",\n\torderWasDeleted_: \"Order was deleted.\",\n\torderWillBeUploadedAfterNextProgramUpdate_:\n\t\t\"Order will be uploaded after next program update.\",\n\tordered: \"Ordered\",\n\torders: \"Orders\",\n\torientation: \"Orientation\",\n\toriginal: \"Original\",\n\tother: \"Other\",\n\totherCountryName: \"Other Country Name\",\n\totherEquipmentManufacturer_sModel: \"Other Equipment Manufacturer's Model\",\n\totherHeatSources: \"Other Heat Sources\",\n\totherName: \"Other Name\",\n\totherDeletionRequested_: \"Other deletion requested.\",\n\toutOfRange_ShouldBe__And______: \"Out of range, should be > 0 and < 0.01!\",\n\toutdoors: \"Outdoors\",\n\tp_O: \"P.O\",\n\tp_O_: \"P.O.\",\n\tpARAMETERSREQUIRECHECKINGORADJUSTMENT:\n\t\t\"PARAMETERS REQUIRE CHECKING OR ADJUSTMENT\",\n\tpARSING: \"PARSING\",\n\tpARTNOTFOUNDINDATABASE_: \"PART NOT FOUND IN DATABASE !\",\n\tpARTIAL: \"PARTIAL\",\n\tpENDING: \"PENDING\",\n\tpERSONNEL: \"PERSONNEL\",\n\tpICK_UP: \"PICK-UP\",\n\tpO_: \"PO #\",\n\tpOWER: \"POWER\",\n\tpRD: \"PRD\",\n\tpRE_PAID: \"PRE-PAID\",\n\tpRICEBOOKNOTAVAILABLE: \"PRICE BOOK NOT AVAILABLE\",\n\tpRICEEACH: \"PRICE EACH\",\n\tpROCESSED: \"PROCESSED\",\n\tpRODUCTLINE: \"PRODUCT LINE\",\n\tpRODUCTNO: \"PRODUCT NO\",\n\tpROJECT: \"PROJECT\",\n\tpROTECTED: \"PROTECTED\",\n\tpackage: \"Package\",\n\tpackageOptionsAreHighlightedInGreen_:\n\t\t\"Package options are highlighted in green.\",\n\tpanel: \"Panel\",\n\tpanelExteriorIsOutdoors: \"Panel Exterior Is Outdoors\",\n\tparametersCheckCompleted_: \"Parameters check completed.\",\n\tparams: \"Params\",\n\tpartDescription: \"Part Description\",\n\tpartDescriptions: \"Part Descriptions\",\n\tpartNo: \"Part No\",\n\tpartDescriptionRequired_: \"Part description required !\",\n\tpartialShipmentSelected_: \"Partial shipment selected!\",\n\tpartialShippingRequested_ButNoSpecificShipDatesListedOnSystemsOrItems_:\n\t\t\"Partial shipping requested, but no specific ship dates listed on systems or items!\",\n\tparts: \"Parts\",\n\tpassword: \"Password\",\n\tpasswordAgain: \"Password Again\",\n\tpasswordRequired_: \"Password required.\",\n\tpaste: \"Paste\",\n\tpasteOptions_: \"Paste options.\",\n\tpastingNonStockingModelsOnAStockingOrderIsProhibited_:\n\t\t\"Pasting non stocking models on a stocking order is prohibited.\",\n\tpastingStockingModelsOnAStandardOrderIsProhibited_:\n\t\t\"Pasting stocking models on a standard order is prohibited.\",\n\tperUnit: \"Per Unit\",\n\tpercentageChangeCausedByEnteredAdjustmentValue_:\n\t\t\"Percentage change caused by entered adjustment value.\",\n\tpercentageDifferenceBetweenCurrentPriceAndFloorPrice_:\n\t\t\"Percentage difference between current price and floor price.\",\n\tpercentageDifferenceBetweenNewPriceAndCurrentPrice_:\n\t\t\"Percentage difference between new price and current price.\",\n\tpercentageDifferenceBetweenNewPriceAndFloorPrice_:\n\t\t\"Percentage difference between new price and floor price.\",\n\tperimeterLength: \"Perimeter Length\",\n\tpermanentOpening: \"Permanent Opening\",\n\tpersonalInformation: \"Personal Information\",\n\tpersonnelLoad: \"Personnel Load\",\n\tph_: \"Ph: \",\n\tphone: \"Phone\",\n\tphoneNo: \"Phone No\",\n\tphoneNumbers: \"Phone Numbers\",\n\tpick_Up: \"Pick-Up\",\n\tpleaseDescribe: \"Please Describe\",\n\tpleaseNote_: \"Please Note:\",\n\tpleaseSelect: \"Please Select\",\n\tpleaseSelectAModelType: \"Please Select A Model Type\",\n\tpleaseSelectObjectsToInclude: \"Please Select Objects To Include\",\n\tpleaseSelectRatingOptions: \"Please Select Rating Options\",\n\tpleaseAdjustTemperaturesOrChangeRefrigerant_:\n\t\t\"Please adjust temperatures or change refrigerant.\",\n\tpleaseAdjustTemperaturesOrSelectAndEnterT_H_R_Value_:\n\t\t\"Please adjust temperatures or select and enter T.H.R. value.\",\n\tpleaseCheckAllItems_: \"Please check all items!\",\n\tpleaseCheckInternetAndTryAgain_: \"Please check internet and try again.\",\n\tpleaseCheckServerConnectionAndTryAgain_:\n\t\t\"Please check server connection and try again.\",\n\tpleaseCheckThemIndividually_: \"Please check them individually.\",\n\tpleaseCheckYourPermissionsAndOrCloseThisApplicationAndRunTheBootstrapManually_:\n\t\t\"Please check your permissions and or close this application and run the bootstrap manually.\",\n\tpleaseCheckYourPermissionsAndOrDeleteThisFileManually_:\n\t\t\"Please check your permissions and or delete this file manually.\",\n\tpleaseCheckYourPermissionsAndOrMoveThisFileManually_:\n\t\t\"Please check your permissions and or move this file manually.\",\n\tpleaseCheckYourProfileAndUpdateTheSoldByAddressPanel_:\n\t\t\"Please check your profile and update the sold by address panel.\",\n\tpleaseClickOnTheNEWButtonToBeginAddingYourFirstContact_:\n\t\t\"Please click on the NEW button to begin adding your first contact.\",\n\tpleaseCloseAllInstancesOfNROESAndRestartTheApplication_:\n\t\t\"Please close all instances of NROES and restart the application!\",\n\tpleaseCloseAllRefrigerationAppsClickOnRetry_:\n\t\t\"Please close all refrigeration apps click on retry!\",\n\tpleaseCloseAllRefrigerationToolsAndRestartTheApplication_:\n\t\t\"Please close all refrigeration tools and restart the application!\",\n\tpleaseCloseAllToolsAndRestartTheApplication_:\n\t\t\"Please close all tools and restart the application!\",\n\tpleaseCompleteRequiredInformation_: \"Please complete required information.\",\n\tpleaseConfirmTheFollowing: \"Please confirm the following\",\n\tpleaseConfirm_: \"Please confirm.\",\n\tpleaseContact: \"Please contact\",\n\tpleaseContactSupportTeam_: \"Please contact support team.\",\n\tpleaseContactTheDevelopmentTeam_: \"Please contact the development team.\",\n\tpleaseContactTheFactoryToHaveYourProfileAdjusted_:\n\t\t\"Please contact the factory to have your profile adjusted.\",\n\tpleaseContactTheManufacturerForServicePartInformation_:\n\t\t\"Please contact the manufacturer for service part information.\",\n\tpleaseDescribeTheReasonForThisExceptionBelowAnd:\n\t\t\"Please describe the reason for this exception below and\",\n\tpleaseEnterJob_ScopeReference_: \"Please enter Job-Scope reference!\",\n\tpleaseEnterANumericValueGreaterZero_:\n\t\t\"Please enter a numeric value greater zero.\",\n\tpleaseEnterAllThePrimaryDimensionInformationFirst_:\n\t\t\"Please enter all the primary dimension information first.\",\n\tpleaseEnterCustomerReferenceNumber_:\n\t\t\"Please enter customer reference number!\",\n\tpleaseEnterExpectedShippingCarried_:\n\t\t\"Please enter expected shipping carried!\",\n\tpleaseEnterYourPersonalApplicationRegistrationCode:\n\t\t\"Please enter your personal application registration code\",\n\tpleaseInstallCustomerDatabaseFileIntoYourApplicationProgramDataFolder_:\n\t\t\"Please install customer database file into your application program data folder!\",\n\tpleaseQuoteFACTORYORDER__: \"Please quote FACTORY ORDER #.\",\n\tpleaseRestartTheApplication: \"Please restart the application\",\n\tpleaseRestartTheApplicationWithTheInternetConnected_:\n\t\t\"Please restart the application with the internet connected.\",\n\tpleaseSaveYourWorkAndCloseAllDesignWindows_:\n\t\t\"Please save your work and close all design windows.\",\n\tpleaseSelectACompressor_: \"Please select a compressor !\",\n\tpleaseSelectACountryFromTheList_: \"Please select a country from the list!\",\n\tpleaseSelectADivision: \"Please select a division\",\n\tpleaseSelectAMatchingModelNumberFirst_:\n\t\t\"Please select a matching model number first.\",\n\tpleaseSelectAPriceBook: \"Please select a price book\",\n\tpleaseSelectAnotherFile_: \"Please select another file!\",\n\tpleaseSelectOrderType_: \"Please select order type!\",\n\tpleaseSelectServicePartTypesToAddToOrder_:\n\t\t\"Please select service part types to add to order.\",\n\tpleaseSelectTheSameSystemModelType_:\n\t\t\"Please select the same system model type .\",\n\tpleaseSelectTheTypeOfSystemYouWantToAdd:\n\t\t\"Please select the type of system you want to add\",\n\tpleaseTryAgainLater_: \"Please try again later!\",\n\tpleaseTryAgain_: \"Please try again.\",\n\tpleaseUpdateYourPrices_: \"Please update your prices!\",\n\tpleaseUseTheOptionsSelectorToAdjustTheseOptions_:\n\t\t\"Please use the options selector to adjust these options.\",\n\tpleaseUseTheOrderManagerToOpenThisOrder_:\n\t\t\"Please use the order manager to open this order.\",\n\tpleaseWait_: \"Please wait!\",\n\tplus: \"Plus\",\n\tpopup_Tooltip: \"Popup_Tooltip\",\n\tpostal: \"Postal\",\n\tpostal_ZIPCode: \"Postal / ZIP Code\",\n\tpostalCode: \"Postal Code\",\n\tpower: \"Power\",\n\tpowerDensity: \"Power Density\",\n\tpowerSearch: \"Power Search\",\n\tpower_Deg: \"Power/Deg\",\n\tpr_St: \"Pr/St\",\n\tpre_view: \"Pre&view\",\n\tpre_Paid_Charge: \"Pre-Paid & Charge\",\n\tpre_paid: \"Pre-paid\",\n\tpressure: \"Pressure\",\n\tpressureDropExceedsRequestedRange_: \"Pressure Drop Exceeds Requested Range!\",\n\tpressureDropRange: \"Pressure Drop Range\",\n\tpressureDropTolerance: \"Pressure Drop Tolerance\",\n\tpressureDropTooLow_: \"Pressure Drop Too Low!\",\n\tpressureRange: \"Pressure Range\",\n\tpreview: \"Preview\",\n\tpreviousNetPrice_: \"Previous net price:\",\n\tprice: \"Price\",\n\tpriceBook: \"Price Book\",\n\tpriceChange: \"Price Change\",\n\tpriceOK: \"Price OK\",\n\tpriceBookUpdated_: \"Price book Updated.\",\n\tpriceBookHasExpired_: \"Price book has expired !\",\n\tpriceBookHasExpiredAndTheQuoteIsOlderThan__Days_:\n\t\t\"Price book has expired and the quote is older than 30 days!\",\n\tpriceBookIsMissing_: \"Price book is missing!\",\n\tpriceBookNotUpdated_: \"Price book not updated.\",\n\tpriceDidNotChange_: \"Price did not change!\",\n\tpricebookHasExpired: \"Pricebook has expired\",\n\tpricebookHasExpired_: \"Pricebook has expired !\",\n\tpricebookMissing: \"Pricebook missing\",\n\tpricebookNotLoaded_: \"Pricebook not loaded.\",\n\tpricebookWillExpireIn: \"Pricebook will expire in\",\n\tpricingChangeOccurredOnOneRevision_:\n\t\t\"Pricing change occurred on one revision.\",\n\tpricingChangesOccurredOn: \"Pricing changes occurred on\",\n\tpricingShownIncludesAllOptionsListedOnCertifiedPrints_:\n\t\t\"Pricing shown includes all options listed on certified prints.\",\n\tprimary: \"Primary\",\n\tprint: \"Print\",\n\tprintPreview: \"Print Preview\",\n\tprintSelectedModelOnly: \"Print Selected Model Only\",\n\tprinting: \"Printing\",\n\tprocessChangeOrderRequest: \"Process Change Order Request\",\n\tprocessOrder: \"Process Order\",\n\tprocessingNotes: \"Processing Notes\",\n\tproduct: \"Product\",\n\tproductDetails: \"Product Details\",\n\tproductLine: \"Product Line\",\n\tproductList: \"Product List\",\n\tproductLoad: \"Product Load\",\n\tproductType: \"Product Type\",\n\tproductDeletionRequested_: \"Product deletion requested.\",\n\tproductsSelected: \"Products Selected\",\n\tprofitRate: \"Profit Rate\",\n\tprogramUpdateAvailable_: \"Program Update Available.\",\n\tprogramUpdatesFound: \"Program Updates Found\",\n\tprogramUpdatesShouldBeAvailableShortly_:\n\t\t\"Program updates should be available shortly.\",\n\tproject: \"Project\",\n\tpromise: \"Promise\",\n\tpromiseDate: \"Promise Date\",\n\tpromised: \"Promised\",\n\tprotectCurrentRevision: \"Protect Current Revision\",\n\tprovince: \"Province\",\n\tpulldownTime: \"Pulldown Time\",\n\tpurchaseOrder: \"Purchase Order\",\n\tpurchaseOrders: \"Purchase Orders\",\n\tpurchaseRequests: \"Purchase Requests\",\n\tpurchaser: \"Purchaser\",\n\tqTY: \"QTY\",\n\tqUOTE: \"QUOTE\",\n\tqUOTEDAYS: \"QUOTE DAYS\",\n\tqtty: \"Qtty\",\n\tqty: \"Qty\",\n\tquantity: \"Quantity\",\n\tquantityPerUnit: \"Quantity Per Unit\",\n\tquickBox: \"Quick Box\",\n\tquotationValidFor__DaysFromQuoteDate_:\n\t\t\"Quotation valid for 30 days from quote date.\",\n\tquote: \"Quote\",\n\tquote_: \"Quote #\",\n\tquoteDate: \"Quote Date\",\n\tquoteNo: \"Quote No\",\n\tquotePrice: \"Quote Price\",\n\tquoteSetup: \"Quote Setup\",\n\tquoteDateIsNotSetToCurrentDate_: \"Quote date is not set to current date!\",\n\trValue: \"R Value\",\n\tr_Value: \"R-Value\",\n\tr____A_R____CombinationNoLongerAvailable_R____ASelected_:\n\t\t\"R404-A/R-507 Combination no longer available, R-404A Selected.\",\n\trATING: \"RATING\",\n\trEADONLY: \"READ ONLY\",\n\trEADY: \"READY\",\n\trECTANGULAR: \"RECTANGULAR\",\n\trEF: \"REF\",\n\trEFf: \"REFf\",\n\trEQDate: \"REQ Date\",\n\trEQSHIPDATE_: \"REQ SHIP DATE :\",\n\trETRIEVENROESORDERFROMSERVER: \"RETRIEVE NROES ORDER FROM SERVER\",\n\trLA: \"RLA\",\n\trOUTING: \"ROUTING\",\n\trUN: \"RUN\",\n\trUNNUMBER: \"RUN NUMBER\",\n\trange: \"Range\",\n\tratedAt: \"Rated at\",\n\trating: \"Rating\",\n\tratingOptions: \"Rating Options\",\n\trear: \"Rear\",\n\trearrangeItemOrder: \"Rearrange Item Order\",\n\trearrangeItems: \"Rearrange Items\",\n\trearrangeSystemOrder_RenameSystems: \"Rearrange System Order / Rename Systems\",\n\trearrangeSystems: \"Rearrange Systems\",\n\trebuildFactoryOrder: \"Rebuild Factory Order\",\n\trebuildFactoryOrderRequested_: \"Rebuild factory order requested.\",\n\trecentOrders: \"Recent Orders\",\n\trecommendedQuantity: \"Recommended Quantity\",\n\trecoverMyEdits_: \"Recover my edits.\",\n\trectangularBoxDimensions: \"Rectangular Box Dimensions\",\n\tredo: \"Redo\",\n\treference: \"Reference\",\n\trefresh: \"Refresh\",\n\trefreshOrderList: \"Refresh Order List\",\n\trefrigerant: \"Refrigerant\",\n\trefrigerantFactor: \"Refrigerant Factor\",\n\trefrigerantFactorNotAvailable_: \"Refrigerant factor not available.\",\n\trefrigerantFactorOutOfRange_: \"Refrigerant factor out of range.\",\n\trefrigerantNotSelected_: \"Refrigerant not selected !\",\n\trefrigerants: \"Refrigerants\",\n\trefrigerationDesignTools: \"Refrigeration Design Tools\",\n\trefrigerationSystemDetails: \"Refrigeration System Details\",\n\tregBuild: \"Reg Build\",\n\tregion: \"Region\",\n\tregularShipDate_: \"Regular Ship Date : \",\n\tregularUse: \"Regular Use\",\n\trejectOrder: \"Reject Order\",\n\trejected: \"Rejected\",\n\trejectingAnOrderWillPreventTheOriginatorFromResubmittingThisOrder_:\n\t\t\"Rejecting an order will prevent the originator from resubmitting this order!\",\n\treleaseNotes: \"Release Notes\",\n\tremarks_Notes: \"Remarks / Notes\",\n\tremarks_TermsAndConditions: \"Remarks / Terms and Conditions\",\n\trememberMeOnThisComputer: \"Remember Me On This Computer\",\n\tremo_ve: \"Remo&ve\",\n\tremoteOrderLockNotEstablished_: \"Remote order lock not established.\",\n\tremoteVersionModificationTimestamp_: \"Remote version modification timestamp:\",\n\tremoteVersionUploadTimestamp_: \"Remote version upload timestamp:\",\n\tremove: \"Remove\",\n\tremove_LocalOrder: \"Remove &Local Order\",\n\tremoveFeed: \"Remove Feed\",\n\tremoveLastWall: \"Remove Last Wall\",\n\tremoveLocalOrder: \"Remove Local Order\",\n\tremoveModel_Item: \"Remove Model / Item\",\n\tremoveSystem: \"Remove System\",\n\trenumberIDs: \"Renumber IDs\",\n\treplaceAllItems_: \"Replace all items.\",\n\treplaceLocalOrderWithMasterVersion_:\n\t\t\"Replace local order with master version.\",\n\treplaceSelectedItems_: \"Replace selected items.\",\n\treplaceSelectedSystem_: \"Replace selected system.\",\n\treplaceTheOrderInformationFromTheSelectedFile_:\n\t\t\"Replace the order information from the selected file.\",\n\trequested: \"Requested\",\n\trequestedChanges_PleaseUpdateJob_ScopeAndCheckOffEachItem:\n\t\t\"Requested Changes - Please update Job-Scope and Check Off Each Item\",\n\trequestedDate_: \"Requested Date : \",\n\trequestedDateException: \"Requested Date Exception\",\n\trequestedItemShipDateIsLessThanItemLeadTime_:\n\t\t\"Requested item ship date is less than item lead time!\",\n\trequestedOrderShipDateIsLessThanLeadTime_:\n\t\t\"Requested order ship date is less than lead time!\",\n\trequestedSystemShipDateIsLessThanLeadTime_:\n\t\t\"Requested system ship date is less than lead time!\",\n\trequired: \"Required\",\n\trequiredCapacity: \"Required Capacity\",\n\trequiredCapacity_Unit: \"Required Capacity / Unit\",\n\trequiredCapacityIsNotSet_: \"Required Capacity Is Not Set!\",\n\trequiredCapacityPerUnit: \"Required Capacity Per Unit\",\n\trequiredCapacityTolerance: \"Required Capacity Tolerance\",\n\trequiredOptions: \"Required Options\",\n\trequiredRatingOptions: \"Required Rating Options\",\n\trequiredShipDate: \"Required Ship Date\",\n\trequiredValue_: \"Required value!\",\n\trequirementDatesInThePast_: \"Requirement dates in the past!\",\n\tresetColumnWidths: \"Reset Column Widths\",\n\tresizeColumns: \"Resize Columns\",\n\trestoreQuoteRevisionRequested_: \"Restore quote revision requested.\",\n\trestoreTheOrderInformationFromTheOrderStore_:\n\t\t\"Restore the order information from the order store.\",\n\tresultingPriceIsLowerThanFloorPrice_:\n\t\t\"Resulting price is lower than floor price!\",\n\tretrieveOrder: \"Retrieve Order\",\n\tretry: \"Retry\",\n\trev: \"Rev\",\n\trevision: \"Revision\",\n\trevisionContainsErrors_: \"Revision contains errors!\",\n\trevisionContainsWarnings_: \"Revision contains warnings!\",\n\trightEnd: \"Right End\",\n\trightClickOnTheQuoteTabsOnTheTopLeftOfTheOrderWindow_:\n\t\t\"Right click on the Quote tabs on the top left of the order window.\",\n\trounding: \"Rounding\",\n\trunNumber: \"Run Number\",\n\trunTime: \"Run Time\",\n\tsAndH: \"S and H\",\n\ts_C_T_: \"S.C.T.\",\n\ts_S_T_: \"S.S.T.\",\n\tsCT: \"SCT\",\n\tsECTIONLIST: \"SECTION LIST\",\n\tsEEITEMS: \"SEE ITEMS\",\n\tsELECTEDMODELDETAILS: \"SELECTED MODEL DETAILS\",\n\tsERVERERROR_: \"SERVER ERROR!\",\n\tsERVICEPARTSCATALOG: \"SERVICE PARTS CATALOG\",\n\tsHIPTO: \"SHIP TO\",\n\tsHIPPEDLOOSE: \"SHIPPED LOOSE\",\n\tsIDE_: \"SIDE 1\",\n\tsITEVOLTAGES: \"SITE VOLTAGES\",\n\tsOLDBY: \"SOLD BY\",\n\tsOLDTO: \"SOLD TO\",\n\tsST: \"SST\",\n\tsTARTING: \"STARTING\",\n\tsTATE: \"STATE\",\n\tsTOPSUBMITTEDORDERORCHANGE: \"STOP SUBMITTED ORDER OR CHANGE\",\n\tsUBMITNOTES: \"SUBMIT NOTES\",\n\tsUBMITORDER: \"SUBMIT ORDER\",\n\tsUBMITTED: \"SUBMITTED\",\n\tsUBMITTEDC_O_: \"SUBMITTED C.O.\",\n\tsUITABLEREFRIGERANTS: \"SUITABLE REFRIGERANTS\",\n\tsYNCHRONIZING: \"SYNCHRONIZING\",\n\tsYS: \"SYS\",\n\tsYSTEM: \"SYSTEM\",\n\tsYSTEMBALANCE: \"SYSTEM BALANCE\",\n\tsYSTEMBULLETIN_: \"SYSTEM BULLETIN!\",\n\tsYSTEMREFRIGERANT: \"SYSTEM REFRIGERANT\",\n\tsales: \"Sales\",\n\tsalesman: \"Salesman\",\n\tsameEnd: \"Same End\",\n\tsaturatedCondensingTemperature: \"Saturated Condensing Temperature\",\n\tsaturatedSuctionTemperature: \"Saturated Suction Temperature\",\n\tsave: \"Save\",\n\tsaveAllOrders: \"Save All Orders\",\n\tsaveAsDefault: \"Save As Default\",\n\tsaveAsDefaults: \"Save As Defaults\",\n\tsaveAsSiteDefaults: \"Save As Site Defaults\",\n\tsaveChanges: \"Save Changes\",\n\tsaveOrder: \"Save Order\",\n\tsaveOrderParameterChanges_: \"Save Order Parameter changes?\",\n\tsaveChangedContactInformation_: \"Save changed contact information.\",\n\tsaveFailed_: \"Save failed!\",\n\tsaveMyChanges_: \"Save my changes.\",\n\tsaveTheseChangesAsANewContact_: \"Save these changes as a new contact.\",\n\tsearch: \"Search\",\n\tsearchServiceParts: \"Search Service Parts\",\n\tsearchingForMatchingAirCooledCondensers_:\n\t\t\"Searching For matching air cooled condensers.\",\n\tsearchingForMatchingCompressors_: \"Searching For matching compressors.\",\n\tsearchingForMatchingCondensingUnits_:\n\t\t\"Searching For matching condensing units.\",\n\tsearchingForMatchingEvaporatorUnits_:\n\t\t\"Searching For matching evaporator units.\",\n\tsection: \"Section\",\n\tsectionConstruction: \"Section Construction\",\n\tsectionDivider: \"Section Divider\",\n\tsectionExteriorIsOutdoors: \"Section Exterior Is Outdoors\",\n\tsectionLoad: \"Section Load\",\n\tsectionType: \"Section Type\",\n\tsectionDeletionRequested_: \"Section deletion requested.\",\n\tsectionHasOpeningErrors_: \"Section has opening errors !\",\n\tsectionHasOpeningWarning_: \"Section has opening warning !\",\n\tsectionNameNotProvided_: \"Section name not provided.\",\n\tsectionTypeMustBeSelected_: \"Section type must be selected !\",\n\tsectional_E_g_StudWall_: \"Sectional ( e.g. Stud wall)\",\n\tsections: \"Sections\",\n\tsectionsSelected: \"Sections Selected\",\n\tselectAll: \"Select All\",\n\tselectApplicationLanguage: \"Select Application Language\",\n\tselectEquipment: \"Select Equipment\",\n\tselectModel: \"Select Model\",\n\tselectNextModel_: \"Select Next Model >\",\n\tselectOptions: \"Select Options\",\n\tselectRequestRevision: \"Select Request Revision\",\n\tselectRoomShape: \"Select Room Shape\",\n\tselectWhichPowerOfTenToRoundTo_: \"Select which power of ten to round to.\",\n\tselectedItemDetails: \"Selected Item Details\",\n\tselectedModelDetails: \"Selected Model Details\",\n\tselectedQuoteDetails: \"Selected Quote Details\",\n\tselectedConstructionNotFound_: \"Selected construction not found !\",\n\tselectedItemCountDiffersFromPasteBufferCount_:\n\t\t\"Selected item count differs from paste buffer count!\",\n\tselectedModelNotFoundInActivePriceBook_:\n\t\t\"Selected model not found in active price book!\",\n\tselectedPriceBookHasExpired_: \"Selected price book has expired!\",\n\tselectionError_: \"Selection error!\",\n\tsendNotification: \"Send Notification\",\n\tsendNotifications: \"Send Notifications\",\n\tsendItToMeAgain: \"Send it to me again\",\n\tsendNotificationsTo__SelectAllThatApply_:\n\t\t\"Send notifications to: (Select all that apply)\",\n\tseparatePrice: \"Separate Price\",\n\tseperatePrice: \"Seperate Price\",\n\tserverConnected: \"Server Connected\",\n\tserverNotAvailable: \"Server Not Available\",\n\tserverCopyHasDifferentSaveHistory_: \"Server copy has different save history.\",\n\tserverOrdersQueried_: \"Server orders queried!\",\n\tserverVersionDiffersFromApplication_:\n\t\t\"Server version differs from application!\",\n\tserviceParts: \"Service Parts\",\n\tsetDefaults: \"Set Defaults\",\n\tsetStatus: \"Set Status\",\n\tsetQuoteDateToToday_: \"Set quote date to today.\",\n\tshellApplicationFailedToAcceptCommand_:\n\t\t\"Shell Application Failed To Accept Command!\",\n\tshellApplicationFailedToStart_: \"Shell Application Failed to start!\",\n\tshellApplicationFilesAreMissing_: \"Shell Application Files are missing!\",\n\tshellTerminatedUnexpectedy_: \"Shell Terminated Unexpectedy!\",\n\tshellDidNotAcceptCommand_: \"Shell did not accept command.\",\n\tshellDidNotRespond_: \"Shell did not respond.\",\n\tshellIsLoading: \"Shell is loading\",\n\tshipOrdersFromFile: \"Ship Orders From File\",\n\tshipTo: \"Ship To\",\n\tshipToInformationIsIncomplete: \"Ship to information is incomplete\",\n\tshipToRegionMustBeTwoCharacterCode_:\n\t\t\"Ship to region must be two character code!\",\n\tshipment: \"Shipment\",\n\tshipped: \"Shipped\",\n\tshippedInformation: \"Shipped Information\",\n\tshippedLoose: \"Shipped Loose\",\n\tshippedLoose_LineItem_: \"Shipped Loose ( Line Item )\",\n\tshippingNotes: \"Shipping Notes\",\n\tshippingTerms: \"Shipping Terms\",\n\tshippingWeight: \"Shipping Weight\",\n\tshowAll: \"Show All\",\n\tshowChangeDetails: \"Show Change Details\",\n\tshowExtendedParameters: \"Show Extended Parameters\",\n\tshowItemPrices: \"Show Item Prices\",\n\tshowLocalOrders: \"Show Local Orders\",\n\tshowMyOrders: \"Show My Orders\",\n\tshowNotes_Tags_AndDates: \"Show Notes, Tags, and Dates\",\n\tshowOptionPrices: \"Show Option Prices\",\n\tshowOptions: \"Show Options\",\n\tshowSplashScreenAtStartup: \"Show Splash Screen At Startup\",\n\tshowToolbarText: \"Show Toolbar Text\",\n\tshowWhereUsedList: \"Show Where Used List\",\n\tshowMeMoreInformation_: \"Show me more information.\",\n\tshutdown: \"Shutdown\",\n\tside: \"Side\",\n\tside_: \"Side 1\",\n\tsignIn: \"Sign In\",\n\tsignedIn: \"Signed In\",\n\tsignedIn_: \"Signed In.\",\n\tsigningInAsGuest_: \"Signing in as guest.\",\n\tsineWave: \"Sine Wave\",\n\tsiteAltitude: \"Site Altitude\",\n\tsiteLineFrequency: \"Site Line Frequency\",\n\tsiteAltitudeCanNotBeGreaterThan: \"Site altitude can not be greater than\",\n\tsiteAltitudeCanNotBeLessThan: \"Site altitude can not be less than\",\n\tsiteAltitudeNotEntered_: \"Site altitude not entered !\",\n\tsmallDimensions: \"Small Dimensions\",\n\tsoftwarePatches: \"Software Patches\",\n\tsoldBy: \"Sold By\",\n\tsoldByNameChangeRequested_: \"Sold By Name Change Requested.\",\n\tsoldTo: \"Sold To\",\n\tsoldByInformationIsIncomplete: \"Sold by information is incomplete\",\n\tsoldToInformationIsIncomplete: \"Sold to information is incomplete\",\n\tsoldToRegionMustBeTwoCharacterCode_:\n\t\t\"Sold to region must be two character code!\",\n\tsomeDescriptionsHaveNotBeenEntered_:\n\t\t\"Some descriptions have not been entered!\",\n\tsomeDesignWindowsAreStillOpen_: \"Some design windows are still open.\",\n\tsomeFactoryCallLeadTimeSettingsAreStillNotSet_:\n\t\t\"Some factory call lead time settings are still not set!\",\n\tsomeFilesDidNotTransferToTheServer_:\n\t\t\"Some files did not transfer to the server!\",\n\tsomeFunctionalityMayBeDisabled_: \"Some functionality may be disabled!\",\n\tsomeItemsNeedFactoryLeadTimes_PleaseCall_:\n\t\t\"Some items need factory lead times. Please call.\",\n\tsomeItemsNeedFactoryPricing_PleaseCall_:\n\t\t\"Some items need factory pricing. Please call !\",\n\tsomeOptionsWerePreviouslySetToAnotherValue_:\n\t\t\"Some options were previously set to another value.\",\n\tsomeOrdersNotSaved_: \"Some orders not saved!\",\n\tsomeOrdersWereNotProperlyClosed_: \"Some orders were not properly closed.\",\n\tsomeParametersChanged_: \"Some parameters changed.\",\n\tsomePriceChangesOccurred_: \"Some price changes occurred.\",\n\tsomePricesOrOptionsMayHaveChanged_:\n\t\t\"Some prices or options may have changed !\",\n\tsomePricesWereUpdated_: \"Some prices were updated!\",\n\tsomePrintFunctionsAreDisabled_: \"Some print functions are disabled.\",\n\tspanish: \"Spanish\",\n\tspareFeeds: \"Spare Feeds\",\n\tspares: \"Spares\",\n\tspecificHeatAboveFreezing: \"Specific Heat Above Freezing\",\n\tspecificHeatBelowFreezing: \"Specific Heat Below Freezing\",\n\tstandard: \"Standard\",\n\tstandardOrder: \"Standard Order\",\n\tstandardTextFile_AllListedParts_: \"Standard text file - All Listed Parts.\",\n\tstandardTextFile_SelectedPartsOnly_:\n\t\t\"Standard text file - Selected Parts Only.\",\n\tstartNROES: \"Start NROES\",\n\tstartUpOptions: \"Start Up Options\",\n\tstartShellWhenILogInToWindows: \"Start shell when I log in to windows\",\n\tstarting: \"Starting\",\n\tstartingTools: \"Starting Tools\",\n\tstate: \"State\",\n\tstatus: \"Status\",\n\tstatus_: \"Status:\",\n\tstatusStrip: \"StatusStrip\",\n\tstockingModelOrder: \"Stocking Model Order\",\n\tstoredOrderIsMoreRecentThanRecoveryData_:\n\t\t\"Stored order is more recent than recovery data.\",\n\tstripCurtains: \"Strip Curtains\",\n\tstyle: \"Style\",\n\tsub_Total: \"Sub-Total\",\n\tsubject: \"Subject\",\n\tsubmitChangeOrderNow: \"Submit Change Order Now\",\n\tsubmitChangeOrderRequestToManufacturer:\n\t\t\"Submit Change Order Request To Manufacturer\",\n\tsubmitChangeRequestToPurchaser: \"Submit Change Request To Purchaser\",\n\tsubmitNotes: \"Submit Notes\",\n\tsubmitOrder: \"Submit Order\",\n\tsubmitOrderNow: \"Submit Order Now\",\n\tsubmitted: \"Submitted\",\n\tsubmittedOrdersMayNotBeEditedInOff_lineMode_:\n\t\t\"Submitted orders may not be edited in off-line mode.\",\n\tsuccess_: \"Success!\",\n\tsuction: \"Suction\",\n\tsuctionTemp: \"Suction Temp\",\n\tsuctionTemp_S_S_T__: \"Suction Temp (S.S.T.)\",\n\tsuctionTemperatureCanNotBeGreaterThan:\n\t\t\"Suction temperature can not be greater than\",\n\tsuctionTemperatureCanNotBeLessThan:\n\t\t\"Suction temperature can not be less than\",\n\tsuctionTemperatureIsGreaterThanCondensingTemperature_:\n\t\t\"Suction temperature is greater than condensing temperature.\",\n\tsuctionTemperatureIsMissing_: \"Suction temperature is missing.\",\n\tsuctionTemperatureIsRequired_: \"Suction temperature is required !\",\n\tsuitableModels: \"Suitable Models\",\n\tswitchPriceBook: \"Switch PriceBook\",\n\tsynchronizingOrder_: \"Synchronizing Order:\",\n\tsyncronizingContacts: \"Syncronizing Contacts\",\n\tsystem: \"System\",\n\tsystemLoad: \"System Load\",\n\tsystemName: \"System Name\",\n\tsystemNetPrice: \"System Net Price\",\n\tsystemNotes: \"System Notes\",\n\tsystemRun_Time: \"System Run-Time\",\n\tsystemTagging: \"System Tagging\",\n\tsystemWeight: \"System Weight\",\n\tsystemLoadIsMissing_: \"System load is missing!\",\n\tsystemOptionIsNoLongerAvailable_: \"System option is no longer available!\",\n\tsystemReturned_: \"System returned.\",\n\tsystemsOnThisOrderContainErrors_: \"Systems on this order contain errors.\",\n\tsystemsOnThisOrderContainWarnings_: \"Systems on this order contain warnings.\",\n\tt_D_: \"T.D.\",\n\tt_D_Error: \"T.D. Error\",\n\tt_H_R: \"T.H.R\",\n\ttD: \"TD\",\n\ttDCanNotBeCalculated_: \"TD can not be calculated.\",\n\ttDCanNotBeGreaterThan: \"TD can not be greater than\",\n\ttDCanNotBeLessThan: \"TD can not be less than\",\n\ttDOutOfEnteredToleranceRange_: \"TD out of entered tolerance range.\",\n\ttDOutOfMaximumRange_: \"TD out of maximum range.\",\n\ttERMS_CONDITIONSANDREMARKS: \"TERMS, CONDITIONS AND REMARKS\",\n\ttHEVALUESCONTAINEDHERINAREBASEDONLABORATORYFINDINGSANDTHEINITIALCONDITIONSENTEREDBYTHEUSER_:\n\t\t\"THE VALUES CONTAINED HERIN ARE BASED ON LABORATORY FINDINGS AND THE INITIAL CONDITIONS ENTERED BY THE USER.\",\n\ttHR: \"THR\",\n\ttHRCanNotBeCalculated_: \"THR can not be calculated.\",\n\ttOTAL: \"TOTAL\",\n\ttOTALINFILTRATIONLOAD: \"TOTAL INFILTRATION LOAD\",\n\ttOTALLISTPRICE: \"TOTAL LIST PRICE\",\n\ttOTALNET: \"TOTAL NET\",\n\ttOTALQUOTEPRICE: \"TOTAL QUOTE PRICE\",\n\ttYP: \"TYP\",\n\ttYPE: \"TYPE\",\n\ttabSeparatedTextFiles: \"Tab Separated Text Files\",\n\ttagging: \"Tagging\",\n\ttaggingID: \"Tagging ID\",\n\ttaggingID_: \"Tagging ID #\",\n\ttaggingText: \"Tagging Text\",\n\ttakeOwnership: \"Take Ownership\",\n\ttargetPriceAccordingToAdjustmentAndRoundingFactors_:\n\t\t\"Target price according to adjustment and rounding factors.\",\n\ttax: \"Tax\",\n\ttaxes: \"Taxes\",\n\ttemperature: \"Temperature\",\n\ttemperatures: \"Temperatures\",\n\tterminationOptions: \"Termination Options\",\n\tterms: \"Terms\",\n\ttest: \"Test\",\n\ttextBox: \"TextBox\",\n\ttheInternalRelativeHumidityNotEntered_:\n\t\t\"The Internal relative humidity not entered !\",\n\ttheMaterialLoadHasNotBeenCalculatedOrEntered_:\n\t\t\"The Material load has not been calculated or entered !\",\n\ttheMaterialMaterialNameIsNotEntered_:\n\t\t\"The Material material name is not entered !\",\n\ttheMaterialMaterialTypeIsNotSelected_:\n\t\t\"The Material material type is not selected !\",\n\ttheOriginatingCustomersInformationIsAlreadyListedInYourContactDatabase_:\n\t\t\"The Originating customers information is already listed in your contact database.\",\n\ttheR_ValueHasNotBeenEntered_: \"The R-Value has not been entered !\",\n\ttheActualCondensingTemperatureCouldNotBeCalculated_:\n\t\t\"The actual condensing temperature could not be calculated !\",\n\ttheAmbientTemperatureIsNotEntered_:\n\t\t\"The ambient temperature is not entered !\",\n\ttheApplicationCouldNotMoveFile_BootStrap_exeFromTheUpdatesFolderToTheApplicationFolder_:\n\t\t\"The application could not move file 'BootStrap.exe from the Updates folder to the application folder.\",\n\ttheApplicationCouldNotRemoveFile_BootStrap_exe_FromTheApplicationFolder_:\n\t\t\"The application could not remove file 'BootStrap.exe' from the application folder.\",\n\ttheApplicationCouldNotSpawn_BootStrap_exe_InTheApplicationFolder_:\n\t\t\"The application could not spawn 'BootStrap.exe' in the application folder.\",\n\ttheAreaHasNotBeenCalculatedOrEntered_:\n\t\t\"The area has not been calculated or entered !\",\n\ttheAreaIsGreaterThanTheSectionArea_:\n\t\t\"The area is greater than the section area !\",\n\ttheBoxTypeMustBeSelected_: \"The box type must be selected !\",\n\ttheCentreDistanceIsNotEntered_: \"The centre distance is not entered !\",\n\ttheChangeCanNotBeProcessedUntilYouCloseTheWorkbookInThisApplication_:\n\t\t\"The change can not be processed until you close the workbook in this application.\",\n\ttheConstructionK_FactorIsNotCalculatedOrEntered_:\n\t\t\"The construction K-Factor is not calculated or entered !\",\n\ttheConstructionR_ValueIsNotCalculatedOrEntered_:\n\t\t\"The construction R-Value is not calculated or entered !\",\n\ttheConstructionNameIsNotEntered_: \"The construction name is not entered !\",\n\ttheConstructionThicknessHasNotBeenEntered_:\n\t\t\"The construction thickness has not been entered !\",\n\ttheConstructionTypeIsNotSelected_: \"The construction type is not selected !\",\n\ttheCorrectQuoteRevisionIsSelected: \"The correct quote revision is selected\",\n\ttheCurrentPricebookHasBeenSuperseded_:\n\t\t\"The current pricebook has been superseded.\",\n\ttheCurrentPricebookHasExpired_: \"The current pricebook has expired.\",\n\ttheCurrentPricebookNoLongerExists_: \"The current pricebook no longer exists.\",\n\ttheCurrentPricebookWillExpireInLessThanAMonth_:\n\t\t\"The current pricebook will expire in less than a month.\",\n\ttheCurrentSettingsWillBeUsedOnAllNewOrdersForThisDivision_:\n\t\t\"The current settings will be used on all new orders for this division.\",\n\ttheCurrentSettingsWillBeUsedOnAllNewOrders_:\n\t\t\"The current settings will be used on all new orders.\",\n\ttheDividerMaterialNameIsNotEntered_:\n\t\t\"The divider material name is not entered !\",\n\ttheDividerMaterialTypeIsNotSelected_:\n\t\t\"The divider material type is not selected !\",\n\ttheDividerWidthIsNotEntered_: \"The divider width is not entered !\",\n\ttheEffectiveR_ValueIsNotCalculatedOrEntered_:\n\t\t\"The effective R-Value is not calculated or entered !\",\n\ttheEmailAddressGivenIsNotListed_: \"The email address given is not listed.\",\n\ttheExternalRelativeHumidityMustBeGreaterThanZero_:\n\t\t\"The external relative humidity must be greater than zero !\",\n\ttheExternalRelativeHumidityMustBeLessThan____:\n\t\t\"The external relative humidity must be less than 100 !\",\n\ttheExternalRelativeHumidityNotEntered_:\n\t\t\"The external relative humidity not entered !\",\n\ttheExternalTemperatureIsLowerThanTheInternalTemperature_:\n\t\t\"The external temperature is lower than the internal temperature !\",\n\ttheExternalTemperatureIsNotEntered_:\n\t\t\"The external temperature is not entered !\",\n\ttheExternalTemperatureIsTooHigh_: \"The external temperature is too high !\",\n\ttheExternalTemperatureIsTooLow_: \"The external temperature is too low !\",\n\ttheExternalTemperatureNotEntered_: \"The external temperature not entered !\",\n\ttheFactoryInvoiceRecipientIsCorrect:\n\t\t\"The factory invoice recipient is correct\",\n\ttheFactoryInvoiceWillBeSentTo: \"The factory invoice will be sent to\",\n\ttheFactoryIsNotShippingOnTheSelectedDate_:\n\t\t\"The factory is not shipping on the selected date.\",\n\ttheFloorAreaIsNotCalculatedOrEntered_:\n\t\t\"The floor area is not calculated or entered !\",\n\ttheFollowingChangesHaveBeenVerified:\n\t\t\"The following changes have been verified\",\n\ttheFollowingOptionIsNotAllowedWithThisPackage_:\n\t\t\"The following option is not allowed with this package.\",\n\ttheFollowingOrdersCouldNotBeMarkedAsClosed_:\n\t\t\"The following orders could not be marked as closed.\",\n\ttheFollowingOrdersCouldNotBeMarkedAsShipped_:\n\t\t\"The following orders could not be marked as shipped.\",\n\ttheFollowingOrdersCouldNotBeSynchronized_:\n\t\t\"The following orders could not be synchronized!\",\n\ttheInfiltrationLoadHasNotBeenCalculatedOrEntered_:\n\t\t\"The infiltration load has not been calculated or entered !\",\n\ttheInformationInTheStoreIsOlderThanTheSelectedFile_:\n\t\t\"The information in the store is older than the selected file.\",\n\ttheInternalTemperatureIsNotEntered_:\n\t\t\"The internal temperature is not entered !\",\n\ttheItemOrSomeOptionsNeedFactoryLeadTimes_PleaseCall_:\n\t\t\"The item or some options need factory lead times. Please call !\",\n\ttheLayerThicknessIsNotCalculatedOrEntered_:\n\t\t\"The layer thickness is not calculated or entered !\",\n\ttheLayerThicknessIsNotEntered_: \"The layer thickness is not entered !\",\n\ttheLoadIsNotCalculatedOrEntered_: \"The load is not calculated or entered !\",\n\ttheOpeinngWidthIsGreaterThanTheSectionWidth_:\n\t\t\"The opeinng width is greater than the section width !\",\n\ttheOpeningHeightHasNotBeenEntered_:\n\t\t\"The opening height has not been entered !\",\n\ttheOpeningHeightIsGreaterThanTheSectionHeight_:\n\t\t\"The opening height is greater than the section height !\",\n\ttheOpeningTypeIsNotSelected_: \"The opening type is not selected !\",\n\ttheOpeningWidthHasNotBeenEntered_: \"The opening width has not been entered !\",\n\ttheOrderCanNotBeProcessedUntilYouCloseTheWorkbookInThisApplication_:\n\t\t\"The order can not be processed until you close the workbook in this application.\",\n\ttheOrderFileAppearsCorrupt_: \"The order file appears corrupt.\",\n\ttheOrderIsAlreadyListedInTheLocalOrderDatabase_:\n\t\t\"The order is already listed in the local order database.\",\n\ttheOrderIsLockedByAnotherUser_: \"The order is locked by another user.\",\n\ttheOrderWindowWillUpdateWhenYouCloseTheServicePartsWindow_:\n\t\t\"The order window will update when you close the service parts window.\",\n\ttheOriginalOrderHasNotBeenProcessedYet_:\n\t\t\"The original order has not been processed yet.\",\n\tthePerimeterLengthMustBeEnteredForSlabOnGradeFloors_:\n\t\t\"The perimeter length must be entered for slab on grade floors !\",\n\tthePowerUnitsAreNotEntered_: \"The power units are not entered !\",\n\tthePriceBookSelectedForThisOrderHasBeenUpdated_:\n\t\t\"The price book selected for this order has been updated !\",\n\tthePriceBookUsedForTheOpenChangeRequestHasBeenRevised_:\n\t\t\"The price book used for the open change request has been revised.\",\n\tthePriceBookUsedForTheOpenChangeRequestHasBeenSuperseded_:\n\t\t\"The price book used for the open change request has been superseded.\",\n\tthePriceBookUsedForTheOpenChangeRequestIsExpiring_:\n\t\t\"The price book used for the open change request is expiring.\",\n\tthePriceBookUsedForThisOrderHasBeenRevised_:\n\t\t\"The price book used for this order has been revised.\",\n\tthePriceBookUsedForThisOrderHasBeenSuperseded_:\n\t\t\"The price book used for this order has been superseded.\",\n\tthePriceBookUsedForThisOrderIsExpiring_:\n\t\t\"The price book used for this order is expiring.\",\n\tthePriceBookUsedOnOneQuoteHasBeenRevised_:\n\t\t\"The price book used on one quote has been revised.\",\n\tthePriceBookUsedOnOneQuoteHasBeenSuperseded_:\n\t\t\"The price book used on one quote has been superseded.\",\n\tthePriceBookUsedOnOneQuoteHasExpired_:\n\t\t\"The price book used on one quote has expired.\",\n\tthePriceBookUsedOnOneQuoteIsMissing_:\n\t\t\"The price book used on one quote is missing.\",\n\tthePriceBookWasUpdated_: \"The price book was updated!\",\n\tthePriceBooksUsedForThisOrderAreExpiring_:\n\t\t\"The price books used for this order are expiring.\",\n\tthePriceBooksUsedForThisOrderHaveBeenRevised_:\n\t\t\"The price books used for this order have been revised.\",\n\tthePriceBooksUsedForThisOrderHaveBeenSuperseded_:\n\t\t\"The price books used for this order have been superseded.\",\n\tthePriceBooksUsedOn: \"The price books used on\",\n\tthePriceBooksUsedOnOneQuoteIsExpiring_:\n\t\t\"The price books used on one quote is expiring.\",\n\ttheProductFreezingTemperatureIsNotEntered_:\n\t\t\"The product freezing temperature is not entered !\",\n\ttheProductIsEnteringAtTheInternalTemperature_TheFinalTemperatureMustAlsoBeTheInternalTemperature_:\n\t\t\"The product is entering at the internal temperature, the final temperature must also be the internal temperature !\",\n\ttheProductTypeIsNotSelected_: \"The product type is not selected !\",\n\ttheProduct_sEnteringTemperatureIsNotSet_:\n\t\t\"The product's entering temperature is not set !\",\n\ttheProduct_sFinalTemperatureCanNotBeGreaterThanTheEnteringTemperature_:\n\t\t\"The product's final temperature can not be greater than the entering temperature !\",\n\ttheProduct_sFinalTemperatureCanNotBeLowerThanTheEnteringTemperature_:\n\t\t\"The product's final temperature can not be lower than the entering temperature !\",\n\ttheProduct_sFinalTemperatureCanNotBePulledHigherThanTheInternalTemperature_:\n\t\t\"The product's final temperature can not be pulled higher than the internal temperature !\",\n\ttheProduct_sFinalTemperatureCanNotBePulledLowerThanTheInternalTemperature_:\n\t\t\"The product's final temperature can not be pulled lower than the internal temperature !\",\n\ttheProduct_sFinalTemperatureIsNotSet_:\n\t\t\"The product's final temperature is not set !\",\n\ttheProduct_sLoadFactorIsNotSet_: \"The product's load factor is not set !\",\n\ttheProduct_sLoadFactorShouldBeOneUnlessRapidCoolingIsRequired__:\n\t\t\"The product's load factor should be one unless rapid cooling is required. !\",\n\ttheProduct_sLoadIsNotCalculatedNotEntered_:\n\t\t\"The product's load is not calculated not entered !\",\n\ttheProduct_sMoistureContentIsNotEntered_:\n\t\t\"The product's moisture content is not entered !\",\n\ttheProduct_sPullDownTimeIsNotSet_:\n\t\t\"The product's pull down time is not set !\",\n\ttheProduct_sSpecificHeatAboveFreezingIsNotEntered_:\n\t\t\"The product's specific heat above freezing is not entered !\",\n\ttheProduct_sSpecificHeatBelowFreezingIsNotEntered_:\n\t\t\"The product's specific heat below freezing is not entered !\",\n\ttheProduct_sWeightIsNotEntered_: \"The product's weight is not entered !\",\n\ttheProgramStoreIsNewerThanTheFileYouSelected_:\n\t\t\"The program store is newer than the file you selected!\",\n\ttheQuoteHasBeenSignedByTheCustomer:\n\t\t\"The quote has been signed by the customer\",\n\ttheRunTimeIsNotEntered_: \"The run time is not entered !\",\n\ttheSelectedChangeOrderHasBeenProcessedByOurOrderDepartment_:\n\t\t\"The selected change order has been processed by our Order Department.\",\n\ttheSelectedChangeOrderHasBeenProcessedByThePurchaser_:\n\t\t\"The selected change order has been processed by the purchaser.\",\n\ttheSelectedOrderHasBeenProcessedByOurOrderDepartment_:\n\t\t\"The selected order has been processed by our Order Department.\",\n\ttheSelectedOrderHasBeenProcessedByThePurchaser_:\n\t\t\"The selected order has been processed by the purchaser.\",\n\ttheSelectedOrderIsOpenInAnotherSessionOfNROES_:\n\t\t\"The selected order is open in another session of NROES.\",\n\ttheSelectedRefrigerantIsNotAvailableOnThisUnit_:\n\t\t\"The selected refrigerant is not available on this unit !\",\n\ttheServerReturnedTheFollowing_: \"The server returned the following.\",\n\ttheSystemReportedError: \"The system reported error\",\n\ttheSystemReportedTheFollowingError_:\n\t\t\"The system reported the following error.\",\n\ttheTotalInfiltrationLoadIsNotCalculatedOrEntered_:\n\t\t\"The total infiltration load is not calculated or entered !\",\n\ttheTotalVolumeIsNotCalculatedOrEntered_:\n\t\t\"The total volume is not calculated or entered !\",\n\ttheUserNameYouEnteredIsNotRegisteredOnThisWorkstation_:\n\t\t\"The user name you entered is not registered on this workstation!\",\n\ttheValueWillBeAddedOrSubtractedFromTheCurrentPrice_:\n\t\t\"The value will be added or subtracted from the current price.\",\n\tthenClickOnSaveAgain_: \"Then click on save again.\",\n\tthereAreNoItemsOnThisOrder_: \"There are no items on this order!\",\n\tthereAreNoOptionsAvailableForThisUnit_:\n\t\t\"There are no options available for this unit!\",\n\tthickness: \"Thickness\",\n\tthicknessIsNotEntered_: \"Thickness is not entered !\",\n\tthirdParty: \"Third Party\",\n\tthisMayTakeAFewMinutes_: \"This may take a few minutes.\",\n\tthisModelHasOptionsAttached_: \"This model has options attached.\",\n\tthisOrderHasBeenPutOnHoldByTheOrderDepartment_:\n\t\t\"This order has been put on hold by the order department.\",\n\tthisOrderHasBeenRejectedByTheOrderDepartment_:\n\t\t\"This order has been rejected by the order department.\",\n\tthisOrderHasPriceBookIssues_: \"This order has price book issues.\",\n\tthisOrderWasNotClosedProperlyTheLastTimeYouOpenedItOnThisWorkstation_:\n\t\t\"This order was not closed properly the last time you opened it on this workstation.\",\n\tthisOrderWasSavedUsingAPreviousVersionOfYourMultiplierStructure_:\n\t\t\"This order was saved using a previous version of your multiplier structure!\",\n\tthisOrderWasSavedUsingAPreviousVersionOfYourUserCatalogueProfile_:\n\t\t\"This order was saved using a previous version of your user catalogue profile!\",\n\ttileHorizontally: \"Tile Horizontally\",\n\ttileVertically: \"Tile Vertically\",\n\ttime: \"Time\",\n\ttitle: \"Title\",\n\ttoNearest: \"To Nearest\",\n\ttoNearest_: \"To Nearest 1\",\n\ttoNearest_____: \"To Nearest 1,000\",\n\ttoNearest__: \"To Nearest 10\",\n\ttoNearest______: \"To Nearest 10,000\",\n\ttoNearest___: \"To Nearest 100\",\n\ttoNearest_______: \"To Nearest 100,000\",\n\ttoAssistUs_PleaseProvideAnyFurtherInformationYouMayThinkIsRelevant_:\n\t\t\"To assist us, please provide any further information you may think is relevant.\",\n\ttoChangeThePartQuantities_PleaseEditThemInTheOrderWindow_:\n\t\t\"To change the part quantities, please edit them in the order window.\",\n\ttolerance: \"Tolerance\",\n\ttools: \"Tools\",\n\ttotal: \"Total\",\n\ttotalCapacityAtDesignTD: \"Total Capacity At Design TD\",\n\ttotalEquipmentPrice: \"Total Equipment Price\",\n\ttotalHeatRejected: \"Total Heat Rejected\",\n\ttotalHourlyLoad: \"Total Hourly Load\",\n\ttotalLoadRequired: \"Total Load Required\",\n\ttotalMiscellaneousLoad: \"Total Miscellaneous Load\",\n\ttotalOpeningInfiltration: \"Total Opening Infiltration\",\n\ttotalOtherLoads: \"Total Other Loads\",\n\ttotalPrice: \"Total Price\",\n\ttotalProductLoad: \"Total Product Load\",\n\ttotalProductWeight: \"Total Product Weight\",\n\ttotalSystemCapacity: \"Total System Capacity\",\n\ttotalThickness: \"Total Thickness\",\n\ttotalVolume: \"Total Volume\",\n\ttotalWallLoad: \"Total Wall Load\",\n\ttotalDoorWidthExceedsSectionWidth: \"Total door width exceeds section width\",\n\ttotalHeatRejectedOutOfRange_: \"Total heat rejected out of range.\",\n\ttotalOpeningAreaExceedsSectionArea: \"Total opening area exceeds section area\",\n\ttranslationsAreUNDERCONSTRUCTIONAndMayBeLiteralByNatureAndMayBeContextuallyInError_:\n\t\t\"Translations are UNDER CONSTRUCTION and may be literal by nature and may be contextually in error.\",\n\ttrentonLoadCalcFiles: \"Trenton Load Calc Files\",\n\ttrentonRefrigeration: \"Trenton Refrigeration\",\n\ttubeConfiguration: \"Tube Configuration\",\n\ttubeRows: \"Tube Rows\",\n\ttubes: \"Tubes\",\n\ttubesPerFeed: \"Tubes Per Feed\",\n\ttubesPerRow: \"Tubes Per Row\",\n\ttyp: \"Typ\",\n\ttype: \"Type\",\n\tu_SHAPED: \"U - SHAPED\",\n\tu_S_: \"U.S.\",\n\tu_S_English: \"U.S. English\",\n\tuNIT: \"UNIT\",\n\tuNITLIST: \"UNIT LIST\",\n\tuNITNET: \"UNIT NET\",\n\tuNLESSOTHERWISESPECIFIED: \"UNLESS OTHERWISE SPECIFIED\",\n\tuNUSEDCONNECTIONS: \"UNUSED CONNECTIONS\",\n\tuPDATED: \"UPDATED\",\n\tuSERINFORMATION: \"USER INFORMATION\",\n\tuSERPREFERENCES: \"USER PREFERENCES\",\n\tundo: \"Undo\",\n\tunit_: \"Unit #\",\n\tunitCooler: \"Unit Cooler\",\n\tunitList: \"Unit List\",\n\tunitNet: \"Unit Net\",\n\tunitPrice: \"Unit Price\",\n\tunitTotal: \"Unit Total\",\n\tunitIsNotCompatibleWithSelectedSystemRefrigerant_:\n\t\t\"Unit is not compatible with selected system refrigerant !\",\n\tunits: \"Units\",\n\tunknownReason_: \"Unknown Reason.\",\n\tuntilTheChangeIsProcessedByTheManufacturer_YouMayStopYourRequest_:\n\t\t\"Until the change is processed by the manufacturer, you may stop your request.\",\n\tuntilThen_FunctionalityWillBeLimited_:\n\t\t\"Until then, functionality will be limited!\",\n\tunusedFeeds: \"Unused Feeds\",\n\tupOrDown: \"Up Or Down\",\n\tupdateAllMultipliers: \"Update All Multipliers\",\n\tupdateAllParameters: \"Update All Parameters\",\n\tupdateAllPrices: \"Update All Prices\",\n\tupdateNow: \"Update Now\",\n\tupdatePricebook: \"Update Pricebook\",\n\tupdatePending_: \"Update pending.\",\n\tupdateTheCurrentInformation_Or: \"Update the current information. or \",\n\tupdateTheExistingListing_: \"Update the existing listing.\",\n\tupdatesCanNotBeInstalled_: \"Updates can not be installed.\",\n\tuploadToJOB_SCOPE: \"Upload To JOB-SCOPE\",\n\tuploadingBuffer: \"Uploading Buffer\",\n\tuploadingPreviouslySavedFiles: \"Uploading Previously Saved Files\",\n\tuploadingQueuedOrders: \"Uploading Queued Orders\",\n\tuploadingQueuedOrder_: \"Uploading queued Order:\",\n\tuseLogoImageFile: \"Use Logo Image File\",\n\tuseMyInformation: \"Use My Information\",\n\tuseBoxSetting: \"Use box setting\",\n\tuseMenuFunctionCreateChangeOrderInstead_:\n\t\t\"Use menu function Create Change Order instead.\",\n\tuseTheHOLDFunctionIfYouExpectTheOriginatorToCorrectTheOrder_:\n\t\t\"Use the HOLD function if you expect the originator to correct the order!\",\n\tuseTheSTOPSUBMITTEDCHANGESelectionInTheOrderMenu_:\n\t\t\"Use the STOP SUBMITTED CHANGE selection in the Order Menu.\",\n\tuseTheSTOPSUBMITTEDORDERSelectionInTheOrderMenu_:\n\t\t\"Use the STOP SUBMITTED ORDER selection in the Order Menu.\",\n\tuseTheMenuToCreateNewRevision_s_FromYourEditsAsDesired_:\n\t\t\"Use the menu to create new revision(s) from your edits as desired.\",\n\tuserID: \"User ID\",\n\tuserInformation: \"User Information\",\n\tuserInformationRequested_: \"User Information requested.\",\n\tuserName: \"User Name\",\n\tuserRegistrationInformation: \"User Registration Information\",\n\tuserVerification: \"User Verification\",\n\tuserNameRequired_: \"User name required.\",\n\tuserSelectablePriceAdjustmentValue_:\n\t\t\"User selectable price adjustment value.\",\n\tusernameNotFound_: \"Username not found!\",\n\tusingLocalVersion_: \"Using local version.\",\n\tvWaffle: \"V Waffle\",\n\tvOLTAGE: \"VOLTAGE\",\n\tvalueRequired_: \"Value Required!\",\n\tvalueMustBeGreaterThanZero_: \"Value must be greater than zero!\",\n\tvarious: \"Various\",\n\tvelocity: \"Velocity\",\n\tventilationAirRelativeHumidity___: \"Ventilation Air Relative Humidity (%)\",\n\tventilationAirTemperature: \"Ventilation Air Temperature\",\n\tventilationRate: \"Ventilation Rate\",\n\tventilationAirRelativeHumidityIsNotEntered_:\n\t\t\"Ventilation air relative humidity is not entered !\",\n\tventilationAirTemperatureIsNotEntered_:\n\t\t\"Ventilation air temperature is not entered !\",\n\tventilationRateIsLessThanTheRecommendedMinimumValue_:\n\t\t\"Ventilation rate is less than the recommended minimum value !\",\n\tverifyDesign: \"Verify Design\",\n\tversion: \"Version\",\n\tversion_OfNROESUsesADifferentSaveStrategy_:\n\t\t\"Version 8 of NROES uses a different save strategy.\",\n\tversion_UsesAWorkbookForYourJobInsteadOfMultipleQuoteRevisionFiles_:\n\t\t\"Version 8 uses a workbook for your job instead of multiple quote revision files.\",\n\tvertical: \"Vertical\",\n\tvia: \"Via\",\n\tview_ArchivedFiles: \"View &Archived Files\",\n\tviewCSV: \"View CSV\",\n\tvisitUsOn_Line: \"Visit Us On-Line\",\n\tvoltage: \"Voltage\",\n\tvolume: \"Volume\",\n\twAITINGFORSERVICEPARTSCATALOGUETOLOAD:\n\t\t\"WAITING FOR SERVICE PARTS CATALOGUE TO LOAD\",\n\twARNING: \"WARNING\",\n\twARNING_: \"WARNING!\",\n\twARNINGS: \"WARNINGS\",\n\twATTS: \"WATTS\",\n\twO: \"WO\",\n\twORKORDER: \"WORK ORDER\",\n\twaitingForShellToComeReady: \"Waiting For Shell To Come Ready\",\n\twaitingForShellToComeReadyForFirstTime:\n\t\t\"Waiting For Shell To Come Ready For First Time\",\n\twaitingForShellToStart: \"Waiting For Shell To Start\",\n\twaitingForANewPassword_: \"Waiting for a new password.\",\n\twaitingForRegistrationKey_: \"Waiting for registration key.\",\n\twaitingForShell_: \"Waiting for shell.\",\n\twaitingForSign_in: \"Waiting for sign-in\",\n\twall: \"Wall\",\n\twallLoad: \"Wall Load\",\n\twallSection: \"Wall Section\",\n\twallsCross_PleaseCheckYourDimensions_:\n\t\t\"Walls cross! Please check your dimensions.\",\n\twarning: \"Warning\",\n\twarning_PriceBookHasExpired_: \"Warning - Price book has expired!\",\n\twarningOppositeEndConnections_DimensionDrawingWillOnlyShowSameEndHeaders:\n\t\t\"Warning Opposite End Connections. Dimension drawing will only show same end headers\",\n\twarning_: \"Warning!\",\n\twarnings: \"Warnings\",\n\twaterCooledCondensingUnit: \"Water Cooled Condensing Unit\",\n\twebMessagesAndBulletins: \"Web Messages And Bulletins\",\n\tweight: \"Weight\",\n\twhatToPrint: \"What To Print\",\n\twhatDoYouWantToDo_: \"What do you want to do?\",\n\twhatTypeOfFileDoYouRequire_: \"What type of file do you require?\",\n\twhatTypeOfOrderDoYouWishToCreate_:\n\t\t\"What type of order do you wish to create.\",\n\twhereUsed: \"Where Used\",\n\twhereUsed_: \"Where Used:\",\n\twholesale: \"Wholesale\",\n\twidth: \"Width\",\n\twindow: \"Window\",\n\twith: \"With\",\n\twithTheInternetConnected_: \"With the internet connected.\",\n\tworkHours: \"Work Hours\",\n\tworkOrder: \"Work Order\",\n\tworkingDays: \"Working Days\",\n\tworkingOn_Line: \"Working On-Line\",\n\twouldYouLikeToDo_: \"Would you like to do?\",\n\twrapSystemBar: \"Wrap System Bar\",\n\tyes: \"Yes\",\n\tyesPlease: \"Yes please\",\n\tyes_ChangeTheModelToTheOneISelected_:\n\t\t\"Yes, Change the model to the one I selected.\",\n\tyes_IAmARegisteredUser_: \"Yes, I am a registered user.\",\n\tyes_SetOptionsToTheNewMultiplier_: \"Yes, set options to the new multiplier.\",\n\tyes_SetTheValueIEntered_: \"Yes, set the value I entered.\",\n\tyes__SomeFunctionalityWillBeDisabled_:\n\t\t\"Yes. (Some functionality will be disabled)\",\n\tyouAreNotTheOriginalOwnerOfThisOrder_:\n\t\t\"You are not the original owner of this order.\",\n\tyouAreProhibitedFromSettingTheMultiplierThisLow_:\n\t\t\"You are prohibited from setting the multiplier this low.\",\n\tyouAreWorkingOffline_: \"You are working offline!\",\n\tyouCanNoLongerStopThisChangeRequest_:\n\t\t\"You can no longer stop this change request.\",\n\tyouCanNoLongerStopThisOrder_: \"You can no longer stop this order.\",\n\tyouCanNoLongerStopThisPurchaseRequest_:\n\t\t\"You can no longer stop this purchase request.\",\n\tyouCanNotDeleteTheLastSystemOnAnQuote_:\n\t\t\"You can not delete the last system on an quote?\",\n\tyouCanNotDeleteThisOrderFromTheServer_:\n\t\t\"You can not delete this order from the server.\",\n\tyouCanNotEditTheDoorInformationAtThisTime_:\n\t\t\"You can not edit the door information at this time !\",\n\tyouCanNotEditTheSectionInformationAtThisTime_:\n\t\t\"You can not edit the section information at this time !\",\n\tyouCanNotEditThisOrderAtThisTime_:\n\t\t\"You can not edit this order at this time.\",\n\tyouCanNotRejectAnOrderUsingNROESOnceItHasBeenSubmittedToJob_Scope_:\n\t\t\"You can not reject an order using NROES once it has been submitted to Job-Scope.\",\n\tyouChangedTheCondensingUnitModelNumber_:\n\t\t\"You changed the condensing unit model number!\",\n\tyouChangedTheModelNumber_: \"You changed the model number!\",\n\tyouDoNotCurrentlyHaveRightsToThisTool_:\n\t\t\"You do not currently have rights to this tool.\",\n\tyouDoNotHaveTheOriginalPriceBookLoaded_:\n\t\t\"You do not have the original price book loaded.\",\n\tyouDoNotHaveTheRequiredPriceBookForTheOpenChangeRequest_:\n\t\t\"You do not have the required price book for the open change request.\",\n\tyouDoNotHaveTheRequiredPriceBookForThisOrder_:\n\t\t\"You do not have the required price book for this order !\",\n\tyouDoNotHaveTheRequiredPriceBooksForThisOrder_:\n\t\t\"You do not have the required price books for this order.\",\n\tyouHaveFailedToReceiveACatalogueDataUpdateForMoreThan__Days_:\n\t\t\"You have failed to receive a catalogue data update for more than 30 days!\",\n\tyouHaveFailedToReceiveAProgramUpdateForMoreThan__Days_:\n\t\t\"You have failed to receive a program update for more than 30 days!\",\n\tyouHaveNotBeenAssignedAChannelForDirectEntryToTheAS_____:\n\t\t\"You have not been assigned a channel for direct entry to the AS/400.\",\n\tyouHaveNotConfirmedYourEmailAddressYet_:\n\t\t\"You have not confirmed your email address yet!\",\n\tyouHaveNotReceivedACatalogueDataUpdateForMoreThan__Days_:\n\t\t\"You have not received a catalogue data update for more than 15 days!\",\n\tyouHaveNotReceivedAProgramUpdateForMoreThan__Days_:\n\t\t\"You have not received a program update for more than 15 days!\",\n\tyouHaveNotStartedTheApplicationOn_lineForMoreThan__Days_:\n\t\t\"You have not started the application on-line for more than 15 days!\",\n\tyouMayCreateANewChangeOrder_OrContactUsByTelephone_:\n\t\t\"You may create a new change order, or contact us by telephone.\",\n\tyouMayCreateANewChangeOrder_OrContactYourPurchaser_:\n\t\t\"You may create a new change order, or contact your purchaser.\",\n\tyouMayCreateANewOrderAndCorrectTheListedIssues_:\n\t\t\"You may create a new order and correct the listed issues.\",\n\tyouMayEditThisOrderOff_line_: \"You may edit this order off-line.\",\n\tyouMayEnterAPositiveOrNegativeValueHere_:\n\t\t\"You may enter a positive or negative value here.\",\n\tyouMayEnterAValueHereToRoundToAValueOtherThanThatEndingInAZero_:\n\t\t\"You may enter a value here to round to a value other than that ending in a zero.\",\n\tyouMayHaveTheOrderOpenInAnotherApplication_:\n\t\t\"You may have the order open in another application.\",\n\tyouMayNotCopyThisOrder_: \"You may not copy this order!\",\n\tyouMayNowEditYourData_: \"You may now edit your data.\",\n\tyouMayPreferToSimplyDeselectTheSpecificOptionsYouDoNotRequire_:\n\t\t\"You may prefer to simply deselect the specific options you do not require.\",\n\tyouMaySelectRoundingOptionsHere_: \"You may select rounding options here.\",\n\tyouMayTakeOwnershipOfThisOrderUsingTheOrderMenu_:\n\t\t\"You may take ownership of this order using the order menu.\",\n\tyouMayThenEditTheServicePartQuantitiesInTheOrderItself_:\n\t\t\"You may then edit the service part quantities in the order itself.\",\n\tyouMayWorkOff_lineIfYouWish_: \"You may work off-line if you wish.\",\n\tyouMustBeConnectedToTheInternetToUseThisTool_:\n\t\t\"You must be connected to the internet to use this tool.\",\n\tyouRequestedIDeleteASystemFromTheOrder_:\n\t\t\"You requested I delete a system from the order.\",\n\tyouShouldCloseThisOrderAndTryToReopenItForSynchronizationOptions_:\n\t\t\"You should close this order and try to reopen it for synchronization options.\",\n\tyouShouldReceiveAnE_mailShortly_: \"You should receive an e-mail shortly.\",\n\tyouShouldReceiveMoreInformationWithinTheNextFewWorkingDays_:\n\t\t\"You should receive more information within the next few working days.\",\n\tyouShouldReceiveYourCodeShortlyAtTheFollowingE_mailAddress_:\n\t\t\"You should receive your code shortly at the following e-mail address.\",\n\tyouShouldReceiveYourLoginInformationViaE_mailShortly_:\n\t\t\"You should receive your login information via e-mail shortly.\",\n\tyouShouldStopTheRequest_CorrectTheIssuesListedBelow_AndResubmit_:\n\t\t\"You should stop the request, correct the issues listed below, and resubmit.\",\n\tyouWillBeTheOnlyOneAbleToMakeChanges_:\n\t\t\"You will be the only one able to make changes.\",\n\tyourAuthorizationHasBeenRecinded_: \"Your authorization has been recinded.\",\n\tyourAuthorizationIsNowUnderReview_: \"Your authorization is now under review.\",\n\tyourAuthorizationIsStillUnderReview_:\n\t\t\"Your authorization is still under review.\",\n\tyourChangeRequestWasSubmitted_: \"Your change request was submitted.\",\n\tyourDataContainsWarnings_: \"Your data contains warnings.\",\n\tyourNeedToBeOn_lineToCompleteTheRegistrationProcess_:\n\t\t\"Your need to be on-line to complete the registration process.\",\n\tyourNewChangeRequestWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_:\n\t\t\"Your new change request will replace the previous one, after you complete your changes and re-submit.\",\n\tyourNewOrderWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_:\n\t\t\"Your new order will replace the previous one, after you complete your changes and re-submit.\",\n\tyourNewRequestWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_:\n\t\t\"Your new request will replace the previous one, after you complete your changes and re-submit.\",\n\tyourOrderWasSubmitted_: \"Your order was submitted.\",\n\tyourPasswordHasBeenSuccessfullyUpdated:\n\t\t\"Your password has been successfully updated\",\n\tyourPreviouslySubmittedChangeOrderHasBeenStopped_:\n\t\t\"Your previously submitted change order has been stopped!\",\n\tyourPreviouslySubmittedChangeRequestHasBeenStopped_:\n\t\t\"Your previously submitted change request has been stopped!\",\n\tyourPreviouslySubmittedOrderHasBeenStopped_:\n\t\t\"Your previously submitted order has been stopped!\",\n\tyourPreviouslySubmittedRequestHasBeenStopped_:\n\t\t\"Your previously submitted request has been stopped!\",\n\tyourPurchaserHasBegunWorkOnYourOrderRequest_:\n\t\t\"Your purchaser has begun work on your order request.\",\n\tyourRequestCouldNotBeRetractedAtThisTime_:\n\t\t\"Your request could not be retracted at this time!\",\n\tyourSoldByRegionMustBeTwoCharacterCode_:\n\t\t\"Your sold by region must be two character code!\",\n\tyourUserAccountHasBeenRejected_: \"Your user account has been rejected!\",\n\tyourUserAccountIsCurrentlyDisabled_:\n\t\t\"Your user account is currently disabled!\",\n\tyourUserProfileHasBeenSuccessfullyUpdated_:\n\t\t\"Your user profile has been successfully updated!\",\n\tyourVendorAccountIsCurrentlyDisabled_:\n\t\t\"Your vendor account is currently disabled!\",\n\tzip_PostalCode: \"Zip / Postal Code\",\n\tzipCode: \"Zip Code\",\n\tzoneBoundary: \"Zone Boundary\",\n\tzoneBoundary_TD___: \"Zone Boundary ( TD = 0 )\",\n\tasNewRevision_AndRestore: \"as new revision, and restore\",\n\tasNewRevision_: \"as new revision.\",\n\tatFixtureRating: \"at Fixture Rating\",\n\tconfirmYourRequestByClickingOnTheOKButton_:\n\t\t\"confirm your request by clicking on the OK button.\",\n\te_g_ToRoundTo______SetRoundingToNearest____AndEnter__Here_:\n\t\t\"e.g. To round to 99.99, set rounding to nearest 100, and enter -5 here.\",\n\tequipmentChangesFound_: \"equipment changes found.\",\n\tfeedIsNotUsed_: \"feed is not used !\",\n\tfeedsAreNotUsed_: \"feeds are not used !\",\n\tfreightTerms: \"freight terms\",\n\tfrmOptions: \"frmOptions\",\n\thaveBeenRevised_: \"have been revised.\",\n\thaveBeenSuperseded_: \"have been superseded.\",\n\tlblBOLD: \"lblBOLD\",\n\torQuantity: \"or Quantity\",\n\torR_Value_UnitThickness: \"or R-Value / Unit Thickness\",\n\torTotalLightingPower: \"or Total Lighting Power\",\n\tpricesChanged_: \"prices changed.\",\n\tquotesAreExpiring_: \"quotes are expiring.\",\n\tquotesAreMissing_: \"quotes are missing.\",\n\tquotesHaveExpired_: \"quotes have expired.\",\n\tregularShipDateOfTheSelectedItem_: \"regular ship date of the selected item.\",\n\trevisionsUpdated_: \"revisions updated.\",\n\trevisions_: \"revisions.\",\n\tto: \"to\",\n\ttoLastSavedVersion_: \"to last saved version.\",\n\tyouCanNoLongerCreateQuoteRevisionsDuringTheSaveOperation_:\n\t\t\"you can no longer create quote revisions during the save operation.\",\n\t_LessOptions_: \"( Less Options )\",\n\tairCooledCondenserDesigner: \"Air Cooled Condenser Designer\",\n\tapprovalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_:\n\t\t\"Approval of this drawing signifies that the equipment is acceptable under the provision of the job specifications. Any change made hereon by any person whomsoever subject to acceptance by NATIONAL REFRIGERATION at its home office.\",\n\taPPROVALS: \"APPROVALS\",\n\taPPROVEDBY_: \"APPROVED BY : \",\n\tcARRIERPREFERENCE: \"CARRIER PREFERENCE\",\n\tcertifiedPrintMaker: \"Certified Print Maker\",\n\tcHANGEORDERREQUESTFORM: \"CHANGE ORDER REQUEST FORM\",\n\tcUSTOMERORDER__: \"CUSTOMER ORDER # :\",\n\tdATE_: \"DATE :\",\n\tdimA: \"Dim A\",\n\tdimB: \"Dim B\",\n\tdimC: \"Dim C\",\n\tdimD: \"Dim D\",\n\tdIMENSIONA: \"DIMENSION A\",\n\tdIMENSIONB: \"DIMENSION B\",\n\tdIMENSIONC: \"DIMENSION C\",\n\tdIMENSIOND: \"DIMENSION D\",\n\tdIMENSIONE: \"DIMENSION E\",\n\tdIMENSIONF: \"DIMENSION F\",\n\tdIMENSIONG: \"DIMENSION G\",\n\tdIMENSIONH: \"DIMENSION H\",\n\tdIMENSIONS: \"DIMENSIONS\",\n\tdimensionsShownAreForStandardUnitLessOptions_:\n\t\t\"Dimensions shown are for standard unit less options.\",\n\tdimensionsShownAreForStandardUnitLessOptions_SeeCertifiedDrawingForMoreDetails_:\n\t\t\"Dimensions shown are for standard unit less options. See certified drawing for more details.\",\n\tdISCHARGE: \"DISCHARGE\",\n\tdocumentBrowser: \"Document Browser\",\n\tdRAIN: \"DRAIN\",\n\teLECTRONICORDERFORM: \"ELECTRONIC ORDER FORM\",\n\teLECTRONICORDERFORM_CONTINUED: \"ELECTRONIC ORDER FORM - CONTINUED\",\n\teQUIPMENTSUMMARY: \"EQUIPMENT SUMMARY\",\n\teSTSHIPWEIGHT_LessOptions_: \"EST SHIP WEIGHT (Less Options)\",\n\teSTSHIPWEIGHT_: \"EST SHIP WEIGHT :\",\n\tfACTORYINVOICETO_: \"FACTORY INVOICE TO :\",\n\tfACTORYORDER__: \"FACTORY ORDER # :\",\n\tfREIGHT: \"FREIGHT\",\n\tfREIGHTTERMS_: \"FREIGHT TERMS :\",\n\thOTGASINLET: \"HOT GAS INLET\",\n\thOTGASOUTLET: \"HOT GAS OUTLET\",\n\thOTGASSIDEPORT: \"HOT GAS SIDE PORT\",\n\tiD__: \"ID # :\",\n\tiTEM__: \"ITEM # :\",\n\tlbs_LessOptions_: \"Lbs ( Less Options )\",\n\tlead: \"Lead\",\n\tlist: \"List\",\n\tmANUALENTRY: \"MANUAL ENTRY\",\n\tmANUALOPTION: \"MANUAL OPTION\",\n\tmult: \"Mult\",\n\tnATIONALREFRIGERATIONWillFurnishEquipmentInAccordanceWithThisDrawingAndSpecifications_AndSubjectToItsPublishedWarranty_ApprovalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_:\n\t\t\"NATIONAL REFRIGERATION will furnish equipment in accordance with this drawing and specifications, and subject to its published warranty. Approval of this drawing signifies that the equipment is acceptable under the provision of the job specifications. Any change made hereon by any person whomsoever subject to acceptance by NATIONAL REFRIGERATION at its home office.\",\n\tnEWSYSTEM: \"NEW SYSTEM\",\n\tnOTES_: \"NOTES:\",\n\toEMult: \"OE Mult\",\n\toF: \"OF\",\n\toPTION: \"OPTION\",\n\toRDER__: \"ORDER # :\",\n\toRDERDATE_: \"ORDER DATE :\",\n\tpACKAGE: \"PACKAGE\",\n\tpACKAGEITEM: \"PACKAGE ITEM\",\n\tpACKAGEOPTION: \"PACKAGE OPTION\",\n\tpAGE: \"PAGE\",\n\tpANLOOP: \"PAN LOOP\",\n\tpRICEBOOK_: \"PRICE BOOK :\",\n\tpriceTotal: \"Price Total\",\n\tpROD: \"PROD\",\n\tpROJECT_: \"PROJECT :\",\n\tpURCHASER_: \"PURCHASER :\",\n\tpURCHASER_SPO__: \"PURCHASER'S PO # :\",\n\tqUOTE__: \"QUOTE # :\",\n\tqUOTEDATE_: \"QUOTE DATE :\",\n\trEF__: \"REF # :\",\n\trEMARKS_SPECIALSHIPPINGINSTRUCTIONS:\n\t\t\"REMARKS / SPECIAL SHIPPING INSTRUCTIONS\",\n\ts_H: \"S & H\",\n\tservicePartsList: \"Service Parts List\",\n\tsHIPMENT_: \"SHIPMENT :\",\n\tshippingAndHandling: \"Shipping and Handling\",\n\tsHIPPINGWEIGHT: \"SHIPPING WEIGHT\",\n\tsOUND: \"SOUND\",\n\tsTOCKINGMODELS: \"STOCKING MODELS\",\n\tsUBMITTEDBY_: \"SUBMITTED BY :\",\n\tsUBTOTAL: \"SUBTOTAL\",\n\tsUCTION: \"SUCTION\",\n\tsystemNet: \"System Net\",\n\ttAGGING_: \"TAGGING :\",\n\ttotalNet: \"Total Net\",\n\tuSERID_: \"USER ID :\",\n\tvENDORID_: \"VENDOR ID :\",\n\twATER: \"WATER\",\n\twEIGHT: \"WEIGHT\",\n\taSuiteOfSoftwareApplicationsCreatedToHelpRefrigerationProfessionalsMakeAccurateCalculations_AccessProductInformation_ChooseComponentsAndPrintTechnicalDrawings:\n\t\t\"A suite of software applications created to help refrigeration professionals make accurate calculations, access product information, choose components and print technical drawings\",\n\tpleaseUpdateAllPrices_: \"Please update all prices.\",\n\tpleaseEnterYourPersonal: \"Please enter your personal\",\n\tapplicationRegistrationKey_: \"application registration key.\",\n\tsaveAsNewContact: \"Save as new contact\",\n\tsaveContact: \"Save contact\",\n\tsaveNewContact: \"Save new contact\",\n\tpartNumber: \"Part Number\",\n\tloadCalculatorII: \"Load Calculator II\",\n\tnewJob: \"New Job\",\n\tsystemCapacity: \"System Capacity\",\n\tdescriptions: \"Descriptions\",\n\tboxApplication: \"Box Application\",\n\tapplication: \"Application\",\n\ttheExternalRelativeHumidityMustBeGreaterThan:\n\t\t\"The external relative humidity must be greater than\",\n\ttheExternalRelativeHumidityMustBeLessThan___:\n\t\t\"The external relative humidity must be less than\",\n\ttheInternalRelativeHumidityMustBeGreaterThan:\n\t\t\"The Internal relative humidity must be greater than\",\n\ttheInternalRelativeHumidityMustBeLessThan:\n\t\t\"The Internal relative humidity must be less than\",\n\tlineLoss: \"Line Loss\",\n\tsystemRunTime: \"System Run Time\",\n\tsystemRunTimeMustBeGreaterThanOneHour_:\n\t\t\"System run time must be greater than one hour !\",\n\tsystemRunTimeMustBeLessThanTwentyfourHours_:\n\t\t\"System run time must be less than twentyfour hours !\",\n\ttheSystemLineLossIsNotEntered_: \"The system line loss is not entered !\",\n\ttheSystemLineLossIsTooHigh_: \"The system line loss is too high !\",\n\ttheSystemLineLossIsTooLow_: \"The system line loss is too low !\",\n\taveragePassageTime_Seconds_: \"Average Passage Time (Seconds)\",\n\tpassagesPerDay: \"Passages Per Day\",\n\tcurtainEffectiveness: \"Curtain Effectiveness\",\n\tstandOpenTimePerDay_Minutes_: \"Stand Open Time Per Day (Minutes)\",\n\tcONSTRUCTIONANDDIMENSIONS: \"CONSTRUCTION AND DIMENSIONS\",\n\tvolumeAndTemperatures: \"Volume And Temperatures\",\n\tairFlowRates: \"Air Flow Rates\",\n\tvolumeAndTemperature: \"Volume And Temperature\",\n\thasConfigurationErrors: \"has configuration errors\",\n\toptionConfigurations: \"Option Configurations\",\n\tsetConfiguration: \"Set configuration\",\n\tcan_tHaveOptions: \"Can't have options\",\n\tnotRecommendedOptions: \"Not Recommended Options\",\n\trecommendedOptions: \"Recommended Options\",\n\tavailableConfigurations_: \"Available Configurations.\",\n\tnormalConfiguration_: \"Normal Configuration.\",\n\thasConfigurationWarning: \"has configuration warning\",\n\toptionConfigurationError_: \"Option configuration error !\",\n\toptionConfigurationWarning_: \"Option configuration warning !\",\n\toptionConfigurtionErrorsDetected_: \"Option configurtion errors detected!\",\n\tpleaseSelectOneOfTheAvailableConfigurations_:\n\t\t\"Please select one of the available configurations.\",\n\tthisOptionHasMultipleConfigurationsAvailable_:\n\t\t\"This option has multiple configurations available.\",\n\tincludesOptions: \"Includes Options\",\n\tover_Ride_SubmitErrors: \"Over_Ride &Submit Errors\",\n\tcHeckPRicesOK: \"CHeckPRicesOK\",\n\terrorLabel: \"ErrorLabel\",\n\tnoRefrigerantRatingValuesListed_: \"No refrigerant rating values listed.\",\n\ttermsOfSale: \"Terms Of Sale\",\n\twarranty: \"Warranty\",\n\tlOGO: \"LOGO\",\n\ttERMSOFSALE: \"TERMS OF SALE\",\n\tvENDORINFORMATION: \"VENDOR INFORMATION\",\n\tuseTOSImageFile: \"Use TOS Image File\",\n\tcheckAllErrors: \"CheckAllErrors\",\n\tdrawings: \"Drawings\",\n\toptionList: \"Option List\",\n\tspecificationsPage: \"Specifications Page\",\n\twarningLabel: \"Warning Label\",\n\tclickCANCELToAdjustYourSelectedOptions_:\n\t\t\"Click CANCEL to adjust your selected options.\",\n\tyouWillNotBeAbleToSubmitThisOrderUsingThisOptionConfiguration_:\n\t\t\"You will not be able to submit this order using this option configuration.\",\n\toPTIONDESCRIPTIONAPPENDIX: \"OPTION DESCRIPTION APPENDIX\",\n\trequestedOrderShipDateIsBeforeToday_:\n\t\t\"Requested order ship date is before today!\",\n\tordersListed_: \"Orders Listed.\",\n\tsEARCHINGANDSORTING: \"SEARCHING AND SORTING\",\n\tsynchronizingOrders_PleaseWait: \"Synchronizing Orders ~ Please Wait\",\n\tarchive_: \"Archive - \",\n\tsynchronizingOrders: \"Synchronizing Orders\",\n\titemPartDescriptionRequired_: \"Item Part description required !\",\n\tdoYouWantToAttemptToOpenThisFileAnyway_:\n\t\t\"Do you want to attempt to open this file anyway?\",\n\toldStyleChecksumDoesNotMatch_: \"Old style checksum does not match.\",\n\tfailedToOpenDataCatalog_: \"Failed to open data catalog!\",\n\toPTIONDESCRIPTIONAPPENDIXCONTINUED: \"OPTION DESCRIPTION APPENDIX CONTINUED\",\n\tincludeUnselectedOptions: \"Include Unselected Options\",\n\tsELECTEDOPTIONDESCRIPTIONS: \"SELECTED OPTION DESCRIPTIONS\",\n\tsELECTEDOPTIONDESCRIPTIONSCONTINUED: \"SELECTED OPTION DESCRIPTIONS CONTINUED\",\n\tsetRevisionSUbmitted: \"Set Revision SUbmitted\",\n\tuNsubmitQuote: \"UNsubmit Quote\",\n\taddDoors_Openings: \"Add Doors / Openings\",\n\tdeleteDoors_Openings: \"Delete Doors / Openings\",\n\tdOORUSAGE: \"DOOR USAGE\",\n\teditDoor_Openings: \"Edit Door / Openings\",\n\tcurtainR_Value: \"Curtain R-Value\",\n\tloadingPlatformRoll_UpDoor: \"Loading Platform Roll-Up Door\",\n\ttrailerDockRoll_UpDoor: \"Trailer Dock Roll-Up Door\",\n\treach_InGlassDoor: \"Reach-In Glass Door\",\n\tboxUsage: \"Box Usage\",\n\tfloorType: \"Floor Type\",\n\ttheRefrigeratedFloorIsBuiltDirectlyOnTheGround__OrTheRoomInWhichTheRefrigeratedBoxIsLocatedIsBuiltDirectlyOnTheGround__:\n\t\t\"The refrigerated floor is built directly on the ground. ~ Or the room in which the refrigerated box is located is built directly on the ground. ~\",\n\torTheRoomInWhichTheRefrigeratedBoxIsLocatedIsBuiltDirectlyOnTheGround_:\n\t\t\"Or the room in which the refrigerated box is located is built directly on the ground,\",\n\torThereIsAVentilatedSpaceUnderTheRoomInWhichTheRefrigeratedSpaceIsLocated_:\n\t\t\"Or there is a ventilated space under the room in which the refrigerated space is located.\",\n\ttheRefrigeratedFloorIsBuiltDirectlyOnTheGround_:\n\t\t\"The refrigerated floor is built directly on the ground.\",\n\tthereIsAVentilatedSpaceUnderTheRefrigeratedFloor_:\n\t\t\"There is a ventilated space under the refrigerated floor.\",\n\tthisIncludesCrawlSpacesOrUpperFloorInstallations_:\n\t\t\"This includes crawl spaces or upper floor installations.\",\n\tcoolingLoads: \"Cooling Loads\",\n\tcheckBox: \"CheckBox\",\n\taboveGrade: \"Above Grade\",\n\tonGrade: \"On Grade\",\n\theatingTemperature: \"Heating Temperature\",\n\tsurroundingAirTemperature: \"Surrounding Air Temperature\",\n\tonGrade_FrostHeaveProtected: \"On Grade - Frost Heave Protected\",\n\taNDAControlledFrostHeavePreventionHeaterSystemIsOrWillBeInstalled_:\n\t\t\"AND a controlled frost heave prevention heater system is or will be installed.\",\n\tconstruction: \"Construction\",\n\twALL_FLOORANDCEILINGLOADS: \"WALL, FLOOR AND CEILING LOADS\",\n\tcONTINUED: \"CONTINUED\",\n\tpRODUCTLOADS: \"PRODUCT LOADS\",\n\tfinalTemp: \"Final Temp\",\n\tenterTemp: \"Enter Temp\",\n\tpullDown: \"Pull Down\",\n\ttOTALPRODUCTLOAD: \"TOTAL PRODUCT LOAD\",\n\ttOTALPRODUCTWEIGHT: \"TOTAL PRODUCT WEIGHT\",\n\ttOTALWALL_FLOORANDCEILINGLOAD: \"TOTAL WALL, FLOOR AND CEILING LOAD\",\n\tvOLUME: \"VOLUME\",\n\tmISCELLANEOUSLOADS: \"MISCELLANEOUS LOADS\",\n\ttOTALMISCELLANEOUSLOAD: \"TOTAL MISCELLANEOUS LOAD\",\n\taVERAGE: \"AVERAGE\",\n\tfORKLIFTS_TOWMOTORS: \"FORKLIFTS/ TOW MOTORS\",\n\thEAVY: \"HEAVY\",\n\tlIGHT: \"LIGHT\",\n\texternalRh: \"External Rh\",\n\texternalTemp: \"External Temp\",\n\theavy: \"Heavy\",\n\tinternalRh: \"Internal Rh\",\n\tinternalTemp: \"Internal Temp\",\n\tregular: \"Regular\",\n\ttOTALINFILTRATIONLOADESTIMATEDBYDOORSANDOPENINGS:\n\t\t\"TOTAL INFILTRATION LOAD ESTIMATED BY DOORS AND OPENINGS\",\n\tventilation: \"Ventilation\",\n\tiNFILTRATIONLOAD_ESTIMATEDBYDOORSANDOPENINGS:\n\t\t\"INFILTRATION LOAD : ESTIMATED BY DOORS AND OPENINGS\",\n\tiNFILTRATIONLOAD_ESTIMATEDBYVENTILATION:\n\t\t\"INFILTRATION LOAD : ESTIMATED BY VENTILATION\",\n\tiNFILTRATIONLOAD_ESTIMATEDBYVOLUMEANDUSAGE:\n\t\t\"INFILTRATION LOAD : ESTIMATED BY VOLUME AND USAGE\",\n\tcurtains: \"Curtains\",\n\tdoorOrOpeningType: \"Door or Opening Type\",\n\topenTime: \"Open Time\",\n\tpreparedBy: \"Prepared By\",\n\tpreparedFor: \"Prepared For\",\n\tcustomerInformation: \"Customer Information\",\n\tjob_ProjectName: \"Job/Project Name\",\n\tcOOLINGREQUIREMENTS: \"COOLING REQUIREMENTS\",\n\tdesignLoad: \"Design Load\",\n\tequipmentLoad: \"Equipment Load\",\n\thours: \"Hours\",\n\tsafetyLoad: \"Safety Load\",\n\tsafetyFactor: \"Safety Factor\",\n\tcapacityRequired: \"Capacity Required\",\n\tcondenserAmbient: \"Condenser Ambient\",\n\tsYSTEMDESIGNSUMMARY: \"SYSTEM DESIGN SUMMARY\",\n\tsYSTEMEQUIPMENTSELECTION: \"SYSTEM EQUIPMENT SELECTION\",\n\tevaporator: \"Evaporator\",\n\tnOTSELECTED_: \"NOT SELECTED!\",\n\tairCooledCondenser: \"Air Cooled Condenser\",\n\tcondenser: \"Condenser\",\n\tevaporatorTD: \"Evaporator TD\",\n\tfanLoad: \"Fan Load\",\n\tdeleteSystem: \"Delete System\",\n\tduplicateSystem: \"Duplicate System\",\n\teditSystem: \"Edit System\",\n\tarea_ZoneOrSystemName: \"Area, Zone or System Name\",\n\tareaDeletionRequested_: \"Area deletion requested.\",\n\tsystemDetails: \"System Details\",\n\tequipmentCapacity: \"Equipment Capacity\",\n\tequipmentTD: \"Equipment TD\",\n\tdesign: \"Design\",\n\tmiscellaneous: \"Miscellaneous\",\n\tproducts: \"Products\",\n\tsafety: \"Safety\",\n\topenBoxDesigner: \"Open Box Designer\",\n\tsYSTEMSLOADSUMMARY: \"SYSTEMS LOAD SUMMARY\",\n\timportLoadCalculatorIDesignFile: \"Import Load Calculator I Design File\",\n\timportLoadCalculatorIIDesignFile: \"Import Load Calculator II Design File\",\n\tnewCondenserDesign: \"New Condenser Design\",\n\tnewFluidCoolerDesign: \"New Fluid Cooler Design\",\n\tnewGlycolCoilDesign: \"New Glycol Coil Design\",\n\tnewLoadCalculatorIIDesign: \"New Load Calculator II Design\",\n\tnewSystemNamed: \"New System Named\",\n\totherEquipment: \"Other Equipment\",\n\tsafetyFactor___: \"Safety Factor (%)\",\n\tquantityPERCompressorUnit: \"Quantity PER Compressor Unit\",\n\tquantityPERCondensingUnit: \"Quantity PER Condensing Unit\",\n\thourlyLoadRequired: \"Hourly Load Required\",\n\tsuctionLineLoss: \"Suction Line Loss\",\n\tconnectionCount: \"Connection Count\",\n\tpleaseSelectAndEditTheAppropriateSection_:\n\t\t\"please select and edit the appropriate section.\",\n\ttoEnterOrEditDoorOrOpeningDetails_:\n\t\t\"To enter or edit door or opening details,\",\n\tclearAllSelections: \"Clear All Selections\",\n\tinteriorTemperature: \"Interior Temperature\",\n\tareYouSureYouWantToSubmitThisMyEditOrder_:\n\t\t\"Are you sure you want to submit this myEditOrder.\",\n\tdoYouWantToProcessThisChangeOrderAsAnOriginalMyEditOrder_:\n\t\t\"Do you want to process this change order as an original myEditOrder.\",\n\tifYouSubmitThisOrder_YouAreOfficiallyTakingResponsibilityForTheMyEditOrder_:\n\t\t\"If you submit this order, you are officially taking responsibility for the myEditOrder.\",\n\tuntilTheOrderIsProcessedByTheManufacturerYouMayStopThisMyEditOrder_:\n\t\t\"Until the order is processed by the manufacturer you may stop this myEditOrder.\",\n\tuntilTheOrderIsProcessedByThePurchaserYouMayStopThisMyEditOrder_:\n\t\t\"Until the order is processed by the purchaser you may stop this myEditOrder.\",\n\twARNING_YOUARENOTTHEORIGINATOROFTHISMyEditOrder_:\n\t\t\"WARNING: YOU ARE NOT THE ORIGINATOR OF THIS myEditOrder.\",\n\tyouCanNoLongerStopThisMyEditOrder_:\n\t\t\"You can no longer stop this myEditOrder.\",\n\tyouDoNotHaveOwnershipOfThisOrder_: \"You do not have ownership of this Order.\",\n\ttestCloneCompare: \"TestCloneCompare\",\n\tmodelNotLoaded_: \"Model not loaded!\",\n\ttemperature_TooHigh_: \"Temperature 1 too high!\",\n\ttemperature_TooLow_: \"Temperature 1 too low!\",\n\tnoRatingFound_: \"No Rating found!\",\n\ttemperature_IsTooHigh_: \"Temperature 1 is too high!\",\n\ttemperature_IsTooLow_: \"Temperature 1 is too low!\",\n\tbalancedCapacity: \"Balanced Capacity\",\n\tevap_TD: \"Evap. TD\",\n\tambientTemperature_EvapTemperature_:\n\t\t\"Ambient temperature < Evap temperature!\",\n\tboxTemperature_EvapTemperature_: \"Box temperature < Evap temperature!\",\n\tcondensingTemperature_EvapTemperature_:\n\t\t\"Condensing temperature < Evap temperature!\",\n\tevap: \"Evap\",\n\tevapTemperature: \"Evap temperature\",\n\tisInvalid_: \"is invalid!\",\n\tisMissing_: \"is missing!\",\n\tisOutOfRange_: \"is out of range!\",\n\tsystemLoadIsInvalid_: \"System load is invalid!\",\n\tsystelLoadNotGiven_: \"Systel Load not given.\",\n\ttemperature_NotGiven_: \"Temperature1 not given.\",\n\tproductName: \"Product Name\",\n\tambientTemperature: \"Ambient temperature\",\n\tloadCalculationDesignHasErrors_: \"Load Calculation Design Has Errors !\",\n\tloadCalculationDesignHasWarnings_: \"Load Calculation Design Has Warnings !\",\n\tequipmentSelectionIsIncomplete_: \"Equipment selection is incomplete!\",\n\tsystemIsNotBalanced_: \"System is not balanced !\",\n\tdesignHasErrors_: \"Design Has Errors!\",\n\tdesignHasWarnings_: \"Design Has Warnings!\",\n\tloadCalculationSystemHasDesignErrors_:\n\t\t\"Load Calculation System Has Design Errors !\",\n\tloadCalculationSystemHasDesignWarnings_:\n\t\t\"Load Calculation System Has Design Warnings !\",\n\ttestMail: \"TestMail\",\n\toneOrMoreRequestedDatesAreInThePast_:\n\t\t\"One or more requested dates are in the past!\",\n\tshipmentDateErrorsFound_: \"Shipment Date Errors Found!\",\n\treset: \"Reset\",\n\tcurrency: \"Currency\",\n\tedit_AddDoorsAndOpenings: \"Edit/Add Doors And Openings\",\n\tthePriceBookUsedForTheOpenChangeRequestHasExpired_:\n\t\t\"The price book used for the open change request has expired.\",\n\tthePriceBookUsedForThisOrderHasExpired_:\n\t\t\"The price book used for this order has expired.\",\n\tthePriceBooksUsedForThisOrderHaveExpired_:\n\t\t\"The price books used for this order have expired.\",\n\talwaysOpenAreaOfWallLeadingToAnotherZone_:\n\t\t\"Always open area of wall leading to another zone.\",\n\tareaToBeExcludedFromWallDefinition_:\n\t\t\"Area to be excluded from wall definition.\",\n\tnonOpeningGlassWindow_: \"Non opening glass window.\",\n\tnormallyClosedDoorForStaffOrGoodsTraffic_:\n\t\t\"Normally closed door for staff or goods traffic.\",\n\troll_UpDoorOpenToOutsideEnvironmentOrOtherZone_:\n\t\t\"Roll-Up door open to outside environment or other zone.\",\n\tsectionOfWallWithDifferentInsulationOrExternalEnvironmentFromRestOfWall_:\n\t\t\"Section of wall with different insulation or external environment from rest of wall.\",\n\tpleaseSelectAnOpeningType_: \"Please select an opening type.\",\n\tlOADCALCULATION: \"LOAD CALCULATION\",\n\treach_InSelfServeGlassDoors_: \"Reach-In self serve glass doors.\",\n\troll_UpDoorDesignedToBeNormallyClosedOrSealedByTransportTrailer_:\n\t\t\"Roll-Up door designed to be normally closed or sealed by transport trailer.\",\n\tareYouSureYouWantToUseTheSeletedValue_:\n\t\t\"Are you sure you want to use the seleted value?\",\n\ttheInfiltrationCalculatedForTheseIsGreaterThanTheVentilationInfiltration_:\n\t\t\"The infiltration calculated for these is greater than the ventilation infiltration.\",\n\ttheInfiltrationCalculatedForTheseIsGreaterThanTheVolumeEstimatedInfiltration_:\n\t\t\"The infiltration calculated for these is greater than the volume estimated infiltration.\",\n\tvalueWarning_: \"Value Warning!\",\n\tyouHaveDoorsAndOpeningsDefinedInTheBoxDesign_:\n\t\t\"You have doors and openings defined in the box design.\",\n\tconductionLoad: \"Conduction Load\",\n\tiNFILTRATIONLOADPERUNIT: \"INFILTRATION LOAD PER UNIT\",\n\tiNSULATIONLOADPERUNIT: \"INSULATION LOAD PER UNIT\",\n\tindoor: \"Indoor\",\n\toutdoor: \"Outdoor\",\n\toutdoorCool: \"Outdoor Cool\",\n\toutdoorWarm: \"Outdoor Warm\",\n\toutdoors_ColdClimate_: \"Outdoors (Cold Climate)\",\n\teSTIMATEDBYVENTILATION: \"ESTIMATED BY VENTILATION\",\n\teSTIMATEDBYBOXVOLUME_USAGE: \"ESTIMATED BY BOX VOLUME / USAGE\",\n\teSTIMATEDBYDOORSANDOPENINGS: \"ESTIMATED BY DOORS AND OPENINGS\",\n\tventilationInfiltrationEstimate: \"Ventilation Infiltration Estimate\",\n\tvolume_UsageInfiltrationEstimate: \"Volume/Usage Infiltration Estimate\",\n\tinfiltrationMethodChosenIsNotTheMaximumLoadEstimateEntered_:\n\t\t\"Infiltration method chosen is not the maximum load estimate entered.\",\n\tcalculationMethod: \"Calculation Method\",\n\tuseMaximum: \"Use maximum\",\n\tlOADCONNECTIONSCONTINUED: \"LOAD CONNECTIONS CONTINUED\",\n\tinsulationLayerIsRecommendedForSlabOnGradeFreezers_:\n\t\t\"Insulation layer is recommended for slab on grade freezers !\",\n\taDDNEWSYSTEMUSING: \"ADD NEW SYSTEM USING\",\n\tiMPORTFROMFILE: \"IMPORT FROM FILE\",\n\tmiscelaneousUnits: \"Miscelaneous Units\",\n\timportSystemsFromALoadCalculatorIIFile_:\n\t\t\"Import systems from a load calculator II file.\",\n\tballyBoxWizardFile: \"Bally Box Wizard File\",\n\timportSystemsFromABallyBoxWizardFile_:\n\t\t\"Import systems from a Bally Box Wizard file.\",\n\timportSystemsFromAKeepriteCalc_RiteFile_:\n\t\t\"Import systems from a Keeprite Calc-Rite file.\",\n\timportSystemsFromATretonCalculoadFile_:\n\t\t\"Import systems from a Treton Calcuload file.\",\n\tkeepriteCalc_RiteFile: \"Keeprite Calc-Rite File\",\n\ttretonCalculoadFile: \"Treton Calcuload File\",\n\tabortAddingASystem_: \"Abort adding a system.\",\n\tsaveSystemAsTemplate: \"Save system As Template\",\n\tsTANDARDAPPLICATIONS: \"STANDARD APPLICATIONS\",\n\tuSERTEMPLATES: \"USER TEMPLATES\",\n\trH_TD: \"RH / TD\",\n\tcreateSystem_PleaseSelectApplicationTypeOrTemplate:\n\t\t\"Create System : Please Select Application Type Or Template\",\n\tfACTORYTEMPLATES: \"FACTORY TEMPLATES\",\n\tsaveAsTemplate: \"Save As Template\",\n\tchange: \"Change\",\n\tevapTDIsTooHighForTheSelectedApplication_:\n\t\t\"Evap TD is too high for the selected application !\",\n\tevapTDIsTooLowForTheSelectedApplication_:\n\t\t\"Evap TD is too low for the selected application !\",\n\ttheInternalTemperatureIsTooHighForTheSelectedApplication_:\n\t\t\"The internal temperature is too high for the selected application !\",\n\ttheInternalTemperatureIsTooLowForTheSelectedApplication_:\n\t\t\"The internal temperature is too low for the selected application !\",\n\tnewMulti_SystemJob: \"New Multi-System Job\",\n\tbetaVersionDesignDetected_: \"Beta version design detected.\",\n\tdoYouWantToUpdateTheDesignToTheNewerVersion_:\n\t\t\"Do you want to update the design to the newer version.\",\n\tnewerCalculatorVersionDetected_: \"Newer calculator version detected.\",\n\tpleaseVerifyYourDesign_: \"Please verify your design.\",\n\ttheLoadCalculationHASCHANGEDWithTheNewerVersion_:\n\t\t\"The load calculation HAS CHANGED with the newer version.\",\n\ttheLoadCalculationHASNOTChangedWithTheNewerVersion_:\n\t\t\"The load calculation HAS NOT changed with the newer version.\",\n\ttheLoadCalculationsMayHaveChangedSinceYouFirstCreatedThisJob_:\n\t\t\"The load calculations may have changed since you first created this job.\",\n\tthisDesignWasCreatedWithTheBetaVersionOfTheSoftware_:\n\t\t\"This design was created with the Beta version of the software.\",\n\texport_CSV: \"Export_CSV\",\n\tloadCalculation: \"Load Calculation\",\n\toptionDescriptionList: \"Option Description List\",\n\tpleaseCheckYourEquipmentSelection_: \"Please check your equipment selection.\",\n\tifThisProblemPersists_PleaseContactTheFactory_:\n\t\t\"If this problem persists, please contact the factory.\",\n\tselectedEquipmentNoLongerBalances_: \"Selected Equipment No Longer Balances!\",\n\tthisDesignWasCreatedWithAnEarlierVersionOfThisSoftware_:\n\t\t\"This design was created with an earlier version of this software.\",\n\tnewerVersionDesignDetected_: \"Newer version design detected !\",\n\tpleaseRestartYourSoftwareToUpdateYourSystemAndDataFiles_:\n\t\t\"Please restart your software to update your system and data files.\",\n\tlade: \"Lade\",\n\tpending: \"Pending\",\n\toutdoors_ColdClimate___: \"Outdoors (Cold Climate) ~ ~\",\n\tloadingServicePartCatalog_: \"Loading Service Part Catalog.\",\n\tclearFilter: \"Clear Filter\",\n\tcategory: \"Category\",\n\tpartName_No: \"Part Name / No\",\n\tqTTY: \"QTTY\",\n\tmodelNumber_WhereUsed: \"Model Number / Where Used\",\n\tequipmentDetails: \"Equipment Details\",\n\tleadTimeChangesFound_: \"lead time changes found.\",\n\tleadTimesChangedOn: \"Lead times changed on\",\n\tleadTimesChangedOnOneRevision_: \"Lead times changed on one revision.\",\n\tnoLeadTimeChangesFound_: \"No lead time changes found.\",\n\tnoLeadTimeChangesOccurred_: \"No lead time changes occurred.\",\n\toneLeadTimeChangeFound_: \"One lead time change found.\",\n\tcopyShippingDateInformationTo: \"Copy shipping date information to\",\n\tforComplexFloorsWeSuggestYouUseTheFloorPlanner:\n\t\t\"For complex floors we suggest you use the floor planner\",\n\tonlyOneFloorSectionMayBeAddedWithThisTool_:\n\t\t\"Only one floor section may be added with this tool.\",\n\tsorry: \"Sorry\",\n\torEnterTheTotalFloorAreaAndPerimeterValuesInTheExistingFloorDefinition_:\n\t\t\"or enter the total floor area and perimeter values in the existing floor definition.\",\n\tboxDesign: \"Box Design\",\n\tcanNotSubmit_: \"Can not submit!\",\n\tinvalidEmail_Format_: \"Invalid Email 1 Format!\",\n\tOrdersWillBeMarkedAsShipped_: \" orders will be marked as shipped!\",\n\tOrdersWillBeMarkedClosed_: \" orders will be marked closed!\",\n\tcalendarDays: \"calendar days\",\n\tleadTimeCalendarDays: \"Lead Time Calendar Days\",\n\tleadTimeAddWeeks: \"Lead Time Add Weeks\",\n\tleadTimeWeeksAdded: \"Lead Time Weeks Added\",\n\tpleaseContactFactory: \"Please contact factory\",\n\twARNING_SUBMITTEDQUOTENOTFOUND_: \"WARNING! SUBMITTED QUOTE NOT FOUND.\",\n\tCalandarDays_: \" Calandar Days !\",\n\tsorry_: \"Sorry!\",\n\tyouCanNotDeleteTheOrderedQuoteRevision_:\n\t\t\"You can not delete the ordered quote revision?\",\n\tdeleteCurrentQuoteRevision: \"Delete Current Quote Revision\",\n\trestoreCurrentQuoteRevisionToLastSavePoint:\n\t\t\"Restore Current Quote Revision To Last Save Point\",\n\tcanNotRestoreTheOrderedQuoteRevision_:\n\t\t\"Can not restore the ordered quote revision?\",\n\tthePackage: \"The package \",\n\tstandardFeatures: \"STANDARD FEATURES\",\n\tadditionalOptionsAndAccessories: \"ADDITIONAL OPTIONS AND ACCESSORIES\"\n};\n","import { enTooltips } from \"./en-tooltips\"; // TODO: Change later when translations are available.\n\nexport const frStrings = {\n\t...enTooltips,\n\t_Feeds: \"# RSS\",\n\t_threeDollarSigns: \"$$$\",\n\t_Cancel: \"&Annuler\",\n\t_Feed: \"/Flux des\",\n\t_RDPARTY: \"3RD PARTIE\",\n\t_PreviousModel: \"< Modèle précédent\",\n\t_SelectPreviousModel: \"< Sélectionnez le modèle précédent\",\n\t_TD: \"\",\n\tnextWallConstruction: \"Prochaine Construction d'un mur\",\n\tno: \"N\",\n\tnoCountryEntered_: \"Aucun pays entré !\",\n\tnoDetails: \"Pas de détails\",\n\tnoItemsOrSystemsSelected_: \"Aucun articles ou les systèmes sélectionnés.\",\n\tnoModelSelected: \"Aucun modèle sélectionné\",\n\tnoModelSelected_: \"Aucun modèle choisi!\",\n\tnoModelsAvailable: \"Pas de modèles disponibles\",\n\tnoPartNameEntered_: \"Aucun nom de partie entré !\",\n\tnoAddressEntered_: \"Aucune adresse saisie !\",\n\tnoAlternativePriceBooksOfThisTypeAreAvailable_:\n\t\t\"Pas de livres Prix alternative de ce type sont disponibles.\",\n\tnoAmbientTempEntered_: \"Aucun temp ambiante est entré.\",\n\tnoApplicationRegistrationOnformationWasFoundForYourUserID_:\n\t\t\"Aucune information d'inscription application n'introuvable pour votre ID d'utilisateur.\",\n\tnoBoxTempEntered_: \"Aucun temp de la boîte est entré.\",\n\tnoCalculationMethodSelected_: \"Aucune méthode de calcul choisie !\",\n\tnoChangesDetectedOnTheOrder_: \"Aucun changement détecté de l'ordre.\",\n\tnoCityEntered_: \"Aucune ville entré !\",\n\tnoCondenserModelSelected_: \"Aucun modèle de condenseur sélectionné !\",\n\tnoCondensingTempEntered_: \"Aucune condensation temp est entré.\",\n\tnoConnectionsDefined_: \"Aucune connexion définie !\",\n\tnoConstructionLayersHaveBeenDefined_:\n\t\t\"Sans couches de construction ont été définies !\",\n\tnoContactNameGiven_: \"Aucun nom de contact donné !\",\n\tnoContactsListed_: \"Aucune liste de contacts ci.\",\n\tnoDeratingFactorListed_: \"Aucun facteur de déclassement énumérés!\",\n\tnoDescriptionEntered_: \"Aucune description entrée !\",\n\tnoDoorsEstimateCalculatedOrEntered_:\n\t\t\"Aucuns portes n'estiment calculé ou entré !\",\n\tnoDoorsHaveBeenDefined_: \"Aucuns portes n'ont été définies !\",\n\tnoDoorsHaveBeenDefined_DefaultDoorLoadValueUsedForOneManDoor_:\n\t\t\"Aucuns portes n'ont été définies ! Par défaut la valeur de charge de porte utilisée pour une porte de l'homme.\",\n\tnoEquipmentChangesFound_: \"Aucun changement matériel trouvé.\",\n\tnoEquipmentChangesOccurred_: \"Aucun changement d'équipement a eu lieu.\",\n\tnoEvaporatorMotorLoadHasBeenCalculatedOrEntered_:\n\t\t\"Aucune charge évaporateur du moteur a été calculé ou entré !\",\n\tnoFeedsAssigned_: \"Aucun flux assignés !\",\n\tnoFluidSelected_: \"Aucun fluide sélectionné !\",\n\tnoFutureNonWorkingDaysWereListed_:\n\t\t\"Pas d'avenir non jours ouvrables ont été répertoriés.\",\n\tnoInternetConnection_: \"Aucune connexion internet.\",\n\tnoItemDeliveryDatesHaveBeenSelected_:\n\t\t\"Aucune date de livraison élément ont été choisis!\",\n\tnoLightingLoadHasBeenCalculatedOrEntered_:\n\t\t\"Aucune charge d'éclairage a été calculé ou entré !\",\n\tnoLoadHasBeenCalculatedOrEntered_: \"Aucune charge n'a été calculé ou entré !\",\n\tnoModelVARatingValuesListed_: \"Pas d'évaluation modèle VA valeurs indiquées.\",\n\tnoModelRatingValuesListed_: \"Pas d'évaluation du modèle des valeurs cotées.\",\n\tnoModelsAvailableForThisHighAFlowRate_:\n\t\t\"Aucun des modèles disponibles pour ce haut débit !\",\n\tnoOrdersListed_: \"Aucune ordre énumérés!\",\n\tnoPartsSelected_: \"Aucune des parties sélectionnées!\",\n\tnoPhoneNumberEntered_: \"Aucun numéro de téléphone entré !\",\n\tnoPowerValueEntered_: \"Aucune valeur de puissance entrée !\",\n\tnoPriceBooksHaveBeenAssignedToYourProfile_:\n\t\t\"Pas de livres de prix ont été attribués à votre profil.\",\n\tnoPriceChangesOccurred_: \"Aucun changement de prix a eu lieu.\",\n\tnoPricesWereChanged_: \"Pas de prix ont été modifiés.\",\n\tnoPricingChangesOccurred_: \"Aucun changement de prix a eu lieu.\",\n\tnoQuantityEntered_: \"Aucune quantité entrée !\",\n\tnoRefrigerantSelected_: \"Aucun réfrigérant sélectionné !\",\n\tnoRevisionsWereUpdated_: \"Aucune révision n'a été mis à jour.\",\n\tnoShippingAndHandlingCostEntered_:\n\t\t\"Aucune expédition et de manutention coût entré !\",\n\tnoState_ProvinceOrCountyEntered_:\n\t\t\"Aucun État, d'une province ou d'un comté entré !\",\n\tnoSuctionTempEntered_: \"Aucune aspiration temp est entré.\",\n\tnoSuitableFeedConfigurationFound_:\n\t\t\"Aucune configuration de flux adaptée trouvée.\",\n\tnoTotalLoadHasBeenCalculatedOrEntered_:\n\t\t\"Aucune charge totale a été calculé ou entré !\",\n\tnoTotalProductLoadHasBeenCalculatedOrEntered_:\n\t\t\"Aucune charge de produit total a été calculé ou entré !\",\n\tnoTotalProductWeightHasBeenCalculatedOrEntered_:\n\t\t\"Aucun poids total du produit a été calculé ou entré !\",\n\tnoUsageEstimateCalculatedOrEntered_:\n\t\t\"Aucune estimation de l'utilisation calculé ou entré !\",\n\tnoUsageLevelSelected_: \"Aucune utilisation de niveau sélectionnée !\",\n\tnoVentilationEstimateCalculatedOrEntered_:\n\t\t\"Aucune estimation de ventilation calculé ou entré !\",\n\tnoVersion_OrdersFoundInThisList_: \"N ° 8 version ordre dans cette liste!\",\n\tnoZipOrPostalCodeEntered_: \"Aucun zip ou code postal entré !\",\n\tno_CancelThisOperation: \"Non, annuler cette opération\",\n\tno_IAmANewUser_: \"Non, je suis un nouvel utilisateur.\",\n\tno_I_llDoItManually_: \"Non, je vais le faire manuellement.\",\n\tno_TryToConnectAgain_: \"Non, essayez de vous reconnecter.\",\n\tno_LeaveTheExistingOptionMultipliersUnchanged_:\n\t\t\"Non, laissez les multiplicateurs option existante inchangée.\",\n\tno_RestorePreviousValue_: \"Non, restaurer la valeur précédente.\",\n\tnon_CatalogItemDetails: \"Détails de l'article non-Catalogue\",\n\tnon_CatalogOptionDetails: \"Détails option non-Catalogue\",\n\tnon_numericJob_ScopeReferenceReturned_:\n\t\t\"Non numériques Référence de l'emploi-Portée de retour!\",\n\tnone: \"Aucun\",\n\tnotOwner: \"Non Propriétaire\",\n\tnotFound_: \"Pas trouvé!\",\n\tnotLatestCO: \"Pas plus tard CO\",\n\tnote_AnInternetConnectionIsRequiredToCompleteThisProcedure:\n\t\t\"Note: Une connexion Internet est nécessaire pour effectuer cette procédure\",\n\tnote_: \"Remarque :\",\n\tnote_IfYouAnswerNO_NewProductsAddedToThisOrderMayNotUseTheCorrectMultiplier_:\n\t\t\"Note: Si vous répondez NON, les nouveaux produits ajoutés à cet ordre ne peut pas utiliser le bon multiplicateur?\",\n\tnote_IndoorValueOnly__TheExteriorBoundaryLayerIsAdjusted_AutomaticallyIfSectionIsMarkedAsOutdoors:\n\t\t\"Remarque : Valeur intérieure seulement. ~ La couche externe de la limite est ajustée ~ automatiquement si l'article est marqué comme à l'extérieur\",\n\tnote_OrderOriginatorsAndOrderDeskWillAutomaticallyBeIncludedInTheNotifyList:\n\t\t\"Note: donneurs d'ordre et d'un bureau ordre sera automatiquement inclus dans la liste de notification\",\n\tnotes: \"Notes\",\n\tnotes_Comments: \"Notes / Commentaires\",\n\tnotes_Remarks: \"Notes / Remarques\",\n\tnothingToDo_: \"Rien à faire.\",\n\tnumberOfUnits: \"Nombre d'unités\",\n\tnumericValueRequired_: \"Valeur numérique nécessaire.\",\n\to_ptions: \"O & ptions\",\n\toE: \"OE\",\n\toELIST: \"OE LISTE\",\n\toEList: \"Liste OE\",\n\toEM: \"OEM\",\n\toFFLINE: \"DÉCONNECTÉ\",\n\toK: \"Bien\",\n\toNHOLD: \"EN ATTENTE\",\n\toPENACTIVEORDERMANAGER: \"OUVREZ LE GESTIONNAIRE DE COMMANDE ACTIVE\",\n\toPENEXISTINGORDER: \"OUVREZ LES RANGS EXISTANT\",\n\toPENPURCHAREORDERMANAGER: \"OUVREZ LE GESTIONNAIRE D'ORDRE PURCHARE\",\n\toRDER: \"Commander\",\n\toRDERCONTAINS: \"Contient le Décret\",\n\toRDERCONTAINSCALLPRICING_: \"ordre contient PRIX APPEL!\",\n\toRDERENTRYSYSTEM: \"SYSTEME DE SAISIE DE ordre\",\n\toRDERNO: \"ORDONNANCE NO\",\n\toRDERNOTES: \"NOTES POUR\",\n\toRDERSTATUS: \"État de la ordre\",\n\toRDERVERIFIED: \"ORDRE VERIFIED\",\n\toRDERED: \"CONDAMNER\",\n\toTHER: \"AUTRES\",\n\toTHERLOADS: \"AUTRES CHARGES\",\n\tobsolete: \"Obsolètes\",\n\toff_LineWarning_: \"Off-Line avertissement.\",\n\toldPassword: \"Ancien mot de passe\",\n\toldPasswordDoesNotMatch_: \"Ancien mot de passe ne correspond pas!\",\n\toneEquipmentChangeFound_: \"Un changement d'équipement trouvé.\",\n\tonePriceChanged_: \"Un prix a changé.\",\n\toneRevisionUpdated: \"Une révision de mise à jour\",\n\topen: \"Ouverte\",\n\topenBallyTools: \"Open Tools Bally\",\n\topenExistingJob: \"Ouvrez emplois existants\",\n\topenFromWeb: \"Ouvrir à partir du Web\",\n\topenKeepRiteTools: \"Open Tools KeepRite\",\n\topenOrder: \"Open Ordre\",\n\topenOrder_ForceSynch: \"Commande en cours - Force Synch\",\n\topenTrentonTools: \"Outils de Trenton ouvert\",\n\topenAsNewOrder: \"Ouvrir en tant que nouvel ordre\",\n\topenFileInEXCEL_: \"Ouvrir le fichier dans Excel?\",\n\topenFileInTextViewer_: \"Ouvrir le fichier dans la visionneuse de texte?\",\n\topenLastSavedEditOrder_: \"Ouvrez le dernier enregistrement EditOrder.\",\n\topeningType: \"Type d'ouverture\",\n\topeningDeletionRequested_: \"Suppression d'ouverture demandée.\",\n\topeningsSelected: \"Ouvertures sélectionnés\",\n\toppositeEnds: \"Extrémités opposées\",\n\toption: \"Option\",\n\toptionPrice: \"Prix de l'option\",\n\toptionSelector: \"Option de sélection\",\n\toptionIsNoLongerAvailable_: \"Option n'est plus disponible!\",\n\toptionNeedsFactoryLeadTime_PleaseCall_:\n\t\t\"Option a besoin de temps usine. S'il vous plaît appelez !\",\n\toptionNeedsFactoryPricing_PleaseCall_:\n\t\t\"Option a besoin de prix usine. S'il vous plaît appelez !\",\n\toptional: \"En option\",\n\toptions: \"Options\",\n\toptionsOnThisItemHaveErrors_: \"Options sur ce point ont des erreurs !\",\n\toptionsOnThisItemHaveWarnings_: \"Options sur ce point ont mises en garde !\",\n\torEnterAModelNumber: \"Ou entrez un numéro de modèle\",\n\torder: \"ordrez\",\n\torderDate: \"Date de ordre\",\n\torderEntry: \"Saisie d'une ordre\",\n\torderEntryListPrice: \"Prix Ordre Entry List\",\n\torderEntryMultiplier: \"Saisie d'une ordre multiplicateur\",\n\torderEntrySystem: \"Système d'entrée de commandes\",\n\torderForm: \"Formulaire de ordre\",\n\torderItemNo: \"Point d'ordre\",\n\torderManager: \"Gestionnaire Afin\",\n\torderManager_COLLATING: \"Order Manager - ASSEMBLAGE\",\n\torderNumericUnits: \"Unités de ordre numérique\",\n\torderPreview: \"Aperçu de la ordre\",\n\torderPreview_NoOrderSelected:\n\t\t\"Aperçu de la ordre - Pas de ordre sélectionnée\",\n\torderPreview_NotAvailable: \"Aperçu de la commande - Non disponible\",\n\torderPrice: \"ordre Prix\",\n\torderStatus: \"État de la ordre\",\n\torderUploadConfirmationCheck: \"ordrez Envoyer Vérifiez Confirmation\",\n\torderCanNotBeImported_: \"La ordre ne peut être importé.\",\n\torderChangeStopRequested_: \"modification de ordre l'arrêt demandé.\",\n\torderChangesHaveYetToBeUploadedToTheServer_:\n\t\t\"Ordre des changements doivent encore être téléchargé sur le serveur.\",\n\torderImported_: \"ordrez importés.\",\n\torderIncludesIncompleteFactoryPricingInformation_:\n\t\t\"Ordre comprend une information incomplète sur les prix d'usine!\",\n\torderInformationAlreadyExistsInTheProgramOrderStore_:\n\t\t\"Informations pour la ordre existe déjà dans le magasin de l'ordre du programme.\",\n\torderIsAlreadyLoadedLocally_: \"Ordre est déjà chargé au niveau local.\",\n\torderIsOpenForReviewAndPrintOnly_:\n\t\t\"Ordre est ouvert aux fins d'examen et d'imprimer uniquement!\",\n\torderPriceTooLowForPre_paidShippingTerms_:\n\t\t\"Prix de la commande trop bas pour les conditions d'expédition prépayées ! \",\n\torderStopRequested_: \"Ordre d'arrêt demandé.\",\n\torderWasDeleted_: \"Ordre a été supprimé.\",\n\torderWillBeUploadedAfterNextProgramUpdate_:\n\t\t\"Ordre sera transféré après mise à jour du prochain programme.\",\n\tordered: \"Ordonné\",\n\torders: \"ordres\",\n\torientation: \"Orientation\",\n\toriginal: \"Langue source\",\n\tother: \"Autres\",\n\totherCountryName: \"Nom Pays Autres\",\n\totherEquipmentManufacturer_sModel: \"Autre Equipment Manufacturer Model\",\n\totherHeatSources: \"Autres Sources de chaleur\",\n\totherName: \"Autre nom\",\n\totherDeletionRequested_: \"Autre suppression demandée.\",\n\toutOfRange_ShouldBe__And______:\n\t\t\"Hors de portée, devrait être > 0 et 0,01 !\",\n\toutdoors: \"À l'extérieur\",\n\tp_O: \"PO\",\n\tp_O_: \"PO\",\n\tpARAMETERSREQUIRECHECKINGORADJUSTMENT:\n\t\t\"Paramètres exigent contrôle ou de réglage\",\n\tpARSING: \"L'ANALYSE DE\",\n\tpARTNOTFOUNDINDATABASE_: \"PARTIE NON TROUVÉ DANS LA BASE DE DONNÉES !\",\n\tpARTIAL: \"PARTIEL\",\n\tpENDING: \"PENDANT\",\n\tpERSONNEL: \"PERSONNEL\",\n\tpICK_UP: \"PICK-UP\",\n\tpO_: \"PO #\",\n\tpOWER: \"PUISSANCE\",\n\tpRD: \"PRD\",\n\tpRE_PAID: \"PRÉ-PAYÉS\",\n\tpRICEBOOKNOTAVAILABLE: \"LIVRE Prix non disponible\",\n\tpRICEEACH: \"Prix unitaire\",\n\tpROCESSED: \"Processed\",\n\tpRODUCTLINE: \"GAMME DE PRODUITS\",\n\tpRODUCTNO: \"PRODUIT NON\",\n\tpROJECT: \"PROJET\",\n\tpROTECTED: \"PROTÉGÉ\",\n\tpackage: \"Paquet\",\n\tpackageOptionsAreHighlightedInGreen_:\n\t\t\"Paquet options sont surlignés en vert.\",\n\tpanel: \"Panneau\",\n\tpanelExteriorIsOutdoors: \"Panneau extérieur est à l'extérieur\",\n\tparametersCheckCompleted_: \"Paramètres de contrôle terminée.\",\n\tparams: \"Params\",\n\tpartDescription: \"Description de la pièce\",\n\tpartDescriptions: \"Descriptions partie\",\n\tpartNo: \"Partie n\",\n\tpartDescriptionRequired_: \"Description partie requise !\",\n\tpartialShipmentSelected_: \"livraisons partielles sélectionnés!\",\n\tpartialShippingRequested_ButNoSpecificShipDatesListedOnSystemsOrItems_:\n\t\t\"livraison partielle demandée, mais aucun navire spécifiques dates figurant sur les systèmes ou les articles!\",\n\tparts: \"Pièces\",\n\tpassword: \"Mot de passe\",\n\tpasswordAgain: \"Mot de passe à nouveau\",\n\tpasswordRequired_: \"Mot de passe requis.\",\n\tpaste: \"Coller\",\n\tpasteOptions_: \"options de collage.\",\n\tpastingNonStockingModelsOnAStockingOrderIsProhibited_:\n\t\t\"Coller les modèles non bas sur un ordre de stockage est interdite.\",\n\tpastingStockingModelsOnAStandardOrderIsProhibited_:\n\t\t\"Collant bas modèles sur un ordre standard est interdite.\",\n\tperUnit: \"Par unité\",\n\tpercentageChangeCausedByEnteredAdjustmentValue_:\n\t\t\"Pourcentage de variation causée par la valeur de réglage est entré.\",\n\tpercentageDifferenceBetweenCurrentPriceAndFloorPrice_:\n\t\t\"Pourcentage de différence entre prix actuel et prix plancher.\",\n\tpercentageDifferenceBetweenNewPriceAndCurrentPrice_:\n\t\t\"Pourcentage de différence entre le nouveau prix et le prix actuel.\",\n\tpercentageDifferenceBetweenNewPriceAndFloorPrice_:\n\t\t\"Pourcentage de différence entre le nouveau prix et le prix plancher.\",\n\tperimeterLength: \"Longueur de périmètre\",\n\tpermanentOpening: \"Ouverture permanente\",\n\tpersonalInformation: \"Renseignements personnels\",\n\tpersonnelLoad: \"Charge du personnel\",\n\tph_: \"PH : \",\n\tphone: \"Téléphone\",\n\tphoneNo: \"Téléphone non\",\n\tphoneNumbers: \"Numéros de téléphone\",\n\tpick_Up: \"Pick-Up\",\n\tpleaseDescribe: \"S'il vous plaît décrire\",\n\tpleaseNote_: \"S'il vous plaît Note:\",\n\tpleaseSelect: \"Veuillez sélectionner\",\n\tpleaseSelectAModelType: \"Veuillez sélectionner un Type de modèle\",\n\tpleaseSelectObjectsToInclude:\n\t\t\"S'il vous plaît sélectionner les objets à inclure\",\n\tpleaseSelectRatingOptions: \"S'il vous plaît sélectionnez Options de notation\",\n\tpleaseAdjustTemperaturesOrChangeRefrigerant_:\n\t\t\"Veuillez ajuster les températures ou changer de réfrigérant.\",\n\tpleaseAdjustTemperaturesOrSelectAndEnterT_H_R_Value_:\n\t\t\"Ajuster les températures ou sélectionnez et entrez la valeur T.H.R..\",\n\tpleaseCheckAllItems_: \"S'il vous plaît vérifier tous les articles!\",\n\tpleaseCheckInternetAndTryAgain_:\n\t\t\"S'il vous plaît vérifier Internet et essayez à nouveau.\",\n\tpleaseCheckServerConnectionAndTryAgain_:\n\t\t\"S'il vous plaît vérifiez la connexion au serveur et essayez à nouveau.\",\n\tpleaseCheckThemIndividually_:\n\t\t\"S'il vous plaît vérifier eux individuellement.\",\n\tpleaseCheckYourPermissionsAndOrCloseThisApplicationAndRunTheBootstrapManually_:\n\t\t\"S'il vous plaît vérifier vos autorisations et / ou fermer cette application et exécutez le bootstrap manuellement.\",\n\tpleaseCheckYourPermissionsAndOrDeleteThisFileManually_:\n\t\t\"S'il vous plaît vérifier vos autorisations et / ou supprimer ce fichier manuellement.\",\n\tpleaseCheckYourPermissionsAndOrMoveThisFileManually_:\n\t\t\"S'il vous plaît vérifier vos autorisations et / ou déplacer ce fichier manuellement.\",\n\tpleaseCheckYourProfileAndUpdateTheSoldByAddressPanel_:\n\t\t\"S'il vous plaît vérifier votre profil et mettre à jour l'adresse vendu par panneau.\",\n\tpleaseClickOnTheNEWButtonToBeginAddingYourFirstContact_:\n\t\t\"S'il vous plaît cliquer sur le bouton NOUVEAU pour ajouter votre premier contact.\",\n\tpleaseCloseAllInstancesOfNROESAndRestartTheApplication_:\n\t\t\"S'il vous plaît fermer toutes les instances de NROES et redémarrer l'application!\",\n\tpleaseCloseAllRefrigerationAppsClickOnRetry_:\n\t\t\"Veuillez fermer toutes les applications de réfrigération cliquez sur Recommencer !\",\n\tpleaseCloseAllRefrigerationToolsAndRestartTheApplication_:\n\t\t\"S'il vous plaît fermez tous les outils de réfrigération et redémarrer l'application !\",\n\tpleaseCloseAllToolsAndRestartTheApplication_:\n\t\t\"S'il vous plaît fermez tous les outils et redémarrer l'application !\",\n\tpleaseCompleteRequiredInformation_:\n\t\t\"S'il vous plaît compléter les informations requises.\",\n\tpleaseConfirmTheFollowing: \"S'il vous plaît confirmer ce qui suit\",\n\tpleaseConfirm_: \"S'il vous plaît confirmer.\",\n\tpleaseContact: \"S'il vous plaît contacter\",\n\tpleaseContactSupportTeam_: \"S'il vous plaît contacter l'équipe de soutien.\",\n\tpleaseContactTheDevelopmentTeam_:\n\t\t\"S'il vous plaît contacter l'équipe de développement.\",\n\tpleaseContactTheFactoryToHaveYourProfileAdjusted_:\n\t\t\"S'il vous plaît contacter l'usine pour avoir votre profil adapté.\",\n\tpleaseContactTheManufacturerForServicePartInformation_:\n\t\t\"S'il vous plaît contacter le fabricant pour partie, des informations de service.\",\n\tpleaseDescribeTheReasonForThisExceptionBelowAnd:\n\t\t\"Veuillez indiquer la raison de cette exception ci-dessous et\",\n\tpleaseEnterJob_ScopeReference_:\n\t\t\"S'il vous plaît entrer Référence de l'emploi-Scope!\",\n\tpleaseEnterANumericValueGreaterZero_:\n\t\t\"S'il vous plaît entrer une valeur numérique supérieure à zéro.\",\n\tpleaseEnterAllThePrimaryDimensionInformationFirst_:\n\t\t\"Veuillez entrer toutes les informations de dimension première tout d'abord.\",\n\tpleaseEnterCustomerReferenceNumber_:\n\t\t\"S'il vous plaît entrez le numéro de référence du client!\",\n\tpleaseEnterExpectedShippingCarried_:\n\t\t\"S'il vous plaît entrez devrait expédition menée!\",\n\tpleaseEnterYourPersonalApplicationRegistrationCode:\n\t\t\"Veuillez entrer votre code d'enregistrement de demande personnelle\",\n\tpleaseInstallCustomerDatabaseFileIntoYourApplicationProgramDataFolder_:\n\t\t\"S'il vous plaît installer le fichier de base de données client dans votre programme de données dossier de l'application!\",\n\tpleaseQuoteFACTORYORDER__: \"S'il vous plaît citer de ordre d'#.\",\n\tpleaseRestartTheApplication: \"S'il vous plaît redémarrer l'application\",\n\tpleaseRestartTheApplicationWithTheInternetConnected_:\n\t\t\"S'il vous plaît redémarrer l'application avec le connecté à Internet.\",\n\tpleaseSaveYourWorkAndCloseAllDesignWindows_:\n\t\t\"Veuillez enregistrer votre travail et fermez toutes les fenêtres de conception.\",\n\tpleaseSelectACompressor_: \"Veuillez sélectionner un compresseur !\",\n\tpleaseSelectACountryFromTheList_:\n\t\t\"Veuillez sélectionner un pays dans la liste !\",\n\tpleaseSelectADivision: \"S'il vous plaît sélectionnez une division\",\n\tpleaseSelectAMatchingModelNumberFirst_:\n\t\t\"S'il vous plaît sélectionner un numéro de modèle d'appariement en premier.\",\n\tpleaseSelectAPriceBook: \"S'il vous plaît sélectionnez une liste de prix\",\n\tpleaseSelectAnotherFile_: \"S'il vous plaît sélectionner un autre fichier!\",\n\tpleaseSelectOrderType_: \"S'il vous plaît sélectionner le type de ordre!\",\n\tpleaseSelectServicePartTypesToAddToOrder_:\n\t\t\"S'il vous plaît sélectionner les types de pièce de rechange pour ajouter à l'ordre.\",\n\tpleaseSelectTheSameSystemModelType_:\n\t\t\"Veuillez sélectionner le même type de modèle de système.\",\n\tpleaseSelectTheTypeOfSystemYouWantToAdd:\n\t\t\"S'il vous plaît sélectionner le type de système que vous souhaitez ajouter\",\n\tpleaseTryAgainLater_: \"S'il vous plaît réessayer plus tard!\",\n\tpleaseTryAgain_: \"S'il vous plaît essayez de nouveau.\",\n\tpleaseUpdateYourPrices_: \"S'il vous plaît mettre à jour vos prix!\",\n\tpleaseUseTheOptionsSelectorToAdjustTheseOptions_:\n\t\t\"S'il vous plaît utiliser le sélecteur d'options pour régler ces options.\",\n\tpleaseUseTheOrderManagerToOpenThisOrder_:\n\t\t\"S'il vous plaît utiliser le gestionnaire afin d'ouvrir la présente ordonnance.\",\n\tpleaseWait_: \"Veuillez patienter!\",\n\tplus: \"Plus\",\n\tpopup_Tooltip: \"Popup_Tooltip\",\n\tpostal: \"Postaux\",\n\tpostal_ZIPCode: \"Code postal / ZIP\",\n\tpostalCode: \"Code postal\",\n\tpower: \"Puissance\",\n\tpowerDensity: \"Densité de puissance\",\n\tpowerSearch: \"Recherche avancée\",\n\tpower_Deg: \"Puissance/Deg.\",\n\tpr_St: \"Pr / St\",\n\tpre_view: \"Pré & view\",\n\tpre_Paid_Charge: \"Pré-Payés Et Frais\",\n\tpre_paid: \"Pré-payé\",\n\tpressure: \"Pression\",\n\tpressureDropExceedsRequestedRange_:\n\t\t\"Chute de pression est supérieure a demandé la gamme !\",\n\tpressureDropRange: \"Plage de chute de pression\",\n\tpressureDropTolerance: \"Tolérance de chute de pression\",\n\tpressureDropTooLow_: \"Chute de pression trop bas !\",\n\tpressureRange: \"Plage de pression\",\n\tpreview: \"Extrait\",\n\tpreviousNetPrice_: \"Précédent prix net:\",\n\tprice: \"Prix\",\n\tpriceBook: \"Prix Livre\",\n\tpriceChange: \"Changement de prix\",\n\tpriceOK: \"Prix OK\",\n\tpriceBookUpdated_: \"Mise à jour le catalogue des prix.\",\n\tpriceBookHasExpired_: \"Catalogue des prix a expiré !\",\n\tpriceBookHasExpiredAndTheQuoteIsOlderThan__Days_:\n\t\t\"livre Prix a expiré et que la citation est de plus de 30 jours!\",\n\tpriceBookIsMissing_: \"Prix ​​livre est manquant!\",\n\tpriceBookNotUpdated_: \"Prix ​​livre pas mis à jour.\",\n\tpriceDidNotChange_: \"Prix n'a pas changé!\",\n\tpricebookHasExpired: \"Pricebook a expiré\",\n\tpricebookHasExpired_: \"Commande a expiré !\",\n\tpricebookMissing: \"Pricebook disparus\",\n\tpricebookNotLoaded_: \"Pricebook pas chargé.\",\n\tpricebookWillExpireIn: \"Pricebook arrivera à échéance en\",\n\tpricingChangeOccurredOnOneRevision_:\n\t\t\"changement de prix s'est produite sur une révision.\",\n\tpricingChangesOccurredOn: \"Les changements de prix a eu lieu le\",\n\tpricingShownIncludesAllOptionsListedOnCertifiedPrints_:\n\t\t\"Les prix indiqués comprennent toutes les options cotées sur certifié impressions.\",\n\tprimary: \"Primaire\",\n\tprint: \"Imprimer\",\n\tprintPreview: \"Aperçu avant impression\",\n\tprintSelectedModelOnly: \"Imprimer la sélection du modèle uniquement\",\n\tprinting: \"Impression\",\n\tprocessChangeOrderRequest: \"Demande ordre de modification\",\n\tprocessOrder: \"Processus de ordre\",\n\tprocessingNotes: \"Traitement des Notes\",\n\tproduct: \"Produit\",\n\tproductDetails: \"Détails du produit\",\n\tproductLine: \"Ligne de produits\",\n\tproductList: \"Liste des produits\",\n\tproductLoad: \"Charge de produit\",\n\tproductType: \"Type de produit\",\n\tproductDeletionRequested_: \"Suppression du produit demandée.\",\n\tproductsSelected: \"Produits sélectionnés\",\n\tprofitRate: \"Taux de profit\",\n\tprogramUpdateAvailable_: \"Programme de mise à jour disponible.\",\n\tprogramUpdatesFound: \"Mises à jour de programme trouvés\",\n\tprogramUpdatesShouldBeAvailableShortly_:\n\t\t\"mises à jour du programme devrait être disponible prochainement.\",\n\tproject: \"Projet\",\n\tpromise: \"Promesse\",\n\tpromiseDate: \"Date De Promesse\",\n\tpromised: \"Promis\",\n\tprotectCurrentRevision: \"Protéger révision actuelle\",\n\tprovince: \"Province\",\n\tpulldownTime: \"Menu déroulant fois\",\n\tpurchaseOrder: \"Bon de commande\",\n\tpurchaseOrders: \"Les ordres d'achat\",\n\tpurchaseRequests: \"Demandes d'achat\",\n\tpurchaser: \"Acheteur\",\n\tqTY: \"Quantité\",\n\tqUOTE: \"DEVIS\",\n\tqUOTEDAYS: \"QUOTE JOURS\",\n\tqtty: \"Qtty\",\n\tqty: \"Qté\",\n\tquantity: \"Quantité\",\n\tquantityPerUnit: \"Quantité par unité\",\n\tquickBox: \"Champ rapide\",\n\tquotationValidFor__DaysFromQuoteDate_:\n\t\t\"valable 30 jours à compter de la date devis devis.\",\n\tquote: \"Citer\",\n\tquote_: \"Citer Le Numéro\",\n\tquoteDate: \"Citation Date\",\n\tquoteNo: \"Quote n\",\n\tquotePrice: \"Demande de prix\",\n\tquoteSetup: \"Citer le programme d'installation\",\n\tquoteDateIsNotSetToCurrentDate_:\n\t\t\"Citer date n'est pas définie à ce jour en cours!\",\n\trValue: \"Valeur R\",\n\tr_Value: \"Valeur r\",\n\tr____A_R____CombinationNoLongerAvailable_R____ASelected_:\n\t\t\"R404-A/R-507 combinaison n'est plus disponible, R-404 a sélectionné.\",\n\trATING: \"EVALUATION\",\n\trEADONLY: \"EN LECTURE SEULE\",\n\trEADY: \"PRÊT\",\n\trECTANGULAR: \"RECTANGULAIRE\",\n\trEF: \"RÉF\",\n\trEFf: \"REFF\",\n\trEQDate: \"Date Dem\",\n\trEQSHIPDATE_: \"Date d'expédition REQ:\",\n\trETRIEVENROESORDERFROMSERVER: \"RÉCUPÉRER L'ORDRE NROES DU SERVEUR\",\n\trLA: \"RLA\",\n\trOUTING: \"ROUTAGE\",\n\trUN: \"EXÉCUTER\",\n\trUNNUMBER: \"Numéro de run\",\n\trange: \"Gamme\",\n\tratedAt: \"Évalué à\",\n\trating: \"Note\",\n\tratingOptions: \"Options de notation\",\n\trear: \"Arrière\",\n\trearrangeItemOrder: \"Réorganiser l'ordre des Point\",\n\trearrangeItems: \"Réorganiser les éléments\",\n\trearrangeSystemOrder_RenameSystems:\n\t\t\"Réorganiser les systèmes d'ordre Renommer système /\",\n\trearrangeSystems: \"Réorganiser les systèmes\",\n\trebuildFactoryOrder: \"Commandez Factory Reconstruire\",\n\trebuildFactoryOrderRequested_:\n\t\t\"commande à l'usine de reconstruction demandé.\",\n\trecentOrders: \"Les ordres récentes\",\n\trecommendedQuantity: \"Recommandé Quantité\",\n\trecoverMyEdits_: \"Récupérer mes modifications.\",\n\trectangularBoxDimensions: \"Dimensions de la boîte rectangulaire\",\n\tredo: \"Refaire\",\n\treference: \"Référence\",\n\trefresh: \"Actualiser\",\n\trefreshOrderList: \"Liste de ordre Refresh\",\n\trefrigerant: \"Frigorigène\",\n\trefrigerantFactor: \"Facteur de réfrigérant\",\n\trefrigerantFactorNotAvailable_: \"Réfrigérant facteur n'est pas disponible.\",\n\trefrigerantFactorOutOfRange_: \"Réfrigérant facteur hors de portée.\",\n\trefrigerantNotSelected_: \"Réfrigérant ne pas sélectionnée !\",\n\trefrigerants: \"Fluides frigorigènes\",\n\trefrigerationDesignTools: \"Outils de conception de réfrigération\",\n\trefrigerationSystemDetails: \"Détails du système de réfrigération\",\n\tregBuild: \"Reg Construire\",\n\tregion: \"Région\",\n\tregularShipDate_: \"Date d'expédition régulière: \",\n\tregularUse: \"Utilisation régulière\",\n\trejectOrder: \"Refuser la ordre\",\n\trejected: \"Rejetée\",\n\trejectingAnOrderWillPreventTheOriginatorFromResubmittingThisOrder_:\n\t\t\"Rejetant une ordre empêche l'expéditeur de présenter à nouveau cet ordre!\",\n\treleaseNotes: \"Notes de publication\",\n\tremarks_Notes: \"Remarques / Notes\",\n\tremarks_TermsAndConditions: \"Remarques / Termes et Conditions\",\n\trememberMeOnThisComputer: \"Se souvenir de moi sur cet ordinateur\",\n\tremo_ve: \"Remo & ve\",\n\tremoteOrderLockNotEstablished_:\n\t\t\"Afin de verrouillage à distance n'est pas établi.\",\n\tremoteVersionModificationTimestamp_:\n\t\t\"horodatage à distance modification version:\",\n\tremoteVersionUploadTimestamp_:\n\t\t\"version téléchargement à distance d'horodatage:\",\n\tremove: \"Supprimer\",\n\tremove_LocalOrder: \"Commande Remove & Local\",\n\tremoveFeed: \"Retirer RSS\",\n\tremoveLastWall: \"Supprimer le dernier mur\",\n\tremoveLocalOrder: \"Supprimer la commande locale\",\n\tremoveModel_Item: \"Supprimer Modèle / Point\",\n\tremoveSystem: \"Retirer du système\",\n\trenumberIDs: \"Renuméroter IDs\",\n\treplaceAllItems_: \"Remplacer tous les éléments.\",\n\treplaceLocalOrderWithMasterVersion_:\n\t\t\"Remplacer ordre local avec la version maître.\",\n\treplaceSelectedItems_: \"Remplacer les éléments sélectionnés.\",\n\treplaceSelectedSystem_: \"Remplacer le système sélectionné.\",\n\treplaceTheOrderInformationFromTheSelectedFile_:\n\t\t\"Remplacer les informations de ordre à partir du fichier sélectionné.\",\n\trequested: \"Requis\",\n\trequestedChanges_PleaseUpdateJob_ScopeAndCheckOffEachItem:\n\t\t\"Modifications à la demande - S'il vous plaît mettre à jour Job-Champ d'application et de cocher chaque point\",\n\trequestedDate_: \"Date souhaitée: \",\n\trequestedDateException: \"Exception Date souhaitée\",\n\trequestedItemShipDateIsLessThanItemLeadTime_:\n\t\t\"Demandé la date d'expédition élément est inférieure à délais article!\",\n\trequestedOrderShipDateIsLessThanLeadTime_:\n\t\t\"Demandé la date d'expédition d'ordre est moins que le temps avance!\",\n\trequestedSystemShipDateIsLessThanLeadTime_:\n\t\t\"Demandé la date de livraison du système est de moins de délais!\",\n\trequired: \"Requis\",\n\trequiredCapacity: \"Capacité requise\",\n\trequiredCapacity_Unit: \"Requis capacité / unité\",\n\trequiredCapacityIsNotSet_: \"Capacité requise n'est pas définie !\",\n\trequiredCapacityPerUnit: \"Capacité requise par unité\",\n\trequiredCapacityTolerance: \"Tolérance de capacité requis\",\n\trequiredOptions: \"Options requises\",\n\trequiredRatingOptions: \"Requise de note des Options\",\n\trequiredShipDate: \"Date d'expédition requis\",\n\trequiredValue_: \"Une valeur est requise!\",\n\trequirementDatesInThePast_: \"Exigence dates dans le passé!\",\n\tresetColumnWidths: \"La largeur des colonnes Reset\",\n\tresizeColumns: \"Redimensionner les colonnes\",\n\trestoreQuoteRevisionRequested_: \"révision devis de restauration demandée.\",\n\trestoreTheOrderInformationFromTheOrderStore_:\n\t\t\"Restaurer les données de ordre dans le magasin de ordre.\",\n\tresultingPriceIsLowerThanFloorPrice_:\n\t\t\"prix qui en résulte est inférieur au prix plancher!\",\n\tretrieveOrder: \"Récupérer Ordre\",\n\tretry: \"Réessayer\",\n\trev: \"Rev\",\n\trevision: \"Révision\",\n\trevisionContainsErrors_: \"Révision contient des erreurs!\",\n\trevisionContainsWarnings_: \"Révision contient des avertissements!\",\n\trightEnd: \"Extrémité droite\",\n\trightClickOnTheQuoteTabsOnTheTopLeftOfTheOrderWindow_:\n\t\t\"Faites un clic droit sur les onglets citation en haut à gauche de la fenêtre de commande.\",\n\trounding: \"Arrondissement\",\n\trunNumber: \"Nombre Run\",\n\trunTime: \"Moment de l'exécution\",\n\tsAndH: \"S et H\",\n\ts_C_T_: \"SCT\",\n\ts_S_T_: \"SST\",\n\tsCT: \"SCT\",\n\tsECTIONLIST: \"LISTE DE LA SECTION\",\n\tsEEITEMS: \"VOIR LES ARTICLES\",\n\tsELECTEDMODELDETAILS: \"DÉTAILS DU MODÈLE SÉLECTIONNÉ\",\n\tsERVERERROR_: \"ERREUR DE SERVEUR !\",\n\tsERVICEPARTSCATALOG: \"CATALOGUE DE PIÈCES DE SERVICE\",\n\tsHIPTO: \"NAVIRE\",\n\tsHIPPEDLOOSE: \"Livré séparément\",\n\tsIDE_: \"CÔTÉ 1\",\n\tsITEVOLTAGES: \"SITE DES TENSIONS\",\n\tsOLDBY: \"VENDU PAR\",\n\tsOLDTO: \"VENDU\",\n\tsST: \"SST\",\n\tsTARTING: \"À PARTIR\",\n\tsTATE: \"ETAT\",\n\tsTOPSUBMITTEDORDERORCHANGE: \"STOP SOUMIS POUR OU CHANGEMENT\",\n\tsUBMITNOTES: \"NOTES SOUMETTRE\",\n\tsUBMITORDER: \"SOUMETTRE LA ordre\",\n\tsUBMITTED: \"SOUMIS\",\n\tsUBMITTEDC_O_: \"SOUMIS CO\",\n\tsUITABLEREFRIGERANTS: \"RÉFRIGÉRANTS APTE\",\n\tsYNCHRONIZING: \"SYNCHRONISATION\",\n\tsYS: \"SYS\",\n\tsYSTEM: \"SYSTEME\",\n\tsYSTEMBALANCE: \"BALANCE DE SYSTÈME\",\n\tsYSTEMBULLETIN_: \"SYSTEME DE BULLETIN!\",\n\tsYSTEMREFRIGERANT: \"SYSTÈME DE RÉFRIGÉRATION\",\n\tsales: \"Ventes\",\n\tsalesman: \"Vendeur\",\n\tsameEnd: \"Même fin\",\n\tsaturatedCondensingTemperature: \"Température de condensation saturée\",\n\tsaturatedSuctionTemperature: \"Température d'aspiration saturée\",\n\tsave: \"Enregistrer\",\n\tsaveAllOrders: \"Enregistrer toutes les ordres\",\n\tsaveAsDefault: \"Enregistrer par défaut\",\n\tsaveAsDefaults: \"Enregistrer comme valeurs par défaut\",\n\tsaveAsSiteDefaults: \"Enregistrer comme valeurs par défaut du Site\",\n\tsaveChanges: \"Enregistrer les modifications\",\n\tsaveOrder: \"Enregistrer l'ordre\",\n\tsaveOrderParameterChanges_:\n\t\t\"Enregistrer l'ordre des changements de paramètres?\",\n\tsaveChangedContactInformation_:\n\t\t\"Sauvegardez les changements informations de contact.\",\n\tsaveFailed_: \"Échec de l'enregistrement!\",\n\tsaveMyChanges_: \"Enregistrer mes modifications.\",\n\tsaveTheseChangesAsANewContact_:\n\t\t\"Sauvegarder ces changements comme un nouveau contact.\",\n\tsearch: \"Rechercher\",\n\tsearchServiceParts: \"Pièces Service de la recherche\",\n\tsearchingForMatchingAirCooledCondensers_:\n\t\t\"La recherche pour la correspondance des condenseurs refroidis par air.\",\n\tsearchingForMatchingCompressors_:\n\t\t\"La recherche pour les compresseurs correspondants.\",\n\tsearchingForMatchingCondensingUnits_:\n\t\t\"La recherche pour les unités correspondantes de condensation.\",\n\tsearchingForMatchingEvaporatorUnits_:\n\t\t\"La recherche pour les unités d'évaporateur correspondantes.\",\n\tsection: \"Section\",\n\tsectionConstruction: \"Construction de la section\",\n\tsectionDivider: \"Section diviseur\",\n\tsectionExteriorIsOutdoors: \"Section extérieur est à l'extérieur\",\n\tsectionLoad: \"Charge de la section\",\n\tsectionType: \"Type de section\",\n\tsectionDeletionRequested_: \"Suppression de l'article demandée.\",\n\tsectionHasOpeningErrors_: \"Section a ouverture des erreurs !\",\n\tsectionHasOpeningWarning_: \"Section a ouverture AVERTISSEMENT !\",\n\tsectionNameNotProvided_: \"Nom de la section non fourni.\",\n\tsectionTypeMustBeSelected_: \"Type de section doit être sélectionné !\",\n\tsectional_E_g_StudWall_: \"Sectionnel (par ex. mur à ossature)\",\n\tsections: \"Sections\",\n\tsectionsSelected: \"Sections sélectionnées\",\n\tselectAll: \"Sélectionner tout\",\n\tselectApplicationLanguage: \"Langue Sélection de l'application\",\n\tselectEquipment: \"Choisir l'équipement\",\n\tselectModel: \"Sélectionnez le modèle\",\n\tselectNextModel_: \"Sélectionnez le modèle suivant >\",\n\tselectOptions: \"Sélectionnez Options\",\n\tselectRequestRevision: \"Demander la révision Sélectionnez\",\n\tselectRoomShape: \"Sélectionnez la forme de la chambre\",\n\tselectWhichPowerOfTenToRoundTo_: \"Sélectionnez la puissance de dix à tour à.\",\n\tselectedItemDetails: \"Certaines Détails Point\",\n\tselectedModelDetails: \"Détails du modèle sélectionné\",\n\tselectedQuoteDetails: \"Certaines Détails Citer\",\n\tselectedConstructionNotFound_: \"Construction sélectionnée non trouvée !\",\n\tselectedItemCountDiffersFromPasteBufferCount_:\n\t\t\"Certaines comptent diffère de ceux qui comptent tampon de collage!\",\n\tselectedModelNotFoundInActivePriceBook_:\n\t\t\"modèle sélectionné non trouvé dans le livre de prix active!\",\n\tselectedPriceBookHasExpired_: \"liste de prix sélectionnée a expiré!\",\n\tselectionError_: \"Sélection d'erreur!\",\n\tsendNotification: \"Envoyer un avis\",\n\tsendNotifications: \"Envoyer des notifications\",\n\tsendItToMeAgain: \"Envoyez-le moi à nouveau\",\n\tsendNotificationsTo__SelectAllThatApply_:\n\t\t\"Envoyer des notifications à: (Sélectionnez tout ce qui s'applique)\",\n\tseparatePrice: \"Séparez les prix\",\n\tseperatePrice: \"Prix ​​séparée\",\n\tserverConnected: \"Serveur connecté\",\n\tserverNotAvailable: \"Serveur non disponible\",\n\tserverCopyHasDifferentSaveHistory_:\n\t\t\"copie Server a différents sauver l'histoire.\",\n\tserverOrdersQueried_: \"ordres Server demandé!\",\n\tserverVersionDiffersFromApplication_:\n\t\t\"Server version diffère de l'application!\",\n\tserviceParts: \"Pièces de rechange\",\n\tsetDefaults: \"Définir par défaut\",\n\tsetStatus: \"Définir le statut\",\n\tsetQuoteDateToToday_: \"Date de citer Set à aujourd'hui.\",\n\tshellApplicationFailedToAcceptCommand_:\n\t\t\"Application Shell n'a pas à accepter la commande !\",\n\tshellApplicationFailedToStart_: \"Shell Application n'a pas démarré !\",\n\tshellApplicationFilesAreMissing_:\n\t\t\"Les fichiers d'Application Shell manquent !\",\n\tshellTerminatedUnexpectedy_: \"Shell a mis fin à Unexpectedy !\",\n\tshellDidNotAcceptCommand_: \"Shell n'accepte pas la commande.\",\n\tshellDidNotRespond_: \"Shell n'a pas répondu.\",\n\tshellIsLoading: \"Charge du Shell\",\n\tshipOrdersFromFile: \"Les ordres de navires à partir du fichier\",\n\tshipTo: \"Expédier à\",\n\tshipToInformationIsIncomplete: \"Navire à l'information est incomplète\",\n\tshipToRegionMustBeTwoCharacterCode_:\n\t\t\"Navire à la région doit être le code à deux caractères!\",\n\tshipment: \"Expédition\",\n\tshipped: \"Expédié\",\n\tshippedInformation: \"Expédié information\",\n\tshippedLoose: \"Livré en vrac\",\n\tshippedLoose_LineItem_: \"Expédié en vrac (Ligne Produit )\",\n\tshippingNotes: \"Livraison Notes\",\n\tshippingTerms: \"Conditions de livraison\",\n\tshippingWeight: \"Poids\",\n\tshowAll: \"Tous les\",\n\tshowChangeDetails: \"Détails sur le spectacle des changements\",\n\tshowExtendedParameters: \"Afficher les paramètres étendus\",\n\tshowItemPrices: \"Afficher les prix Point\",\n\tshowLocalOrders: \"Show Orders locale\",\n\tshowMyOrders: \"Afficher Mes ordres\",\n\tshowNotes_Tags_AndDates: \"Afficher les notes, étiquettes, et Dates\",\n\tshowOptionPrices: \"Prix option Afficher\",\n\tshowOptions: \"Afficher les options\",\n\tshowSplashScreenAtStartup: \"Afficher l'écran de démarrage au démarrage\",\n\tshowToolbarText: \"Voir la barre d'outils Texte\",\n\tshowWhereUsedList: \"Afficher la liste Where Used\",\n\tshowMeMoreInformation_: \"Montrez-moi plus d'informations.\",\n\tshutdown: \"Arrêt\",\n\tside: \"Côté\",\n\tside_: \"Côté 1\",\n\tsignIn: \"Identifiez-vous\",\n\tsignedIn: \"Signé à\",\n\tsignedIn_: \"Signé à.\",\n\tsigningInAsGuest_: \"Signature en tant qu'invité.\",\n\tsineWave: \"Onde sinusoïdale\",\n\tsiteAltitude: \"Altitude du site\",\n\tsiteLineFrequency: \"Fréquence de ligne sites\",\n\tsiteAltitudeCanNotBeGreaterThan:\n\t\t\"Altitude du site ne peut pas être supérieure à\",\n\tsiteAltitudeCanNotBeLessThan:\n\t\t\"Altitude du site ne peut pas être inférieure à\",\n\tsiteAltitudeNotEntered_: \"Altitude du site ne pas entré !\",\n\tsmallDimensions: \"Petites Dimensions\",\n\tsoftwarePatches: \"Correctifs logiciels\",\n\tsoldBy: \"Vendu par\",\n\tsoldByNameChangeRequested_: \"Vendu par changement de nom demandé.\",\n\tsoldTo: \"Vendu à\",\n\tsoldByInformationIsIncomplete: \"Vendu par l'information est incomplète\",\n\tsoldToInformationIsIncomplete: \"Vendu à l'information est incomplète\",\n\tsoldToRegionMustBeTwoCharacterCode_:\n\t\t\"Vendu à la région doit être le code à deux caractères!\",\n\tsomeDescriptionsHaveNotBeenEntered_:\n\t\t\"Certaines descriptions n'ont pas été entré!\",\n\tsomeDesignWindowsAreStillOpen_:\n\t\t\"Certaines fenêtres de conception sont encore ouvertes.\",\n\tsomeFactoryCallLeadTimeSettingsAreStillNotSet_:\n\t\t\"Certains paramètres d'usine le temps d'appel de plomb ne sont pas encore fixés!\",\n\tsomeFilesDidNotTransferToTheServer_:\n\t\t\"Certains dossiers ne sont pas transférées vers le serveur!\",\n\tsomeFunctionalityMayBeDisabled_:\n\t\t\"Certaines fonctionnalités peuvent être désactivées!\",\n\tsomeItemsNeedFactoryLeadTimes_PleaseCall_:\n\t\t\"Certains articles doivent délais usine. S'il vous plaît appeler.\",\n\tsomeItemsNeedFactoryPricing_PleaseCall_:\n\t\t\"Certains éléments ont besoin de prix d'usine. S'il vous plaît appelez !\",\n\tsomeOptionsWerePreviouslySetToAnotherValue_:\n\t\t\"Certaines options ont été précédemment défini sur une autre valeur.\",\n\tsomeOrdersNotSaved_: \"Certaines ordres n'est pas sauvegardée!\",\n\tsomeOrdersWereNotProperlyClosed_:\n\t\t\"Certaines commandes n'ont pas été correctement fermées.\",\n\tsomeParametersChanged_: \"Certains paramètres ont été modifiés.\",\n\tsomePriceChangesOccurred_: \"Certains changements de prix a eu lieu.\",\n\tsomePricesOrOptionsMayHaveChanged_:\n\t\t\"Certaines options ou les prix peuvent avoir changé !\",\n\tsomePricesWereUpdated_: \"Certains prix ont été mis à jour!\",\n\tsomePrintFunctionsAreDisabled_:\n\t\t\"Certaines fonctions d'impression sont désactivées.\",\n\tspanish: \"Espagnole\",\n\tspareFeeds: \"Flux de rechange\",\n\tspares: \"Pièces de rechange\",\n\tspecificHeatAboveFreezing: \"Chaleur spécifique au-dessus de zéro\",\n\tspecificHeatBelowFreezing: \"Chaleur spécifique en dessous de zéro\",\n\tstandard: \"Norme\",\n\tstandardOrder: \"De ordre Standard\",\n\tstandardTextFile_AllListedParts_:\n\t\t\"fichier texte standard - toutes les pièces énumérées.\",\n\tstandardTextFile_SelectedPartsOnly_:\n\t\t\"fichier texte standard - Certaines pièces seulement.\",\n\tstartNROES: \"Démarrer NROES\",\n\tstartUpOptions: \"Options de démarrage\",\n\tstartShellWhenILogInToWindows:\n\t\t\"Démarrez shell lorsque je vous connecter à windows\",\n\tstarting: \"À partir\",\n\tstartingTools: \"À partir des outils\",\n\tstate: \"État\",\n\tstatus: \"Statut\",\n\tstatus_: \"Situation:\",\n\tstatusStrip: \"Statusstrip\",\n\tstockingModelOrder: \"ordrez modèle Stocking\",\n\tstoredOrderIsMoreRecentThanRecoveryData_:\n\t\t\"Afin stockée est plus récente que la récupération de données.\",\n\tstripCurtains: \"Rideaux de bande\",\n\tstyle: \"Style de\",\n\tsub_Total: \"Sous-total\",\n\tsubject: \"Sous réserve\",\n\tsubmitChangeOrderNow: \"Envoyer le changement ordrer dès maintenant\",\n\tsubmitChangeOrderRequestToManufacturer:\n\t\t\"Soumettre des demandes de changement de ordre Pour Fabricant\",\n\tsubmitChangeRequestToPurchaser:\n\t\t\"Soumettre des demandes de changement à l'acheteur\",\n\tsubmitNotes: \"Soumettre Notes\",\n\tsubmitOrder: \"Soumettre la ordre\",\n\tsubmitOrderNow: \"Envoyer ordrer dès maintenant\",\n\tsubmitted: \"Soumis\",\n\tsubmittedOrdersMayNotBeEditedInOff_lineMode_:\n\t\t\"Soumis ordres peuvent pas être modifiés en mode off-line.\",\n\tsuccess_: \"Réussi!\",\n\tsuction: \"Aspiration\",\n\tsuctionTemp: \"Aspiration Temp\",\n\tsuctionTemp_S_S_T__: \"Temp d'aspiration (SST)\",\n\tsuctionTemperatureCanNotBeGreaterThan:\n\t\t\"Température d'aspiration ne peut pas être supérieure à\",\n\tsuctionTemperatureCanNotBeLessThan:\n\t\t\"Température d'aspiration ne peut pas être inférieure à\",\n\tsuctionTemperatureIsGreaterThanCondensingTemperature_:\n\t\t\"Température d'aspiration est supérieure à la température de condensation.\",\n\tsuctionTemperatureIsMissing_: \"Température d'aspiration est manquante.\",\n\tsuctionTemperatureIsRequired_: \"La température d'aspiration est nécessaire !\",\n\tsuitableModels: \"Modèles adaptés\",\n\tswitchPriceBook: \"Commutateur PriceBook\",\n\tsynchronizingOrder_: \"ordre de synchronisation:\",\n\tsyncronizingContacts: \"Synchronisation Contacts\",\n\tsystem: \"Système\",\n\tsystemLoad: \"La charge du système\",\n\tsystemName: \"Name System\",\n\tsystemNetPrice: \"Système de prix imposés\",\n\tsystemNotes: \"Système Notes\",\n\tsystemRun_Time: \"Système Run-Time\",\n\tsystemTagging: \"Système de marquage\",\n\tsystemWeight: \"Poids du système\",\n\tsystemLoadIsMissing_: \"Charge système est manquant !\",\n\tsystemOptionIsNoLongerAvailable_: \"Option de système n'est plus disponible !\",\n\tsystemReturned_: \"Système retourné.\",\n\tsystemsOnThisOrderContainErrors_:\n\t\t\"Systèmes de cet ordre contenir des erreurs.\",\n\tsystemsOnThisOrderContainWarnings_:\n\t\t\"Systèmes sur cet ordre des avertissements.\",\n\tt_D_: \"TD\",\n\tt_D_Error: \"Erreur TD\",\n\tt_H_R: \"THR\",\n\ttD: \"TD\",\n\ttDCanNotBeCalculated_: \"TD ne peut pas être calculée.\",\n\ttDCanNotBeGreaterThan: \"TD ne peut pas être supérieur à\",\n\ttDCanNotBeLessThan: \"TD ne peut pas être inférieur à\",\n\ttDOutOfEnteredToleranceRange_: \"TD hors limites de tolérance est entré.\",\n\ttDOutOfMaximumRange_: \"TD hors de portée maximale.\",\n\ttERMS_CONDITIONSANDREMARKS: \"CONDITIONS ET REMARQUES\",\n\ttHEVALUESCONTAINEDHERINAREBASEDONLABORATORYFINDINGSANDTHEINITIALCONDITIONSENTEREDBYTHEUSER_:\n\t\t\"LE BRUNO CONTENUES DE VALEURS SONT FONDÉES SUR LES RÉSULTATS DE LABORATOIRE ET LES CONDITIONS INITIALES ENTRÉES PAR L'UTILISATEUR.\",\n\ttHR: \"THR\",\n\ttHRCanNotBeCalculated_: \"THR ne peut pas être calculée.\",\n\ttOTAL: \"TOTAL\",\n\ttOTALINFILTRATIONLOAD: \"CHARGE TOTALE INFILTRATION\",\n\ttOTALLISTPRICE: \"Prix éditeur\",\n\ttOTALNET: \"NET TOTAL\",\n\ttOTALQUOTEPRICE: \"DEMANDE DE PRIX TOTAL\",\n\ttYP: \"TYP\",\n\ttYPE: \"TYPE\",\n\ttabSeparatedTextFiles: 'Onglet \"Fichiers\" texte séparé',\n\ttagging: \"Marquage\",\n\ttaggingID: \"Marquage d'identification\",\n\ttaggingID_: \"Marquage Id #\",\n\ttaggingText: \"Texte de marquage\",\n\ttakeOwnership: \"Prendre possession\",\n\ttargetPriceAccordingToAdjustmentAndRoundingFactors_:\n\t\t\"Prix indicatif en fonction de facteurs d'ajustement et de l'arrondissement.\",\n\ttax: \"Impôt\",\n\ttaxes: \"Impôts\",\n\ttemperature: \"Température\",\n\ttemperatures: \"Températures\",\n\tterminationOptions: \"Options de résiliation\",\n\tterms: \"Conditions\",\n\ttest: \"Test\",\n\ttextBox: \"Zone De Texte\",\n\ttheInternalRelativeHumidityNotEntered_:\n\t\t\"L'humidité relative intérieure ne pas entrée !\",\n\ttheMaterialLoadHasNotBeenCalculatedOrEntered_:\n\t\t\"La charge matérielle n'a pas été calculée ou entrée !\",\n\ttheMaterialMaterialNameIsNotEntered_:\n\t\t\"Le nom de matière matière n'est pas entré !\",\n\ttheMaterialMaterialTypeIsNotSelected_:\n\t\t\"Le matériel type de matériau n'est pas sélectionnée !\",\n\ttheOriginatingCustomersInformationIsAlreadyListedInYourContactDatabase_:\n\t\t\"Les informations provenant des clients est déjà inscrit dans votre base de contacts.\",\n\ttheR_ValueHasNotBeenEntered_: \"La valeur r n'est pas intervenu !\",\n\ttheActualCondensingTemperatureCouldNotBeCalculated_:\n\t\t\"Impossible de calculer la température de condensation réelle !\",\n\ttheAmbientTemperatureIsNotEntered_:\n\t\t\"La température ambiante n'est pas entrée !\",\n\ttheApplicationCouldNotMoveFile_BootStrap_exeFromTheUpdatesFolderToTheApplicationFolder_:\n\t\t\"La demande ne pouvait pas bouger BootStrap.exe fichier 'à partir du dossier Mises à jour du dossier de l'application.\",\n\ttheApplicationCouldNotRemoveFile_BootStrap_exe_FromTheApplicationFolder_:\n\t\t\"L'application n'a pas pu supprimer \\\"BootStrap.exe 'fichier à partir du dossier de l'application.\",\n\ttheApplicationCouldNotSpawn_BootStrap_exe_InTheApplicationFolder_:\n\t\t\"L'application n'a pas pu lancer \\\"BootStrap.exe dans le dossier de l'application.\",\n\ttheAreaHasNotBeenCalculatedOrEntered_:\n\t\t\"La région n'a pas été calculée ou entrée !\",\n\ttheAreaIsGreaterThanTheSectionArea_:\n\t\t\"La zone est plus grande que la zone de section !\",\n\ttheBoxTypeMustBeSelected_: \"Le type de la boîte doit être sélectionné !\",\n\ttheCentreDistanceIsNotEntered_: \"La distance axiale n'est pas entrée !\",\n\ttheChangeCanNotBeProcessedUntilYouCloseTheWorkbookInThisApplication_:\n\t\t\"Le changement ne peut être traité jusqu'à ce que vous fermez le classeur dans cette application.\",\n\ttheConstructionK_FactorIsNotCalculatedOrEntered_:\n\t\t\"La construction K-Factor n'est pas calculée ou entrée !\",\n\ttheConstructionR_ValueIsNotCalculatedOrEntered_:\n\t\t\"La construction de la valeur r n'est pas calculé ou entré !\",\n\ttheConstructionNameIsNotEntered_: \"Le nom de construction n'est pas entré !\",\n\ttheConstructionThicknessHasNotBeenEntered_:\n\t\t\"L'épaisseur de la construction n'est pas intervenu !\",\n\ttheConstructionTypeIsNotSelected_:\n\t\t\"Le type de construction n'est pas sélectionné !\",\n\ttheCorrectQuoteRevisionIsSelected:\n\t\t\"La révision citation correcte est sélectionnée\",\n\ttheCurrentPricebookHasBeenSuperseded_:\n\t\t\"Le pricebook actuelle a été remplacée.\",\n\ttheCurrentPricebookHasExpired_: \"Le pricebook actuelle a expiré.\",\n\ttheCurrentPricebookNoLongerExists_: \"Le pricebook actuelle n'existe plus.\",\n\ttheCurrentPricebookWillExpireInLessThanAMonth_:\n\t\t\"Le pricebook actuel expire en moins d'un mois.\",\n\ttheCurrentSettingsWillBeUsedOnAllNewOrdersForThisDivision_:\n\t\t\"Les réglages actuels seront utilisés sur toutes les nouvelles ordres de cette division.\",\n\ttheCurrentSettingsWillBeUsedOnAllNewOrders_:\n\t\t\"Les réglages actuels seront utilisés sur toutes les nouvelles ordres.\",\n\ttheDividerMaterialNameIsNotEntered_:\n\t\t\"Le nom de matière diviseur n'est pas entré !\",\n\ttheDividerMaterialTypeIsNotSelected_:\n\t\t\"Le type de matériau de séparation n'est pas sélectionné !\",\n\ttheDividerWidthIsNotEntered_: \"La largeur de la cloison n'est pas entrée !\",\n\ttheEffectiveR_ValueIsNotCalculatedOrEntered_:\n\t\t\"La valeur de r efficace n'est pas calculé ou entré !\",\n\ttheEmailAddressGivenIsNotListed_:\n\t\t\"L'adresse de courriel indiquée n'est pas répertorié.\",\n\ttheExternalRelativeHumidityMustBeGreaterThanZero_:\n\t\t\"L'humidité relative extérieure doit être supérieure à zéro !\",\n\ttheExternalRelativeHumidityMustBeLessThan____:\n\t\t\"L'humidité relative extérieure doit être inférieur à 100 !\",\n\ttheExternalRelativeHumidityNotEntered_:\n\t\t\"L'humidité relative extérieure ne pas entrée !\",\n\ttheExternalTemperatureIsLowerThanTheInternalTemperature_:\n\t\t\"La température extérieure est inférieure à la température interne !\",\n\ttheExternalTemperatureIsNotEntered_:\n\t\t\"La température extérieure n'est pas entrée !\",\n\ttheExternalTemperatureIsTooHigh_:\n\t\t\"La température extérieure est trop élevée !\",\n\ttheExternalTemperatureIsTooLow_: \"La température extérieure est trop basse !\",\n\ttheExternalTemperatureNotEntered_:\n\t\t\"La température extérieure n'est ne pas entrée !\",\n\ttheFactoryInvoiceRecipientIsCorrect:\n\t\t\"Le destinataire de la facture d'usine est correct\",\n\ttheFactoryInvoiceWillBeSentTo: \"La facture d'usine sera envoyé à\",\n\ttheFactoryIsNotShippingOnTheSelectedDate_:\n\t\t\"L'usine n'est pas d'expédition à la date sélectionnée.\",\n\ttheFloorAreaIsNotCalculatedOrEntered_:\n\t\t\"La surface de plancher n'est pas calculée ou entrée !\",\n\ttheFollowingChangesHaveBeenVerified:\n\t\t\"Les modifications suivantes ont été vérifiées\",\n\ttheFollowingOptionIsNotAllowedWithThisPackage_:\n\t\t\"L'option suivante n'est pas autorisé avec ce paquet.\",\n\ttheFollowingOrdersCouldNotBeMarkedAsClosed_:\n\t\t\"Les ordres suivantes ne pouvait pas être considéré comme étant fermé.\",\n\ttheFollowingOrdersCouldNotBeMarkedAsShipped_:\n\t\t\"Les ordres suivantes ne pouvait pas être marqué comme expédié.\",\n\ttheFollowingOrdersCouldNotBeSynchronized_:\n\t\t\"Les ordres suivantes peuvent ne pas être synchronisées!\",\n\ttheInfiltrationLoadHasNotBeenCalculatedOrEntered_:\n\t\t\"La charge de l'infiltration n'a pas été calculée ou entrée !\",\n\ttheInformationInTheStoreIsOlderThanTheSelectedFile_:\n\t\t\"Les informations contenues dans le magasin est plus ancien que le fichier sélectionné.\",\n\ttheInternalTemperatureIsNotEntered_:\n\t\t\"La température interne n'est pas entrée !\",\n\ttheItemOrSomeOptionsNeedFactoryLeadTimes_PleaseCall_:\n\t\t\"L'élément ou certaines options ont besoin de délais d'usine. S'il vous plaît appelez !\",\n\ttheLayerThicknessIsNotCalculatedOrEntered_:\n\t\t\"L'épaisseur de la couche n'est pas calculé ou entré !\",\n\ttheLayerThicknessIsNotEntered_: \"L'épaisseur de la couche n'est pas entré !\",\n\ttheLoadIsNotCalculatedOrEntered_: \"La charge n'est pas calculée ou entrée !\",\n\ttheOpeinngWidthIsGreaterThanTheSectionWidth_:\n\t\t\"La largeur opeinng est supérieure à la largeur de section !\",\n\ttheOpeningHeightHasNotBeenEntered_:\n\t\t\"La hauteur d'ouverture n'est pas intervenue !\",\n\ttheOpeningHeightIsGreaterThanTheSectionHeight_:\n\t\t\"La hauteur de l'ouverture est supérieure à la hauteur du boudin !\",\n\ttheOpeningTypeIsNotSelected_: \"Le type d'ouverture n'est pas sélectionné !\",\n\ttheOpeningWidthHasNotBeenEntered_:\n\t\t\"La largeur de l'ouverture n'est pas intervenue !\",\n\ttheOrderCanNotBeProcessedUntilYouCloseTheWorkbookInThisApplication_:\n\t\t\"L'ordre ne peut pas être traitée tant que vous fermez le classeur dans cette application.\",\n\ttheOrderFileAppearsCorrupt_: \"Le fichier de commande semble endommagé.\",\n\ttheOrderIsAlreadyListedInTheLocalOrderDatabase_:\n\t\t\"L'ordre est déjà répertorié dans la base de données afin locales.\",\n\ttheOrderIsLockedByAnotherUser_:\n\t\t\"L'ordre est verrouillé par un autre utilisateur.\",\n\ttheOrderWindowWillUpdateWhenYouCloseTheServicePartsWindow_:\n\t\t\"La fenêtre de ordre sera mise à jour lorsque vous fermez la fenêtre des pièces de rechange.\",\n\ttheOriginalOrderHasNotBeenProcessedYet_:\n\t\t\"L'ordonnance originale n'a pas encore été traitées.\",\n\tthePerimeterLengthMustBeEnteredForSlabOnGradeFloors_:\n\t\t\"La longueur du périmètre doit être saisie pour dalle sur planchers de qualité !\",\n\tthePowerUnitsAreNotEntered_:\n\t\t\"Les unités de puissance ne figurent pas dans la liste !\",\n\tthePriceBookSelectedForThisOrderHasBeenUpdated_:\n\t\t\"Le livre de prix choisi pour cet ordre a été mis à jour !\",\n\tthePriceBookUsedForTheOpenChangeRequestHasBeenRevised_:\n\t\t\"Le livre des prix utilisé pour la demande de modification ouverte a été révisé.\",\n\tthePriceBookUsedForTheOpenChangeRequestHasBeenSuperseded_:\n\t\t\"Le livre des prix utilisé pour la demande de modification ouvert a été remplacé.\",\n\tthePriceBookUsedForTheOpenChangeRequestIsExpiring_:\n\t\t\"Le livre des prix utilisé pour la demande de modification ouvert arrive à échéance.\",\n\tthePriceBookUsedForThisOrderHasBeenRevised_:\n\t\t\"Le catalogue des prix utilisé pour cet ordre a été révisé.\",\n\tthePriceBookUsedForThisOrderHasBeenSuperseded_:\n\t\t\"Le catalogue des prix utilisé pour cette commande a été remplacé.\",\n\tthePriceBookUsedForThisOrderIsExpiring_:\n\t\t\"Le livre des prix utilisée pour cette commande vient à expiration.\",\n\tthePriceBookUsedOnOneQuoteHasBeenRevised_:\n\t\t\"Le livre des prix utilisée sur une citation a été révisé.\",\n\tthePriceBookUsedOnOneQuoteHasBeenSuperseded_:\n\t\t\"Le livre des prix utilisée sur une citation a été remplacée.\",\n\tthePriceBookUsedOnOneQuoteHasExpired_:\n\t\t\"Le livre des prix utilisée sur une citation a expiré.\",\n\tthePriceBookUsedOnOneQuoteIsMissing_:\n\t\t\"Le livre des prix utilisée sur une citation est manquant.\",\n\tthePriceBookWasUpdated_: \"Le livre a été mise à jour des prix!\",\n\tthePriceBooksUsedForThisOrderAreExpiring_:\n\t\t\"Les livres de prix utilisés pour cette commande sont expirant.\",\n\tthePriceBooksUsedForThisOrderHaveBeenRevised_:\n\t\t\"Les livres de prix utilisés pour cette commande ont été révisées.\",\n\tthePriceBooksUsedForThisOrderHaveBeenSuperseded_:\n\t\t\"Les livres de prix utilisés pour cette commande ont été remplacées.\",\n\tthePriceBooksUsedOn: \"Les livres de prix utilisés sur\",\n\tthePriceBooksUsedOnOneQuoteIsExpiring_:\n\t\t\"Les livres de prix utilisés sur une citation vient à expiration.\",\n\ttheProductFreezingTemperatureIsNotEntered_:\n\t\t\"Le produit température de congélation n'est pas inscrit !\",\n\ttheProductIsEnteringAtTheInternalTemperature_TheFinalTemperatureMustAlsoBeTheInternalTemperature_:\n\t\t\"Le produit est entré à la température interne, la température finale doit être aussi la température interne !\",\n\ttheProductTypeIsNotSelected_: \"Le type de produit n'est pas sélectionné !\",\n\ttheProduct_sEnteringTemperatureIsNotSet_:\n\t\t\"Température entrée du produit n'est pas définie !\",\n\ttheProduct_sFinalTemperatureCanNotBeGreaterThanTheEnteringTemperature_:\n\t\t\"La température finale du produit ne peut pas être supérieure à la température d'entrée !\",\n\ttheProduct_sFinalTemperatureCanNotBeLowerThanTheEnteringTemperature_:\n\t\t\"La température finale du produit ne peut pas être inférieure à la température d'entrée !\",\n\ttheProduct_sFinalTemperatureCanNotBePulledHigherThanTheInternalTemperature_:\n\t\t\"La température finale du produit ne peut pas être tirée plus élevée que la température interne !\",\n\ttheProduct_sFinalTemperatureCanNotBePulledLowerThanTheInternalTemperature_:\n\t\t\"Température finale du produit ne peut pas être tirée plus bas que la température interne !\",\n\ttheProduct_sFinalTemperatureIsNotSet_:\n\t\t\"La température finale du produit n'est pas définie !\",\n\ttheProduct_sLoadFactorIsNotSet_:\n\t\t\"Facteur de charge du produit n'est pas définie !\",\n\ttheProduct_sLoadFactorShouldBeOneUnlessRapidCoolingIsRequired__:\n\t\t\"Facteur de charge du produit doit être à moins qu'un refroidissement rapide est nécessaire. !\",\n\ttheProduct_sLoadIsNotCalculatedNotEntered_:\n\t\t\"Chargement du produit n'est pas calculée ne pas entré !\",\n\ttheProduct_sMoistureContentIsNotEntered_:\n\t\t\"Teneur en eau du produit n'est pas entré !\",\n\ttheProduct_sPullDownTimeIsNotSet_:\n\t\t\"Tirer du produit le temps n'est pas définie !\",\n\ttheProduct_sSpecificHeatAboveFreezingIsNotEntered_:\n\t\t\"Chaleur spécifique du produit au-dessus de zéro n'est pas entrée !\",\n\ttheProduct_sSpecificHeatBelowFreezingIsNotEntered_:\n\t\t\"Chaleur spécifique du produit en dessous de zéro n'est pas entrée !\",\n\ttheProduct_sWeightIsNotEntered_: \"Poids du produit n'est pas entré !\",\n\ttheProgramStoreIsNewerThanTheFileYouSelected_:\n\t\t\"Le magasin de programme est plus récent que le fichier que vous avez sélectionné!\",\n\ttheQuoteHasBeenSignedByTheCustomer: \"La citation a été signé par le client\",\n\ttheRunTimeIsNotEntered_: \"Le moment de l'exécution n'est pas entré !\",\n\ttheSelectedChangeOrderHasBeenProcessedByOurOrderDepartment_:\n\t\t\"L'ordre de modification sélectionné a été traitée par notre service des ordres.\",\n\ttheSelectedChangeOrderHasBeenProcessedByThePurchaser_:\n\t\t\"L'ordre de modification sélectionnés a été traitée par l'acheteur.\",\n\ttheSelectedOrderHasBeenProcessedByOurOrderDepartment_:\n\t\t\"L'ordre choisi a été traitée par notre service des ordres.\",\n\ttheSelectedOrderHasBeenProcessedByThePurchaser_:\n\t\t\"L'ordre choisi a été traitée par l'acheteur.\",\n\ttheSelectedOrderIsOpenInAnotherSessionOfNROES_:\n\t\t\"L'ordre choisi est ouvert dans une autre session de NROES.\",\n\ttheSelectedRefrigerantIsNotAvailableOnThisUnit_:\n\t\t\"Le réfrigérant sélectionné n'est pas disponible sur cet appareil !\",\n\ttheServerReturnedTheFollowing_: \"Le serveur a renvoyé le texte suivant.\",\n\ttheSystemReportedError: \"Le système a signalé l'erreur\",\n\ttheSystemReportedTheFollowingError_:\n\t\t\"Le système a signalé l'erreur suivante.\",\n\ttheTotalInfiltrationLoadIsNotCalculatedOrEntered_:\n\t\t\"La charge totale de l'infiltration n'est pas calculée ou entrée !\",\n\ttheTotalVolumeIsNotCalculatedOrEntered_:\n\t\t\"Le volume total n'est pas calculé ou entré !\",\n\ttheUserNameYouEnteredIsNotRegisteredOnThisWorkstation_:\n\t\t\"Le nom d'utilisateur que vous avez entré n'est pas inscrit sur ce poste de travail!\",\n\ttheValueWillBeAddedOrSubtractedFromTheCurrentPrice_:\n\t\t\"La valeur sera ajouté ou soustrait le prix courant.\",\n\tthenClickOnSaveAgain_: \"Puis cliquez sur enregistrer à nouveau.\",\n\tthereAreNoItemsOnThisOrder_: \"Il n'ya pas de points de cet ordre!\",\n\tthereAreNoOptionsAvailableForThisUnit_:\n\t\t\"Il n'y a pas d'options disponibles pour cet appareil!\",\n\tthickness: \"Épaisseur\",\n\tthicknessIsNotEntered_: \"Épaisseur n'est pas entré !\",\n\tthirdParty: \"Troisième Partie\",\n\tthisMayTakeAFewMinutes_: \"Cela peut prendre quelques minutes.\",\n\tthisModelHasOptionsAttached_: \"Ce modèle a des options ci-joint.\",\n\tthisOrderHasBeenPutOnHoldByTheOrderDepartment_:\n\t\t\"Cet ordre a été mis en attente par le service des ordres.\",\n\tthisOrderHasBeenRejectedByTheOrderDepartment_:\n\t\t\"Cette ordonnance a été rejetée par le service des ordres.\",\n\tthisOrderHasPriceBookIssues_: \"Cet ordre a des problèmes de liste de prix.\",\n\tthisOrderWasNotClosedProperlyTheLastTimeYouOpenedItOnThisWorkstation_:\n\t\t\"Cette ordonnance n'a pas été fermé correctement la dernière fois vous l'avez ouvert sur ce poste de travail.\",\n\tthisOrderWasSavedUsingAPreviousVersionOfYourMultiplierStructure_:\n\t\t\"Cette ordonnance a été enregistrée à l'aide d'une version précédente de votre structure multiplicateur!\",\n\tthisOrderWasSavedUsingAPreviousVersionOfYourUserCatalogueProfile_:\n\t\t\"Cette ordonnance a été enregistrée à l'aide d'une version précédente de votre profil utilisateur catalogue!\",\n\ttileHorizontally: \"Mosaïque horizontale\",\n\ttileVertically: \"Mosaïque verticale\",\n\ttime: \"Temps\",\n\ttitle: \"Titre\",\n\ttoNearest: \"Pour le plus proche\",\n\ttoNearest_: \"Pour la plus proche 1\",\n\ttoNearest_____: \"Pour le plus proche 1,000\",\n\ttoNearest__: \"Pour plus proche à 10\",\n\ttoNearest______: \"Pour le plus proche 10.000\",\n\ttoNearest___: \"Pour le plus proche 100\",\n\ttoNearest_______: \"Pour le plus proche 100.000\",\n\ttoAssistUs_PleaseProvideAnyFurtherInformationYouMayThinkIsRelevant_:\n\t\t\"Pour nous aider, s'il vous plaît fournir toute information complémentaire vous pouvez penser est pertinente.\",\n\ttoChangeThePartQuantities_PleaseEditThemInTheOrderWindow_:\n\t\t\"Pour modifier les quantités partie, s'il vous plaît les modifier dans la fenêtre de l'ordre.\",\n\ttolerance: \"Tolérance\",\n\ttools: \"Outils\",\n\ttotal: \"Total\",\n\ttotalCapacityAtDesignTD: \"Capacité totale à Design TD\",\n\ttotalEquipmentPrice: \"Prix Total Equipement\",\n\ttotalHeatRejected: \"Chaleur totale rejetée\",\n\ttotalHourlyLoad: \"Charge horaire totale\",\n\ttotalLoadRequired: \"Charge totale requise\",\n\ttotalMiscellaneousLoad: \"Total charge divers\",\n\ttotalOpeningInfiltration: \"Ouverture totale Infiltration\",\n\ttotalOtherLoads: \"Total des autres charges\",\n\ttotalPrice: \"Prix total\",\n\ttotalProductLoad: \"Charge total produit\",\n\ttotalProductWeight: \"Poids total du produit\",\n\ttotalSystemCapacity: \"Capacité totale\",\n\ttotalThickness: \"Épaisseur totale\",\n\ttotalVolume: \"Volume total\",\n\ttotalWallLoad: \"Charge totale mur\",\n\ttotalDoorWidthExceedsSectionWidth:\n\t\t\"Largeur de porte total dépasse la grosseur du boudin\",\n\ttotalHeatRejectedOutOfRange_: \"Chaleur totale rejetée hors de portée.\",\n\ttotalOpeningAreaExceedsSectionArea:\n\t\t\"Ouverture totale superficie supérieure à la zone de section\",\n\ttranslationsAreUNDERCONSTRUCTIONAndMayBeLiteralByNatureAndMayBeContextuallyInError_:\n\t\t\"Traductions en cours de construction et peut être littérale, par nature, et peuvent être contextuellement dans l'erreur.\",\n\ttrentonLoadCalcFiles: \"Charger les fichiers Trenton Calc\",\n\ttrentonRefrigeration: \"Réfrigération de Trenton\",\n\ttubeConfiguration: \"Configuration de tube\",\n\ttubeRows: \"Lignes de tube\",\n\ttubes: \"Tubes\",\n\ttubesPerFeed: \"Tubes par Feed\",\n\ttubesPerRow: \"Tubes par rang\",\n\ttyp: \"Typ\",\n\ttype: \"Tapez\",\n\tu_SHAPED: \"U - FORME\",\n\tu_S_: \"Etats-Unis\",\n\tu_S_English: \"L'anglais américain\",\n\tuNIT: \"UNITÉ\",\n\tuNITLIST: \"UNITÉ DE LISTE\",\n\tuNITNET: \"UNITÉ DE NET\",\n\tuNLESSOTHERWISESPECIFIED: \"SAUF INDICATION CONTRAIRE\",\n\tuNUSEDCONNECTIONS: \"CONNEXIONS INUTILISÉES\",\n\tuPDATED: \"MISE À JOUR\",\n\tuSERINFORMATION: \"INFORMATIONS DE L'UTILISATEUR\",\n\tuSERPREFERENCES: \"PRÉFÉRENCES DE L'UTILISATEUR\",\n\tundo: \"Défaire\",\n\tunit_: \"L'unité #\",\n\tunitCooler: \"Unité Cooler\",\n\tunitList: \"Liste de l'unité\",\n\tunitNet: \"Unité net\",\n\tunitPrice: \"Prix unitaire\",\n\tunitTotal: \"Unité de Total\",\n\tunitIsNotCompatibleWithSelectedSystemRefrigerant_:\n\t\t\"Unité n'est pas compatible avec fluide frigorigène du système sélectionné !\",\n\tunits: \"Unités\",\n\tunknownReason_: \"Raison inconnue.\",\n\tuntilTheChangeIsProcessedByTheManufacturer_YouMayStopYourRequest_:\n\t\t\"Jusqu'à ce que le changement est traité par le fabricant, vous pouvez arrêter votre demande.\",\n\tuntilThen_FunctionalityWillBeLimited_:\n\t\t\"Jusque-là, les fonctionnalités seront limitées !\",\n\tunusedFeeds: \"Aliments non utilisés\",\n\tupOrDown: \"Monter ou Descendre\",\n\tupdateAllMultipliers: \"Mise à jour de tous les multiplicateurs\",\n\tupdateAllParameters: \"Mise à jour de tous les paramètres\",\n\tupdateAllPrices: \"Mise à jour Tous les prix\",\n\tupdateNow: \"Mettre à jour maintenant\",\n\tupdatePricebook: \"Mise à jour Pricebook\",\n\tupdatePending_: \"Mise à jour en attente.\",\n\tupdateTheCurrentInformation_Or: \"Mise à jour de l'information actuelle. ou \",\n\tupdateTheExistingListing_: \"Mise à jour de la liste existante.\",\n\tupdatesCanNotBeInstalled_: \"Mises à jour ne peut pas être installé.\",\n\tuploadToJOB_SCOPE: \"Envoyer à Job-SCOPE\",\n\tuploadingBuffer: \"Téléchargement de tampon\",\n\tuploadingPreviouslySavedFiles:\n\t\t\"Téléchargement de fichiers précédemment enregistrée\",\n\tuploadingQueuedOrders: \"Téléchargement en file d'attente de commandes\",\n\tuploadingQueuedOrder_: \"Transfert en file d'attente de ordre:\",\n\tuseLogoImageFile: \"Fichier de Logo\",\n\tuseMyInformation: \"Utiliser mes informations\",\n\tuseBoxSetting: \"Utilisez le paramètre de la boîte\",\n\tuseMenuFunctionCreateChangeOrderInstead_:\n\t\t\"Utilisez le menu Créer la fonction Changer l'ordre à la place.\",\n\tuseTheHOLDFunctionIfYouExpectTheOriginatorToCorrectTheOrder_:\n\t\t\"Utilisez la fonction HOLD si vous vous attendez à l'origine pour corriger l'ordre!\",\n\tuseTheSTOPSUBMITTEDCHANGESelectionInTheOrderMenu_:\n\t\t\"Utilisez la touche STOP SOUMIS Modifier la sélection dans le menu de ordre.\",\n\tuseTheSTOPSUBMITTEDORDERSelectionInTheOrderMenu_:\n\t\t\"Utilisez la touche STOP SOUMIS sélection ordrer dans le menu de ordre.\",\n\tuseTheMenuToCreateNewRevision_s_FromYourEditsAsDesired_:\n\t\t\"Utilisez le menu pour créer la nouvelle révision (s) de vos modifications comme vous le souhaitez.\",\n\tuserID: \"ID utilisateur\",\n\tuserInformation: \"Informations de l'utilisateur\",\n\tuserInformationRequested_: \"L'utilisateur les informations demandées.\",\n\tuserName: \"Nom d'utilisateur\",\n\tuserRegistrationInformation:\n\t\t\"Renseignements sur l'inscription de l'utilisateur\",\n\tuserVerification: \"Vérification De L'utilisateur\",\n\tuserNameRequired_: \"Nom d'utilisateur requis.\",\n\tuserSelectablePriceAdjustmentValue_:\n\t\t\"Sélectionnable par l'utilisateur la valeur d'ajustement des prix.\",\n\tusernameNotFound_: \"Nom d'utilisateur non trouvé!\",\n\tusingLocalVersion_: \"En utilisant la version locale.\",\n\tvWaffle: \"Gaufre V\",\n\tvOLTAGE: \"TENSION\",\n\tvalueRequired_: \"Valeur requise !\",\n\tvalueMustBeGreaterThanZero_: \"Valeur doit être supérieure à zéro !\",\n\tvarious: \"Divers\",\n\tvelocity: \"Vitesse\",\n\tventilationAirRelativeHumidity___: \"Ventilation Air humidité (%)\",\n\tventilationAirTemperature: \"Température d'Air de ventilation\",\n\tventilationRate: \"Débit de ventilation\",\n\tventilationAirRelativeHumidityIsNotEntered_:\n\t\t\"Ventilation air humidité n'est pas entrée !\",\n\tventilationAirTemperatureIsNotEntered_:\n\t\t\"Température de l'air de ventilation n'est pas entrée !\",\n\tventilationRateIsLessThanTheRecommendedMinimumValue_:\n\t\t\"Débit de ventilation est inférieure à la valeur minimale recommandée !\",\n\tverifyDesign: \"Vérifiez Design\",\n\tversion: \"Version\",\n\tversion_OfNROESUsesADifferentSaveStrategy_:\n\t\t\"Version 8 de NROES utilise une autre stratégie de sauver.\",\n\tversion_UsesAWorkbookForYourJobInsteadOfMultipleQuoteRevisionFiles_:\n\t\t\"Version 8 utilise un classeur pour votre travail au lieu de multiples fichiers de révision devis.\",\n\tvertical: \"Vertical\",\n\tvia: \"Par l'intermédiaire\",\n\tview_ArchivedFiles: \"Vue & des fichiers archivés\",\n\tviewCSV: \"Voir le CSV\",\n\tvisitUsOn_Line: \"Visitez-nous en ligne\",\n\tvoltage: \"Tension\",\n\tvolume: \"Volume\",\n\twAITINGFORSERVICEPARTSCATALOGUETOLOAD:\n\t\t\"Attente pour le service CATALOGUE DES PIECES DE CHARGE\",\n\twARNING: \"AVERTISSEMENT\",\n\twARNING_: \"ATTENTION!\",\n\twARNINGS: \"MISES EN GARDE\",\n\twATTS: \"WATTS\",\n\twO: \"WO\",\n\twORKORDER: \"ORDRE DE TRAVAIL\",\n\twaitingForShellToComeReady: \"Attente de Shell À venir prêt\",\n\twaitingForShellToComeReadyForFirstTime:\n\t\t\"Attente de Shell À venir prêt pour la première fois\",\n\twaitingForShellToStart: \"En attente pour Shell de démarrer\",\n\twaitingForANewPassword_: \"En attente d'un nouveau mot de passe.\",\n\twaitingForRegistrationKey_: \"En attente de clé d'enregistrement.\",\n\twaitingForShell_: \"En attente de shell.\",\n\twaitingForSign_in: \"En attente de signature dans\",\n\twall: \"Mur\",\n\twallLoad: \"Charge de mur\",\n\twallSection: \"Section de mur\",\n\twallsCross_PleaseCheckYourDimensions_:\n\t\t\"La Croix de murs ! S'il vous plaît vérifier vos dimensions.\",\n\twarning: \"Avertissement\",\n\twarning_PriceBookHasExpired_: \"Attention - Prix livre a expiré!\",\n\twarningOppositeEndConnections_DimensionDrawingWillOnlyShowSameEndHeaders:\n\t\t\"Mise en garde en face de raccordements. Dimension de dessin affiche uniquement les mêmes en-têtes de fin\",\n\twarning_: \"Attention!\",\n\twarnings: \"Avertissements\",\n\twaterCooledCondensingUnit: \"Condenseur refroidi à l'eau\",\n\twebMessagesAndBulletins: \"Messages Web et bulletins\",\n\tweight: \"Poids\",\n\twhatToPrint: \"Ce qu'il faut imprimer\",\n\twhatDoYouWantToDo_: \"Que voulez-vous faire?\",\n\twhatTypeOfFileDoYouRequire_: \"Quel type de fichier avez-vous besoin?\",\n\twhatTypeOfOrderDoYouWishToCreate_: \"Quel type d'ordre vous souhaitez créer.\",\n\twhereUsed: \"Lorsqu'utilisé\",\n\twhereUsed_: \"Lorsque occasion:\",\n\twholesale: \"Vente en gros\",\n\twidth: \"Largeur\",\n\twindow: \"Fenêtre\",\n\twith: \"Avec\",\n\twithTheInternetConnected_: \"Avec l'connecté à Internet.\",\n\tworkHours: \"Heures de travail\",\n\tworkOrder: \"Ordre De Travail\",\n\tworkingDays: \"Jours de travail\",\n\tworkingOn_Line: \"De travail en ligne\",\n\twouldYouLikeToDo_: \"Souhaitez-vous faire?\",\n\twrapSystemBar: \"Bar système d'emballage\",\n\tyes: \"Oui\",\n\tyesPlease: \"Oui s'il vous plaît\",\n\tyes_ChangeTheModelToTheOneISelected_:\n\t\t\"Oui, le changement du modèle à celle que j'ai choisie.\",\n\tyes_IAmARegisteredUser_: \"Oui, je suis un utilisateur enregistré.\",\n\tyes_SetOptionsToTheNewMultiplier_:\n\t\t\"Oui, définir des options pour le nouveau multiplicateur.\",\n\tyes_SetTheValueIEntered_: \"Oui, définissez la valeur je suis entré.\",\n\tyes__SomeFunctionalityWillBeDisabled_:\n\t\t\"Oui. (Certaines fonctionnalités seront désactivées)\",\n\tyouAreNotTheOriginalOwnerOfThisOrder_:\n\t\t\"Vous n'êtes pas le propriétaire original de la présente ordonnance.\",\n\tyouAreProhibitedFromSettingTheMultiplierThisLow_:\n\t\t\"Il vous est interdit de fixer le coefficient multiplicateur de cette faible.\",\n\tyouAreWorkingOffline_: \"Vous travaillez hors ligne!\",\n\tyouCanNoLongerStopThisChangeRequest_:\n\t\t\"Vous ne pouvez plus mettre fin à cette demande de modification.\",\n\tyouCanNoLongerStopThisOrder_: \"Vous ne pouvez plus arrêter cet ordre.\",\n\tyouCanNoLongerStopThisPurchaseRequest_:\n\t\t\"Vous ne pouvez plus mettre fin à cette demande d'achat.\",\n\tyouCanNotDeleteTheLastSystemOnAnQuote_:\n\t\t\"Vous ne pouvez pas supprimer le dernier système sur un devis?\",\n\tyouCanNotDeleteThisOrderFromTheServer_:\n\t\t\"Vous ne pouvez pas supprimer cet ordre à partir du serveur.\",\n\tyouCanNotEditTheDoorInformationAtThisTime_:\n\t\t\"Vous ne pouvez pas modifier l'information porte en ce moment !\",\n\tyouCanNotEditTheSectionInformationAtThisTime_:\n\t\t\"Vous ne pouvez pas modifier les informations de la section en ce moment !\",\n\tyouCanNotEditThisOrderAtThisTime_:\n\t\t\"Vous ne pouvez pas modifier cet ordre en ce moment.\",\n\tyouCanNotRejectAnOrderUsingNROESOnceItHasBeenSubmittedToJob_Scope_:\n\t\t\"Vous ne pouvez pas refuser une ordre en utilisant NROES une fois qu'il a été soumis à Job-Scope.\",\n\tyouChangedTheCondensingUnitModelNumber_:\n\t\t\"Vous avez modifié le numéro de modèle d'unité à condensation !\",\n\tyouChangedTheModelNumber_: \"Vous avez changé le numéro de modèle!\",\n\tyouDoNotCurrentlyHaveRightsToThisTool_:\n\t\t\"Vous n'avez pas actuellement les droits à cet outil.\",\n\tyouDoNotHaveTheOriginalPriceBookLoaded_:\n\t\t\"Vous n'avez pas le catalogue des prix original chargé.\",\n\tyouDoNotHaveTheRequiredPriceBookForTheOpenChangeRequest_:\n\t\t\"Vous n'avez pas le catalogue des prix requis pour la demande de modification ouverte.\",\n\tyouDoNotHaveTheRequiredPriceBookForThisOrder_:\n\t\t\"Vous n'avez pas le catalogue des prix requis pour cette commande !\",\n\tyouDoNotHaveTheRequiredPriceBooksForThisOrder_:\n\t\t\"Vous n'avez pas les livres de prix requis pour cette commande.\",\n\tyouHaveFailedToReceiveACatalogueDataUpdateForMoreThan__Days_:\n\t\t\"Vous n'avez pas à recevoir un catalogue de données mise à jour pour plus de 30 jours!\",\n\tyouHaveFailedToReceiveAProgramUpdateForMoreThan__Days_:\n\t\t\"Vous n'avez pas à recevoir une mise à jour du programme pour les plus de 30 jours!\",\n\tyouHaveNotBeenAssignedAChannelForDirectEntryToTheAS_____:\n\t\t\"Vous n'avez pas été attribué un canal pour l'accès direct à l'AS / 400.\",\n\tyouHaveNotConfirmedYourEmailAddressYet_:\n\t\t\"Vous n'avez pas encore confirmé votre adresse e-mail !\",\n\tyouHaveNotReceivedACatalogueDataUpdateForMoreThan__Days_:\n\t\t\"Vous n'avez pas reçu une mise à jour le catalogue de données pour plus de 15 jours!\",\n\tyouHaveNotReceivedAProgramUpdateForMoreThan__Days_:\n\t\t\"Vous n'avez pas reçu une mise à jour du programme pour les plus de 15 jours!\",\n\tyouHaveNotStartedTheApplicationOn_lineForMoreThan__Days_:\n\t\t\"Vous n'avez pas commencé à l'application en ligne pour plus de 15 jours!\",\n\tyouMayCreateANewChangeOrder_OrContactUsByTelephone_:\n\t\t\"Vous pouvez créer un ordre nouveau changement, ou nous contacter par téléphone.\",\n\tyouMayCreateANewChangeOrder_OrContactYourPurchaser_:\n\t\t\"Vous pouvez créer un ordre nouveau changement, ou communiquez avec votre acheteur.\",\n\tyouMayCreateANewOrderAndCorrectTheListedIssues_:\n\t\t\"Vous pouvez créer un ordre nouveau et corriger les problèmes répertoriés.\",\n\tyouMayEditThisOrderOff_line_: \"Vous pouvez modifier cet ordre off-line.\",\n\tyouMayEnterAPositiveOrNegativeValueHere_:\n\t\t\"Vous pouvez entrer une valeur positive ou négative ici.\",\n\tyouMayEnterAValueHereToRoundToAValueOtherThanThatEndingInAZero_:\n\t\t\"Vous pouvez entrer une valeur ici pour tour à une valeur autre que celle se terminant par un zéro.\",\n\tyouMayHaveTheOrderOpenInAnotherApplication_:\n\t\t\"Vous pouvez avoir la ordre ouverte dans une autre application.\",\n\tyouMayNotCopyThisOrder_: \"Vous ne pouvez pas copier cet ordre!\",\n\tyouMayNowEditYourData_: \"Vous pouvez maintenant modifier vos données.\",\n\tyouMayPreferToSimplyDeselectTheSpecificOptionsYouDoNotRequire_:\n\t\t\"Vous préférerez peut-être tout simplement désélectionner les options spécifiques que vous n'avez pas besoin.\",\n\tyouMaySelectRoundingOptionsHere_:\n\t\t\"Vous pouvez sélectionner l'arrondissement options ici.\",\n\tyouMayTakeOwnershipOfThisOrderUsingTheOrderMenu_:\n\t\t\"Vous pouvez prendre possession de cette ordre en utilisant le menu de ordre.\",\n\tyouMayThenEditTheServicePartQuantitiesInTheOrderItself_:\n\t\t\"Vous pouvez alors modifier les quantités partie des services dans l'ordre lui-même.\",\n\tyouMayWorkOff_lineIfYouWish_:\n\t\t\"Vous pouvez travailler hors ligne si vous le souhaitez.\",\n\tyouMustBeConnectedToTheInternetToUseThisTool_:\n\t\t\"Vous devez être connecté à internet pour utiliser cet outil.\",\n\tyouRequestedIDeleteASystemFromTheOrder_:\n\t\t\"Vous avez demandé-je supprimer un système de la ordre.\",\n\tyouShouldCloseThisOrderAndTryToReopenItForSynchronizationOptions_:\n\t\t\"Vous devez fermer cet ordre et essayer de le rouvrir pour les options de synchronisation.\",\n\tyouShouldReceiveAnE_mailShortly_:\n\t\t\"Vous devriez recevoir un courriel sous peu.\",\n\tyouShouldReceiveMoreInformationWithinTheNextFewWorkingDays_:\n\t\t\"Vous devriez recevoir plus d'informations dans les prochains jours travail.\",\n\tyouShouldReceiveYourCodeShortlyAtTheFollowingE_mailAddress_:\n\t\t\"Vous devriez recevoir votre code peu à l'adresse e-mail.\",\n\tyouShouldReceiveYourLoginInformationViaE_mailShortly_:\n\t\t\"Vous devriez recevoir vos informations de connexion par e-mail peu de temps.\",\n\tyouShouldStopTheRequest_CorrectTheIssuesListedBelow_AndResubmit_:\n\t\t\"Vous devriez arrêter la demande, corriger les problèmes énumérés ci-dessous, et renvoyez-le.\",\n\tyouWillBeTheOnlyOneAbleToMakeChanges_:\n\t\t\"Vous serez le seul à pouvoir apporter des modifications.\",\n\tyourAuthorizationHasBeenRecinded_: \"Votre autorisation a été rendu.\",\n\tyourAuthorizationIsNowUnderReview_:\n\t\t\"Votre autorisation est maintenant en cours d'examen.\",\n\tyourAuthorizationIsStillUnderReview_:\n\t\t\"Votre autorisation est en cours d'examen.\",\n\tyourChangeRequestWasSubmitted_:\n\t\t\"Votre demande de modification a été soumise.\",\n\tyourDataContainsWarnings_: \"Vos données contiennent des avertissements.\",\n\tyourNeedToBeOn_lineToCompleteTheRegistrationProcess_:\n\t\t\"Votre besoin d'être en ligne pour compléter le processus d'inscription.\",\n\tyourNewChangeRequestWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_:\n\t\t\"Votre nouvelle demande de modification remplacera le précédent, après avoir terminé vos modifications et re-soumettre.\",\n\tyourNewOrderWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_:\n\t\t\"Votre nouvel ordre remplacera le précédent, après avoir terminé vos modifications et re-soumettre.\",\n\tyourNewRequestWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_:\n\t\t\"Votre nouvelle demande va remplacer la précédente, après avoir terminé vos modifications et re-soumettre.\",\n\tyourOrderWasSubmitted_: \"Votre ordre a été soumise.\",\n\tyourPasswordHasBeenSuccessfullyUpdated: \"Votre mot de passe a été mis à jour\",\n\tyourPreviouslySubmittedChangeOrderHasBeenStopped_:\n\t\t\"Votre ordre de modification lui a été soumis arrêté!\",\n\tyourPreviouslySubmittedChangeRequestHasBeenStopped_:\n\t\t\"Votre demande de modification lui a été soumis arrêté!\",\n\tyourPreviouslySubmittedOrderHasBeenStopped_:\n\t\t\"Votre ordre lui a été soumis arrêté!\",\n\tyourPreviouslySubmittedRequestHasBeenStopped_:\n\t\t\"Votre demande lui a été soumis arrêté!\",\n\tyourPurchaserHasBegunWorkOnYourOrderRequest_:\n\t\t\"Votre acheteur a commencé à travailler sur votre commande.\",\n\tyourRequestCouldNotBeRetractedAtThisTime_:\n\t\t\"Votre demande ne peut être rétractée à cette heure!\",\n\tyourSoldByRegionMustBeTwoCharacterCode_:\n\t\t\"Votre vendu par région doit être le code à deux caractères!\",\n\tyourUserAccountHasBeenRejected_: \"Votre compte d'utilisateur a été rejetée !\",\n\tyourUserAccountIsCurrentlyDisabled_:\n\t\t\"Votre compte d'utilisateur est actuellement désactivé !\",\n\tyourUserProfileHasBeenSuccessfullyUpdated_:\n\t\t\"Votre profil d'utilisateur a été correctement mis à jour!\",\n\tyourVendorAccountIsCurrentlyDisabled_:\n\t\t\"Votre compte de fournisseur est actuellement désactivée !\",\n\tzip_PostalCode: \"Zip / Postal Code\",\n\tzipCode: \"Code postal\",\n\tzoneBoundary: \"Limite de la zone\",\n\tzoneBoundary_TD___: \"Zone limite (TD = 0 )\",\n\tasNewRevision_AndRestore: \"que la nouvelle révision, et de rétablir\",\n\tasNewRevision_: \"que nouvelle révision.\",\n\tatFixtureRating: \"à cote de luminaire\",\n\tconfirmYourRequestByClickingOnTheOKButton_:\n\t\t\"confirmer votre demande en cliquant sur le bouton OK.\",\n\te_g_ToRoundTo______SetRoundingToNearest____AndEnter__Here_:\n\t\t\"Pour compléter, par exemple à 99,99, mis en arrondi au plus près 100, et entrez -5 ici.\",\n\tequipmentChangesFound_: \"les changements de matériel trouvé.\",\n\tfeedIsNotUsed_: \"l'alimentation n'est pas utilisée !\",\n\tfeedsAreNotUsed_: \"flux ne sont pas utilisés !\",\n\tfreightTerms: \"conditions de transport\",\n\tfrmOptions: \"Frmoptions\",\n\thaveBeenRevised_: \"ont été révisées.\",\n\thaveBeenSuperseded_: \"ont été remplacées.\",\n\tlblBOLD: \"lblBOLD\",\n\torQuantity: \"ou la quantité\",\n\torR_Value_UnitThickness: \"ou valeur r / unité d'épaisseur\",\n\torTotalLightingPower: \"ou la puissance d'éclairage totale\",\n\tpricesChanged_: \"prix a changé.\",\n\tquotesAreExpiring_: \"les citations sont expirant.\",\n\tquotesAreMissing_: \"les citations sont manquantes.\",\n\tquotesHaveExpired_: \"citations ont expiré.\",\n\tregularShipDateOfTheSelectedItem_:\n\t\t\"date d'envoi régulier de l'élément sélectionné.\",\n\trevisionsUpdated_: \"révisions à jour.\",\n\trevisions_: \"révisions.\",\n\tto: \"À\",\n\ttoLastSavedVersion_: \"à la dernière version enregistrée.\",\n\tyouCanNoLongerCreateQuoteRevisionsDuringTheSaveOperation_:\n\t\t\"vous ne pouvez plus créer de révisions au cours de la citation opération de sauvegarde.\",\n\t_LessOptions_: \"( Moins d'Options )\",\n\tairCooledCondenserDesigner: \"Concepteur de condenseur refroidi par air\",\n\tapprovalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_:\n\t\t\"Approbation de ce dessin signifie que l'équipement est acceptable en vertu des dispositions du cahier des charges de travail. Toute modification apportée sur le connaissement par toute personne quel sous réserve d'acceptation par réfrigération NATIONAL à son bureau à domicile.\",\n\taPPROVALS: \"APPROBATIONS\",\n\taPPROVEDBY_: \"APPROUVÉ PAR : \",\n\tcARRIERPREFERENCE: \"PRÉFÉRENCE DE TRANSPORTEUR\",\n\tcertifiedPrintMaker: \"Machine à impression certifié\",\n\tcHANGEORDERREQUESTFORM: \"FORMULAIRE DE DEMANDE DE COMMANDE CHANGEMENT\",\n\tcUSTOMERORDER__: \"NO DE COMMANDE CLIENT :\",\n\tdATE_: \"DATE DE :\",\n\tdimA: \"Dim Un\",\n\tdimB: \"Dim B\",\n\tdimC: \"Dim C\",\n\tdimD: \"Dim D\",\n\tdIMENSIONA: \"DIMENSION UN\",\n\tdIMENSIONB: \"B DIMENSION\",\n\tdIMENSIONC: \"DIMENSION C\",\n\tdIMENSIOND: \"DIMENSION D\",\n\tdIMENSIONE: \"DIMENSION E\",\n\tdIMENSIONF: \"DIMENSION F\",\n\tdIMENSIONG: \"DIMENSION G\",\n\tdIMENSIONH: \"DIMENSION H\",\n\tdIMENSIONS: \"DIMENSIONS\",\n\tdimensionsShownAreForStandardUnitLessOptions_:\n\t\t\"Les dimensions indiquées sont pour une unité standard moins d'options.\",\n\tdimensionsShownAreForStandardUnitLessOptions_SeeCertifiedDrawingForMoreDetails_:\n\t\t\"Les dimensions indiquées sont pour une unité standard moins d'options. Voir dessin certifié pour plus de détails.\",\n\tdISCHARGE: \"DÉCHARGE\",\n\tdocumentBrowser: \"Navigateur De Document\",\n\tdRAIN: \"VIDANGE\",\n\teLECTRONICORDERFORM: \"FORMULAIRE DE COMMANDE ÉLECTRONIQUE\",\n\teLECTRONICORDERFORM_CONTINUED: \"FORMULAIRE DE COMMANDE ÉLECTRONIQUE - SUITE\",\n\teQUIPMENTSUMMARY: \"RÉSUMÉ DE L'ÉQUIPEMENT\",\n\teSTSHIPWEIGHT_LessOptions_: \"EST navire poids (moins d'Options)\",\n\teSTSHIPWEIGHT_: \"POIDS DE BATEAU EST :\",\n\tfACTORYINVOICETO_: \"USINE FACTURE À :\",\n\tfACTORYORDER__: \"USINE NO DE COMMANDE :\",\n\tfREIGHT: \"FRET\",\n\tfREIGHTTERMS_: \"CONDITIONS DE TRANSPORT DE MARCHANDISES :\",\n\thOTGASINLET: \"ENTRÉE DE GAZ CHAUD\",\n\thOTGASOUTLET: \"SORTIE DE GAZ CHAUD\",\n\thOTGASSIDEPORT: \"CHAUD GAZ CÔTÉ PORT\",\n\tiD__: \"ID # :\",\n\tiTEM__: \"ITEM # :\",\n\tlbs_LessOptions_: \"Lbs (moins d'Options )\",\n\tlead: \"Plomb\",\n\tlist: \"Liste\",\n\tmANUALENTRY: \"SAISIE MANUELLE\",\n\tmANUALOPTION: \"OPTION MANUELLE\",\n\tmult: \"Mult\",\n\tnATIONALREFRIGERATIONWillFurnishEquipmentInAccordanceWithThisDrawingAndSpecifications_AndSubjectToItsPublishedWarranty_ApprovalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_:\n\t\t\"RÉFRIGÉRATION NATIONAL fournira des équipements conformément à ce dessin et devis et sous réserve de sa garantie publiée. Approbation de ce dessin signifie que l'équipement est acceptable en vertu des dispositions du cahier des charges de travail. Toute modification apportée sur le connaissement par toute personne quel sous réserve d'acceptation par réfrigération NATIONAL à son bureau à domicile.\",\n\tnEWSYSTEM: \"NOUVEAU SYSTÈME\",\n\tnOTES_: \"NOTES :\",\n\toEMult: \"Oe Mult\",\n\toF: \"DE\",\n\toPTION: \"OPTION\",\n\toRDER__: \"NO DE COMMANDE :\",\n\toRDERDATE_: \"DATE DE LA COMMANDE :\",\n\tpACKAGE: \"PAQUET\",\n\tpACKAGEITEM: \"ÉLÉMENT DE PACKAGE\",\n\tpACKAGEOPTION: \"OPTION FORFAIT\",\n\tpAGE: \"PAGE\",\n\tpANLOOP: \"BOUCLE DE PAN\",\n\tpRICEBOOK_: \"PRIX LIVRE :\",\n\tpriceTotal: \"Prix Total\",\n\tpROD: \"PROD\",\n\tpROJECT_: \"PROJET :\",\n\tpURCHASER_: \"ACHETEUR :\",\n\tpURCHASER_SPO__: \"PO L'ACHETEUR # :\",\n\tqUOTE__: \"CITE # :\",\n\tqUOTEDATE_: \"DATE DE SOUMISSION :\",\n\trEF__: \"REF # :\",\n\trEMARKS_SPECIALSHIPPINGINSTRUCTIONS:\n\t\t\"REMARQUES / SPECIAL INSTRUCTIONS D'EXPÉDITION\",\n\ts_H: \"S & H\",\n\tservicePartsList: \"Liste de pièces de rechange\",\n\tsHIPMENT_: \"EXPÉDITION :\",\n\tshippingAndHandling: \"Expédition et manutention\",\n\tsHIPPINGWEIGHT: \"POIDS À L'EXPÉDITION\",\n\tsOUND: \"SOUND\",\n\tsTOCKINGMODELS: \"MODÈLES DE STOCKAGE\",\n\tsUBMITTEDBY_: \"SOUMIS PAR :\",\n\tsUBTOTAL: \"TOTAL PARTIEL\",\n\tsUCTION: \"ASPIRATION\",\n\tsystemNet: \"Système Net\",\n\ttAGGING_: \"MARQUAGE :\",\n\ttotalNet: \"Total Net\",\n\tuSERID_: \"ID DE L'UTILISATEUR :\",\n\tvENDORID_: \"CODE FOURNISSEUR :\",\n\twATER: \"EAU\",\n\twEIGHT: \"POIDS\",\n\taSuiteOfSoftwareApplicationsCreatedToHelpRefrigerationProfessionalsMakeAccurateCalculations_AccessProductInformation_ChooseComponentsAndPrintTechnicalDrawings:\n\t\t\"Une suite d'applications de logiciel créé pour aider les professionnels de la réfrigération à faire des calculs précis, accéder aux informations produit, choisissez les composants et d'imprimer des dessins techniques\",\n\tpleaseUpdateAllPrices_: \"Veuillez mettre à jour tous les prix.\",\n\tpleaseEnterYourPersonal: \"Veuillez entrer vos données personnelles\",\n\tapplicationRegistrationKey_: \"clé d'enregistrement de demande.\",\n\tsaveAsNewContact: \"Enregistrer en tant que nouveau contact\",\n\tsaveContact: \"Enregistrer le contact\",\n\tsaveNewContact: \"Enregistrer le nouveau contact\",\n\tpartNumber: \"Numéro de pièce\",\n\tloadCalculatorII: \"Calculateur de charge II\",\n\tnewJob: \"Nouvel emploi\",\n\tsystemCapacity: \"Capacité du système\",\n\tdescriptions: \"Descriptions\",\n\tboxApplication: \"Application de la boîte\",\n\tapplication: \"Application\",\n\ttheExternalRelativeHumidityMustBeGreaterThan:\n\t\t\"L'humidité relative extérieure doit être supérieure à\",\n\ttheExternalRelativeHumidityMustBeLessThan___:\n\t\t\"L'humidité relative extérieure doit être inférieure à\",\n\ttheInternalRelativeHumidityMustBeGreaterThan:\n\t\t\"L'humidité relative intérieure doit être supérieure à\",\n\ttheInternalRelativeHumidityMustBeLessThan:\n\t\t\"L'humidité relative intérieure doit être inférieure à\",\n\tlineLoss: \"Perte de ligne\",\n\tsystemRunTime: \"Système de temps d'exécution\",\n\tsystemRunTimeMustBeGreaterThanOneHour_:\n\t\t\"Moment de l'exécution de système doit être supérieure à une heure !\",\n\tsystemRunTimeMustBeLessThanTwentyfourHours_:\n\t\t\"Moment de l'exécution de système doit être inférieur à vingt-quatre heures !\",\n\ttheSystemLineLossIsNotEntered_:\n\t\t\"La perte de ligne du système n'est pas entrée !\",\n\ttheSystemLineLossIsTooHigh_: \"La perte de ligne du système est trop élevée !\",\n\ttheSystemLineLossIsTooLow_: \"Le système de perte de ligne est trop faible !\",\n\taveragePassageTime_Seconds_: \"Temps de Passage moyen (secondes)\",\n\tpassagesPerDay: \"Passages par jour\",\n\tcurtainEffectiveness: \"Efficacité de Rideau\",\n\tstandOpenTimePerDay_Minutes_: \"Temps ouvert de repos (Minutes par jour)\",\n\tcONSTRUCTIONANDDIMENSIONS: \"CONSTRUCTION ET DIMENSIONS\",\n\tvolumeAndTemperatures: \"Volume et températures\",\n\tairFlowRates: \"Débits d'air\",\n\tvolumeAndTemperature: \"Volume et température\",\n\thasConfigurationErrors: \"comporte des erreurs de configuration\",\n\toptionConfigurations: \"Configurations De L'option\",\n\tsetConfiguration: \"Configuration de jeu\",\n\tcan_tHaveOptions: \"Ne peut pas avoir des options\",\n\tnotRecommendedOptions: \"Déconseillé d'Options\",\n\trecommendedOptions: \"Options recommandées\",\n\tavailableConfigurations_: \"Configurations disponibles.\",\n\tnormalConfiguration_: \"Configuration normale.\",\n\thasConfigurationWarning: \"a avertissement de configuration\",\n\toptionConfigurationError_: \"Erreur de configuration option !\",\n\toptionConfigurationWarning_: \"Avertissement de configuration option !\",\n\toptionConfigurtionErrorsDetected_:\n\t\t\"Erreurs de configurtion option détectés !\",\n\tpleaseSelectOneOfTheAvailableConfigurations_:\n\t\t\"Veuillez sélectionner une des configurations disponibles.\",\n\tthisOptionHasMultipleConfigurationsAvailable_:\n\t\t\"Cette option a plusieurs configurations disponibles.\",\n\tincludesOptions: \"Inclut des Options\",\n\tover_Ride_SubmitErrors: \"Over_Ride & présenter les erreurs\",\n\tcHeckPRicesOK: \"CHeckPRicesOK\",\n\terrorLabel: \"Errorlabel\",\n\tnoRefrigerantRatingValuesListed_:\n\t\t\"Aucune valeur de cotation réfrigérant énumérés.\",\n\ttermsOfSale: \"Conditions générales de vente\",\n\twarranty: \"Garantie\",\n\tlOGO: \"LOGO\",\n\ttERMSOFSALE: \"CONDITIONS GÉNÉRALES DE VENTE\",\n\tvENDORINFORMATION: \"INFORMATIONS RELATIVES AU FOURNISSEUR\",\n\tuseTOSImageFile: \"Utiliser le fichier Image TOS\",\n\tcheckAllErrors: \"CheckAllErrors\",\n\tdrawings: \"Dessins\",\n\toptionList: \"Liste des options\",\n\tspecificationsPage: \"Page de spécifications\",\n\twarningLabel: \"Étiquette d'avertissement\",\n\tclickCANCELToAdjustYourSelectedOptions_:\n\t\t\"Cliquez sur Annuler pour ajuster vos options choisies.\",\n\tyouWillNotBeAbleToSubmitThisOrderUsingThisOptionConfiguration_:\n\t\t\"Vous ne serez pas en mesure de soumettre cette commande à l'aide de la configuration de cette option.\",\n\toPTIONDESCRIPTIONAPPENDIX: \"OPTION DESCRIPTION ANNEXE\",\n\trequestedOrderShipDateIsBeforeToday_:\n\t\t\"Date d'expédition de l'ordonnance demandée est avant aujourd'hui !\",\n\tordersListed_: \"Commandes répertoriées.\",\n\tsEARCHINGANDSORTING: \"RECHERCHER ET TRIER\",\n\tsynchronizingOrders_PleaseWait:\n\t\t\"Synchronisation des commandes ~ Veuillez patienter\",\n\tarchive_: \"Archive - \",\n\tsynchronizingOrders: \"Les commandes de synchronisation\",\n\titemPartDescriptionRequired_: \"Description de l'article partie requise !\",\n\tdoYouWantToAttemptToOpenThisFileAnyway_:\n\t\t\"Voulez vous essayer d'ouvrir ce fichier de toute façon ?\",\n\toldStyleChecksumDoesNotMatch_:\n\t\t\"Somme de contrôle style vieux ne correspond pas.\",\n\tfailedToOpenDataCatalog_: \"Impossible d'ouvrir le catalogue de données !\",\n\toPTIONDESCRIPTIONAPPENDIXCONTINUED: \"OPTION DESCRIPTION ANNEXE SUITE\",\n\tincludeUnselectedOptions: \"Inclure des Options non sélectionnées\",\n\tsELECTEDOPTIONDESCRIPTIONS: \"DESCRIPTION DE L'OPTION SÉLECTIONNÉE\",\n\tsELECTEDOPTIONDESCRIPTIONSCONTINUED:\n\t\t\"DESCRIPTION DES OPTIONS SÉLECTIONNÉES SUITE\",\n\tsetRevisionSUbmitted: \"Set de révision soumise\",\n\tuNsubmitQuote: \"Citation de uNsubmit\",\n\taddDoors_Openings: \"Ajouter des portes / ouvertures\",\n\tdeleteDoors_Openings: \"Supprimer les portes / ouvertures\",\n\tdOORUSAGE: \"UTILISATION DE LA PORTE\",\n\teditDoor_Openings: \"Edit porte / ouvertures\",\n\tcurtainR_Value: \"Rideau valeur r\",\n\tloadingPlatformRoll_UpDoor:\n\t\t\"Porte à enroulement de plate-forme de chargement\",\n\ttrailerDockRoll_UpDoor: \"Remorque porte à enroulement Dock\",\n\treach_InGlassDoor: \"Reach-In porte vitrée\",\n\tboxUsage: \"Utilisation de la boîte\",\n\tfloorType: \"Type de sol\",\n\ttheRefrigeratedFloorIsBuiltDirectlyOnTheGround__OrTheRoomInWhichTheRefrigeratedBoxIsLocatedIsBuiltDirectlyOnTheGround__:\n\t\t\"La parole réfrigérée est construite directement sur le sol. ~ Ou la pièce où se trouve la boîte réfrigérée est construite directement sur le sol. ~\",\n\torTheRoomInWhichTheRefrigeratedBoxIsLocatedIsBuiltDirectlyOnTheGround_:\n\t\t\"Ou la salle où se trouve la boîte réfrigérée est construite directement sur le sol,\",\n\torThereIsAVentilatedSpaceUnderTheRoomInWhichTheRefrigeratedSpaceIsLocated_:\n\t\t\"Ou il y a un espace ventilé sous la salle où se trouve l'espace réfrigéré.\",\n\ttheRefrigeratedFloorIsBuiltDirectlyOnTheGround_:\n\t\t\"La parole réfrigérée est construite directement sur le sol.\",\n\tthereIsAVentilatedSpaceUnderTheRefrigeratedFloor_:\n\t\t\"Il y a un espace ventilé sous le plancher réfrigéré.\",\n\tthisIncludesCrawlSpacesOrUpperFloorInstallations_:\n\t\t\"Cela inclut les vides sanitaires ou les installations de l'étage supérieur.\",\n\tcoolingLoads: \"Charges de refroidissement\",\n\tcheckBox: \"Case à cocher\",\n\taboveGrade: \"Au-dessus du sol\",\n\tonGrade: \"Au niveau du sol\",\n\theatingTemperature: \"Température de chauffage\",\n\tsurroundingAirTemperature: \"Température de l'Air ambiant\",\n\tonGrade_FrostHeaveProtected:\n\t\t\"Au niveau du sol - le soulèvement dû au gel protégé\",\n\taNDAControlledFrostHeavePreventionHeaterSystemIsOrWillBeInstalled_:\n\t\t\"ET un système de chauffage de prévention contrôlée de soulèvement dû au gel est ou sera installé.\",\n\tconstruction: \"Construction\",\n\twALL_FLOORANDCEILINGLOADS: \"CHARGES DE MUR, PLANCHER ET PLAFOND\",\n\tcONTINUED: \"SUITE\",\n\tpRODUCTLOADS: \"CHARGES DE PRODUIT\",\n\tfinalTemp: \"Temp finale\",\n\tenterTemp: \"Entrez Temp\",\n\tpullDown: \"Tirez vers le bas\",\n\ttOTALPRODUCTLOAD: \"PRODUIT TOTAL CHARGE\",\n\ttOTALPRODUCTWEIGHT: \"POIDS TOTAL DU PRODUIT\",\n\ttOTALWALL_FLOORANDCEILINGLOAD: \"TOTAL MUR, PLANCHER ET PLAFOND CHARGE\",\n\tvOLUME: \"VOLUME\",\n\tmISCELLANEOUSLOADS: \"CHARGES DIVERSES\",\n\ttOTALMISCELLANEOUSLOAD: \"TOTAL CHARGE DIVERS\",\n\taVERAGE: \"MOYENNE\",\n\tfORKLIFTS_TOWMOTORS: \"CHARIOTS ÉLÉVATEURS / MOTEURS DE REMORQUAGE\",\n\thEAVY: \"LOURDES\",\n\tlIGHT: \"LUMIÈRE\",\n\texternalRh: \"Rh externe\",\n\texternalTemp: \"Temp externe\",\n\theavy: \"Lourdes\",\n\tinternalRh: \"Rh interne\",\n\tinternalTemp: \"Temp interne\",\n\tregular: \"Régulier\",\n\ttOTALINFILTRATIONLOADESTIMATEDBYDOORSANDOPENINGS:\n\t\t\"CHARGE D'INFILTRATION TOTAL ESTIMÉ PAR DES PORTES ET OUVERTURES\",\n\tventilation: \"Ventilation\",\n\tiNFILTRATIONLOAD_ESTIMATEDBYDOORSANDOPENINGS:\n\t\t\"CHARGE D'INFILTRATION : ESTIMÉE PAR DES PORTES ET OUVERTURES\",\n\tiNFILTRATIONLOAD_ESTIMATEDBYVENTILATION:\n\t\t\"CHARGE D'INFILTRATION : ESTIMÉE PAR VENTILATION\",\n\tiNFILTRATIONLOAD_ESTIMATEDBYVOLUMEANDUSAGE:\n\t\t\"CHARGE D'INFILTRATION : ESTIMÉE PAR LE VOLUME ET L'UTILISATION\",\n\tcurtains: \"Rideaux\",\n\tdoorOrOpeningType: \"Porte ou ouverture Type\",\n\topenTime: \"Temps ouvert\",\n\tpreparedBy: \"Préparé par\",\n\tpreparedFor: \"Préparé pour\",\n\tcustomerInformation: \"Renseignements sur les clients\",\n\tjob_ProjectName: \"Nom de la tâche/projet\",\n\tcOOLINGREQUIREMENTS: \"EXIGENCES DE REFROIDISSEMENT\",\n\tdesignLoad: \"Charge de calcul\",\n\tequipmentLoad: \"Charge de l'équipement\",\n\thours: \"Heures\",\n\tsafetyLoad: \"Charge de la sécurité\",\n\tsafetyFactor: \"Coefficient de sécurité\",\n\tcapacityRequired: \"Capacité requise\",\n\tcondenserAmbient: \"Condenseur ambiante\",\n\tsYSTEMDESIGNSUMMARY: \"RÉSUMÉ DE CONCEPTION SYSTÈME\",\n\tsYSTEMEQUIPMENTSELECTION: \"SÉLECTION D'ÉQUIPEMENT DE SYSTÈME\",\n\tevaporator: \"Évaporateur\",\n\tnOTSELECTED_: \"PAS SÉLECTIONNÉ !\",\n\tairCooledCondenser: \"Condenseur refroidi à l'air\",\n\tcondenser: \"Condenseur\",\n\tevaporatorTD: \"Évaporateur TD\",\n\tfanLoad: \"Charge de ventilateur\",\n\tdeleteSystem: \"Supprimer le système\",\n\tduplicateSystem: \"Système double\",\n\teditSystem: \"Modifier le système\",\n\tarea_ZoneOrSystemName: \"Zone, Zone ou nom du système\",\n\tareaDeletionRequested_: \"Suppression du domaine demandée.\",\n\tsystemDetails: \"Détails du système\",\n\tequipmentCapacity: \"Capacité de l'équipement\",\n\tequipmentTD: \"Équipement TD\",\n\tdesign: \"Conception\",\n\tmiscellaneous: \"Divers\",\n\tproducts: \"Produits\",\n\tsafety: \"Sécurité\",\n\topenBoxDesigner: \"Concepteur de la boîte ouverte\",\n\tsYSTEMSLOADSUMMARY: \"SYSTÈMES CHARGE RÉSUMÉ\",\n\timportLoadCalculatorIDesignFile:\n\t\t\"Calculateur de charge de l'importation je conçois des fichier\",\n\timportLoadCalculatorIIDesignFile:\n\t\t\"Importer fichier de conception de charge Calculatrice II\",\n\tnewCondenserDesign: \"Nouveau Design de condenseur\",\n\tnewFluidCoolerDesign: \"Nouveau Design de refroidisseur liquide\",\n\tnewGlycolCoilDesign: \"Nouveau Design de bobine de Glycol\",\n\tnewLoadCalculatorIIDesign: \"Nouvelle charge Calculatrice II Design\",\n\tnewSystemNamed: \"Nouveau système nommé\",\n\totherEquipment: \"Autres équipements\",\n\tsafetyFactor___: \"Facteur de sécurité (%)\",\n\tquantityPERCompressorUnit: \"Quantité par unité de compresseur\",\n\tquantityPERCondensingUnit: \"Quantité par unité de condensation\",\n\thourlyLoadRequired: \"Charge horaire requise\",\n\tsuctionLineLoss: \"Perte de la conduite d'aspiration\",\n\tconnectionCount: \"Nombre de connexions\",\n\tpleaseSelectAndEditTheAppropriateSection_:\n\t\t\"Veuillez sélectionner et modifier la section appropriée.\",\n\ttoEnterOrEditDoorOrOpeningDetails_:\n\t\t\"Pour entrer ou modifier la porte ou les détails de l'ouverture,\",\n\tclearAllSelections: \"Effacer toutes les sélections\",\n\tinteriorTemperature: \"Température intérieure\",\n\tareYouSureYouWantToSubmitThisMyEditOrder_:\n\t\t\"Etes-vous s√r de vouloir soumettre cette myEditOrder.\",\n\tdoYouWantToProcessThisChangeOrderAsAnOriginalMyEditOrder_:\n\t\t\"Voulez-vous traiter cet ordre de modification comme un myEditOrder original.\",\n\tifYouSubmitThisOrder_YouAreOfficiallyTakingResponsibilityForTheMyEditOrder_:\n\t\t\"Si vous envoyez cette commande, vous prenez officiellement responsable de la myEditOrder.\",\n\tuntilTheOrderIsProcessedByTheManufacturerYouMayStopThisMyEditOrder_:\n\t\t\"Jusqu'à ce que la commande est traitée par le fabricant, vous pouvez cesser cette myEditOrder.\",\n\tuntilTheOrderIsProcessedByThePurchaserYouMayStopThisMyEditOrder_:\n\t\t\"Jusqu'à ce que la commande est traitée par l'acheteur, vous pouvez cesser cette myEditOrder.\",\n\twARNING_YOUARENOTTHEORIGINATOROFTHISMyEditOrder_:\n\t\t\"AVERTISSEMENT : Vous n'êtes pas le créateur de ce myEditOrder.\",\n\tyouCanNoLongerStopThisMyEditOrder_:\n\t\t\"Vous pouvez arrêter n'est plus de ce myEditOrder.\",\n\tyouDoNotHaveOwnershipOfThisOrder_:\n\t\t\"Vous n'avez pas la propriété de la présente ordonnance.\",\n\ttestCloneCompare: \"TestCloneCompare\",\n\tmodelNotLoaded_: \"Modèle ne pas chargé !\",\n\ttemperature_TooHigh_: \"Température trop élevée de 1 !\",\n\ttemperature_TooLow_: \"Température trop basse de 1 !\",\n\tnoRatingFound_: \"Aucune note trouvée !\",\n\ttemperature_IsTooHigh_: \"1 la température est trop élevée !\",\n\ttemperature_IsTooLow_: \"1 la température est trop basse !\",\n\tbalancedCapacity: \"Capacité équilibrée\",\n\tevap_TD: \"EVAP TD\",\n\tambientTemperature_EvapTemperature_:\n\t\t\"Température ambiante < Evap température !\",\n\tboxTemperature_EvapTemperature_: \"Boîte de température < Evap température !\",\n\tcondensingTemperature_EvapTemperature_:\n\t\t\"Température de condensation < Evap température !\",\n\tevap: \"EVAP\",\n\tevapTemperature: \"Température de l'EVAP\",\n\tisInvalid_: \"n'est pas valide !\",\n\tisMissing_: \"est manquant !\",\n\tisOutOfRange_: \"est hors de portée !\",\n\tsystemLoadIsInvalid_: \"Charge du système n'est pas valide !\",\n\tsystelLoadNotGiven_: \"Systel charge ne pas donné.\",\n\ttemperature_NotGiven_: \"Temperature1 ne pas donné.\",\n\tproductName: \"Nom du produit\",\n\tambientTemperature: \"Température ambiante\",\n\tloadCalculationDesignHasErrors_:\n\t\t\"Conception de calcul de charge comporte des erreurs !\",\n\tloadCalculationDesignHasWarnings_:\n\t\t\"Conception de calcul de charge a avertissements !\",\n\tequipmentSelectionIsIncomplete_: \"Choix de l'équipement est incomplète !\",\n\tsystemIsNotBalanced_: \"Système n'est pas équilibré !\",\n\tdesignHasErrors_: \"Conception comporte des erreurs !\",\n\tdesignHasWarnings_: \"Conception a avertissements !\",\n\tloadCalculationSystemHasDesignErrors_:\n\t\t\"Système de calcul de charge comporte des erreurs de conception !\",\n\tloadCalculationSystemHasDesignWarnings_:\n\t\t\"Système de calcul de charge a Design avertissements !\",\n\ttestMail: \"TestMail\",\n\toneOrMoreRequestedDatesAreInThePast_:\n\t\t\"Une ou plusieurs dates demandées sont dans le passé !\",\n\tshipmentDateErrorsFound_: \"Date de livraison erreurs détectées !\",\n\treset: \"Remise à zéro\",\n\tcurrency: \"Monnaie\",\n\tedit_AddDoorsAndOpenings: \"Modifier/ajouter des portes et ouvertures\",\n\tthePriceBookUsedForTheOpenChangeRequestHasExpired_:\n\t\t\"Le catalogue des prix utilisé pour la demande de modification ouvertes a expiré.\",\n\tthePriceBookUsedForThisOrderHasExpired_:\n\t\t\"Le catalogue des prix utilisé pour cet ordre a expiré.\",\n\tthePriceBooksUsedForThisOrderHaveExpired_:\n\t\t\"Les livres de prix utilisés pour cette commande sont expirés.\",\n\talwaysOpenAreaOfWallLeadingToAnotherZone_:\n\t\t\"Ouvre toujours la zone du mur menant vers une autre zone.\",\n\tareaToBeExcludedFromWallDefinition_:\n\t\t\"Zone à exclure de la définition de mur.\",\n\tnonOpeningGlassWindow_: \"Non ouverture vitrée.\",\n\tnormallyClosedDoorForStaffOrGoodsTraffic_:\n\t\t\"Porte normalement fermée à la circulation du personnel ou des biens.\",\n\troll_UpDoorOpenToOutsideEnvironmentOrOtherZone_:\n\t\t\"Porte à enroulement ouverte au dehors environnement ou d'une autre zone.\",\n\tsectionOfWallWithDifferentInsulationOrExternalEnvironmentFromRestOfWall_:\n\t\t\"Pan de mur avec isolation différente ou environnement extérieur reste du mur.\",\n\tpleaseSelectAnOpeningType_: \"Veuillez sélectionner un type d'ouverture.\",\n\tlOADCALCULATION: \"CALCUL DE LA CHARGE\",\n\treach_InSelfServeGlassDoors_: \"Reach-In libre-service portes vitrées.\",\n\troll_UpDoorDesignedToBeNormallyClosedOrSealedByTransportTrailer_:\n\t\t\"Porte à enroulement conçue pour être normalement fermés ou scellés par remorque de transport.\",\n\tareYouSureYouWantToUseTheSeletedValue_:\n\t\t\"Êtes-vous certain de que vouloir utiliser la valeur sélectionné ?\",\n\ttheInfiltrationCalculatedForTheseIsGreaterThanTheVentilationInfiltration_:\n\t\t\"L'infiltration calculée pour ces derniers est supérieure à l'infiltration de la ventilation.\",\n\ttheInfiltrationCalculatedForTheseIsGreaterThanTheVolumeEstimatedInfiltration_:\n\t\t\"L'infiltration calculée pour ces derniers est supérieure à l'infiltration de volume estimé.\",\n\tvalueWarning_: \"Avertissement de valeur !\",\n\tyouHaveDoorsAndOpeningsDefinedInTheBoxDesign_:\n\t\t\"Vous avez des portes et ouvertures définis dans la conception de la boîte.\",\n\tconductionLoad: \"Charge de conduction\",\n\tiNFILTRATIONLOADPERUNIT: \"INFILTRATION DE CHARGE UNITAIRE\",\n\tiNSULATIONLOADPERUNIT: \"ISOLATION CHARGE UNITAIRE\",\n\tindoor: \"Indoor\",\n\toutdoor: \"En plein air\",\n\toutdoorCool: \"Plein air Cool\",\n\toutdoorWarm: \"Plein air chaud\",\n\toutdoors_ColdClimate_: \"Plein air (climat froid)\",\n\teSTIMATEDBYVENTILATION: \"ESTIMÉE PAR VENTILATION\",\n\teSTIMATEDBYBOXVOLUME_USAGE: \"ESTIMÉ PAR LE VOLUME DE LA BOÎTE / UTILISATION\",\n\teSTIMATEDBYDOORSANDOPENINGS: \"ESTIMÉE PAR LES PORTES ET OUVERTURES\",\n\tventilationInfiltrationEstimate:\n\t\t\"Estimation de l'Infiltration de ventilation\",\n\tvolume_UsageInfiltrationEstimate:\n\t\t\"Utilisation de volume/Infiltration estimation\",\n\tinfiltrationMethodChosenIsNotTheMaximumLoadEstimateEntered_:\n\t\t\"Méthode d'infiltration choisie n'est pas l'estimation de la charge maximale est entrée.\",\n\tcalculationMethod: \"Méthode de calcul\",\n\tuseMaximum: \"Maximale d'utilisation\",\n\tlOADCONNECTIONSCONTINUED: \"CONNEXIONS DE CHARGE CONTINUES\",\n\tinsulationLayerIsRecommendedForSlabOnGradeFreezers_:\n\t\t\"Couche d'isolation est recommandé pour la galette sur les congélateurs de grade !\",\n\taDDNEWSYSTEMUSING: \"AJOUTER LE NOUVEAU SYSTÈME À L'AIDE\",\n\tiMPORTFROMFILE: \"IMPORTATION DE FICHIER\",\n\tmiscelaneousUnits: \"Unités de divers\",\n\timportSystemsFromALoadCalculatorIIFile_:\n\t\t\"Importer des systèmes à partir d'un fichier II de calculateur de charge.\",\n\tballyBoxWizardFile: \"Fichier de l'Assistant boîte Bally\",\n\timportSystemsFromABallyBoxWizardFile_:\n\t\t\"Importer des systèmes à partir d'un fichier de Bally Assistant de zone.\",\n\timportSystemsFromAKeepriteCalc_RiteFile_:\n\t\t\"Importer des systèmes à partir d'un fichier Keeprite calco-Rite.\",\n\timportSystemsFromATretonCalculoadFile_:\n\t\t\"Importer des systèmes à partir d'un fichier Treton Calcuload.\",\n\tkeepriteCalc_RiteFile: \"Keeprite calco-Rite fichier\",\n\ttretonCalculoadFile: \"Fichier Calcuload treton\",\n\tabortAddingASystem_: \"Annuler l'ajout d'un système.\",\n\tsaveSystemAsTemplate: \"Enregistrer comme modèle de système\",\n\tsTANDARDAPPLICATIONS: \"APPLICATIONS STANDARD\",\n\tuSERTEMPLATES: \"MODÈLES DE L'UTILISATEUR\",\n\trH_TD: \"RH / TD\",\n\tcreateSystem_PleaseSelectApplicationTypeOrTemplate:\n\t\t\"Créer un système : Veuillez sélectionner Application Type ou modèle\",\n\tfACTORYTEMPLATES: \"MODÈLES DE L'USINE\",\n\tsaveAsTemplate: \"Enregistrer comme modèle\",\n\tchange: \"Changement\",\n\tevapTDIsTooHighForTheSelectedApplication_:\n\t\t\"EVAP TD est trop élevé pour l'application sélectionnée !\",\n\tevapTDIsTooLowForTheSelectedApplication_:\n\t\t\"EVAP TD est trop faible pour l'application sélectionnée !\",\n\ttheInternalTemperatureIsTooHighForTheSelectedApplication_:\n\t\t\"La température interne est trop élevée pour l'application sélectionnée !\",\n\ttheInternalTemperatureIsTooLowForTheSelectedApplication_:\n\t\t\"La température interne est trop faible pour l'application sélectionnée !\",\n\tnewMulti_SystemJob: \"Nouveau multi-système travail\",\n\tbetaVersionDesignDetected_: \"Conception de version bêta détectée.\",\n\tdoYouWantToUpdateTheDesignToTheNewerVersion_:\n\t\t\"Voulez-vous mettre à jour la conception la plus récente version.\",\n\tnewerCalculatorVersionDetected_:\n\t\t\"Version plus récente de la calculatrice détectée.\",\n\tpleaseVerifyYourDesign_: \"S'il vous plaît vérifiez votre conception.\",\n\ttheLoadCalculationHASCHANGEDWithTheNewerVersion_:\n\t\t\"Le calcul de la charge a changé avec la version plus récente.\",\n\ttheLoadCalculationHASNOTChangedWithTheNewerVersion_:\n\t\t\"Le calcul de la charge n'a pas changé avec la version plus récente.\",\n\ttheLoadCalculationsMayHaveChangedSinceYouFirstCreatedThisJob_:\n\t\t\"Le calcul des charges peut avoir changé depuis que vous avez créé tout d'abord ce travail.\",\n\tthisDesignWasCreatedWithTheBetaVersionOfTheSoftware_:\n\t\t\"Cette conception a été créé avec la version bêta du logiciel.\",\n\texport_CSV: \"Export_CSV\",\n\tloadCalculation: \"Calcul de la charge\",\n\toptionDescriptionList: \"Liste des options Description\",\n\tpleaseCheckYourEquipmentSelection_:\n\t\t\"S'il vous plaît vérifier votre choix de l'équipement.\",\n\tifThisProblemPersists_PleaseContactTheFactory_:\n\t\t\"Si le problème persiste, veuillez contacter l'usine.\",\n\tselectedEquipmentNoLongerBalances_:\n\t\t\"Certains équipements ne sont plus les soldes !\",\n\tthisDesignWasCreatedWithAnEarlierVersionOfThisSoftware_:\n\t\t\"Cette conception a été créé avec une version antérieure de ce logiciel.\",\n\tnewerVersionDesignDetected_: \"Nouvelle conception de la version détectée !\",\n\tpleaseRestartYourSoftwareToUpdateYourSystemAndDataFiles_:\n\t\t\"Redémarrez votre logiciel pour mettre à jour les fichiers de votre système et vos données.\",\n\tlade: \"Lade\",\n\tpending: \"En attente\",\n\toutdoors_ColdClimate___: \"Plein air (climat froid) ~ ~\",\n\tloadingServicePartCatalog_: \"Chargement de Service partie catalogue.\",\n\tclearFilter: \"Effacer le filtre\",\n\tcategory: \"Catégorie\",\n\tpartName_No: \"La partie nom / non\",\n\tqTTY: \"QTTY\",\n\tmodelNumber_WhereUsed: \"Numéro de modèle / où utilisé\",\n\tequipmentDetails: \"Détails d'équipement\",\n\tleadTimeChangesFound_: \"modifications de l'heure plomb trouvées.\",\n\tleadTimesChangedOn: \"Délais, changés le\",\n\tleadTimesChangedOnOneRevision_: \"Délais a changé sur une révision.\",\n\tnoLeadTimeChangesFound_: \"Aucun changement de temps de plomb trouvés.\",\n\tnoLeadTimeChangesOccurred_:\n\t\t\"Aucun changement de temps de plomb s'est produite.\",\n\toneLeadTimeChangeFound_: \"Changement d'heure d'un plomb trouvé.\",\n\tcopyShippingDateInformationTo: \"Copiez les informations de date expédition à\",\n\tforComplexFloorsWeSuggestYouUseTheFloorPlanner:\n\t\t\"Pour sols complexes nous vous suggérons de qu'utiliser le planificateur de plancher\",\n\tonlyOneFloorSectionMayBeAddedWithThisTool_:\n\t\t\"Section d'un seul étage peut être ajoutée avec cet outil.\",\n\tsorry: \"Désolé\",\n\torEnterTheTotalFloorAreaAndPerimeterValuesInTheExistingFloorDefinition_:\n\t\t\"ou entrez les valeurs d'aire et le périmètre de plancher totale dans la définition de plancher existant.\",\n\tboxDesign: \"Conception de boîte\",\n\tcanNotSubmit_: \"Ne peut pas soumettre !\",\n\tinvalidEmail_Format_: \"Format de l'adresse E-mail incorrecte 1 !\",\n\tOrdersWillBeMarkedAsShipped_:\n\t\t\" les commandes seront marqués comme ayant été expédiée !\",\n\tOrdersWillBeMarkedClosed_: \" les commandes seront marqués fermés !\",\n\tcalendarDays: \"jours calendaires\",\n\tleadTimeCalendarDays: \"Conduire les jours temps\",\n\tleadTimeAddWeeks: \"Délai ajouter semaines\",\n\tleadTimeWeeksAdded: \"Ajouté semaines de délai d’exécution\",\n\tpleaseContactFactory: \"S’il vous plaît contacter usine\",\n\twARNING_SUBMITTEDQUOTENOTFOUND_:\n\t\t\"MISE EN GARDE ! SOUMIS CITATION INTROUVABLE.\",\n\tCalandarDays_: \" Jours de calendrier !\",\n\tsorry_: \"Désolé !\",\n\tyouCanNotDeleteTheOrderedQuoteRevision_:\n\t\t\"Vous ne pouvez pas supprimer la révision devis commandés ?\",\n\tdeleteCurrentQuoteRevision: \"Supprimer la révision actuelle de citation\",\n\trestoreCurrentQuoteRevisionToLastSavePoint:\n\t\t\"Devis révision en cours de restauration au dernier Point de sauvegarde\",\n\tcanNotRestoreTheOrderedQuoteRevision_:\n\t\t\"Ne pouvez pas restaurer la révision devis commandés ?\",\n\tthePackage: \"Le paquet \",\n\tstandardFeatures: \" CARACTÉRISTIQUES STANDARDS\",\n\tadditionalOptionsAndAccessories: \"OPTIONS ET ACCESSOIRES ADDITIONNELS\"\n};\n","import { enTooltips } from \"./en-tooltips\"; // TODO: Change later when translations are available.\n\nexport const esStrings = {\n\t...enTooltips,\n\t_Feeds: \"# Se alimenta\",\n\t_threeDollarSigns: \"$$$\",\n\t_Cancel: \"&Cancelar\",\n\t_Feed: \"/Alimentar\",\n\t_RDPARTY: \"3RD PARTIDO\",\n\t_PreviousModel: \"< Modelo anterior\",\n\t_SelectPreviousModel: \"< Seleccione el modelo anterior\",\n\t_TD: \"\",\n\tnextWallConstruction: \"Próxima construcción de pared\",\n\tno: \"N\",\n\tnoCountryEntered_: \"Ningún país entrado!\",\n\tnoDetails: \"No hay detalles\",\n\tnoItemsOrSystemsSelected_: \"No hay elementos o sistemas seleccionados.\",\n\tnoModelSelected: \"No hay modelo seleccionado\",\n\tnoModelSelected_: \"No hay modelo seleccionado!\",\n\tnoModelsAvailable: \"No hay modelos disponibles\",\n\tnoPartNameEntered_: \"Ningún nombre de parte entrado!\",\n\tnoAddressEntered_: \"Ninguna dirección!\",\n\tnoAlternativePriceBooksOfThisTypeAreAvailable_:\n\t\t\"No hay listas de precios alternativa de este tipo están disponibles.\",\n\tnoAmbientTempEntered_: \"No temp ambiente entrado.\",\n\tnoApplicationRegistrationOnformationWasFoundForYourUserID_:\n\t\t\"No onformation de registro de aplicación fue encontrado por su seudónimo.\",\n\tnoBoxTempEntered_: \"No temporal del cuadro entrado.\",\n\tnoCalculationMethodSelected_: \"Ningún método de cálculo seleccionado!\",\n\tnoChangesDetectedOnTheOrder_: \"No hubo cambios detectados en la orden.\",\n\tnoCityEntered_: \"Ninguna ciudad entrada!\",\n\tnoCondenserModelSelected_: \"Ningún modelo de condensador seleccionado!\",\n\tnoCondensingTempEntered_: \"No condensación temporal entrado.\",\n\tnoConnectionsDefined_: \"No hay conexiones definidas!\",\n\tnoConstructionLayersHaveBeenDefined_:\n\t\t\"No hay capas de construcción se han definido!\",\n\tnoContactNameGiven_: \"No nombre contacto!\",\n\tnoContactsListed_: \"No hay contactos en la lista.\",\n\tnoDeratingFactorListed_: \"No hay factor de corrección en la lista!\",\n\tnoDescriptionEntered_: \"No hay Descripción entrada!\",\n\tnoDoorsEstimateCalculatedOrEntered_:\n\t\t\"Ninguna puerta estimar calculados o entrado!\",\n\tnoDoorsHaveBeenDefined_: \"No se han definido puertas!\",\n\tnoDoorsHaveBeenDefined_DefaultDoorLoadValueUsedForOneManDoor_:\n\t\t\"No se han definido puertas! Por defecto utilizado para la puerta de un hombre de valor de la carga de puerta.\",\n\tnoEquipmentChangesFound_: \"No hay cambios en el equipo que se encuentran.\",\n\tnoEquipmentChangesOccurred_: \"No hay cambios en el equipo se produjo.\",\n\tnoEvaporatorMotorLoadHasBeenCalculatedOrEntered_:\n\t\t\"Sin carga de motor evaporador ha sido calculada o entrado!\",\n\tnoFeedsAssigned_: \"No asignados los feeds!\",\n\tnoFluidSelected_: \"Ningún fluido seleccionado!\",\n\tnoFutureNonWorkingDaysWereListed_:\n\t\t\"No hay futuro día de trabajo no se incluyeron.\",\n\tnoInternetConnection_: \"Sin conexión a internet.\",\n\tnoItemDeliveryDatesHaveBeenSelected_:\n\t\t\"No hay fechas de entrega del artículo se han seleccionado!\",\n\tnoLightingLoadHasBeenCalculatedOrEntered_:\n\t\t\"Sin carga de iluminación ha sido calculada o entrado!\",\n\tnoLoadHasBeenCalculatedOrEntered_: \"Sin carga ha sido calculada o entrado!\",\n\tnoModelVARatingValuesListed_:\n\t\t\"Sin puntuaciones VA modelo de valores que se muestran.\",\n\tnoModelRatingValuesListed_:\n\t\t\"Sin puntuaciones modelo de valores que se muestran.\",\n\tnoModelsAvailableForThisHighAFlowRate_:\n\t\t\"No hay modelos disponibles para este alto un caudal!\",\n\tnoOrdersListed_: \"Ninguna orden de lista!\",\n\tnoPartsSelected_: \"No hay piezas seleccionadas!\",\n\tnoPhoneNumberEntered_: \"Ningún número de teléfono introducido!\",\n\tnoPowerValueEntered_: \"Ningún valor de energía entrado!\",\n\tnoPriceBooksHaveBeenAssignedToYourProfile_:\n\t\t\"No hay listas de precios se han asignado a su perfil.\",\n\tnoPriceChangesOccurred_: \"No hay cambios en los precios se produjo.\",\n\tnoPricesWereChanged_: \"No se modificaron los precios.\",\n\tnoPricingChangesOccurred_: \"No se produjeron cambios en los precios.\",\n\tnoQuantityEntered_: \"Ninguna cantidad de entró!\",\n\tnoRefrigerantSelected_: \"Ningún refrigerante seleccionado!\",\n\tnoRevisionsWereUpdated_: \"No hay revisiones se han actualizado.\",\n\tnoShippingAndHandlingCostEntered_: \"No envío y manejo costo entrado!\",\n\tnoState_ProvinceOrCountyEntered_:\n\t\t\"Ningún Estado, provincia o condado entrado!\",\n\tnoSuctionTempEntered_: \"Ninguna aspiración temp entrado.\",\n\tnoSuitableFeedConfigurationFound_:\n\t\t\"Ninguna configuración de alimentación adecuada que se encuentra.\",\n\tnoTotalLoadHasBeenCalculatedOrEntered_:\n\t\t\"Sin carga total ha sido calculada o entrado!\",\n\tnoTotalProductLoadHasBeenCalculatedOrEntered_:\n\t\t\"Sin carga de producto total ha sido calculada o entrado!\",\n\tnoTotalProductWeightHasBeenCalculatedOrEntered_:\n\t\t\"Ningún peso total del producto ha sido calculada o entrado!\",\n\tnoUsageEstimateCalculatedOrEntered_: \"No uso calculado o entrado!\",\n\tnoUsageLevelSelected_: \"No uso grado seleccionado!\",\n\tnoVentilationEstimateCalculatedOrEntered_:\n\t\t\"Ninguna estimación de ventilación calculado o entrado!\",\n\tnoVersion_OrdersFoundInThisList_:\n\t\t\"No hay versión 8 órdenes que se encuentran en esta lista!\",\n\tnoZipOrPostalCodeEntered_: \"No zip o código postal ingresado!\",\n\tno_CancelThisOperation: \"No, Cancelar esta operación\",\n\tno_IAmANewUser_: \"No, yo soy un nuevo usuario.\",\n\tno_I_llDoItManually_: \"No, lo haré manualmente.\",\n\tno_TryToConnectAgain_: \"No, intente conectarse de nuevo.\",\n\tno_LeaveTheExistingOptionMultipliersUnchanged_:\n\t\t\"No, dejar que los multiplicadores de opción existente sin cambios.\",\n\tno_RestorePreviousValue_: \"No, restaurar el valor anterior.\",\n\tnon_CatalogItemDetails: \"Catálogo no Detalles del artículo\",\n\tnon_CatalogOptionDetails: \"Catálogo no Detalles Opción\",\n\tnon_numericJob_ScopeReferenceReturned_:\n\t\t\"de referencia del empleo-Ámbito de aplicación no numéricos vuelto!\",\n\tnone: \"Ninguno\",\n\tnotOwner: \"No Propietario\",\n\tnotFound_: \"No se ha encontrado!\",\n\tnotLatestCO: \"No más de CO\",\n\tnote_AnInternetConnectionIsRequiredToCompleteThisProcedure:\n\t\t\"Nota: Una conexión a Internet es necesario para completar este procedimiento\",\n\tnote_: \"Tenga en cuenta:\",\n\tnote_IfYouAnswerNO_NewProductsAddedToThisOrderMayNotUseTheCorrectMultiplier_:\n\t\t\"Nota: Si su respuesta es NO, nuevos productos añadidos a esta orden no podrá usar el multiplicador correcto?\",\n\tnote_IndoorValueOnly__TheExteriorBoundaryLayerIsAdjusted_AutomaticallyIfSectionIsMarkedAsOutdoors:\n\t\t\"Nota: Sólo valor interior. ~ La capa de límite exterior se ajusta ~ automáticamente si la sección está marcado como al aire libre\",\n\tnote_OrderOriginatorsAndOrderDeskWillAutomaticallyBeIncludedInTheNotifyList:\n\t\t\"Nota: Los autores Orden y escritorio pedido será automáticamente incluido en la lista de notificación\",\n\tnotes: \"Notas\",\n\tnotes_Comments: \"Notas y Comentarios\",\n\tnotes_Remarks: \"Notas / Observaciones\",\n\tnothingToDo_: \"Nada que ver.\",\n\tnumberOfUnits: \"Número de unidades\",\n\tnumericValueRequired_: \"Valor numérico que sea necesario.\",\n\to_ptions: \"O & pciones\",\n\toE: \"OE\",\n\toELIST: \"OE LISTA\",\n\toEList: \"Lista de OE\",\n\toEM: \"OEM\",\n\toFFLINE: \"EN LÍNEA\",\n\toK: \"Aceptar\",\n\toNHOLD: \"EN ESPERA\",\n\toPENACTIVEORDERMANAGER: \"ABRA EL ADMINISTRADOR DE ORDEN ACTIVO\",\n\toPENEXISTINGORDER: \"ORDEN EXISTENTE ABIERTO\",\n\toPENPURCHAREORDERMANAGER: \"ABRA EL ADMINISTRADOR DE LA ORDEN DE PURCHARE\",\n\toRDER: \"ORDEN\",\n\toRDERCONTAINS: \"Orden contiene\",\n\toRDERCONTAINSCALLPRICING_: \"CONTIENE LA ORDEN DE PRECIOS DE LLAMADA!\",\n\toRDERENTRYSYSTEM: \"ORDEN DEL SISTEMA DE ENTRADA\",\n\toRDERNO: \"ORDEN NO\",\n\toRDERNOTES: \"ORDEN DE NOTAS\",\n\toRDERSTATUS: \"PEDIDO\",\n\toRDERVERIFIED: \"ORDEN VERIFICADO\",\n\toRDERED: \"ORDENADO\",\n\toTHER: \"OTROS\",\n\toTHERLOADS: \"OTRAS CARGAS\",\n\tobsolete: \"Obsoletos\",\n\toff_LineWarning_: \"Fuera de línea de advertencia.\",\n\toldPassword: \"Contraseña antigua\",\n\toldPasswordDoesNotMatch_: \"La antigua contraseña no coincide!\",\n\toneEquipmentChangeFound_: \"Un cambio de equipo que se encuentran.\",\n\tonePriceChanged_: \"Un precio cambiado.\",\n\toneRevisionUpdated: \"Una revisión actualizada\",\n\topen: \"Abierto\",\n\topenBallyTools: \"Abrir herramientas Bally\",\n\topenExistingJob: \"Abrir trabajo existente\",\n\topenFromWeb: \"Abierto de Web\",\n\topenKeepRiteTools: \"Abrir herramientas KeepRite\",\n\topenOrder: \"Abrir Orden\",\n\topenOrder_ForceSynch: \"Pedido abierto - sincronización de fuerza\",\n\topenTrentonTools: \"Abrir herramientas de Trenton\",\n\topenAsNewOrder: \"Abrir como Nuevo Orden\",\n\topenFileInEXCEL_: \"Abrir el archivo en Excel?\",\n\topenFileInTextViewer_: \"Abrir el archivo en el visor de texto?\",\n\topenLastSavedEditOrder_: \"Abrir guardó por última vez EditOrder.\",\n\topeningType: \"Tipo de apertura\",\n\topeningDeletionRequested_: \"Eliminación de apertura solicitada.\",\n\topeningsSelected: \"Aberturas seleccionadas\",\n\toppositeEnds: \"Extremos opuestos\",\n\toption: \"Opción\",\n\toptionPrice: \"Opción de Precio\",\n\toptionSelector: \"Opción de selección\",\n\toptionIsNoLongerAvailable_: \"Opción ya no está disponible!\",\n\toptionNeedsFactoryLeadTime_PleaseCall_:\n\t\t\"Opción necesita plazo de ejecución de la fábrica. Por favor llame!\",\n\toptionNeedsFactoryPricing_PleaseCall_:\n\t\t\"Opción necesita precios de fábrica. Por favor llame!\",\n\toptional: \"Opcional\",\n\toptions: \"Opciones\",\n\toptionsOnThisItemHaveErrors_: \"Opciones sobre este tema tienen errores!\",\n\toptionsOnThisItemHaveWarnings_:\n\t\t\"Opciones sobre este tema tienen advertencias!\",\n\torEnterAModelNumber: \"O escriba un número de modelo\",\n\torder: \"Orden\",\n\torderDate: \"Fecha del pedido\",\n\torderEntry: \"Orden de entrada\",\n\torderEntryListPrice: \"Orden de Entrada Lista de precios\",\n\torderEntryMultiplier: \"Orden de entrada Multiplicador\",\n\torderEntrySystem: \"Sistema de entrada de pedidos\",\n\torderForm: \"Formulario de pedido\",\n\torderItemNo: \"Orden No. del artículo\",\n\torderManager: \"Orden Manager\",\n\torderManager_COLLATING: \"Administrador de la Orden - cotejar\",\n\torderNumericUnits: \"Orden numérico unidades\",\n\torderPreview: \"Orden Prevista\",\n\torderPreview_NoOrderSelected:\n\t\t\"Vista previa de la Orden - No Ordenado seleccionados\",\n\torderPreview_NotAvailable: \"Vista previa de la Orden - No disponible\",\n\torderPrice: \"Orden de precios\",\n\torderStatus: \"Estado del pedido\",\n\torderUploadConfirmationCheck: \"Orden Subir Compruebe Confirmación\",\n\torderCanNotBeImported_: \"Orden no puede ser importado.\",\n\torderChangeStopRequested_: \"cambiar el orden de parada solicitada.\",\n\torderChangesHaveYetToBeUploadedToTheServer_:\n\t\t\"Orden cambios aún no se han subido al servidor.\",\n\torderImported_: \"Orden importados.\",\n\torderIncludesIncompleteFactoryPricingInformation_:\n\t\t\"Orden incluye información incompleta precios de fábrica!\",\n\torderInformationAlreadyExistsInTheProgramOrderStore_:\n\t\t\"La información de pedidos ya existe en el almacén de orden del programa.\",\n\torderIsAlreadyLoadedLocally_: \"Orden ya se ha cargado a nivel local.\",\n\torderIsOpenForReviewAndPrintOnly_:\n\t\t\"Orden está abierta para su examen e imprimir sólo!\",\n\torderPriceTooLowForPre_paidShippingTerms_:\n\t\t\"Precio de la orden demasiado bajo para términos del envío prepago! \",\n\torderStopRequested_: \"Orden de suspensión solicitada.\",\n\torderWasDeleted_: \"Orden se ha eliminado.\",\n\torderWillBeUploadedAfterNextProgramUpdate_:\n\t\t\"La orden será subido después de la actualización del programa siguiente.\",\n\tordered: \"Ordenó\",\n\torders: \"Órdenes\",\n\torientation: \"Orientación\",\n\toriginal: \"Texto original en\",\n\tother: \"Otros\",\n\totherCountryName: \"Nombre de Otro País\",\n\totherEquipmentManufacturer_sModel: \"Fabricante de equipos de otros modelos\",\n\totherHeatSources: \"Otras fuentes de calor\",\n\totherName: \"Otro nombre\",\n\totherDeletionRequested_: \"Otra eliminación solicitado.\",\n\toutOfRange_ShouldBe__And______: \"Fuera de rango, debe ser > 0 y < 0.01!\",\n\toutdoors: \"Al aire libre\",\n\tp_O: \"PO\",\n\tp_O_: \"PO\",\n\tpARAMETERSREQUIRECHECKINGORADJUSTMENT:\n\t\t\"Parámetros requieren CONTROL O REGULACION\",\n\tpARSING: \"ANÁLISIS\",\n\tpARTNOTFOUNDINDATABASE_: \"PARTE NO SE ENCUENTRA EN LA BASE DE DATOS!\",\n\tpARTIAL: \"PARCIAL\",\n\tpENDING: \"PENDIENTE\",\n\tpERSONNEL: \"PERSONAL\",\n\tpICK_UP: \"PICK-UP\",\n\tpO_: \"PO #\",\n\tpOWER: \"PODER\",\n\tpRD: \"PRD\",\n\tpRE_PAID: \"PRE-PAGADO\",\n\tpRICEBOOKNOTAVAILABLE: \"LIBRO Precio no disponible\",\n\tpRICEEACH: \"PRECIO DE CADA\",\n\tpROCESSED: \"PROCESADOS\",\n\tpRODUCTLINE: \"LÍNEA DE PRODUCTOS\",\n\tpRODUCTNO: \"PRODUCTO NO\",\n\tpROJECT: \"PROYECTO\",\n\tpROTECTED: \"PROTEGIDAS\",\n\tpackage: \"Paquete\",\n\tpackageOptionsAreHighlightedInGreen_:\n\t\t\"Paquete de opciones se destacan en verde.\",\n\tpanel: \"Panel\",\n\tpanelExteriorIsOutdoors: \"Panel Exterior es al aire libre\",\n\tparametersCheckCompleted_: \"Parámetros de la comprobación completa.\",\n\tparams: \"Params\",\n\tpartDescription: \"Parte Descripción\",\n\tpartDescriptions: \"Parte Descripciones\",\n\tpartNo: \"El n °\",\n\tpartDescriptionRequired_: \"Descripción de la parte requerida.\",\n\tpartialShipmentSelected_: \"envío parcial seleccionado!\",\n\tpartialShippingRequested_ButNoSpecificShipDatesListedOnSystemsOrItems_:\n\t\t\"envío parcial solicitado, pero ningún barco específica fechas que aparecen en los sistemas o elementos!\",\n\tparts: \"Piezas\",\n\tpassword: \"Contraseña\",\n\tpasswordAgain: \"Contraseña otra vez\",\n\tpasswordRequired_: \"Contraseña requerida.\",\n\tpaste: \"Pegar\",\n\tpasteOptions_: \"Pegar opciones.\",\n\tpastingNonStockingModelsOnAStockingOrderIsProhibited_:\n\t\t\"Está prohibido pegar modelos no media una orden de la siembra.\",\n\tpastingStockingModelsOnAStandardOrderIsProhibited_:\n\t\t\"Está prohibido pegar modelos de siembra en un orden estándar.\",\n\tperUnit: \"Por unidad\",\n\tpercentageChangeCausedByEnteredAdjustmentValue_:\n\t\t\"Porcentaje de cambio causado por valor de ajuste introducido.\",\n\tpercentageDifferenceBetweenCurrentPriceAndFloorPrice_:\n\t\t\"Porcentaje de diferencia entre el precio actual y el precio del piso.\",\n\tpercentageDifferenceBetweenNewPriceAndCurrentPrice_:\n\t\t\"Porcentaje de diferencia entre el precio nuevo y el precio actual.\",\n\tpercentageDifferenceBetweenNewPriceAndFloorPrice_:\n\t\t\"Porcentaje de diferencia entre el precio nuevo y el precio del piso.\",\n\tperimeterLength: \"Longitud del perímetro\",\n\tpermanentOpening: \"Apertura permanente\",\n\tpersonalInformation: \"Información personal\",\n\tpersonnelLoad: \"Personal de carga\",\n\tph_: \"Tel: \",\n\tphone: \"Teléfono\",\n\tphoneNo: \"Teléfono\",\n\tphoneNumbers: \"Números de teléfono\",\n\tpick_Up: \"Pick-up\",\n\tpleaseDescribe: \"Describa por favor\",\n\tpleaseNote_: \"Tenga en cuenta:\",\n\tpleaseSelect: \"Por favor, seleccione\",\n\tpleaseSelectAModelType: \"Por favor seleccione un tipo de modelo\",\n\tpleaseSelectObjectsToInclude: \"Seleccione objetos que se incluirán\",\n\tpleaseSelectRatingOptions: \"Por favor, seleccione Opciones de valorar\",\n\tpleaseAdjustTemperaturesOrChangeRefrigerant_:\n\t\t\"Por favor ajustar temperaturas o cambiar refrigerante.\",\n\tpleaseAdjustTemperaturesOrSelectAndEnterT_H_R_Value_:\n\t\t\"Ajustar temperaturas o seleccione y escriba el valor T.H.R..\",\n\tpleaseCheckAllItems_: \"Por favor, revise todos los artículos!\",\n\tpleaseCheckInternetAndTryAgain_:\n\t\t\"Por favor, consulte a Internet y vuelva a intentarlo.\",\n\tpleaseCheckServerConnectionAndTryAgain_:\n\t\t\"Por favor, compruebe la conexión del servidor y vuelva a intentarlo.\",\n\tpleaseCheckThemIndividually_: \"Por favor comprobar individualmente.\",\n\tpleaseCheckYourPermissionsAndOrCloseThisApplicationAndRunTheBootstrapManually_:\n\t\t\"Compruebe sus permisos y / o cerca de esta aplicación y ejecutar el sistema de arranque manual.\",\n\tpleaseCheckYourPermissionsAndOrDeleteThisFileManually_:\n\t\t\"Compruebe sus permisos y / o eliminar este archivo manualmente.\",\n\tpleaseCheckYourPermissionsAndOrMoveThisFileManually_:\n\t\t\"Compruebe sus permisos y / o mover este archivo manualmente.\",\n\tpleaseCheckYourProfileAndUpdateTheSoldByAddressPanel_:\n\t\t\"Por favor, revise su perfil y actualizar los vendidos por el panel de direcciones.\",\n\tpleaseClickOnTheNEWButtonToBeginAddingYourFirstContact_:\n\t\t\"Por favor, haga clic en el botón NUEVO para empezar a añadir su primer contacto.\",\n\tpleaseCloseAllInstancesOfNROESAndRestartTheApplication_:\n\t\t\"Por favor, cierre todas las instancias de NROES y reiniciar la aplicación!\",\n\tpleaseCloseAllRefrigerationAppsClickOnRetry_:\n\t\t\"Cierre todas las aplicaciones de refrigeración pulsen Reintentar!\",\n\tpleaseCloseAllRefrigerationToolsAndRestartTheApplication_:\n\t\t\"Por favor, cierre todas las herramientas de refrigeración y reiniciar la aplicación.\",\n\tpleaseCloseAllToolsAndRestartTheApplication_:\n\t\t\"Por favor, cierre todas las herramientas y reiniciar la aplicación!\",\n\tpleaseCompleteRequiredInformation_:\n\t\t\"Por favor, complete la información requerida.\",\n\tpleaseConfirmTheFollowing: \"Por favor, confirme lo siguiente\",\n\tpleaseConfirm_: \"Por favor confirmar.\",\n\tpleaseContact: \"Póngase en contacto con\",\n\tpleaseContactSupportTeam_: \"Póngase en contacto con equipo de apoyo.\",\n\tpleaseContactTheDevelopmentTeam_:\n\t\t\"Póngase en contacto con el equipo de desarrollo.\",\n\tpleaseContactTheFactoryToHaveYourProfileAdjusted_:\n\t\t\"Póngase en contacto con la fábrica que su perfil ajustado.\",\n\tpleaseContactTheManufacturerForServicePartInformation_:\n\t\t\"Póngase en contacto con el fabricante para información de servicio parte.\",\n\tpleaseDescribeTheReasonForThisExceptionBelowAnd:\n\t\t\"Describa el motivo de esta excepción infra y\",\n\tpleaseEnterJob_ScopeReference_:\n\t\t\"Por favor, introduzca la referencia de trabajo-Scope!\",\n\tpleaseEnterANumericValueGreaterZero_:\n\t\t\"Por favor, introduzca un valor numérico mayor a cero.\",\n\tpleaseEnterAllThePrimaryDimensionInformationFirst_:\n\t\t\"Introduzca toda la información de la dimensión primaria primero.\",\n\tpleaseEnterCustomerReferenceNumber_:\n\t\t\"Por favor, introduzca el número de clientes de referencia!\",\n\tpleaseEnterExpectedShippingCarried_: \"Por favor, introduzca espera navieras!\",\n\tpleaseEnterYourPersonalApplicationRegistrationCode:\n\t\t\"Por favor ingrese su código de registro de aplicación personal\",\n\tpleaseInstallCustomerDatabaseFileIntoYourApplicationProgramDataFolder_:\n\t\t\"Por favor, instale el archivo de base de datos del cliente en su programa de aplicación de la carpeta de datos!\",\n\tpleaseQuoteFACTORYORDER__: \"Por favor cite la Orden de Fabricación #.\",\n\tpleaseRestartTheApplication: \"Por favor, reinicie la aplicación\",\n\tpleaseRestartTheApplicationWithTheInternetConnected_:\n\t\t\"Por favor, reinicie la aplicación con el conectado a internet.\",\n\tpleaseSaveYourWorkAndCloseAllDesignWindows_:\n\t\t\"Guarde su trabajo y cierre todas las ventanas de diseño.\",\n\tpleaseSelectACompressor_: \"Por favor, seleccione un compresor!\",\n\tpleaseSelectACountryFromTheList_: \"Por favor seleccione un país de la lista!\",\n\tpleaseSelectADivision: \"Por favor, seleccione una división\",\n\tpleaseSelectAMatchingModelNumberFirst_:\n\t\t\"Por favor, seleccione un número de modelo del primer apareamiento.\",\n\tpleaseSelectAPriceBook: \"Por favor, seleccione un libro de precios\",\n\tpleaseSelectAnotherFile_: \"Por favor, seleccione otro archivo!\",\n\tpleaseSelectOrderType_: \"Por favor, seleccionar el tipo de orden!\",\n\tpleaseSelectServicePartTypesToAddToOrder_:\n\t\t\"Por favor, seleccione el tipo de servicio de parte para añadirlo al pedido.\",\n\tpleaseSelectTheSameSystemModelType_:\n\t\t\"Por favor seleccione el mismo tipo de modelo de sistema.\",\n\tpleaseSelectTheTypeOfSystemYouWantToAdd:\n\t\t\"Por favor, seleccione el tipo de sistema que desea agregar\",\n\tpleaseTryAgainLater_: \"Por favor, inténtelo de nuevo más tarde!\",\n\tpleaseTryAgain_: \"Por favor, inténtelo de nuevo.\",\n\tpleaseUpdateYourPrices_: \"Por favor, actualice sus precios!\",\n\tpleaseUseTheOptionsSelectorToAdjustTheseOptions_:\n\t\t\"Por favor, utilice el selector de opciones para ajustar estas opciones.\",\n\tpleaseUseTheOrderManagerToOpenThisOrder_:\n\t\t\"Por favor, use el administrador de pedidos para abrir este fin.\",\n\tpleaseWait_: \"¡Espera!\",\n\tplus: \"Más\",\n\tpopup_Tooltip: \"Popup_Tooltip\",\n\tpostal: \"Postales\",\n\tpostal_ZIPCode: \"Código Postal\",\n\tpostalCode: \"Código postal\",\n\tpower: \"Potencia\",\n\tpowerDensity: \"Densidad de energía\",\n\tpowerSearch: \"Búsqueda avanzada\",\n\tpower_Deg: \"Alimentación/Deg\",\n\tpr_St: \"Pr / St\",\n\tpre_view: \"Pre y ver\",\n\tpre_Paid_Charge: \"Pre-pago y de carga\",\n\tpre_paid: \"Pre-pago\",\n\tpressure: \"Presión\",\n\tpressureDropExceedsRequestedRange_: \"Caída de presión excede pidió gama!\",\n\tpressureDropRange: \"Gama de presión de la gota\",\n\tpressureDropTolerance: \"Tolerancia de caída de presión\",\n\tpressureDropTooLow_: \"Caída de presión demasiado baja!\",\n\tpressureRange: \"Gama de presión\",\n\tpreview: \"Prevista\",\n\tpreviousNetPrice_: \"precio neto anterior:\",\n\tprice: \"Precio\",\n\tpriceBook: \"Precio del libro\",\n\tpriceChange: \"Cambio en el precio\",\n\tpriceOK: \"Precio en Aceptar\",\n\tpriceBookUpdated_: \"Precio Actualización libro.\",\n\tpriceBookHasExpired_: \"Lista de precios ha caducado.\",\n\tpriceBookHasExpiredAndTheQuoteIsOlderThan__Days_:\n\t\t\"Precio libro ha vencido y la cita es de más de 30 días!\",\n\tpriceBookIsMissing_: \"lista de precios que falta!\",\n\tpriceBookNotUpdated_: \"lista de precios no se actualizan.\",\n\tpriceDidNotChange_: \"El precio no ha cambiado!\",\n\tpricebookHasExpired: \"Pricebook ha caducado\",\n\tpricebookHasExpired_: \"Pricebook ha caducado.\",\n\tpricebookMissing: \"Pricebook falta\",\n\tpricebookNotLoaded_: \"Pricebook no se carga.\",\n\tpricebookWillExpireIn: \"Pricebook expirará en\",\n\tpricingChangeOccurredOnOneRevision_:\n\t\t\"el cambio de precios se produjo en una revisión.\",\n\tpricingChangesOccurredOn: \"cambios de precios se produjo en\",\n\tpricingShownIncludesAllOptionsListedOnCertifiedPrints_:\n\t\t\"Precios muestra incluye todas las opciones que aparecen en copias certificadas.\",\n\tprimary: \"Primaria\",\n\tprint: \"Imprimir\",\n\tprintPreview: \"Vista previa de impresión\",\n\tprintSelectedModelOnly: \"Imprimir seleccionados sólo modelo\",\n\tprinting: \"Impresión\",\n\tprocessChangeOrderRequest: \"Proceso de Cambio Pedir\",\n\tprocessOrder: \"Proceso de Orden\",\n\tprocessingNotes: \"Procesamiento de Notas\",\n\tproduct: \"Producto\",\n\tproductDetails: \"Detalles del producto\",\n\tproductLine: \"Línea de productos\",\n\tproductList: \"Lista de productos\",\n\tproductLoad: \"Carga de producto\",\n\tproductType: \"Tipo de producto\",\n\tproductDeletionRequested_: \"Eliminación del producto solicitado.\",\n\tproductsSelected: \"Productos seleccionados\",\n\tprofitRate: \"Tasa de beneficio\",\n\tprogramUpdateAvailable_: \"Actualización de programa disponible.\",\n\tprogramUpdatesFound: \"Actualizaciones del programa se encuentra\",\n\tprogramUpdatesShouldBeAvailableShortly_:\n\t\t\"Las actualizaciones del programa debería estar disponible en breve.\",\n\tproject: \"Proyecto\",\n\tpromise: \"Promesa\",\n\tpromiseDate: \"Promesa Fecha\",\n\tpromised: \"Prometió\",\n\tprotectCurrentRevision: \"Proteger actual revisión\",\n\tprovince: \"Provincia\",\n\tpulldownTime: \"Tiempo de desconexión\",\n\tpurchaseOrder: \"Orden de Compra\",\n\tpurchaseOrders: \"Órdenes de Compra\",\n\tpurchaseRequests: \"Las solicitudes de compra\",\n\tpurchaser: \"Comprador\",\n\tqTY: \"CANT\",\n\tqUOTE: \"CITA\",\n\tqUOTEDAYS: \"CITA DÍAS\",\n\tqtty: \"Qtty\",\n\tqty: \"Cantidad\",\n\tquantity: \"Cantidad\",\n\tquantityPerUnit: \"Cantidad por unidad\",\n\tquickBox: \"Caja rápida\",\n\tquotationValidFor__DaysFromQuoteDate_:\n\t\t\"una validez de 30 días a partir de la fecha de cotización Cotización.\",\n\tquote: \"Citar\",\n\tquote_: \"Cita #\",\n\tquoteDate: \"Cita Fecha\",\n\tquoteNo: \"Cita n\",\n\tquotePrice: \"Cotización\",\n\tquoteSetup: \"Cita el programa de instalación\",\n\tquoteDateIsNotSetToCurrentDate_:\n\t\t\"fecha de cita no se ha establecido hasta la fecha actual!\",\n\trValue: \"Valor de R\",\n\tr_Value: \"Valor r\",\n\tr____A_R____CombinationNoLongerAvailable_R____ASelected_:\n\t\t\"Combinación de R404-A/R-507 ya no está disponible, R-404A seleccionado.\",\n\trATING: \"EVALUACIÓN\",\n\trEADONLY: \"SÓLO LECTURA\",\n\trEADY: \"LISTO\",\n\trECTANGULAR: \"RECTANGULAR\",\n\trEF: \"REF\",\n\trEFf: \"REFF\",\n\trEQDate: \"REQ Fecha\",\n\trEQSHIPDATE_: \"REQ Fecha de envío:\",\n\trETRIEVENROESORDERFROMSERVER: \"RECUPERAR ORDEN NROES DE SERVIDOR\",\n\trLA: \"RLA\",\n\trOUTING: \"RUTA\",\n\trUN: \"EJECUTAR\",\n\trUNNUMBER: \"RUN NÚMERO\",\n\trange: \"Gama\",\n\tratedAt: \"Clasificado en\",\n\trating: \"Clasificación\",\n\tratingOptions: \"Valorar opciones\",\n\trear: \"Parte posterior\",\n\trearrangeItemOrder: \"Orden del artículo Reorganizar\",\n\trearrangeItems: \"Reorganización de los elementos\",\n\trearrangeSystemOrder_RenameSystems:\n\t\t\"Reorganizar el orden del sistema / Sistema Cambiar el nombre de\",\n\trearrangeSystems: \"Reorganizar los sistemas de\",\n\trebuildFactoryOrder: \"Reconstruir Orden de fábrica\",\n\trebuildFactoryOrderRequested_: \"Para reconstruir la fábrica solicitado.\",\n\trecentOrders: \"Los pedidos recientes\",\n\trecommendedQuantity: \"Cantidad recomendada\",\n\trecoverMyEdits_: \"Recuperar mis ediciones.\",\n\trectangularBoxDimensions: \"Dimensiones de la caja rectangular\",\n\tredo: \"Rehacer\",\n\treference: \"Referencia\",\n\trefresh: \"Actualizar\",\n\trefreshOrderList: \"Actualizar lista de Orden\",\n\trefrigerant: \"Refrigerante\",\n\trefrigerantFactor: \"Factor de refrigerante\",\n\trefrigerantFactorNotAvailable_: \"Factor de refrigerante no está disponible.\",\n\trefrigerantFactorOutOfRange_: \"Factor refrigerante fuera del alcance.\",\n\trefrigerantNotSelected_: \"Refrigerante no seleccionada!\",\n\trefrigerants: \"Refrigerantes\",\n\trefrigerationDesignTools: \"Herramientas de diseño de refrigeración\",\n\trefrigerationSystemDetails: \"Detalles del sistema de refrigeración\",\n\tregBuild: \"Reg. Construir\",\n\tregion: \"Región\",\n\tregularShipDate_: \"Fecha de envío regular: \",\n\tregularUse: \"Uso regular\",\n\trejectOrder: \"Rechazar Orden\",\n\trejected: \"Rechazada\",\n\trejectingAnOrderWillPreventTheOriginatorFromResubmittingThisOrder_:\n\t\t\"El rechazo de un pedido evitará que el autor de volver a presentar este orden!\",\n\treleaseNotes: \"Notas de la publicación\",\n\tremarks_Notes: \"Observaciones / Notas\",\n\tremarks_TermsAndConditions: \"Comentarios / Términos y Condiciones\",\n\trememberMeOnThisComputer: \"Recordarme en este equipo\",\n\tremo_ve: \"Remo & View\",\n\tremoteOrderLockNotEstablished_: \"fin de bloqueo a distancia no establecido.\",\n\tremoteVersionModificationTimestamp_:\n\t\t\"versión a distancia modificación de marca de hora:\",\n\tremoteVersionUploadTimestamp_: \"versión Carga remota fecha y hora:\",\n\tremove: \"Quitar\",\n\tremove_LocalOrder: \"Orden de quitar & Local\",\n\tremoveFeed: \"Quitar alimentación\",\n\tremoveLastWall: \"Eliminar la última pared\",\n\tremoveLocalOrder: \"Quitar orden Local\",\n\tremoveModel_Item: \"Quitar Modelo / artículo\",\n\tremoveSystem: \"Retire del sistema\",\n\trenumberIDs: \"Cambiar el número de ID\",\n\treplaceAllItems_: \"Vuelva a colocar todos los elementos.\",\n\treplaceLocalOrderWithMasterVersion_:\n\t\t\"Vuelva a colocar el orden local con la versión principal.\",\n\treplaceSelectedItems_: \"Vuelva a colocar los elementos seleccionados.\",\n\treplaceSelectedSystem_: \"Vuelva a colocar el sistema seleccionado.\",\n\treplaceTheOrderInformationFromTheSelectedFile_:\n\t\t\"Vuelva a colocar la información del pedido desde el archivo seleccionado.\",\n\trequested: \"Pidió\",\n\trequestedChanges_PleaseUpdateJob_ScopeAndCheckOffEachItem:\n\t\t\"Los cambios solicitados - Por favor, actualice Trabajo-Ámbito de aplicación y comprobación de cada artículo\",\n\trequestedDate_: \"Fecha solicitada: \",\n\trequestedDateException: \"Fecha de excepción solicitada\",\n\trequestedItemShipDateIsLessThanItemLeadTime_:\n\t\t\"Pidió a la fecha de envío del artículo es menor que el tiempo de entrega artículo!\",\n\trequestedOrderShipDateIsLessThanLeadTime_:\n\t\t\"Pidió a la fecha del buque pedido es menor de tiempo de espera!\",\n\trequestedSystemShipDateIsLessThanLeadTime_:\n\t\t\"Pidió a la fecha del buque sistema es menor que el tiempo de entrega!\",\n\trequired: \"Requerido\",\n\trequiredCapacity: \"Capacidad requerida\",\n\trequiredCapacity_Unit: \"Requiere capacidad / unidad\",\n\trequiredCapacityIsNotSet_: \"No se ha establecido la capacidad requerida!\",\n\trequiredCapacityPerUnit: \"Capacidad requerida por unidad\",\n\trequiredCapacityTolerance: \"Requiere de capacidad de tolerancia\",\n\trequiredOptions: \"Opciones necesarias\",\n\trequiredRatingOptions: \"Requiere Rating opciones\",\n\trequiredShipDate: \"Fecha de envío requeridos\",\n\trequiredValue_: \"valor necesario!\",\n\trequirementDatesInThePast_: \"Requisito de fechas en el pasado!\",\n\tresetColumnWidths: \"Restablecer Anchos de columna\",\n\tresizeColumns: \"Cambiar el tamaño de las columnas\",\n\trestoreQuoteRevisionRequested_:\n\t\t\"revisión de restauración presupuesto solicitado.\",\n\trestoreTheOrderInformationFromTheOrderStore_:\n\t\t\"Restaurar la información del pedido desde el almacén de orden.\",\n\tresultingPriceIsLowerThanFloorPrice_:\n\t\t\"precio resultante es menor que el precio del piso!\",\n\tretrieveOrder: \"Recuperar Orden\",\n\tretry: \"Reintentar\",\n\trev: \"Rev\",\n\trevision: \"Revisión\",\n\trevisionContainsErrors_: \"Revisión contiene errores!\",\n\trevisionContainsWarnings_: \"Revisión contiene advertencias!\",\n\trightEnd: \"Extremo derecho\",\n\trightClickOnTheQuoteTabsOnTheTopLeftOfTheOrderWindow_:\n\t\t\"Haga clic en las fichas Cita en la parte superior izquierda de la ventana de órdenes.\",\n\trounding: \"Redondeo\",\n\trunNumber: \"Ejecutar Número\",\n\trunTime: \"Tiempo de ejecución\",\n\tsAndH: \"S y H\",\n\ts_C_T_: \"SCT\",\n\ts_S_T_: \"SST\",\n\tsCT: \"SCT\",\n\tsECTIONLIST: \"LISTA DE LA SECCIÓN\",\n\tsEEITEMS: \"VER ARTÍCULOS\",\n\tsELECTEDMODELDETAILS: \"DETALLES DEL MODELO SELECCIONADO\",\n\tsERVERERROR_: \"ERROR DEL SERVIDOR.\",\n\tsERVICEPARTSCATALOG: \"CATÁLOGO DE PIEZAS DE SERVICIO\",\n\tsHIPTO: \"ENVIAR A\",\n\tsHIPPEDLOOSE: \"ENVIADO SUELTOS\",\n\tsIDE_: \"LADO 1\",\n\tsITEVOLTAGES: \"SITIO VOLTAJES\",\n\tsOLDBY: \"VENDIDO POR\",\n\tsOLDTO: \"VENDIDO AL\",\n\tsST: \"SST\",\n\tsTARTING: \"A PARTIR\",\n\tsTATE: \"ESTADO\",\n\tsTOPSUBMITTEDORDERORCHANGE: \"PARADA PRESENTADOS PARA O CAMBIO\",\n\tsUBMITNOTES: \"ENVIAR NOTAS\",\n\tsUBMITORDER: \"ENVIAR PEDIDO\",\n\tsUBMITTED: \"PRESENTADOS\",\n\tsUBMITTEDC_O_: \"PRESENTADOS CO\",\n\tsUITABLEREFRIGERANTS: \"REFRIGERANTES CONVENIENTE\",\n\tsYNCHRONIZING: \"SINCRONIZAR\",\n\tsYS: \"SISTEMAS\",\n\tsYSTEM: \"SISTEMA\",\n\tsYSTEMBALANCE: \"SISTEMA DE EQUILIBRIO\",\n\tsYSTEMBULLETIN_: \"BOLETÍN DEL SISTEMA!\",\n\tsYSTEMREFRIGERANT: \"Sistema de refrigeración\",\n\tsales: \"Ventas\",\n\tsalesman: \"Vendedor\",\n\tsameEnd: \"Mismo extremo\",\n\tsaturatedCondensingTemperature: \"Temperatura de condensación saturada\",\n\tsaturatedSuctionTemperature: \"Temperatura de succión saturado\",\n\tsave: \"Guardar\",\n\tsaveAllOrders: \"Guardar todas las órdenes\",\n\tsaveAsDefault: \"Guardar como predeterminado\",\n\tsaveAsDefaults: \"Guardar como valores por defecto\",\n\tsaveAsSiteDefaults: \"Guardar como valores por defecto de sitio\",\n\tsaveChanges: \"Guardar cambios\",\n\tsaveOrder: \"Guardar Orden\",\n\tsaveOrderParameterChanges_: \"Guardar orden de los parámetros cambios?\",\n\tsaveChangedContactInformation_:\n\t\t\"Guardar cambiado la información de contacto.\",\n\tsaveFailed_: \"Error al guardar!\",\n\tsaveMyChanges_: \"Guardar mis cambios.\",\n\tsaveTheseChangesAsANewContact_:\n\t\t\"Guardar estos cambios como un nuevo contacto.\",\n\tsearch: \"Búsqueda\",\n\tsearchServiceParts: \"Partes del servicio de búsqueda\",\n\tsearchingForMatchingAirCooledCondensers_:\n\t\t\"Búsqueda para emparejar condensadores refrigerados por aire refrescado.\",\n\tsearchingForMatchingCompressors_: \"Búsqueda para compresores que empareja.\",\n\tsearchingForMatchingCondensingUnits_:\n\t\t\"Búsqueda por coincidencia unidades condensadoras.\",\n\tsearchingForMatchingEvaporatorUnits_:\n\t\t\"Búsqueda para las unidades evaporador que empareja.\",\n\tsection: \"Sección\",\n\tsectionConstruction: \"Construcción de la sección\",\n\tsectionDivider: \"Divisor de la sección\",\n\tsectionExteriorIsOutdoors: \"Sección Exterior es al aire libre\",\n\tsectionLoad: \"Carga de la sección\",\n\tsectionType: \"Tipo de sección\",\n\tsectionDeletionRequested_: \"Eliminación de la sección solicitada.\",\n\tsectionHasOpeningErrors_: \"Sección tiene errores de apertura!\",\n\tsectionHasOpeningWarning_: \"Sección tiene apertura ADVERTENCIA!\",\n\tsectionNameNotProvided_: \"Nombre de sección no proporcionado.\",\n\tsectionTypeMustBeSelected_: \"Se debe seleccionar tipo de sección!\",\n\tsectional_E_g_StudWall_: \"Seccional (e.g. pared)\",\n\tsections: \"Secciones\",\n\tsectionsSelected: \"Secciones seleccionadas\",\n\tselectAll: \"Seleccionar todo\",\n\tselectApplicationLanguage: \"Seleccione el idioma de la aplicación\",\n\tselectEquipment: \"Seleccione el equipo\",\n\tselectModel: \"Seleccione el modelo\",\n\tselectNextModel_: \"Seleccione el modelo siguiente >\",\n\tselectOptions: \"Seleccione Opciones\",\n\tselectRequestRevision: \"Seleccione Solicitud de Revisión\",\n\tselectRoomShape: \"Seleccione la forma de la habitación\",\n\tselectWhichPowerOfTenToRoundTo_:\n\t\t\"Seleccione el que el poder de diez a redondear.\",\n\tselectedItemDetails: \"Detalles del artículo seleccionado\",\n\tselectedModelDetails: \"Detalles del modelo seleccionado\",\n\tselectedQuoteDetails: \"Datos seleccionados Citar\",\n\tselectedConstructionNotFound_: \"Construcción seleccionada no encontrada!\",\n\tselectedItemCountDiffersFromPasteBufferCount_:\n\t\t\"cuenta seleccionada tema difiere del recuento de pasta de buffer!\",\n\tselectedModelNotFoundInActivePriceBook_:\n\t\t\"modelo seleccionado no se encuentran en el libro de precios de activos!\",\n\tselectedPriceBookHasExpired_: \"datos seleccionados de precios ha caducado!\",\n\tselectionError_: \"error de selección!\",\n\tsendNotification: \"Enviar Notificación\",\n\tsendNotifications: \"Enviar notificaciones\",\n\tsendItToMeAgain: \"Enviarmelo otra vez\",\n\tsendNotificationsTo__SelectAllThatApply_:\n\t\t\"Enviar notificaciones a: (Seleccione todo lo que corresponda)\",\n\tseparatePrice: \"Precio por separado\",\n\tseperatePrice: \"Precio por separado\",\n\tserverConnected: \"Servidor conectado\",\n\tserverNotAvailable: \"Servidor no disponible\",\n\tserverCopyHasDifferentSaveHistory_:\n\t\t\"copia Server tiene diferentes salvar la historia.\",\n\tserverOrdersQueried_: \"órdenes servidor consultado!\",\n\tserverVersionDiffersFromApplication_:\n\t\t\"Server versión difiere de la aplicación!\",\n\tserviceParts: \"Piezas de repuesto\",\n\tsetDefaults: \"Establecer valores predeterminados\",\n\tsetStatus: \"Set en el estado\",\n\tsetQuoteDateToToday_: \"Establecer fecha de cotización el día de hoy.\",\n\tshellApplicationFailedToAcceptCommand_:\n\t\t\"Aplicación Shell ha podido aceptar comandos!\",\n\tshellApplicationFailedToStart_: \"Shell aplicación no se pudo iniciar!\",\n\tshellApplicationFilesAreMissing_:\n\t\t\"Faltan los archivos de la aplicación de Shell!\",\n\tshellTerminatedUnexpectedy_: \"Shell termina Unexpectedy!\",\n\tshellDidNotAcceptCommand_: \"Shell no aceptó el comando.\",\n\tshellDidNotRespond_: \"Shell no respondió.\",\n\tshellIsLoading: \"Shell está cargando\",\n\tshipOrdersFromFile: \"Las órdenes se envían desde archivo\",\n\tshipTo: \"Enviar a\",\n\tshipToInformationIsIncomplete: \"Barco a la información es incompleta\",\n\tshipToRegionMustBeTwoCharacterCode_:\n\t\t\"Barco a la región debe ser el código de dos caracteres!\",\n\tshipment: \"Envío\",\n\tshipped: \"Enviado\",\n\tshippedInformation: \"Enviado información\",\n\tshippedLoose: \"Enviado sueltas\",\n\tshippedLoose_LineItem_: \"Envían sueltos (de partidas )\",\n\tshippingNotes: \"Toma nota de envío\",\n\tshippingTerms: \"Términos de envío\",\n\tshippingWeight: \"Peso para el envío\",\n\tshowAll: \"Mostrar todo\",\n\tshowChangeDetails: \"Mostrar detalles de Cambio\",\n\tshowExtendedParameters: \"Mostrar parámetros extendidos\",\n\tshowItemPrices: \"Mostrar artículo Precios\",\n\tshowLocalOrders: \"Mostrar local órdenes\",\n\tshowMyOrders: \"Mostrar Mis pedidos\",\n\tshowNotes_Tags_AndDates: \"Mostrar notas, etiquetas y fechas\",\n\tshowOptionPrices: \"Mostrar precios de las opciones\",\n\tshowOptions: \"Mostrar opciones\",\n\tshowSplashScreenAtStartup: \"Mostrar pantalla de bienvenida al iniciar\",\n\tshowToolbarText: \"Mostrar barra de herramientas de Texto\",\n\tshowWhereUsedList: \"Mostrar lista Dónde se utiliza\",\n\tshowMeMoreInformation_: \"Mostrar más información.\",\n\tshutdown: \"Apagado\",\n\tside: \"Lado\",\n\tside_: \"Lado 1\",\n\tsignIn: \"Iniciar sesión\",\n\tsignedIn: \"Firmado en\",\n\tsignedIn_: \"Firmado en.\",\n\tsigningInAsGuest_: \"Firma en como invitado.\",\n\tsineWave: \"Onda sinusoidal\",\n\tsiteAltitude: \"Sitio de gran altitud\",\n\tsiteLineFrequency: \"Frecuencia de la línea de sitio\",\n\tsiteAltitudeCanNotBeGreaterThan: \"Altitud del sitio no puede ser superior a\",\n\tsiteAltitudeCanNotBeLessThan: \"Altitud del sitio no puede ser inferior a\",\n\tsiteAltitudeNotEntered_: \"Altitud del sitio no entrado!\",\n\tsmallDimensions: \"Pequeñas dimensiones\",\n\tsoftwarePatches: \"Parches de Software\",\n\tsoldBy: \"Vendido por\",\n\tsoldByNameChangeRequested_: \"Se vende por cambio de nombre solicitado.\",\n\tsoldTo: \"Vendido\",\n\tsoldByInformationIsIncomplete: \"Vendido por información es incompleta\",\n\tsoldToInformationIsIncomplete: \"Vendido a la información es incompleta\",\n\tsoldToRegionMustBeTwoCharacterCode_:\n\t\t\"Vendido a la región debe ser el código de dos caracteres!\",\n\tsomeDescriptionsHaveNotBeenEntered_:\n\t\t\"Algunas descripciones no se han introducido!\",\n\tsomeDesignWindowsAreStillOpen_:\n\t\t\"Algunas ventanas de diseño están todavía abiertas.\",\n\tsomeFactoryCallLeadTimeSettingsAreStillNotSet_:\n\t\t\"Algunas configuraciones de llamadas de fábrica plazo de ejecución aún no se establece!\",\n\tsomeFilesDidNotTransferToTheServer_:\n\t\t\"Algunos archivos no se hizo la transferencia al servidor!\",\n\tsomeFunctionalityMayBeDisabled_: \"La funcionalidad puede ser desactivada!\",\n\tsomeItemsNeedFactoryLeadTimes_PleaseCall_:\n\t\t\"Algunos artículos de necesidad de los tiempos de fábrica de plomo. Por favor llame.\",\n\tsomeItemsNeedFactoryPricing_PleaseCall_:\n\t\t\"Algunos elementos necesitan precios de fábrica. Por favor llame!\",\n\tsomeOptionsWerePreviouslySetToAnotherValue_:\n\t\t\"Algunas opciones se establecieron con anterioridad a otro valor.\",\n\tsomeOrdersNotSaved_: \"Algunas órdenes no se guarda!\",\n\tsomeOrdersWereNotProperlyClosed_: \"Algunas órdenes no fueron bien cerradas.\",\n\tsomeParametersChanged_: \"Algunos parámetros cambiado.\",\n\tsomePriceChangesOccurred_: \"Algunos cambios en los precios se produjo.\",\n\tsomePricesOrOptionsMayHaveChanged_:\n\t\t\"Algunos precios u opciones pueden haber cambiado!\",\n\tsomePricesWereUpdated_: \"Algunos precios se han actualizado!\",\n\tsomePrintFunctionsAreDisabled_:\n\t\t\"Algunas funciones de impresión están desactivadas.\",\n\tspanish: \"Español\",\n\tspareFeeds: \"Feeds de repuesto\",\n\tspares: \"Repuestos\",\n\tspecificHeatAboveFreezing: \"Calor específico sobre congelación\",\n\tspecificHeatBelowFreezing: \"Calor específico bajo cero\",\n\tstandard: \"Norma\",\n\tstandardOrder: \"Pedido estándar\",\n\tstandardTextFile_AllListedParts_:\n\t\t\"Estándar de archivo de texto - Todos los elementos de publicación.\",\n\tstandardTextFile_SelectedPartsOnly_:\n\t\t\"archivo de texto estándar - sólo piezas seleccionadas.\",\n\tstartNROES: \"Inicio NROES\",\n\tstartUpOptions: \"Opciones de inicio\",\n\tstartShellWhenILogInToWindows: \"Iniciar el shell al iniciar sesión windows\",\n\tstarting: \"A partir\",\n\tstartingTools: \"Herramientas de partida\",\n\tstate: \"Estado\",\n\tstatus: \"Condición Jurídica y Social\",\n\tstatus_: \"Estado:\",\n\tstatusStrip: \"Statusstrip\",\n\tstockingModelOrder: \"Orden del modelo de siembra\",\n\tstoredOrderIsMoreRecentThanRecoveryData_:\n\t\t\"Para almacenados es más reciente que la recuperación de datos.\",\n\tstripCurtains: \"Cortinas de la tira\",\n\tstyle: \"Estilo\",\n\tsub_Total: \"Subtotal\",\n\tsubject: \"Asunto\",\n\tsubmitChangeOrderNow: \"Envíe el Cambio pedido ahora\",\n\tsubmitChangeOrderRequestToManufacturer:\n\t\t\"Presentar solicitud de cambio de orden a un fabricante\",\n\tsubmitChangeRequestToPurchaser:\n\t\t\"Presentar solicitud de cambio para el comprador\",\n\tsubmitNotes: \"Presentar Notas\",\n\tsubmitOrder: \"Enviar pedido\",\n\tsubmitOrderNow: \"Envíe su pedido ahora\",\n\tsubmitted: \"Enviado\",\n\tsubmittedOrdersMayNotBeEditedInOff_lineMode_:\n\t\t\"pedidos enviados no pueden ser editadas en el modo fuera de línea.\",\n\tsuccess_: \"Éxito!\",\n\tsuction: \"Aspiración\",\n\tsuctionTemp: \"Temperatura de aspiración\",\n\tsuctionTemp_S_S_T__: \"Temperatura de aspiración (SST)\",\n\tsuctionTemperatureCanNotBeGreaterThan:\n\t\t\"Temperatura de aspiración no puede ser mayor que\",\n\tsuctionTemperatureCanNotBeLessThan:\n\t\t\"Temperatura de aspiración no puede ser inferior a\",\n\tsuctionTemperatureIsGreaterThanCondensingTemperature_:\n\t\t\"Temperatura de succión es mayor que la temperatura de condensación.\",\n\tsuctionTemperatureIsMissing_: \"Temperatura de aspiración es falta.\",\n\tsuctionTemperatureIsRequired_: \"Temperatura de succión es necesaria.\",\n\tsuitableModels: \"Modelos adecuados\",\n\tswitchPriceBook: \"Interruptor PriceBook\",\n\tsynchronizingOrder_: \"Sincronización de la Orden:\",\n\tsyncronizingContacts: \"Sincronizar contactos\",\n\tsystem: \"Sistema de\",\n\tsystemLoad: \"Sistema de carga\",\n\tsystemName: \"Sistema de Nombres de\",\n\tsystemNetPrice: \"Sistema de precios netos\",\n\tsystemNotes: \"Sistema de Notas\",\n\tsystemRun_Time: \"Sistema Run-Time\",\n\tsystemTagging: \"Sistema de etiquetado\",\n\tsystemWeight: \"Peso del sistema\",\n\tsystemLoadIsMissing_: \"Carga del sistema es falta!\",\n\tsystemOptionIsNoLongerAvailable_: \"Opción de sistema ya no está disponible!\",\n\tsystemReturned_: \"Devuelve el sistema.\",\n\tsystemsOnThisOrderContainErrors_: \"Sistemas de este fin de contener errores.\",\n\tsystemsOnThisOrderContainWarnings_:\n\t\t\"Sistemas de este fin de contener las advertencias.\",\n\tt_D_: \"TD\",\n\tt_D_Error: \"TD Error\",\n\tt_H_R: \"THR\",\n\ttD: \"TD\",\n\ttDCanNotBeCalculated_: \"No se puede calcular el TD.\",\n\ttDCanNotBeGreaterThan: \"TD no puede ser mayor que\",\n\ttDCanNotBeLessThan: \"TD no puede ser inferior a\",\n\ttDOutOfEnteredToleranceRange_:\n\t\t\"TD fuera del rango de tolerancia introducido.\",\n\ttDOutOfMaximumRange_: \"TD fuera del alcance máximo.\",\n\ttERMS_CONDITIONSANDREMARKS: \"TÉRMINOS Y CONDICIONES Y COMENTARIOS\",\n\ttHEVALUESCONTAINEDHERINAREBASEDONLABORATORYFINDINGSANDTHEINITIALCONDITIONSENTEREDBYTHEUSER_:\n\t\t\"EL HERIN CONTENIDOS DE VALORES SE BASAN EN RESULTADOS DE LABORATORIO Y LAS CONDICIONES INICIALES INTRODUCIDAS POR EL USUARIO.\",\n\ttHR: \"THR\",\n\ttHRCanNotBeCalculated_: \"No se puede calcular la THR.\",\n\ttOTAL: \"TOTAL\",\n\ttOTALINFILTRATIONLOAD: \"CARGA TOTAL DE INFILTRACIÓN\",\n\ttOTALLISTPRICE: \"LISTA DE PRECIOS TOTAL\",\n\ttOTALNET: \"NET TOTAL\",\n\ttOTALQUOTEPRICE: \"PRECIO TOTAL PRESUPUESTO\",\n\ttYP: \"TIP\",\n\ttYPE: \"TIPO\",\n\ttabSeparatedTextFiles: \"Ficha Archivos de texto separados\",\n\ttagging: \"Etiquetado\",\n\ttaggingID: \"Etiquetado de identificación\",\n\ttaggingID_: \"Etiquetado ID #\",\n\ttaggingText: \"Etiquetado de texto\",\n\ttakeOwnership: \"Tomar posesión\",\n\ttargetPriceAccordingToAdjustmentAndRoundingFactors_:\n\t\t\"Precio objetivo de acuerdo a los factores de ajuste y el redondeo.\",\n\ttax: \"Impuestos\",\n\ttaxes: \"Impuestos\",\n\ttemperature: \"Temperatura\",\n\ttemperatures: \"Temperaturas\",\n\tterminationOptions: \"Opciones de terminación\",\n\tterms: \"Condiciones\",\n\ttest: \"Prueba\",\n\ttextBox: \"Cuadro De Texto\",\n\ttheInternalRelativeHumidityNotEntered_: \"La higrometría interna no entrada!\",\n\ttheMaterialLoadHasNotBeenCalculatedOrEntered_:\n\t\t\"La carga de Material no ha sido calculada o entrado!\",\n\ttheMaterialMaterialNameIsNotEntered_:\n\t\t\"No se especifica el nombre del material Material!\",\n\ttheMaterialMaterialTypeIsNotSelected_:\n\t\t\"No se ha seleccionado el tipo de material Material!\",\n\ttheOriginatingCustomersInformationIsAlreadyListedInYourContactDatabase_:\n\t\t\"La información procedente de clientes ya está en la base de datos de contacto.\",\n\ttheR_ValueHasNotBeenEntered_: \"No ha entrado el valor-r!\",\n\ttheActualCondensingTemperatureCouldNotBeCalculated_:\n\t\t\"No pudo calcularse la temperatura de condensación real!\",\n\ttheAmbientTemperatureIsNotEntered_: \"No se ha introducido la temperatura!\",\n\ttheApplicationCouldNotMoveFile_BootStrap_exeFromTheUpdatesFolderToTheApplicationFolder_:\n\t\t\"La aplicación no se podía mover BootStrap.exe archivo 'de la carpeta de actualizaciones a la carpeta de la aplicación.\",\n\ttheApplicationCouldNotRemoveFile_BootStrap_exe_FromTheApplicationFolder_:\n\t\t'La aplicación no se pudo eliminar \"BootStrap.exe\" archivo de la carpeta de la aplicación.',\n\ttheApplicationCouldNotSpawn_BootStrap_exe_InTheApplicationFolder_:\n\t\t\"La aplicación no podría generar \\\"BootStrap.exe 'en la carpeta de la aplicación.\",\n\ttheAreaHasNotBeenCalculatedOrEntered_:\n\t\t\"La zona no ha sido calculada o entrado!\",\n\ttheAreaIsGreaterThanTheSectionArea_:\n\t\t\"El área es mayor que el área de la sección!\",\n\ttheBoxTypeMustBeSelected_: \"Se debe seleccionar el tipo de caja!\",\n\ttheCentreDistanceIsNotEntered_: \"No se especifica la distancia de centro!\",\n\ttheChangeCanNotBeProcessedUntilYouCloseTheWorkbookInThisApplication_:\n\t\t\"El cambio no puede ser procesada hasta que cierre el libro en esta aplicación.\",\n\ttheConstructionK_FactorIsNotCalculatedOrEntered_:\n\t\t\"La construcción, el Factor K es calculada ni entró!\",\n\ttheConstructionR_ValueIsNotCalculatedOrEntered_:\n\t\t\"La construcción valor-r no calcula ni entrado!\",\n\ttheConstructionNameIsNotEntered_:\n\t\t\"No se ha introducido el nombre de construcción!\",\n\ttheConstructionThicknessHasNotBeenEntered_:\n\t\t\"El grueso de la construcción no ha entrado!\",\n\ttheConstructionTypeIsNotSelected_:\n\t\t\"No se ha seleccionado el tipo de construcción!\",\n\ttheCorrectQuoteRevisionIsSelected:\n\t\t\"La revisión presupuesto correcto se selecciona\",\n\ttheCurrentPricebookHasBeenSuperseded_:\n\t\t\"El pricebook actual ha sido reemplazado.\",\n\ttheCurrentPricebookHasExpired_: \"El pricebook actual ha caducado.\",\n\ttheCurrentPricebookNoLongerExists_: \"El pricebook actual ya no existe.\",\n\ttheCurrentPricebookWillExpireInLessThanAMonth_:\n\t\t\"El pricebook actual expirará en menos de un mes.\",\n\ttheCurrentSettingsWillBeUsedOnAllNewOrdersForThisDivision_:\n\t\t\"La configuración actual se utilizará en todos los nuevos pedidos de esta división.\",\n\ttheCurrentSettingsWillBeUsedOnAllNewOrders_:\n\t\t\"La configuración actual se utilizará en todos los pedidos nuevos.\",\n\ttheDividerMaterialNameIsNotEntered_:\n\t\t\"No se especifica el nombre del material divisor!\",\n\ttheDividerMaterialTypeIsNotSelected_:\n\t\t\"No se ha seleccionado el tipo de material del divisor!\",\n\ttheDividerWidthIsNotEntered_: \"No se especifica la anchura del divisor!\",\n\ttheEffectiveR_ValueIsNotCalculatedOrEntered_:\n\t\t\"El valor-r eficaz no es calculado ni entró!\",\n\ttheEmailAddressGivenIsNotListed_:\n\t\t\"La dirección de correo electrónico indicada no aparece.\",\n\ttheExternalRelativeHumidityMustBeGreaterThanZero_:\n\t\t\"La humedad relativa externa debe ser mayor que cero!\",\n\ttheExternalRelativeHumidityMustBeLessThan____:\n\t\t\"La humedad relativa externa debe ser menos de 100!\",\n\ttheExternalRelativeHumidityNotEntered_: \"La higrometría externa no entrada!\",\n\ttheExternalTemperatureIsLowerThanTheInternalTemperature_:\n\t\t\"La temperatura exterior es menor que la temperatura interna!\",\n\ttheExternalTemperatureIsNotEntered_:\n\t\t\"No se ha introducido la temperatura exterior!\",\n\ttheExternalTemperatureIsTooHigh_:\n\t\t\"La temperatura exterior es demasiado alta!\",\n\ttheExternalTemperatureIsTooLow_: \"La temperatura exterior es muy baja!\",\n\ttheExternalTemperatureNotEntered_: \"La temperatura exterior no entrada!\",\n\ttheFactoryInvoiceRecipientIsCorrect:\n\t\t\"El destinatario de la factura de fábrica es correcta\",\n\ttheFactoryInvoiceWillBeSentTo: \"La factura de fábrica será enviado a\",\n\ttheFactoryIsNotShippingOnTheSelectedDate_:\n\t\t\"La fábrica no es el envío en la fecha seleccionada.\",\n\ttheFloorAreaIsNotCalculatedOrEntered_:\n\t\t\"La superficie no es calculada ni entró!\",\n\ttheFollowingChangesHaveBeenVerified:\n\t\t\"Los siguientes cambios han sido verificadas\",\n\ttheFollowingOptionIsNotAllowedWithThisPackage_:\n\t\t\"La siguiente opción no está permitido en este paquete.\",\n\ttheFollowingOrdersCouldNotBeMarkedAsClosed_:\n\t\t\"Las órdenes siguientes no se pudieron marcar como cerrado.\",\n\ttheFollowingOrdersCouldNotBeMarkedAsShipped_:\n\t\t\"Las siguientes órdenes no podían ser marcados de fábrica.\",\n\ttheFollowingOrdersCouldNotBeSynchronized_:\n\t\t\"Las órdenes siguientes no se pudieron sincronizar!\",\n\ttheInfiltrationLoadHasNotBeenCalculatedOrEntered_:\n\t\t\"La carga de la infiltración no ha sido calculada o entrado!\",\n\ttheInformationInTheStoreIsOlderThanTheSelectedFile_:\n\t\t\"La información de la tienda es más antiguo que el archivo seleccionado.\",\n\ttheInternalTemperatureIsNotEntered_:\n\t\t\"No se ha introducido la temperatura interna!\",\n\ttheItemOrSomeOptionsNeedFactoryLeadTimes_PleaseCall_:\n\t\t\"El elemento o algunas opciones necesitan plazos de fábrica. Por favor llame!\",\n\ttheLayerThicknessIsNotCalculatedOrEntered_:\n\t\t\"El espesor de la capa no es calculado o entró!\",\n\ttheLayerThicknessIsNotEntered_: \"No se ha introducido el grueso de la capa!\",\n\ttheLoadIsNotCalculatedOrEntered_: \"La carga no es calculada ni entró!\",\n\ttheOpeinngWidthIsGreaterThanTheSectionWidth_:\n\t\t\"El ancho de opeinng es mayor que el ancho de la sección!\",\n\ttheOpeningHeightHasNotBeenEntered_: \"La altura de la abertura no ha entrado!\",\n\ttheOpeningHeightIsGreaterThanTheSectionHeight_:\n\t\t\"La altura de la abertura es mayor que la altura de la sección!\",\n\ttheOpeningTypeIsNotSelected_: \"No se ha seleccionado el tipo de apertura!\",\n\ttheOpeningWidthHasNotBeenEntered_: \"El ancho del abertura no ha entrado!\",\n\ttheOrderCanNotBeProcessedUntilYouCloseTheWorkbookInThisApplication_:\n\t\t\"El orden no puede ser procesada hasta que cierre el libro en esta aplicación.\",\n\ttheOrderFileAppearsCorrupt_: \"El archivo de orden aparece corrupto.\",\n\ttheOrderIsAlreadyListedInTheLocalOrderDatabase_:\n\t\t\"El orden ya está incluida en la base de datos de orden local.\",\n\ttheOrderIsLockedByAnotherUser_: \"El orden está bloqueado por otro usuario.\",\n\ttheOrderWindowWillUpdateWhenYouCloseTheServicePartsWindow_:\n\t\t\"La ventana de órdenes se actualizará cuando se cierra la ventana de partes de servicio.\",\n\ttheOriginalOrderHasNotBeenProcessedYet_:\n\t\t\"El pedido original no ha sido procesado aún.\",\n\tthePerimeterLengthMustBeEnteredForSlabOnGradeFloors_:\n\t\t\"La longitud del perímetro debe introducirse para losa en plantas de grado!\",\n\tthePowerUnitsAreNotEntered_: \"No se introducen las unidades de energía!\",\n\tthePriceBookSelectedForThisOrderHasBeenUpdated_:\n\t\t\"Se ha actualizado la lista de precios seleccionada para este pedido!\",\n\tthePriceBookUsedForTheOpenChangeRequestHasBeenRevised_:\n\t\t\"El precio de los libros utilizados para la solicitud de cambio libre ha sido revisado.\",\n\tthePriceBookUsedForTheOpenChangeRequestHasBeenSuperseded_:\n\t\t\"El precio de los libros utilizados para la solicitud de cambio libre ha sido sustituida.\",\n\tthePriceBookUsedForTheOpenChangeRequestIsExpiring_:\n\t\t\"El precio de los libros utilizados para la solicitud de cambio abierta va a expirar.\",\n\tthePriceBookUsedForThisOrderHasBeenRevised_:\n\t\t\"El libro de precios utilizado para esta orden ha sido revisado.\",\n\tthePriceBookUsedForThisOrderHasBeenSuperseded_:\n\t\t\"El libro de precios utilizado para esta orden ha sido superado.\",\n\tthePriceBookUsedForThisOrderIsExpiring_:\n\t\t\"El precio de los libros utilizados para este fin va a expirar.\",\n\tthePriceBookUsedOnOneQuoteHasBeenRevised_:\n\t\t\"El precio de los libros utilizados en una cita ha sido revisado.\",\n\tthePriceBookUsedOnOneQuoteHasBeenSuperseded_:\n\t\t\"El precio de los libros utilizados en una cita ha sido reemplazado.\",\n\tthePriceBookUsedOnOneQuoteHasExpired_:\n\t\t\"El precio de los libros utilizados en una cita ha caducado.\",\n\tthePriceBookUsedOnOneQuoteIsMissing_:\n\t\t\"El precio de los libros utilizados en una cita que falta.\",\n\tthePriceBookWasUpdated_: \"El precio de los libros ha sido actualizado!\",\n\tthePriceBooksUsedForThisOrderAreExpiring_:\n\t\t\"Los libros de precio utilizado para este fin se terminaría.\",\n\tthePriceBooksUsedForThisOrderHaveBeenRevised_:\n\t\t\"Los libros de precio utilizado para este fin se han revisado.\",\n\tthePriceBooksUsedForThisOrderHaveBeenSuperseded_:\n\t\t\"Los libros de precio utilizado para este fin, han sido sustituidos.\",\n\tthePriceBooksUsedOn: \"El precio de los libros utilizados en\",\n\tthePriceBooksUsedOnOneQuoteIsExpiring_:\n\t\t\"El precio de los libros utilizados en una cita es que expira.\",\n\ttheProductFreezingTemperatureIsNotEntered_:\n\t\t\"No se introduce el producto a temperaturas de congelamiento.\",\n\ttheProductIsEnteringAtTheInternalTemperature_TheFinalTemperatureMustAlsoBeTheInternalTemperature_:\n\t\t\"El producto está entrando en la temperatura interna, la temperatura final debe ser también la temperatura interna!\",\n\ttheProductTypeIsNotSelected_: \"No se ha seleccionado el tipo de producto!\",\n\ttheProduct_sEnteringTemperatureIsNotSet_:\n\t\t\"Temperatura de entrada del producto no ha sido programado!\",\n\ttheProduct_sFinalTemperatureCanNotBeGreaterThanTheEnteringTemperature_:\n\t\t\"Temperatura final del producto no puede ser mayor que la temperatura de entrada!\",\n\ttheProduct_sFinalTemperatureCanNotBeLowerThanTheEnteringTemperature_:\n\t\t\"Temperatura final del producto no puede ser inferior a la temperatura de entrada!\",\n\ttheProduct_sFinalTemperatureCanNotBePulledHigherThanTheInternalTemperature_:\n\t\t\"Temperatura final del producto no puede tirar más alto que la temperatura interna!\",\n\ttheProduct_sFinalTemperatureCanNotBePulledLowerThanTheInternalTemperature_:\n\t\t\"Temperatura final del producto no puede tirar más baja que la temperatura interna!\",\n\ttheProduct_sFinalTemperatureIsNotSet_:\n\t\t\"No se ha establecido la temperatura final del producto.\",\n\ttheProduct_sLoadFactorIsNotSet_:\n\t\t\"No se establece el factor de carga del producto!\",\n\ttheProduct_sLoadFactorShouldBeOneUnlessRapidCoolingIsRequired__:\n\t\t\"Factor de carga del producto debe ser uno a menos que el enfriamiento rápido se requiere. !\",\n\ttheProduct_sLoadIsNotCalculatedNotEntered_:\n\t\t\"Carga del producto no se calcula no entró!\",\n\ttheProduct_sMoistureContentIsNotEntered_:\n\t\t\"No se especifica el contenido de humedad del producto!\",\n\ttheProduct_sPullDownTimeIsNotSet_:\n\t\t\"No se ha establecido la extracción del producto tiempo!\",\n\ttheProduct_sSpecificHeatAboveFreezingIsNotEntered_:\n\t\t\"Calor específico del producto por encima de la congelación no se entra!\",\n\ttheProduct_sSpecificHeatBelowFreezingIsNotEntered_:\n\t\t\"No se introduce calor del específico del producto bajo cero!\",\n\ttheProduct_sWeightIsNotEntered_: \"Peso del producto no se entra!\",\n\ttheProgramStoreIsNewerThanTheFileYouSelected_:\n\t\t\"El almacén de programa es más reciente que el archivo que ha seleccionado!\",\n\ttheQuoteHasBeenSignedByTheCustomer: \"La cita ha sido firmado por el cliente\",\n\ttheRunTimeIsNotEntered_: \"No se especifica el tiempo de ejecución.\",\n\ttheSelectedChangeOrderHasBeenProcessedByOurOrderDepartment_:\n\t\t\"La orden de cambio seleccionada ha sido procesado por nuestro Departamento de Pedidos.\",\n\ttheSelectedChangeOrderHasBeenProcessedByThePurchaser_:\n\t\t\"La orden de cambio seleccionada ha sido procesado por el comprador.\",\n\ttheSelectedOrderHasBeenProcessedByOurOrderDepartment_:\n\t\t\"El orden elegido ha sido procesado por nuestro Departamento de Pedidos.\",\n\ttheSelectedOrderHasBeenProcessedByThePurchaser_:\n\t\t\"El orden elegido ha sido procesado por el comprador.\",\n\ttheSelectedOrderIsOpenInAnotherSessionOfNROES_:\n\t\t\"El orden elegido está abierto en otra sesión de NROES.\",\n\ttheSelectedRefrigerantIsNotAvailableOnThisUnit_:\n\t\t\"El refrigerante seleccionado no está disponible en esta unidad!\",\n\ttheServerReturnedTheFollowing_: \"El servidor devolvió el siguiente.\",\n\ttheSystemReportedError: \"El sistema ha notificado el error\",\n\ttheSystemReportedTheFollowingError_: \"El sistema arrojó el siguiente error.\",\n\ttheTotalInfiltrationLoadIsNotCalculatedOrEntered_:\n\t\t\"La carga total de infiltración no es calculada ni entró!\",\n\ttheTotalVolumeIsNotCalculatedOrEntered_:\n\t\t\"El volumen total no es calculado ni entró!\",\n\ttheUserNameYouEnteredIsNotRegisteredOnThisWorkstation_:\n\t\t\"El nombre de usuario que ha introducido no está registrado en esta estación de trabajo!\",\n\ttheValueWillBeAddedOrSubtractedFromTheCurrentPrice_:\n\t\t\"El valor se suma o se resta del precio actual.\",\n\tthenClickOnSaveAgain_: \"Luego haga clic en guardar de nuevo.\",\n\tthereAreNoItemsOnThisOrder_: \"No hay elementos en este orden!\",\n\tthereAreNoOptionsAvailableForThisUnit_:\n\t\t\"No hay opciones disponibles para esta unidad!\",\n\tthickness: \"Grueso\",\n\tthicknessIsNotEntered_: \"No se ha introducido grueso!\",\n\tthirdParty: \"Tercera Parte\",\n\tthisMayTakeAFewMinutes_: \"Esta operación puede tardar unos minutos.\",\n\tthisModelHasOptionsAttached_: \"Este modelo cuenta con opciones instaladas.\",\n\tthisOrderHasBeenPutOnHoldByTheOrderDepartment_:\n\t\t\"Esta orden ha quedado en suspenso por el departamento de pedidos.\",\n\tthisOrderHasBeenRejectedByTheOrderDepartment_:\n\t\t\"Este pedido ha sido rechazado por el departamento de pedidos.\",\n\tthisOrderHasPriceBookIssues_:\n\t\t\"Esta orden tiene problemas de precio de los libros.\",\n\tthisOrderWasNotClosedProperlyTheLastTimeYouOpenedItOnThisWorkstation_:\n\t\t\"Esta orden no se cerró correctamente la última vez que se abrió en esta estación de trabajo.\",\n\tthisOrderWasSavedUsingAPreviousVersionOfYourMultiplierStructure_:\n\t\t\"Esta orden se guardó con una versión anterior de la estructura de su multiplicador!\",\n\tthisOrderWasSavedUsingAPreviousVersionOfYourUserCatalogueProfile_:\n\t\t\"Esta orden se guardó con una versión anterior de su perfil de usuario catálogo!\",\n\ttileHorizontally: \"Mosaico horizontal\",\n\ttileVertically: \"Mosaico vertical\",\n\ttime: \"Tiempo\",\n\ttitle: \"Título\",\n\ttoNearest: \"Para más cercana\",\n\ttoNearest_: \"Para más cercana 1\",\n\ttoNearest_____: \"Para más cercana 1,000\",\n\ttoNearest__: \"Para más cercana 10\",\n\ttoNearest______: \"Para más cercana 10,000\",\n\ttoNearest___: \"Para más cercana 100\",\n\ttoNearest_______: \"Para más cercana 100,000\",\n\ttoAssistUs_PleaseProvideAnyFurtherInformationYouMayThinkIsRelevant_:\n\t\t\"Para ayudarnos, por favor proporcione cualquier información adicional que considere relevante.\",\n\ttoChangeThePartQuantities_PleaseEditThemInTheOrderWindow_:\n\t\t\"Para cambiar las cantidades parte, por favor, editarlos en la ventana de órdenes.\",\n\ttolerance: \"Tolerancia\",\n\ttools: \"Herramientas\",\n\ttotal: \"Total\",\n\ttotalCapacityAtDesignTD: \"Capacidad total en diseño TD\",\n\ttotalEquipmentPrice: \"Precio total del equipo\",\n\ttotalHeatRejected: \"El calor total rechazado\",\n\ttotalHourlyLoad: \"Carga horaria total\",\n\ttotalLoadRequired: \"Carga total requerida\",\n\ttotalMiscellaneousLoad: \"Carga total de varios\",\n\ttotalOpeningInfiltration: \"Infiltración de apertura total\",\n\ttotalOtherLoads: \"Total otras cargas\",\n\ttotalPrice: \"Precio Total\",\n\ttotalProductLoad: \"Carga total del producto\",\n\ttotalProductWeight: \"Peso total del producto\",\n\ttotalSystemCapacity: \"Capacidad total del sistema\",\n\ttotalThickness: \"Espesor total\",\n\ttotalVolume: \"Volumen total\",\n\ttotalWallLoad: \"Carga total del muro\",\n\ttotalDoorWidthExceedsSectionWidth:\n\t\t\"Anchura total de la puerta supera el ancho de la sección\",\n\ttotalHeatRejectedOutOfRange_: \"Calor total rechazado fuera de rango.\",\n\ttotalOpeningAreaExceedsSectionArea:\n\t\t\"Área de apertura total excede el área de sección\",\n\ttranslationsAreUNDERCONSTRUCTIONAndMayBeLiteralByNatureAndMayBeContextuallyInError_:\n\t\t\"Las traducciones están en construcción y puede ser literal, por naturaleza, y puede ser contextualmente en el error.\",\n\ttrentonLoadCalcFiles: \"Trenton Cargar archivos Calc\",\n\ttrentonRefrigeration: \"Refrigeración de Trenton\",\n\ttubeConfiguration: \"Configuración de tubo\",\n\ttubeRows: \"Filas de tubo\",\n\ttubes: \"Tubos\",\n\ttubesPerFeed: \"Tubos por Feed\",\n\ttubesPerRow: \"Tubos por fila\",\n\ttyp: \"Typ\",\n\ttype: \"Tipo\",\n\tu_SHAPED: \"U - EN FORMA\",\n\tu_S_: \"EE.UU.\",\n\tu_S_English: \"EE.UU. Inglés\",\n\tuNIT: \"UNIDAD\",\n\tuNITLIST: \"UNIDAD DE LA LISTA\",\n\tuNITNET: \"UNIDAD NET\",\n\tuNLESSOTHERWISESPECIFIED: \"A MENOS QUE SE INDIQUE LO CONTRARIO\",\n\tuNUSEDCONNECTIONS: \"CONEXIONES NO UTILIZADAS\",\n\tuPDATED: \"ACTUALIZADO\",\n\tuSERINFORMATION: \"INFORMACIÓN DE USUARIO\",\n\tuSERPREFERENCES: \"PREFERENCIAS DEL USUARIO\",\n\tundo: \"Deshacer\",\n\tunit_: \"Unidad #\",\n\tunitCooler: \"Unidad de refrigerador\",\n\tunitList: \"Lista de Unidad\",\n\tunitNet: \"Neto de la unidad\",\n\tunitPrice: \"Precio unitario\",\n\tunitTotal: \"Total de la unidad\",\n\tunitIsNotCompatibleWithSelectedSystemRefrigerant_:\n\t\t\"Unidad no es compatible con el refrigerante del sistema seleccionado!\",\n\tunits: \"Unidades\",\n\tunknownReason_: \"Razón desconocida.\",\n\tuntilTheChangeIsProcessedByTheManufacturer_YouMayStopYourRequest_:\n\t\t\"Hasta que el cambio es procesado por el fabricante, que puede dejar su solicitud.\",\n\tuntilThen_FunctionalityWillBeLimited_:\n\t\t\"Hasta entonces, funcionalidad será limitado.\",\n\tunusedFeeds: \"Sin usar los Feeds\",\n\tupOrDown: \"Arriba o hacia abajo\",\n\tupdateAllMultipliers: \"Actualizar todos los multiplicadores\",\n\tupdateAllParameters: \"Actualizar todos los parámetros\",\n\tupdateAllPrices: \"Actualizar todos los precios\",\n\tupdateNow: \"Actualizar ahora\",\n\tupdatePricebook: \"Actualizar Pricebook\",\n\tupdatePending_: \"Actualización pendiente.\",\n\tupdateTheCurrentInformation_Or: \"Actualización de la información actual. o \",\n\tupdateTheExistingListing_: \"Actualización de la lista existente.\",\n\tupdatesCanNotBeInstalled_: \"Las actualizaciones no se puede instalar.\",\n\tuploadToJOB_SCOPE: \"Subir Para TRABAJO-SCOPE\",\n\tuploadingBuffer: \"Carga de Buffer\",\n\tuploadingPreviouslySavedFiles: \"Subida de archivos guardados previamente\",\n\tuploadingQueuedOrders: \"Carga en la cola de pedidos\",\n\tuploadingQueuedOrder_: \"Subida de cola Orden:\",\n\tuseLogoImageFile: \"Uso del Logo de archivo de imagen\",\n\tuseMyInformation: \"Use mi información\",\n\tuseBoxSetting: \"Utilice la configuración del cuadro de\",\n\tuseMenuFunctionCreateChangeOrderInstead_:\n\t\t\"Utiliza la función de menú Crear Orden de Cambio en su lugar.\",\n\tuseTheHOLDFunctionIfYouExpectTheOriginatorToCorrectTheOrder_:\n\t\t\"Utilice la función de si espera que el emisor para corregir el orden!\",\n\tuseTheSTOPSUBMITTEDCHANGESelectionInTheOrderMenu_:\n\t\t\"Utilice el botón STOP CAMBIO PRESENTADOS selección en el menú de la Orden.\",\n\tuseTheSTOPSUBMITTEDORDERSelectionInTheOrderMenu_:\n\t\t\"Utilice el botón STOP PRESENTADOS PARA selección en el menú de la Orden.\",\n\tuseTheMenuToCreateNewRevision_s_FromYourEditsAsDesired_:\n\t\t\"Utilice el menú para crear nueva revisión (s) de las modificaciones que desee.\",\n\tuserID: \"ID de usuario\",\n\tuserInformation: \"Información de usuario\",\n\tuserInformationRequested_: \"Usuario información solicitada.\",\n\tuserName: \"Nombre de usuario\",\n\tuserRegistrationInformation: \"Información de Registro de Usuario\",\n\tuserVerification: \"Verificación del usuario\",\n\tuserNameRequired_: \"Nombre de usuario requerido.\",\n\tuserSelectablePriceAdjustmentValue_:\n\t\t\"El usuario puede seleccionar el valor de ajuste de precios.\",\n\tusernameNotFound_: \"Nombre de usuario no se encuentra!\",\n\tusingLocalVersion_: \"Al usar la versión local.\",\n\tvWaffle: \"Wafles de v\",\n\tvOLTAGE: \"TENSIÓN\",\n\tvalueRequired_: \"Valor requerido!\",\n\tvalueMustBeGreaterThanZero_: \"Valor debe ser mayor que cero!\",\n\tvarious: \"Varios\",\n\tvelocity: \"Velocidad\",\n\tventilationAirRelativeHumidity___:\n\t\t\"Aire de ventilación de la humedad relativa (%)\",\n\tventilationAirTemperature: \"Temperatura del aire de ventilación\",\n\tventilationRate: \"Tasa de ventilación\",\n\tventilationAirRelativeHumidityIsNotEntered_:\n\t\t\"No se ha introducido la higrometría del aire de ventilación!\",\n\tventilationAirTemperatureIsNotEntered_:\n\t\t\"No se ha introducido la temperatura del aire de ventilación!\",\n\tventilationRateIsLessThanTheRecommendedMinimumValue_:\n\t\t\"Tasa de ventilación es menor que el valor mínimo recomendado!\",\n\tverifyDesign: \"Compruebe Diseño\",\n\tversion: \"Versión\",\n\tversion_OfNROESUsesADifferentSaveStrategy_:\n\t\t\"La versión 8 de NROES utiliza una diferente estrategia de salvar.\",\n\tversion_UsesAWorkbookForYourJobInsteadOfMultipleQuoteRevisionFiles_:\n\t\t\"Versión 8 utiliza un libro por su trabajo en lugar de varios archivos citan revisión.\",\n\tvertical: \"Vertical\",\n\tvia: \"A través de\",\n\tview_ArchivedFiles: \"Vista & archivos archivados\",\n\tviewCSV: \"Ver CSV\",\n\tvisitUsOn_Line: \"Visítenos en línea\",\n\tvoltage: \"Voltaje\",\n\tvolume: \"Volumen\",\n\twAITINGFORSERVICEPARTSCATALOGUETOLOAD:\n\t\t\"EN ESPERA DE CATÁLOGO DE SERVICIOS DE PIEZAS PARA CARGAR\",\n\twARNING: \"ADVERTENCIA\",\n\twARNING_: \"ADVERTENCIA!\",\n\twARNINGS: \"ADVERTENCIAS\",\n\twATTS: \"VATIOS\",\n\twO: \"WO\",\n\twORKORDER: \"ORDEN DE TRABAJO\",\n\twaitingForShellToComeReady: \"Esperando Shell venir listo\",\n\twaitingForShellToComeReadyForFirstTime:\n\t\t\"Esperando Shell venir preparado por primera vez\",\n\twaitingForShellToStart: \"Esperando Shell inicio\",\n\twaitingForANewPassword_: \"En espera de una nueva contraseña.\",\n\twaitingForRegistrationKey_: \"¡Lugar para una clave de registro.\",\n\twaitingForShell_: \"A la espera de shell.\",\n\twaitingForSign_in: \"Esperando el inicio de sesión en\",\n\twall: \"Pared\",\n\twallLoad: \"Carga de la pared\",\n\twallSection: \"Sección de pared\",\n\twallsCross_PleaseCheckYourDimensions_:\n\t\t\"Paredes cruzan! Por favor revise sus dimensiones.\",\n\twarning: \"Advertencia\",\n\twarning_PriceBookHasExpired_: \"Advertencia - lista de precios ha caducado!\",\n\twarningOppositeEndConnections_DimensionDrawingWillOnlyShowSameEndHeaders:\n\t\t\"ADVERTENCIA conexiones de extremo opuesto. Dimensión de dibujo sólo mostrará el mismo encabezados de final\",\n\twarning_: \"¡Atención!\",\n\twarnings: \"Advertencias\",\n\twaterCooledCondensingUnit: \"Unidad condensadora refrigerado por agua\",\n\twebMessagesAndBulletins: \"Web de los mensajes y boletines\",\n\tweight: \"Peso\",\n\twhatToPrint: \"¿Qué impresión\",\n\twhatDoYouWantToDo_: \"¿Qué quieres hacer?\",\n\twhatTypeOfFileDoYouRequire_: \"¿Qué tipo de archivo que usted requiere?\",\n\twhatTypeOfOrderDoYouWishToCreate_: \"¿Qué tipo de orden se desea crear.\",\n\twhereUsed: \"Utilizaciones\",\n\twhereUsed_: \"Dónde se utiliza:\",\n\twholesale: \"Venta al por mayor\",\n\twidth: \"Ancho\",\n\twindow: \"Ventana\",\n\twith: \"Con\",\n\twithTheInternetConnected_: \"Con el Internet conectado.\",\n\tworkHours: \"Horas de trabajo\",\n\tworkOrder: \"Orden de Trabajo\",\n\tworkingDays: \"Días laborables\",\n\tworkingOn_Line: \"Trabajo en línea\",\n\twouldYouLikeToDo_: \"¿Te gustaría hacer?\",\n\twrapSystemBar: \"Envuelva barra del sistema\",\n\tyes: \"Sí\",\n\tyesPlease: \"Sí, por favor\",\n\tyes_ChangeTheModelToTheOneISelected_:\n\t\t\"Sí, cambiar el modelo al que he seleccionado.\",\n\tyes_IAmARegisteredUser_: \"Sí, soy un usuario registrado.\",\n\tyes_SetOptionsToTheNewMultiplier_:\n\t\t\"Sí, establecer opciones para el nuevo multiplicador.\",\n\tyes_SetTheValueIEntered_: \"Sí, establezca el valor entré.\",\n\tyes__SomeFunctionalityWillBeDisabled_:\n\t\t\"Sí. (Parte de la funcionalidad se puede desactivar)\",\n\tyouAreNotTheOriginalOwnerOfThisOrder_:\n\t\t\"Usted no es el propietario original de la presente orden.\",\n\tyouAreProhibitedFromSettingTheMultiplierThisLow_:\n\t\t\"Está prohibido fijar el multiplicador de esta baja.\",\n\tyouAreWorkingOffline_: \"Usted está trabajando fuera de línea!\",\n\tyouCanNoLongerStopThisChangeRequest_:\n\t\t\"Ya no se puede poner fin a esta solicitud de cambio.\",\n\tyouCanNoLongerStopThisOrder_: \"Ya no se puede poner fin a esta solicitud.\",\n\tyouCanNoLongerStopThisPurchaseRequest_:\n\t\t\"Ya no se puede poner fin a esta solicitud de compra.\",\n\tyouCanNotDeleteTheLastSystemOnAnQuote_:\n\t\t\"No se puede eliminar el sistema por última vez una cita?\",\n\tyouCanNotDeleteThisOrderFromTheServer_:\n\t\t\"No se puede eliminar este orden desde el servidor.\",\n\tyouCanNotEditTheDoorInformationAtThisTime_:\n\t\t\"No se puede editar la información de la puerta en este momento!\",\n\tyouCanNotEditTheSectionInformationAtThisTime_:\n\t\t\"No se puede editar la información de la sección en este momento!\",\n\tyouCanNotEditThisOrderAtThisTime_:\n\t\t\"Usted no puede editar este orden en este momento.\",\n\tyouCanNotRejectAnOrderUsingNROESOnceItHasBeenSubmittedToJob_Scope_:\n\t\t\"No se puede rechazar una orden usando NROES una vez que se ha presentado a Job-Ámbito de aplicación.\",\n\tyouChangedTheCondensingUnitModelNumber_:\n\t\t\"Se cambió el número de modelo de unidad condensadora!\",\n\tyouChangedTheModelNumber_: \"Ha cambiado el número de modelo!\",\n\tyouDoNotCurrentlyHaveRightsToThisTool_:\n\t\t\"Actualmente no tienes derechos a esta herramienta.\",\n\tyouDoNotHaveTheOriginalPriceBookLoaded_:\n\t\t\"Usted no tiene la lista de precios original cargado.\",\n\tyouDoNotHaveTheRequiredPriceBookForTheOpenChangeRequest_:\n\t\t\"Usted no tiene el precio de los libros necesarios para la solicitud de cambio abierta.\",\n\tyouDoNotHaveTheRequiredPriceBookForThisOrder_:\n\t\t\"No tienes el libro de precios necesario para este pedido!\",\n\tyouDoNotHaveTheRequiredPriceBooksForThisOrder_:\n\t\t\"Usted no tiene precio de los libros necesarios para este fin.\",\n\tyouHaveFailedToReceiveACatalogueDataUpdateForMoreThan__Days_:\n\t\t\"Que no han podido recibir una actualización de datos del catálogo de más de 30 días!\",\n\tyouHaveFailedToReceiveAProgramUpdateForMoreThan__Days_:\n\t\t\"Que no han podido recibir una actualización del programa por más de 30 días!\",\n\tyouHaveNotBeenAssignedAChannelForDirectEntryToTheAS_____:\n\t\t\"No ha sido asignado un canal para la entrada directa al AS/400.\",\n\tyouHaveNotConfirmedYourEmailAddressYet_:\n\t\t\"Usted no ha confirmado aún su dirección de correo electrónico!\",\n\tyouHaveNotReceivedACatalogueDataUpdateForMoreThan__Days_:\n\t\t\"Usted no ha recibido una actualización de catálogo de datos de más de 15 días!\",\n\tyouHaveNotReceivedAProgramUpdateForMoreThan__Days_:\n\t\t\"Usted no ha recibido una actualización del programa por más de 15 días!\",\n\tyouHaveNotStartedTheApplicationOn_lineForMoreThan__Days_:\n\t\t\"No ha iniciado la aplicación en línea para más de 15 días!\",\n\tyouMayCreateANewChangeOrder_OrContactUsByTelephone_:\n\t\t\"Usted puede crear un orden nuevo cambio, o póngase en contacto con nosotros por teléfono.\",\n\tyouMayCreateANewChangeOrder_OrContactYourPurchaser_:\n\t\t\"Usted puede crear un orden nuevo cambio, o en contacto con su comprador.\",\n\tyouMayCreateANewOrderAndCorrectTheListedIssues_:\n\t\t\"Usted puede crear un nuevo orden y corregir los problemas enumerados.\",\n\tyouMayEditThisOrderOff_line_:\n\t\t\"Usted puede modificar este orden fuera de línea.\",\n\tyouMayEnterAPositiveOrNegativeValueHere_:\n\t\t\"Usted puede entrar en un valor positivo o negativo aquí.\",\n\tyouMayEnterAValueHereToRoundToAValueOtherThanThatEndingInAZero_:\n\t\t\"Puede introducir un valor aquí para redondear a un valor distinto de aquel que terminan en cero.\",\n\tyouMayHaveTheOrderOpenInAnotherApplication_:\n\t\t\"Usted puede tener el fin de abrir en otra aplicación.\",\n\tyouMayNotCopyThisOrder_: \"Usted no puede copiar este orden!\",\n\tyouMayNowEditYourData_: \"Ahora puede modificar sus datos.\",\n\tyouMayPreferToSimplyDeselectTheSpecificOptionsYouDoNotRequire_:\n\t\t\"Es posible que prefiera para anular la selección simplemente las opciones específicas que no requieren.\",\n\tyouMaySelectRoundingOptionsHere_:\n\t\t\"Usted puede seleccionar opciones de redondeo aquí.\",\n\tyouMayTakeOwnershipOfThisOrderUsingTheOrderMenu_:\n\t\t\"Usted puede tomar la propiedad de esta orden mediante el menú de orden.\",\n\tyouMayThenEditTheServicePartQuantitiesInTheOrderItself_:\n\t\t\"A continuación, puede modificar las cantidades parte de servicio en la propia solicitud.\",\n\tyouMayWorkOff_lineIfYouWish_:\n\t\t\"Usted puede trabajar fuera de línea si lo desea.\",\n\tyouMustBeConnectedToTheInternetToUseThisTool_:\n\t\t\"Debe estar conectado a internet para utilizar esta herramienta.\",\n\tyouRequestedIDeleteASystemFromTheOrder_:\n\t\t\"Usted pidió que eliminar un sistema de la orden.\",\n\tyouShouldCloseThisOrderAndTryToReopenItForSynchronizationOptions_:\n\t\t\"Usted debe cerrar esta orden y tratar de volver a abrirla para conocer las opciones de sincronización.\",\n\tyouShouldReceiveAnE_mailShortly_: \"Pronto recibirás un correo electrónico.\",\n\tyouShouldReceiveMoreInformationWithinTheNextFewWorkingDays_:\n\t\t\"Usted debe recibir más información dentro de los próximos días trabajo.\",\n\tyouShouldReceiveYourCodeShortlyAtTheFollowingE_mailAddress_:\n\t\t\"Usted debe recibir su código de pronto en la siguiente dirección de correo electrónico.\",\n\tyouShouldReceiveYourLoginInformationViaE_mailShortly_:\n\t\t\"Pronto recibirá su información de inicio de sesión por correo electrónico.\",\n\tyouShouldStopTheRequest_CorrectTheIssuesListedBelow_AndResubmit_:\n\t\t\"Usted debe dejar la solicitud, corregir los problemas enumerados a continuación, y vuelva a enviar.\",\n\tyouWillBeTheOnlyOneAbleToMakeChanges_:\n\t\t\"Usted será el único capaz de hacer cambios.\",\n\tyourAuthorizationHasBeenRecinded_: \"Su autorización ha sido recinded.\",\n\tyourAuthorizationIsNowUnderReview_:\n\t\t\"Su autorización está ahora bajo revisión.\",\n\tyourAuthorizationIsStillUnderReview_:\n\t\t\"Su autorización todavía está bajo revisión.\",\n\tyourChangeRequestWasSubmitted_: \"Su solicitud de cambio se presentó.\",\n\tyourDataContainsWarnings_: \"Los datos contienen advertencias.\",\n\tyourNeedToBeOn_lineToCompleteTheRegistrationProcess_:\n\t\t\"Su necesidad de estar on-line para completar el proceso de registro.\",\n\tyourNewChangeRequestWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_:\n\t\t\"Su solicitud de cambio de nueva sustituirá a la anterior, después de completar los cambios y volver a presentar.\",\n\tyourNewOrderWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_:\n\t\t\"Su nuevo orden sustituirá a la anterior, después de completar los cambios y volver a presentar.\",\n\tyourNewRequestWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_:\n\t\t\"Su solicitud nueva sustituirá a la anterior, después de completar los cambios y volver a presentar.\",\n\tyourOrderWasSubmitted_: \"Su pedido fue presentado.\",\n\tyourPasswordHasBeenSuccessfullyUpdated:\n\t\t\"Su contraseña se ha actualizado correctamente\",\n\tyourPreviouslySubmittedChangeOrderHasBeenStopped_:\n\t\t\"Su pedido presentado previamente el cambio se ha parado!\",\n\tyourPreviouslySubmittedChangeRequestHasBeenStopped_:\n\t\t\"Su solicitud presentada anteriormente cambio se ha parado!\",\n\tyourPreviouslySubmittedOrderHasBeenStopped_:\n\t\t\"Su solicitud presentada anteriormente se ha parado!\",\n\tyourPreviouslySubmittedRequestHasBeenStopped_:\n\t\t\"Su solicitud presentada anteriormente se ha parado!\",\n\tyourPurchaserHasBegunWorkOnYourOrderRequest_:\n\t\t\"Su comprador ha comenzado a trabajar en su solicitud de pedido.\",\n\tyourRequestCouldNotBeRetractedAtThisTime_:\n\t\t\"Su solicitud no puede ser contraído en este momento!\",\n\tyourSoldByRegionMustBeTwoCharacterCode_:\n\t\t\"Su vendidos por región debe ser el código de dos caracteres!\",\n\tyourUserAccountHasBeenRejected_: \"Su cuenta de usuario ha sido rechazada.\",\n\tyourUserAccountIsCurrentlyDisabled_:\n\t\t\"Su cuenta de usuario está actualmente desactivada!\",\n\tyourUserProfileHasBeenSuccessfullyUpdated_:\n\t\t\"Su perfil de usuario se ha actualizado correctamente!\",\n\tyourVendorAccountIsCurrentlyDisabled_:\n\t\t\"Tu cuenta de vendedor está actualmente desactivado!\",\n\tzip_PostalCode: \"Zip / Postal Código\",\n\tzipCode: \"Código postal\",\n\tzoneBoundary: \"Límite de la zona\",\n\tzoneBoundary_TD___: \"Límite de la zona (TD = 0 )\",\n\tasNewRevision_AndRestore: \"como nueva revisión, y restaurar\",\n\tasNewRevision_: \"como nueva revisión.\",\n\tatFixtureRating: \"en la calificación de accesorio\",\n\tconfirmYourRequestByClickingOnTheOKButton_:\n\t\t\"confirmar tu solicitud haciendo clic en el botón Aceptar.\",\n\te_g_ToRoundTo______SetRoundingToNearest____AndEnter__Here_:\n\t\t\"Para redondear por ejemplo, a 99.99, juego de redondeo a pie hasta la 100, y entre -5 aquí.\",\n\tequipmentChangesFound_: \"cambios en el equipo que se encuentran.\",\n\tfeedIsNotUsed_: \"no se utiliza la alimentación!\",\n\tfeedsAreNotUsed_: \"no se utilizan alimentos!\",\n\tfreightTerms: \"términos de carga\",\n\tfrmOptions: \"frmOptions\",\n\thaveBeenRevised_: \"se han revisado.\",\n\thaveBeenSuperseded_: \"han sido sustituidos.\",\n\tlblBOLD: \"lblBOLD\",\n\torQuantity: \"o cantidad\",\n\torR_Value_UnitThickness: \"o valor r / grueso de la unidad\",\n\torTotalLightingPower: \"o potencia de iluminación Total\",\n\tpricesChanged_: \"precios cambiado.\",\n\tquotesAreExpiring_: \"las citas son de expirar.\",\n\tquotesAreMissing_: \"citas que faltan.\",\n\tquotesHaveExpired_: \"cotizaciones han expirado.\",\n\tregularShipDateOfTheSelectedItem_:\n\t\t\"fecha de envío regular del elemento seleccionado.\",\n\trevisionsUpdated_: \"revisiones actualizadas.\",\n\trevisions_: \"revisiones.\",\n\ttoLastSavedVersion_: \"a la última versión guardada.\",\n\tyouCanNoLongerCreateQuoteRevisionsDuringTheSaveOperation_:\n\t\t\"ya no se puede crear revisiones citan durante la operación de salvar.\",\n\t_LessOptions_: \"( Opciones menos )\",\n\tairCooledCondenserDesigner: \"Diseñador de condensador refrigerado por aire\",\n\tapprovalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_:\n\t\t\"Aprobación de este dibujo significa que el equipo sea aceptable bajo la provisión de las especificaciones del trabajo. Cualquier cambio realizado en por cualquier persona quien sujeto a la aceptación por refrigeración nacional en su oficina.\",\n\taPPROVALS: \"APROBACIONES\",\n\taPPROVEDBY_: \"APROBADO POR: \",\n\tcARRIERPREFERENCE: \"PREFERENCIA DE PORTADOR\",\n\tcertifiedPrintMaker: \"Máquina de impresión de certificados\",\n\tcHANGEORDERREQUESTFORM: \"FORMULARIO DE SOLICITUD DE ORDEN DE CAMBIO\",\n\tcUSTOMERORDER__: \"CLIENTE PEDIDO #:\",\n\tdATE_: \"FECHA:\",\n\tdimA: \"Dim Un\",\n\tdimB: \"Dim B\",\n\tdimC: \"Dim C\",\n\tdimD: \"Dim D\",\n\tdIMENSIONA: \"A LA DIMENSIÓN\",\n\tdIMENSIONB: \"DIMENSIÓN B\",\n\tdIMENSIONC: \"DIMENSIÓN C\",\n\tdIMENSIOND: \"DIMENSIÓN D\",\n\tdIMENSIONE: \"DIMENSIÓN E\",\n\tdIMENSIONF: \"DIMENSIÓN F\",\n\tdIMENSIONG: \"DIMENSIÓN G\",\n\tdIMENSIONH: \"DIMENSIÓN H\",\n\tdIMENSIONS: \"DIMENSIONES\",\n\tdimensionsShownAreForStandardUnitLessOptions_:\n\t\t\"Las dimensiones indicadas son por unidad estándar menos opciones.\",\n\tdimensionsShownAreForStandardUnitLessOptions_SeeCertifiedDrawingForMoreDetails_:\n\t\t\"Las dimensiones indicadas son por unidad estándar menos opciones. Ver dibujo certificada para más detalles.\",\n\tdISCHARGE: \"DESCARGA\",\n\tdocumentBrowser: \"Documento navegador\",\n\tdRAIN: \"DESAGÜE\",\n\teLECTRONICORDERFORM: \"FORMULARIO DE PEDIDO ELECTRÓNICO\",\n\teLECTRONICORDERFORM_CONTINUED:\n\t\t\"FORMULARIO DE PEDIDO ELECTRÓNICO - CONTINUADA\",\n\teQUIPMENTSUMMARY: \"RESUMEN DE EQUIPO\",\n\teSTSHIPWEIGHT_LessOptions_: \"EST nave peso (menos opciones)\",\n\teSTSHIPWEIGHT_: \"PESO DE LA NAVE EST:\",\n\tfACTORYINVOICETO_: \"FACTURA DE FÁBRICA PARA:\",\n\tfACTORYORDER__: \"FÁBRICA PEDIDO #:\",\n\tfREIGHT: \"TRANSPORTE DE MERCANCÍAS\",\n\tfREIGHTTERMS_: \"CONDICIONES DE CARGA:\",\n\thOTGASINLET: \"ENTRADA DE GAS CALIENTE\",\n\thOTGASOUTLET: \"SALIDA DE GAS CALIENTE\",\n\thOTGASSIDEPORT: \"PUERTO DE LADO DE GAS CALIENTE\",\n\tiD__: \"ID #:\",\n\tiTEM__: \"ARTÍCULO #:\",\n\tlbs_LessOptions_: \"Lbs (menos opciones )\",\n\tlead: \"Plomo\",\n\tlist: \"Lista\",\n\tmANUALENTRY: \"ENTRADA MANUAL\",\n\tmANUALOPTION: \"OPCIÓN MANUAL\",\n\tmult: \"Mult\",\n\tnATIONALREFRIGERATIONWillFurnishEquipmentInAccordanceWithThisDrawingAndSpecifications_AndSubjectToItsPublishedWarranty_ApprovalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_:\n\t\t\"REFRIGERACIÓN nacional proporcionará equipo de conformidad con este dibujo y especificaciones y conforme a su garantía publicado. Aprobación de este dibujo significa que el equipo sea aceptable bajo la provisión de las especificaciones del trabajo. Cualquier cambio realizado en por cualquier persona quien sujeto a la aceptación por refrigeración nacional en su oficina.\",\n\tnEWSYSTEM: \"NUEVO SISTEMA DE\",\n\tnOTES_: \"NOTAS:\",\n\toEMult: \"Oe Mult\",\n\toF: \"DE\",\n\toPTION: \"OPCIÓN\",\n\toRDER__: \"ORDEN #:\",\n\toRDERDATE_: \"FECHA DE PEDIDO:\",\n\tpACKAGE: \"PAQUETE\",\n\tpACKAGEITEM: \"PAQUETE ARTÍCULO\",\n\tpACKAGEOPTION: \"OPCIÓN DE PAQUETE\",\n\tpAGE: \"PÁGINA\",\n\tpANLOOP: \"ASA CACEROLA\",\n\tpRICEBOOK_: \"LISTA DE PRECIOS:\",\n\tpriceTotal: \"Precio Total\",\n\tpROD: \"PROD\",\n\tpROJECT_: \"PROYECTO:\",\n\tpURCHASER_: \"COMPRADOR:\",\n\tpURCHASER_SPO__: \"PO DEL COMPRADOR #:\",\n\tqUOTE__: \"CITO #:\",\n\tqUOTEDATE_: \"FECHA DE CITA:\",\n\trEF__: \"REF #:\",\n\trEMARKS_SPECIALSHIPPINGINSTRUCTIONS:\n\t\t\"OBSERVACIONES / ESPECIALES INSTRUCCIONES DE ENVÍO\",\n\ts_H: \"S H &\",\n\tservicePartsList: \"Lista de piezas de repuesto\",\n\tsHIPMENT_: \"ENVÍO:\",\n\tshippingAndHandling: \"Gastos de envío\",\n\tsHIPPINGWEIGHT: \"PESO DE ENVÍO\",\n\tsOUND: \"SONIDO\",\n\tsTOCKINGMODELS: \"MODELOS DE MEDIA\",\n\tsUBMITTEDBY_: \"ENVIADO POR:\",\n\tsUBTOTAL: \"SUBTOTAL\",\n\tsUCTION: \"SUCCIÓN\",\n\tsystemNet: \"Sistema de red\",\n\ttAGGING_: \"ETIQUETADO:\",\n\ttotalNet: \"Red total\",\n\tuSERID_: \"ID DE USUARIO:\",\n\tvENDORID_: \"ID DE PROVEEDOR:\",\n\twATER: \"AGUA\",\n\twEIGHT: \"PESO\",\n\taSuiteOfSoftwareApplicationsCreatedToHelpRefrigerationProfessionalsMakeAccurateCalculations_AccessProductInformation_ChooseComponentsAndPrintTechnicalDrawings:\n\t\t\"Una suite de aplicaciones de software creada para ayudar a los profesionales de refrigeración hacer cálculos precisos, acceso a la información de producto, seleccione componentes e imprimir dibujos técnicos\",\n\tpleaseUpdateAllPrices_: \"Por favor actualice todos los precios.\",\n\tpleaseEnterYourPersonal: \"Por favor ingrese su personal\",\n\tapplicationRegistrationKey_: \"clave de registro de aplicación.\",\n\tsaveAsNewContact: \"Guardar como nuevo contacto\",\n\tsaveContact: \"Guardar contacto\",\n\tsaveNewContact: \"Guardar nuevo contacto\",\n\tpartNumber: \"Número de parte\",\n\tloadCalculatorII: \"Calculadora de carga II\",\n\tnewJob: \"Nuevo trabajo\",\n\tsystemCapacity: \"Capacidad del sistema\",\n\tdescriptions: \"Descripciones\",\n\tboxApplication: \"Aplicación de caja\",\n\tapplication: \"Aplicación\",\n\ttheExternalRelativeHumidityMustBeGreaterThan:\n\t\t\"La humedad relativa externa debe ser mayor que\",\n\ttheExternalRelativeHumidityMustBeLessThan___:\n\t\t\"La humedad relativa externa debe ser menos de\",\n\ttheInternalRelativeHumidityMustBeGreaterThan:\n\t\t\"La higrometría interna debe ser mayor que\",\n\ttheInternalRelativeHumidityMustBeLessThan:\n\t\t\"La higrometría interna debe ser menos de\",\n\tlineLoss: \"Línea pérdida\",\n\tsystemRunTime: \"Sistema de tiempo de ejecución\",\n\tsystemRunTimeMustBeGreaterThanOneHour_:\n\t\t\"Sistema de tiempo de ejecución debe ser superior a una hora.\",\n\tsystemRunTimeMustBeLessThanTwentyfourHours_:\n\t\t\"Sistema de tiempo de ejecución debe ser inferior a veinticuatro horas.\",\n\ttheSystemLineLossIsNotEntered_:\n\t\t\"La pérdida de la línea de sistema no se ha introducido.\",\n\ttheSystemLineLossIsTooHigh_:\n\t\t\"La pérdida de línea del sistema es demasiado alta.\",\n\ttheSystemLineLossIsTooLow_:\n\t\t\"La pérdida de línea del sistema es demasiado baja.\",\n\taveragePassageTime_Seconds_: \"Pasaje medio tiempo (segundos)\",\n\tpassagesPerDay: \"Pasajes por día\",\n\tcurtainEffectiveness: \"Eficacia de la cortina\",\n\tstandOpenTimePerDay_Minutes_: \"Horario de soporte al día (minutos)\",\n\tcONSTRUCTIONANDDIMENSIONS: \"CONSTRUCCIÓN Y DIMENSIONES\",\n\tvolumeAndTemperatures: \"Volumen y temperaturas\",\n\tairFlowRates: \"Tasas de flujo de aire\",\n\tvolumeAndTemperature: \"Volumen y la temperatura\",\n\thasConfigurationErrors: \"tiene errores de configuración\",\n\toptionConfigurations: \"Opción configuraciones\",\n\tsetConfiguration: \"Configuración conjunto\",\n\tcan_tHaveOptions: \"No puedes tener opciones\",\n\tnotRecommendedOptions: \"No se recomienda opciones\",\n\trecommendedOptions: \"Opciones recomendadas\",\n\tavailableConfigurations_: \"Configuraciones disponibles.\",\n\tnormalConfiguration_: \"Configuración normal.\",\n\thasConfigurationWarning: \"ADVERTENCIA de configuración de cuenta\",\n\toptionConfigurationError_: \"Error de configuración de la opción.\",\n\toptionConfigurationWarning_: \"ADVERTENCIA de configuración opción!\",\n\toptionConfigurtionErrorsDetected_:\n\t\t\"Errores de configurtion opción detectados.\",\n\tpleaseSelectOneOfTheAvailableConfigurations_:\n\t\t\"Por favor, seleccione una de las configuraciones disponibles.\",\n\tthisOptionHasMultipleConfigurationsAvailable_:\n\t\t\"Esta opción tiene múltiples configuraciones disponibles.\",\n\tincludesOptions: \"Incluye opciones\",\n\tover_Ride_SubmitErrors: \"Over_Ride & presentar errores\",\n\tcHeckPRicesOK: \"CHeckPRicesOK\",\n\terrorLabel: \"ErrorLabel\",\n\tnoRefrigerantRatingValuesListed_:\n\t\t\"No hay valores refrigerante Clasificación enumerados.\",\n\ttermsOfSale: \"Condiciones de venta\",\n\twarranty: \"Garantía\",\n\tlOGO: \"LOGOTIPO\",\n\ttERMSOFSALE: \"CONDICIONES DE VENTA\",\n\tvENDORINFORMATION: \"INFORMACIÓN DEL PROVEEDOR\",\n\tuseTOSImageFile: \"Utilice el archivo de imagen TOS\",\n\tcheckAllErrors: \"CheckAllErrors\",\n\tdrawings: \"Dibujos\",\n\toptionList: \"Lista de opciones\",\n\tspecificationsPage: \"Página de especificaciones\",\n\twarningLabel: \"Etiqueta de advertencia\",\n\tclickCANCELToAdjustYourSelectedOptions_:\n\t\t\"Haga clic en Cancelar para ajustar las opciones seleccionadas.\",\n\tyouWillNotBeAbleToSubmitThisOrderUsingThisOptionConfiguration_:\n\t\t\"Usted no será capaz de enviar este pedido usando esta configuración de opción.\",\n\toPTIONDESCRIPTIONAPPENDIX: \"OPCIÓN DESCRIPCIÓN APÉNDICE\",\n\trequestedOrderShipDateIsBeforeToday_:\n\t\t\"Fecha de envío del pedido solicitado es antes de hoy!\",\n\tordersListed_: \"Listadas de pedidos.\",\n\tsEARCHINGANDSORTING: \"BÚSQUEDA Y CLASIFICACIÓN\",\n\tsynchronizingOrders_PleaseWait:\n\t\t\"Sincronización de órdenes ~ por favor, espere\",\n\tarchive_: \"Archivo - \",\n\tsynchronizingOrders: \"Sincronización de las órdenes\",\n\titemPartDescriptionRequired_: \"Artículo Descripción de la parte requerido.\",\n\tdoYouWantToAttemptToOpenThisFileAnyway_:\n\t\t\"¿Quieres intentar abrir este archivo de todos modos?\",\n\toldStyleChecksumDoesNotMatch_: \"Comprobación de estilo antiguo no coincide.\",\n\tfailedToOpenDataCatalog_: \"Error al abrir el catálogo de datos.\",\n\toPTIONDESCRIPTIONAPPENDIXCONTINUED: \"OPCIÓN DESCRIPCIÓN APÉNDICE CONTINUADA\",\n\tincludeUnselectedOptions: \"Incluir opciones no seleccionadas\",\n\tsELECTEDOPTIONDESCRIPTIONS: \"DESCRIPCIONES DE LA OPCIÓN SELECCIONADA\",\n\tsELECTEDOPTIONDESCRIPTIONSCONTINUED:\n\t\t\"DESCRIPCIONES DE LA OPCIÓN SELECCIONADA CONTINUADAS\",\n\tsetRevisionSUbmitted: \"Revisión de conjunto presentado\",\n\tuNsubmitQuote: \"UNsubmit presupuesto\",\n\taddDoors_Openings: \"Añadir puertas / aberturas\",\n\tdeleteDoors_Openings: \"Eliminar puertas / aberturas\",\n\tdOORUSAGE: \"USO DE LA PUERTA\",\n\teditDoor_Openings: \"Editar puerta / aberturas\",\n\tcurtainR_Value: \"Valor-r de cortina\",\n\tloadingPlatformRoll_UpDoor: \"Puerta enrollable de plataforma de carga\",\n\ttrailerDockRoll_UpDoor: \"Remolque muelle puerta enrollable\",\n\treach_InGlassDoor: \"Alcanzar-en la puerta de cristal\",\n\tboxUsage: \"Caja de uso\",\n\tfloorType: \"Tipo de piso\",\n\ttheRefrigeratedFloorIsBuiltDirectlyOnTheGround__OrTheRoomInWhichTheRefrigeratedBoxIsLocatedIsBuiltDirectlyOnTheGround__:\n\t\t\"Se construye la planta refrigerada directamente sobre el terreno. ~ O la habitación donde se encuentra la caja refrigerada está construida directamente sobre el terreno. ~\",\n\torTheRoomInWhichTheRefrigeratedBoxIsLocatedIsBuiltDirectlyOnTheGround_:\n\t\t\"O la habitación donde se encuentra la caja refrigerada está construida directamente sobre el terreno,\",\n\torThereIsAVentilatedSpaceUnderTheRoomInWhichTheRefrigeratedSpaceIsLocated_:\n\t\t\"O hay un espacio ventilado debajo de la habitación donde se encuentra el espacio refrigerado.\",\n\ttheRefrigeratedFloorIsBuiltDirectlyOnTheGround_:\n\t\t\"Se construye la planta refrigerada directamente sobre el terreno.\",\n\tthereIsAVentilatedSpaceUnderTheRefrigeratedFloor_:\n\t\t\"Hay un espacio ventilado debajo del piso refrigerado.\",\n\tthisIncludesCrawlSpacesOrUpperFloorInstallations_:\n\t\t\"Esto incluye espacios o instalaciones de la planta superior.\",\n\tcoolingLoads: \"Las cargas de enfriamiento\",\n\tcheckBox: \"Casilla de verificación\",\n\taboveGrade: \"Sobre el grado\",\n\tonGrade: \"En grado\",\n\theatingTemperature: \"Temperatura de calefacción\",\n\tsurroundingAirTemperature: \"Temperatura del aire circundante\",\n\tonGrade_FrostHeaveProtected: \"Grado - Frost Heave protegido\",\n\taNDAControlledFrostHeavePreventionHeaterSystemIsOrWillBeInstalled_:\n\t\t\"Y un sistema de calentador de prevención controlados frost heave es o será instalado.\",\n\tconstruction: \"Construcción\",\n\twALL_FLOORANDCEILINGLOADS: \"CARGAS DE LA PARED, PISO Y TECHO\",\n\tcONTINUED: \"CONTINUÓ\",\n\tpRODUCTLOADS: \"CARGAS DE PRODUCTO\",\n\tfinalTemp: \"Temperatura final\",\n\tenterTemp: \"Escriba Temp\",\n\tpullDown: \"Tire hacia abajo\",\n\ttOTALPRODUCTLOAD: \"CARGA TOTAL DEL PRODUCTO\",\n\ttOTALPRODUCTWEIGHT: \"PESO TOTAL DEL PRODUCTO\",\n\ttOTALWALL_FLOORANDCEILINGLOAD: \"TOTAL PARED, PISO Y TECHO CARGA\",\n\tvOLUME: \"VOLUMEN\",\n\tmISCELLANEOUSLOADS: \"DIVERSAS CARGAS\",\n\ttOTALMISCELLANEOUSLOAD: \"CARGA TOTAL MISCELÁNEO\",\n\taVERAGE: \"MEDIA\",\n\tfORKLIFTS_TOWMOTORS: \"CARRETILLAS ELEVADORAS DE MOTORES DE REMOLQUE\",\n\thEAVY: \"PESADO\",\n\tlIGHT: \"LUZ\",\n\texternalRh: \"Rh externa\",\n\texternalTemp: \"Temperatura externa\",\n\theavy: \"Pesado\",\n\tinternalRh: \"Interna Rh\",\n\tinternalTemp: \"Temperatura interna\",\n\ttOTALINFILTRATIONLOADESTIMATEDBYDOORSANDOPENINGS:\n\t\t\"CARGA DE INFILTRACIÓN TOTAL ESTIMADO POR LAS PUERTAS Y ABERTURAS\",\n\tventilation: \"Ventilación\",\n\tiNFILTRATIONLOAD_ESTIMATEDBYDOORSANDOPENINGS:\n\t\t\"CARGA DE INFILTRACIÓN: ESTIMADO POR LAS PUERTAS Y ABERTURAS\",\n\tiNFILTRATIONLOAD_ESTIMATEDBYVENTILATION:\n\t\t\"CARGA DE INFILTRACIÓN: ESTIMADO POR VENTILACIÓN\",\n\tiNFILTRATIONLOAD_ESTIMATEDBYVOLUMEANDUSAGE:\n\t\t\"CARGA DE INFILTRACIÓN: ESTIMADO POR EL VOLUMEN Y USO\",\n\tcurtains: \"Cortinas\",\n\tdoorOrOpeningType: \"Puerta o abertura tipo\",\n\topenTime: \"Hora de apertura\",\n\tpreparedBy: \"Preparado por\",\n\tpreparedFor: \"Preparado para\",\n\tcustomerInformation: \"Información del cliente\",\n\tjob_ProjectName: \"Nombre del proyecto/trabajo\",\n\tcOOLINGREQUIREMENTS: \"REQUISITOS DE ENFRIAMIENTO\",\n\tdesignLoad: \"Carga de diseño\",\n\tequipmentLoad: \"Carga de equipo\",\n\thours: \"Horas\",\n\tsafetyLoad: \"Carga de seguridad\",\n\tsafetyFactor: \"Factor de seguridad\",\n\tcapacityRequired: \"Capacidad requerida\",\n\tcondenserAmbient: \"Condensador de ambiente\",\n\tsYSTEMDESIGNSUMMARY: \"RESUMEN DE DISEÑO DE SISTEMA\",\n\tsYSTEMEQUIPMENTSELECTION: \"SELECCIÓN DEL SISTEMA DE EQUIPOS\",\n\tevaporator: \"Evaporador\",\n\tnOTSELECTED_: \"NO SELECCIONADO.\",\n\tairCooledCondenser: \"Condensador refrigerado por aire\",\n\tcondenser: \"Condensador\",\n\tevaporatorTD: \"Evaporador TD\",\n\tfanLoad: \"Ventilador carga\",\n\tdeleteSystem: \"Eliminar sistema\",\n\tduplicateSystem: \"Sistema duplicado\",\n\teditSystem: \"Editar sistema\",\n\tarea_ZoneOrSystemName: \"Área, zona o nombre del sistema\",\n\tareaDeletionRequested_: \"Canceladura del área solicitada.\",\n\tsystemDetails: \"Detalles del sistema\",\n\tequipmentCapacity: \"Capacidad de equipo\",\n\tequipmentTD: \"Equipo de TD\",\n\tdesign: \"Diseño\",\n\tmiscellaneous: \"Misceláneo\",\n\tproducts: \"Productos\",\n\tsafety: \"Seguridad\",\n\topenBoxDesigner: \"Diseñador de caja abierta\",\n\tsYSTEMSLOADSUMMARY: \"EXTRACTO DE CARGA DE LOS SISTEMAS\",\n\timportLoadCalculatorIDesignFile:\n\t\t\"Calculadora de carga de importación diseño archivo\",\n\timportLoadCalculatorIIDesignFile:\n\t\t\"Importar archivo de diseño de carga calculadora II\",\n\tnewCondenserDesign: \"Nuevo diseño del condensador\",\n\tnewFluidCoolerDesign: \"Nuevo diseño líquido refrigerador\",\n\tnewGlycolCoilDesign: \"Nuevo diseño de la bobina del glicol\",\n\tnewLoadCalculatorIIDesign: \"Nuevo diseño de carga calculadora II\",\n\tnewSystemNamed: \"Nuevo sistema llamado\",\n\totherEquipment: \"Otros equipos\",\n\tsafetyFactor___: \"Factor de seguridad (%)\",\n\tquantityPERCompressorUnit: \"Cantidad por unidad del compresor\",\n\tquantityPERCondensingUnit: \"Cantidad por unidad de condensación\",\n\thourlyLoadRequired: \"Carga horaria requerida\",\n\tsuctionLineLoss: \"Pérdida de la línea de succión\",\n\tconnectionCount: \"Cuenta de conexión\",\n\tpleaseSelectAndEditTheAppropriateSection_:\n\t\t\"por favor, seleccionar y editar la sección apropiada.\",\n\ttoEnterOrEditDoorOrOpeningDetails_:\n\t\t\"Para ingresar o editar puerta o detalles de apertura,\",\n\tclearAllSelections: \"Borrar todas las selecciones\",\n\tinteriorTemperature: \"Temperatura interior\",\n\tareYouSureYouWantToSubmitThisMyEditOrder_:\n\t\t\"¿Está seguro de que desea enviar este myEditOrder.\",\n\tdoYouWantToProcessThisChangeOrderAsAnOriginalMyEditOrder_:\n\t\t\"¿Quieres procesar este pedido cambio como un myEditOrder original.\",\n\tifYouSubmitThisOrder_YouAreOfficiallyTakingResponsibilityForTheMyEditOrder_:\n\t\t\"Si usted envía esta orden, oficialmente está tomando responsabilidad por la myEditOrder.\",\n\tuntilTheOrderIsProcessedByTheManufacturerYouMayStopThisMyEditOrder_:\n\t\t\"Hasta que la orden es procesada por el fabricante puede dejar esta myEditOrder.\",\n\tuntilTheOrderIsProcessedByThePurchaserYouMayStopThisMyEditOrder_:\n\t\t\"Hasta que la orden es procesada por el comprador puede dejar esta myEditOrder.\",\n\twARNING_YOUARENOTTHEORIGINATOROFTHISMyEditOrder_:\n\t\t\"ADVERTENCIA: Que no son del autor de esta myEditOrder.\",\n\tyouCanNoLongerStopThisMyEditOrder_: \"Ya no puedes dejar de este myEditOrder.\",\n\tyouDoNotHaveOwnershipOfThisOrder_:\n\t\t\"Usted no tiene la propiedad de esta orden.\",\n\ttestCloneCompare: \"TestCloneCompare\",\n\tmodelNotLoaded_: \"Modelo no cargada!\",\n\ttemperature_TooHigh_: \"Temperatura demasiado alta de 1.\",\n\ttemperature_TooLow_: \"Temperatura demasiado baja 1.\",\n\tnoRatingFound_: \"Ninguna calificación encontrado!\",\n\ttemperature_IsTooHigh_: \"1 la temperatura es demasiado alta.\",\n\ttemperature_IsTooLow_: \"1 la temperatura es demasiado baja.\",\n\tbalancedCapacity: \"Capacidad equilibrada\",\n\tevap_TD: \"Gas TD\",\n\tambientTemperature_EvapTemperature_:\n\t\t\"Temperatura ambiente < Evap temperatura!\",\n\tboxTemperature_EvapTemperature_: \"Temperatura de la caja < Evap temperatura!\",\n\tcondensingTemperature_EvapTemperature_:\n\t\t\"Temperatura de condensación < Evap temperatura!\",\n\tevap: \"EVAP\",\n\tevapTemperature: \"Temperatura EVAP\",\n\tisInvalid_: \"No es válido!\",\n\tisMissing_: \"Faltan!\",\n\tisOutOfRange_: \"está fuera del intervalo.\",\n\tsystemLoadIsInvalid_: \"Carga del sistema no es válido!\",\n\tsystelLoadNotGiven_: \"Systel carga no dado.\",\n\ttemperature_NotGiven_: \"Temperature1 que no se da.\",\n\tproductName: \"Nombre de producto\",\n\tambientTemperature: \"La temperatura ambiente\",\n\tloadCalculationDesignHasErrors_: \"Carga cálculo diseño tiene errores!\",\n\tloadCalculationDesignHasWarnings_: \"Carga cálculo diseño tiene advertencias!\",\n\tequipmentSelectionIsIncomplete_: \"Selección del equipo está incompleto!\",\n\tsystemIsNotBalanced_: \"Sistema no está equilibrada.\",\n\tdesignHasErrors_: \"El diseño tiene errores!\",\n\tdesignHasWarnings_: \"El diseño tiene advertencias!\",\n\tloadCalculationSystemHasDesignErrors_:\n\t\t\"Sistema de cálculo de carga tiene errores de diseño!\",\n\tloadCalculationSystemHasDesignWarnings_:\n\t\t\"Sistema de cálculo de carga tiene advertencias de diseño!\",\n\ttestMail: \"Testmail\",\n\toneOrMoreRequestedDatesAreInThePast_:\n\t\t\"Una o más fechas solicitadas están en el pasado.\",\n\tshipmentDateErrorsFound_: \"Envío fecha errores encontrados.\",\n\treset: \"RESET\",\n\tcurrency: \"Moneda\",\n\tedit_AddDoorsAndOpenings: \"Editar/añadir las puertas y aberturas\",\n\tthePriceBookUsedForTheOpenChangeRequestHasExpired_:\n\t\t\"El libro de precios utilizado para la solicitud de cambio abierta ha caducado.\",\n\tthePriceBookUsedForThisOrderHasExpired_:\n\t\t\"El libro de precios utilizado para esta orden ha expirado.\",\n\tthePriceBooksUsedForThisOrderHaveExpired_:\n\t\t\"Los libros de precio utilizados para este orden han caducado.\",\n\talwaysOpenAreaOfWallLeadingToAnotherZone_:\n\t\t\"Área de pared principal a otra zona abierta siempre.\",\n\tareaToBeExcludedFromWallDefinition_:\n\t\t\"Área a ser excluidos de la definición de la pared.\",\n\tnonOpeningGlassWindow_: \"No abrir la ventana de cristal.\",\n\tnormallyClosedDoorForStaffOrGoodsTraffic_:\n\t\t\"Normalmente cerrado la puerta para el tráfico de personal o de bienes.\",\n\troll_UpDoorOpenToOutsideEnvironmentOrOtherZone_:\n\t\t\"Enrollable puerta abierta a fuera de ambiente o de otra zona.\",\n\tsectionOfWallWithDifferentInsulationOrExternalEnvironmentFromRestOfWall_:\n\t\t\"Sección de pared con aislamiento diferente o ambiente externo del resto de la pared.\",\n\tpleaseSelectAnOpeningType_: \"Por favor seleccione un tipo de apertura.\",\n\tlOADCALCULATION: \"CÁLCULO DE CARGA DE\",\n\treach_InSelfServeGlassDoors_: \"Llegar en auto servicio puertas de cristal.\",\n\troll_UpDoorDesignedToBeNormallyClosedOrSealedByTransportTrailer_:\n\t\t\"Puerta enrollable diseñada normalmente cerrado o sellado por el remolque de transporte.\",\n\tareYouSureYouWantToUseTheSeletedValue_:\n\t\t\"¿Confirma que desea utilizar el valor seleccionado?\",\n\ttheInfiltrationCalculatedForTheseIsGreaterThanTheVentilationInfiltration_:\n\t\t\"La infiltración calculada para éstos es mayor que la infiltración de la ventilación.\",\n\ttheInfiltrationCalculatedForTheseIsGreaterThanTheVolumeEstimatedInfiltration_:\n\t\t\"La infiltración calculada para éstos es mayor que la infiltración de volumen estimado.\",\n\tvalueWarning_: \"Valor de advertencia!\",\n\tyouHaveDoorsAndOpeningsDefinedInTheBoxDesign_:\n\t\t\"Tiene puertas y aberturas definidas en el diseño de la caja.\",\n\tconductionLoad: \"Carga de la conducción\",\n\tiNFILTRATIONLOADPERUNIT: \"CARGA DE INFILTRACIÓN POR UNIDAD\",\n\tiNSULATIONLOADPERUNIT: \"AISLAMIENTO DE CARGA POR UNIDAD DE\",\n\tindoor: \"Interior\",\n\toutdoor: \"Al aire libre\",\n\toutdoorCool: \"Enfriar al aire libre\",\n\toutdoorWarm: \"Caliente al aire libre\",\n\toutdoors_ColdClimate_: \"(Clima frío en el exterior)\",\n\teSTIMATEDBYVENTILATION: \"ESTIMADO POR LA VENTILACIÓN\",\n\teSTIMATEDBYBOXVOLUME_USAGE: \"ESTIMADO DE VOLUMEN DE LA CAJA / USO\",\n\teSTIMATEDBYDOORSANDOPENINGS: \"ESTIMADO POR PUERTAS Y ABERTURAS\",\n\tventilationInfiltrationEstimate:\n\t\t\"Estimación de la infiltración de ventilación\",\n\tvolume_UsageInfiltrationEstimate:\n\t\t\"Estimación de la infiltración de volumen, uso\",\n\tinfiltrationMethodChosenIsNotTheMaximumLoadEstimateEntered_:\n\t\t\"Método de infiltración elegida no es la estimación de la carga máxima entrada.\",\n\tcalculationMethod: \"Método de cálculo\",\n\tuseMaximum: \"Máximo de uso\",\n\tlOADCONNECTIONSCONTINUED: \"CONEXIONES DE CARGA CONTINUÓ\",\n\tinsulationLayerIsRecommendedForSlabOnGradeFreezers_:\n\t\t\"Capa de aislamiento se recomienda para losa en congeladores de grado!\",\n\taDDNEWSYSTEMUSING: \"AÑADIR NUEVO SISTEMA UTILIZANDO\",\n\tiMPORTFROMFILE: \"IMPORTACIÓN DE ARCHIVO\",\n\tmiscelaneousUnits: \"Varios unidades\",\n\timportSystemsFromALoadCalculatorIIFile_:\n\t\t\"Importar los sistemas desde un archivo de carga calculadora II.\",\n\tballyBoxWizardFile: \"Archivo de asistente de caja Bally\",\n\timportSystemsFromABallyBoxWizardFile_:\n\t\t\"Importar los sistemas desde un archivo de asistente de caja Bally.\",\n\timportSystemsFromAKeepriteCalc_RiteFile_:\n\t\t\"Importar los sistemas desde un archivo de Calc-rito de Keeprite.\",\n\timportSystemsFromATretonCalculoadFile_:\n\t\t\"Importar los sistemas desde un archivo de Treton Calcuload.\",\n\tkeepriteCalc_RiteFile: \"Archivo de METALGAS Calc-Rite\",\n\ttretonCalculoadFile: \"Treton Calcuload archivo\",\n\tabortAddingASystem_: \"Incorporación de un sistema de la interrupción.\",\n\tsaveSystemAsTemplate: \"Guardar como plantilla de sistema\",\n\tsTANDARDAPPLICATIONS: \"APLICACIONES ESTÁNDAR\",\n\tuSERTEMPLATES: \"PLANTILLAS DE USUARIO\",\n\trH_TD: \"RH / TD\",\n\tcreateSystem_PleaseSelectApplicationTypeOrTemplate:\n\t\t\"Crear sistema de: Por favor seleccione tipo de aplicación o de\",\n\tfACTORYTEMPLATES: \"FÁBRICA DE PLANTILLAS\",\n\tsaveAsTemplate: \"Guardar como plantilla\",\n\tchange: \"Cambio\",\n\tevapTDIsTooHighForTheSelectedApplication_:\n\t\t\"TD de EVAP es demasiado alta para la aplicación seleccionada.\",\n\tevapTDIsTooLowForTheSelectedApplication_:\n\t\t\"TD de EVAP es demasiado baja para la aplicación seleccionada.\",\n\ttheInternalTemperatureIsTooHighForTheSelectedApplication_:\n\t\t\"La temperatura interna es demasiado alta para la aplicación seleccionada.\",\n\ttheInternalTemperatureIsTooLowForTheSelectedApplication_:\n\t\t\"La temperatura interna es demasiado baja para la aplicación seleccionada.\",\n\tnewMulti_SystemJob: \"Nuevo trabajo de múltiples sistema\",\n\tbetaVersionDesignDetected_: \"Diseño de versión beta detectado.\",\n\tdoYouWantToUpdateTheDesignToTheNewerVersion_:\n\t\t\"Desea actualizar el diseño a la versión más reciente.\",\n\tnewerCalculatorVersionDetected_: \"Nueva versión de la calculadora detectada.\",\n\tpleaseVerifyYourDesign_: \"Por favor verifique su diseño.\",\n\ttheLoadCalculationHASCHANGEDWithTheNewerVersion_:\n\t\t\"El cálculo de la carga ha cambiado con la nueva versión.\",\n\ttheLoadCalculationHASNOTChangedWithTheNewerVersion_:\n\t\t\"El cálculo de la carga no ha cambiado con la nueva versión.\",\n\ttheLoadCalculationsMayHaveChangedSinceYouFirstCreatedThisJob_:\n\t\t\"Los cálculos de carga pueden haber cambiado desde que primero la creación de este trabajo.\",\n\tthisDesignWasCreatedWithTheBetaVersionOfTheSoftware_:\n\t\t\"Este diseño fue creado con la versión Beta del software.\",\n\texport_CSV: \"Export_CSV\",\n\tloadCalculation: \"Cálculo de carga de\",\n\toptionDescriptionList: \"Opción Descripción lista\",\n\tpleaseCheckYourEquipmentSelection_:\n\t\t\"Por favor revise su selección de equipo.\",\n\tifThisProblemPersists_PleaseContactTheFactory_:\n\t\t\"Si el problema persiste, póngase en contacto con la fábrica.\",\n\tselectedEquipmentNoLongerBalances_: \"Equipo seleccionado ya No equilibra!\",\n\tthisDesignWasCreatedWithAnEarlierVersionOfThisSoftware_:\n\t\t\"Este diseño fue creado con una versión anterior de este software.\",\n\tnewerVersionDesignDetected_: \"Nuevo diseño de la versión detectada!\",\n\tpleaseRestartYourSoftwareToUpdateYourSystemAndDataFiles_:\n\t\t\"Reinicie su software para actualizar tus sistema y archivos de datos.\",\n\tlade: \"Lade\",\n\tpending: \"Pendiente\",\n\toutdoors_ColdClimate___: \"Al aire libre (clima frío) ~ ~\",\n\tloadingServicePartCatalog_: \"Carga de catálogo de parte del servicio.\",\n\tclearFilter: \"Borrar filtro\",\n\tcategory: \"Categoría\",\n\tpartName_No: \"Nombre de parte / No\",\n\tqTTY: \"QTTY\",\n\tmodelNumber_WhereUsed: \"Número de modelo / donde\",\n\tequipmentDetails: \"Detalles del equipo\",\n\tleadTimeChangesFound_: \"cambios de tiempo de plomo encontrados.\",\n\tleadTimesChangedOn: \"Llevan tiempos cambiados en\",\n\tleadTimesChangedOnOneRevision_: \"Tiempos de plomo cambiados en una revisión.\",\n\tnoLeadTimeChangesFound_: \"No hay cambios de tiempo de plomo encontrados.\",\n\tnoLeadTimeChangesOccurred_:\n\t\t\"Se produjo ningún cambio de tiempo de ejecución.\",\n\toneLeadTimeChangeFound_: \"Plazo de ejecución de un cambio encontrado.\",\n\tcopyShippingDateInformationTo: \"Copiar información de fecha envío a\",\n\tforComplexFloorsWeSuggestYouUseTheFloorPlanner:\n\t\t\"Para suelos complejos le sugerimos que utilice el planificador de planta\",\n\tonlyOneFloorSectionMayBeAddedWithThisTool_:\n\t\t\"Sección de sólo un piso puede añadirse con esta herramienta.\",\n\tsorry: \"Lo siento\",\n\torEnterTheTotalFloorAreaAndPerimeterValuesInTheExistingFloorDefinition_:\n\t\t\"o introduzca los valores de área y el perímetro total del suelo en la definición de piso existente.\",\n\tboxDesign: \"Diseño de la caja\",\n\tcanNotSubmit_: \"No puede enviar!\",\n\tinvalidEmail_Format_: \"Formato de Email inválido 1!\",\n\tOrdersWillBeMarkedAsShipped_: \" órdenes se marcará como enviado!\",\n\tOrdersWillBeMarkedClosed_: \" órdenes se marcará cerradas!\",\n\tcalendarDays: \"días calendario\",\n\tleadTimeCalendarDays: \"Conducir tiempo días\",\n\tleadTimeAddWeeks: \"Plazo de ejecución agregar semanas\",\n\tleadTimeWeeksAdded: \"Plazo de ejecución de semanas añadido\",\n\tpleaseContactFactory: \"Por favor, póngase en contacto con fábrica\",\n\twARNING_SUBMITTEDQUOTENOTFOUND_:\n\t\t\"¡ADVERTENCIA! ENVIADO COTIZACIÓN NO ENCONTRADO.\",\n\tCalandarDays_: \" ¡Días del calendario!\",\n\tsorry_: \"¡Lo siento!\",\n\tyouCanNotDeleteTheOrderedQuoteRevision_:\n\t\t\"¿No se puede borrar la revisión pedida cita?\",\n\tdeleteCurrentQuoteRevision: \"Eliminar la actual revisión del presupuesto\",\n\trestoreCurrentQuoteRevisionToLastSavePoint:\n\t\t\"Restaurar la actual revisión del presupuesto al ultimo Save Point\",\n\tcanNotRestoreTheOrderedQuoteRevision_:\n\t\t\"¿No puedes restaurar la revisión pedida cita?\",\n\tthePackage: \"El paquete \",\n\tstandardFeatures: \"CARACTERÍSTICAS ESTÁNDAR\",\n\tadditionalOptionsAndAccessories: \"OPCIONES Y ACCESORIOS ADICIONALES\"\n\t\n};\n","import HelperService from \"../HelperService\";\nimport LocalizedStrings, { LocalizedStringsMethods } from \"react-localization\";\nimport { enStrings } from \"./en\";\nimport { frStrings } from \"./fr\";\nimport { esStrings } from \"./es\";\nimport IToolTips from \"../../models/interfaces/ITooltips\";\n\nexport interface LocaleStrings extends LocalizedStringsMethods, IToolTips {\n\t_Feeds: string;\n\t_threeDollarSigns: string;\n\t_Cancel: string;\n\t_RDPARTY: string;\n\t_PreviousModel: string;\n\t_SelectPreviousModel: string;\n\t_TD: string;\n\ta_ZDescription: string;\n\ta_ZName: string;\n\taConfidentialErrorReportWillBeSentToTheSoftwareDevelopmentTeam_: string;\n\taConstructionTypeNameIsNotEntered_: string;\n\taCriticalErrorOccurredInTheApplication_: string;\n\taDescriptionHasNotBeenEntered_: string;\n\taProblemOccurredWhileRegisteringYourNewPassword_: string;\n\taProblemOccurredWhileRegisteringYourNewUserInformation_: string;\n\taProgramOrDataUpdateIsAvailable_: string;\n\taProgramUpdateIsAvailable_: string;\n\taPurchaseOrderNumberIsRequired_: string;\n\taSurchargeWillApply_: string;\n\ta_C_L_: string;\n\ta_C_T_: string;\n\ta_T_D_: string;\n\taCT: string;\n\taIRCOOLEDCONDENSOR: string;\n\taIRFLOW: string;\n\taLL: string;\n\taLLAPPLICABLETAXESEXTRA: string;\n\taLLCLASSES: string;\n\taLLMODELS: string;\n\taLTITUDE: string;\n\taLTITUDEFACTOR: string;\n\taMBIENT: string;\n\taMPS: string;\n\taNY: string;\n\taPPLICATIONFAILURE: string;\n\taT: string;\n\taTHR: string;\n\taTTENTION: string;\n\tabort: string;\n\taborted_NoUPDATESFolderFound_: string;\n\tabout: string;\n\taboutNROES: string;\n\taboutThisApplication: string;\n\tactive: string;\n\tactiveOrderManager: string;\n\tactiveOrders: string;\n\tactivePurchaseOrderManager: string;\n\tactiveRecordsShown: string;\n\tactivity: string;\n\tactual: string;\n\tactualAir_T: string;\n\tactualCondensingTemperature: string;\n\tactualFluidFlowRate: string;\n\tactualFluidOutletTemperature: string;\n\tactualFluidTD: string;\n\tactualFluid_T: string;\n\tactualTDCanNotBeGreaterThan: string;\n\tactualTDCanNotBeLessThan: string;\n\tactualTDMustBeGreaterThanZero_: string;\n\tadd: string;\n\tadd_EditOptions: string;\n\taddBlankQuoteRevision: string;\n\taddCatalogueModel: string;\n\taddConnection: string;\n\taddCustomSection: string;\n\taddFeed: string;\n\taddLoad: string;\n\taddModel: string;\n\taddModelPriceAdjustment: string;\n\taddMoreConnections: string;\n\taddNon_CatalogueItem: string;\n\taddNon_CatalogueOption: string;\n\taddParts: string;\n\taddProduct: string;\n\taddSectionAndStartAnotherNewOne_Insert_: string;\n\taddSelectedPartTypesToOrder: string;\n\taddServiceParts: string;\n\taddSystem: string;\n\taddSystemFreightAllowance: string;\n\taddSystemOption: string;\n\taddToOrder: string;\n\taddWall: string;\n\taddANewSystem_: string;\n\taddAsNewItems_: string;\n\taddBlankQuoteRevision_: string;\n\taddClipboardSystemItemsToCurrentSystem_: string;\n\taddContactToYourDatabase_: string;\n\taddNewQuoteRevision: string;\n\taddOrEditOptions: string;\n\tadditionalE_MailText: string;\n\tadditionalInstructions_Notes: string;\n\tadditionalOrderingInstructions: string;\n\taddress: string;\n\tadjustAllMultipliers: string;\n\tadjustOrderPrice: string;\n\tadjustPrice: string;\n\tadjustM: string;\n\tadjustedPrice: string;\n\tadjustment: string;\n\tagain: string;\n\tairCooledCondenserDesignTools: string;\n\tairCooledCondenserDesigner_FitAModel: string;\n\tairCooledCondenserDesigner_FitAJob: string;\n\tairCooledCondenserModelSelector: string;\n\tairCooledCondensingUnit: string;\n\tairFlow: string;\n\tairFlowDirection: string;\n\tairIn: string;\n\tairIn_DB_: string;\n\tairIn_WB_: string;\n\tairInletTemperature: string;\n\tairInletTemperature_DB_: string;\n\tairInletTemperature_WB_: string;\n\tairInletTemperature_Dry: string;\n\tairInletTemperature_Wet: string;\n\tairInletTemperatureExceedsFanRating_: string;\n\tairOut: string;\n\tairOutletTemperature: string;\n\tairOutletTemperatureExceedsFanRating_: string;\n\tairOutletTemperatureLessThanWetBulbTemperature_: string;\n\tairflow: string;\n\tallImperial: string;\n\tallMetric_SI_: string;\n\tallOrders: string;\n\tallCertifiedPrintsHaveBeenSigned: string;\n\tallListedOrdersWereMarkedAsClosed_: string;\n\tallListedOrdersWereMarkedAsShipped_: string;\n\tallOrderItemsWillBeShippedAtTheLongestLeadTime_: string;\n\tallParametersChecked_: string;\n\tallPricesWereUpToDate_: string;\n\tallSelectedPartsAlreadyExistOnTheOrder_: string;\n\tallSystemDesignTemperaturesHaveBeenChecked: string;\n\taltitude: string;\n\taltitudeFactor: string;\n\taltitudeIsNotSet_: string;\n\taluminum: string;\n\tambient: string;\n\tambientTemp: string;\n\tambientTemperature_BoxTemperature_: string;\n\tambientTeperatureMustBeGraterThan: string;\n\tambientTeperatureMustBeLessThan: string;\n\tamount: string;\n\tamountPer: string;\n\tanApplicationUpdateIsAvailable_: string;\n\tanAuthorizationRequestHasBeenSentToTheRegistrar_: string;\n\tanErrorOccurredRunningTheJob_ScopeTranslation_: string;\n\tanIssueOccuredTryingToApplyForRegistration_: string;\n\tanIssueOccurredWhileInstallingDataUpdates_: string;\n\tanUnexpectedErrorOccured_: string;\n\tanUnexpectedErrorOccurred_: string;\n\tanUnexpectedErrorOcurred_: string;\n\tanUpdatedPurchaseOrderIsAvailableOnRequest: string;\n\tapplicationRegistrationCodeRequested_: string;\n\tapplicationTitle: string;\n\tapplicationDataFileHaveNotBeenDownloaded_: string;\n\tapplicationMustBeOn_line_: string;\n\tapplicationWillExpireAfter__Days_: string;\n\tapplicationWillNowClose_: string;\n\tarchivedRecordsShown: string;\n\tareYouARegisteredUser_: string;\n\tareYouSureThisIsTheRightNumber_: string;\n\tareYouSureYouWantToCreateABrandNewOrder_: string;\n\tareYouSureYouWantToDeleteTheSelectedItems_: string;\n\tareYouSureYouWantToDeleteTheSelectedSystem_: string;\n\tareYouSureYouWantToDeleteThisChangeOrder_: string;\n\tareYouSureYouWantToDeleteThisContact_: string;\n\tareYouSureYouWantToDeleteThisQuoteRevision_: string;\n\tareYouSureYouWantToDoThis_: string;\n\tareYouSureYouWantToOpenTheServerVersion_: string;\n\tareYouSureYouWantToPlaceThisOrderOnHold_: string;\n\tareYouSureYouWantToRejectThisOrder_: string;\n\tareYouSureYouWantToSetThisValue_: string;\n\tareYouSure_: string;\n\tarea: string;\n\tareaIsNotCalculatedOrEntered_: string;\n\tatLeastOneConnectionErrorExists_: string;\n\tatLeastOneConnectionWarningExists_: string;\n\tatLeastOneDoorHasAnEntryOrCalculationError_: string;\n\tatLeastOneDoorHasAnEntryOrCalculationWarning_: string;\n\tatLeastOneLayerErrorExists_: string;\n\tatLeastOneLayerWarningExists_: string;\n\tatLeastOneListedProductHasAWarning_: string;\n\tatLeastOneListedProductHasAnError_: string;\n\tatLeastOneOtherLoadHasAWarning_: string;\n\tatLeastOneOtherLoadHasAnError_: string;\n\tatLeastOneRequestedDateIsSetToPriorToThe: string;\n\tatLeastOneRevisionWasAlteredByAnotherUserOrOnAnotherWorkstation_: string;\n\tatLeastOneSectionHasErrors_: string;\n\tatLeastOneSectionHasErrorsOrWarnings_: string;\n\tatLeastOneSectionHasWarnings_: string;\n\tatThisTime_YourOriginalOrderHasNotBeenProcessedByOurOrderDepartment_: string;\n\tatThisTime_YourOriginalRequestHasNotBeenProcessedByThePurchaser_: string;\n\tatThisTime_YourPreviousChangeRequestHasNotBeenProcessedByOurOrderDepartment_: string;\n\tatThisTime_YourPreviousChangeRequestHasNotBeenProcessedByThePurchaser_: string;\n\tavailableOptions: string;\n\tavailablePriceBooks: string;\n\taverageWork_: string;\n\tbUILDING: string;\n\tback: string;\n\tbadRatingColumnCount_: string;\n\tbadRatingRowCount_: string;\n\tballyLoadCalcFiles: string;\n\tballyRefrigeratedBoxes: string;\n\tbaseModel: string;\n\tbelowFluid_sRatedMinimumTemperature_: string;\n\tbestFit: string;\n\tbillOfLading: string;\n\tblankTubes: string;\n\tblanks: string;\n\tboth: string;\n\tbox: string;\n\tboxDesigner: string;\n\tboxExteriorRelativeHumidity___: string;\n\tboxExteriorTemperature: string;\n\tboxInteriorRelativeHumidity___: string;\n\tboxInteriorTemperature: string;\n\tboxLocation: string;\n\tboxTemp: string;\n\tboxTemperature: string;\n\tboxInformationIsMissing_: string;\n\tbrowse: string;\n\tbuilding: string;\n\tbutton: string;\n\tby: string;\n\tcALCULATEDDETAILS: string;\n\tcALCULATOR: string;\n\tcALL: string;\n\tcAPACITY: string;\n\tcERTIFIEDPRINTWIZARD: string;\n\tcHARGE: string;\n\tcHARGE_FORCED_: string;\n\tcIRCUITTOTAL: string;\n\tcL: string;\n\tcOLLECT: string;\n\tcOMP: string;\n\tcOMPLETE: string;\n\tcOMPLEXFLOORPLANNER: string;\n\tcOMPRESSOR: string;\n\tcOMPRESSORUNITSELECTION: string;\n\tcONDENSINGUNITSELECTION: string;\n\tcONNECTIONDIAGRAM: string;\n\tcONNECTIONS: string;\n\tcONTINUEDONPAGE: string;\n\tcOULDNOTLOADPRICEBOOK: string;\n\tcOULDNOTREADCURRENTORDERSUPLOADDATA_: string;\n\tcPWIZ_Splash: string;\n\tcREATENEWORDER: string;\n\tcUSTOMER: string;\n\tcalculate: string;\n\tcalculatedDetails: string;\n\tcalculatedFluidFlowRate: string;\n\tcalculatedValue: string;\n\tcalculatedCondensingTemperatureCanNotBeGreaterThan: string;\n\tcalculatedCondensingTemperatureCanNotBeLessThan: string;\n\tcalculatedCondensingTemperatureMustBeGreaterThanTheAmbientTemperature_: string;\n\tcalculatedCondensingTemperatureMustBeGreaterThanTheSuctionTemperature_: string;\n\tcalculatedShipDatesMayBeAnApproximation_: string;\n\tcalculateSystemCharge: string;\n\tcalendar: string;\n\tcanNotCalculateAirOutTemperature_: string;\n\tcanNotCalculateFluidOutTemperature_: string;\n\tcanNotCalculateTotalHeatTransmission_: string;\n\tcanNotAddServiceParts_: string;\n\tcanNotBeGreaterThanFluidTemperatureRange_: string;\n\tcanNotBeGreaterThanWetBuldTemperature_: string;\n\tcanNotCheckPrices_: string;\n\tcanNotContinue_: string;\n\tcanNotCopy_: string;\n\tcanNotDeleteFactoryOrderFile_: string;\n\tcanNotDeleteOldOrder_: string;\n\tcanNotDeleteOrder_: string;\n\tcanNotDeleteThisOrder_: string;\n\tcanNotFetchOrderFile_: string;\n\tcanNotOpenOrder_: string;\n\tcanNotPaste_: string;\n\tcanNotPreview_: string;\n\tcanNotPrint_: string;\n\tcanNotReadFile_: string;\n\tcanNotReadOrderFile_: string;\n\tcanNotRecoverEdits_: string;\n\tcanNotSetRejectedStatus_: string;\n\tcanNotStartApplicationShell_: string;\n\tcanNotStartApplication_: string;\n\tcanNotStopRequest_: string;\n\tcanNotStoreOrderFile_: string;\n\tcanNotSubmitChange_: string;\n\tcanNotSubmitOrder_: string;\n\tcanNotSwitchPriceBooks_: string;\n\tcanNotUploadOrder_: string;\n\tcanadian: string;\n\tcanadianEnglish: string;\n\tcancel: string;\n\tcancelThisOperation: string;\n\tcancelThisOperation_: string;\n\tcancelUpload_: string;\n\tcancellingDuringTheQuickboxWalkThroughWillCloseTheTool_: string;\n\tcannotContinue_: string;\n\tcannotCreateBackupFolder: string;\n\tcannotDeleteBackupFolder_: string;\n\tcannotInstallUpdateFolder: string;\n\tcannotStartTool_: string;\n\tcannotUpdate_: string;\n\tcapacity: string;\n\tcapacityExceedsRequestedRange_: string;\n\tcapacityPerUnit: string;\n\tcapacityRange___: string;\n\tcapacityTooLow_: string;\n\tcapacityVariance: string;\n\tcapacityCanNotBeBlank_: string;\n\tcapacityIsNotCalculated_: string;\n\tcapacityIsZero_: string;\n\tcapacityMustBeGreaterThanZero_: string;\n\tcaption: string;\n\tcarrier: string;\n\tcascade: string;\n\tcatalogModel: string;\n\tcatalogueNotLoaded_: string;\n\tceiling: string;\n\tcentreDistance: string;\n\tcertainOptionsMayNoLongerBeAvailable_: string;\n\tcertifiedDrawing: string;\n\tcertifiedPrint: string;\n\tcertifiedPrintWizard: string;\n\tcertifiedPrints: string;\n\tchallengeAnswer: string;\n\tchallengeQuestion: string;\n\tchange_Shape: string;\n\tchangeAllMultipliers: string;\n\tchangeOrderForm: string;\n\tchangePassword: string;\n\tchangeReq: string;\n\tchangeRequest: string;\n\tchangesNotYetAppliedToCurrentOrder_: string;\n\tchangesToTheCurrentOrderHaveNotBeenSaved_: string;\n\tcheckingForUpdates: string;\n\tcircuitLoadCanNotBeCalculated_: string;\n\tclass: string;\n\tclear: string;\n\tclearDate: string;\n\tclickHereToAdjustTheMultipliersToGenerateTheNewPrice_: string;\n\tclickHereToApplyThePriceChangeAndReturnToTheOrderWindow_: string;\n\tclickHereToCloseThisFormWithoutChangingTheOrder_: string;\n\tclickHereToResetAllMultipliersToTheirDefaultValues_: string;\n\tclickOnNOToCancelThisSaveOperation_: string;\n\tclickingOnNoWillKeepTheCurrentOwner_sMultiplierStructure_: string;\n\tclipboardContainsACompleteSystem_: string;\n\tclose: string;\n\tcloseAllOrders: string;\n\tcloseOrder: string;\n\tcloseOrderManager: string;\n\tcloseShellWhenICloseTheLastDesignerWindow: string;\n\tclosed: string;\n\tclosingThemMayResultInLossOfData_: string;\n\tcode: string;\n\tcollect: string;\n\tcolumns: string;\n\tcompCapacity: string;\n\tcompany: string;\n\tcompanyName: string;\n\tcompany_Address_Country_City_Region_PhoneFieldsAreAllRequired_: string;\n\tcompleteDirect: string;\n\tcompleteSquare: string;\n\tcomposite: string;\n\tcompositeInsulationConstruction: string;\n\tcompositeK_Factor: string;\n\tcompositeR_Value: string;\n\tcompressor: string;\n\tcompressorBalanceSSTTooHigh_: string;\n\tcompressorBalanceSSTTooLow_: string;\n\tcompressorCapacityIsRequired_: string;\n\tcompressorCapacityMustBeGreaterThanZero_: string;\n\tcompressorUnitCapacityError_: string;\n\tcompressorUnitCapacityNotCalculated_: string;\n\tcompressorUnitNotSelected_: string;\n\tcompressorWithCondenser: string;\n\tconcentration: string;\n\tcondTemp: string;\n\tcond_Temp: string;\n\tcondenserBalanceSSTTooHigh_: string;\n\tcondenserBalanceSSTTooLow_: string;\n\tcondenserCapacityError_: string;\n\tcondenserCapacityNotCalculated_: string;\n\tcondenserContainsAtLeastOneError_: string;\n\tcondenserContainsAtLeastOneWarning_: string;\n\tcondenserNotSelected_: string;\n\tcondensing: string;\n\tcondensingTemp: string;\n\tcondensingTemp_S_C_T__: string;\n\tcondensingTemperature: string;\n\tcondensingUnit: string;\n\tcondensingUnitAmbientTemperature: string;\n\tcondensingTemperature_AmbientTemperature_: string;\n\tcondensingTemperature_BoxTemperature_: string;\n\tcondensingTemperatureCanNotBeGreaterThan: string;\n\tcondensingTemperatureCanNotBeLessThan: string;\n\tcondensingTemperatureIsLessThanSiteAmbientTemperature_: string;\n\tcondensingTemperatureIsMissing_: string;\n\tcondensingTemperatureIsRequired_: string;\n\tcondensingTemperatureMustBeGreaterThanTheAmbientTemperature_: string;\n\tcondensingTemperatureMustBeGreaterThanTheSuctionTemperature_: string;\n\tcondensingUnitBalanceSSTTooHigh_: string;\n\tcondensingUnitBalanceSSTTooLow_: string;\n\tcondensingUnitCapacityError_: string;\n\tcondensingUnitCapacityNotCalculated_: string;\n\tcondensingUnitNotSelected_: string;\n\tconduction: string;\n\tconfiguration: string;\n\tconfirmationIsRequired_: string;\n\tconfirmationRequired_: string;\n\tconnected: string;\n\tconnectionDetails: string;\n\tconnectionSize: string;\n\tconnectionCrossesTheCentreLineOfTheUnit_SomeOptionsMayNotBeAvailable_: string;\n\tconnectionIsOutsideBoundsOfTheUnit_: string;\n\tconnectionNotAssignedToFeeds_: string;\n\tconnections: string;\n\tconstruction_Insulation: string;\n\tconstructionLayer: string;\n\tconstructionLayers: string;\n\tcontact: string;\n\tcontactName: string;\n\tcontacts: string;\n\tcontinued: string;\n\tcopper: string;\n\tcopy: string;\n\tcopyCurrentQuoteAsNewRevision: string;\n\tcopyCurrentRevisionEditsAsNewRevision_AndRestoreThisRevisionToLastSavePoint: string;\n\tcopySection: string;\n\tcopyAsNewOrder: string;\n\tcopyLocalOrderWithNewOrderNumber_ThenDownloadMasterVersion_: string;\n\tcopyMasterVersionWithNewOrderNo_ThenReplaceMasterVersionWithLocalCopy: string;\n\tcopyQuote: string;\n\tcopyToShipToAddress: string;\n\tcopyToSoldToAddress: string;\n\tcouldNotAccessRecoveryData_: string;\n\tcouldNotAddNewContactRecord_: string;\n\tcouldNotCalculateActualTD_: string;\n\tcouldNotCalculateDesignTD_: string;\n\tcouldNotCalculateDesignCircuitLoad_: string;\n\tcouldNotCalculateDesignHeatOfCompressionFactor_: string;\n\tcouldNotCalculateDesignTotalHeatRejected_: string;\n\tcouldNotCalculateRefrigerantFactor_: string;\n\tcouldNotCalculateSiteAltitudeFactor_: string;\n\tcouldNotCalculateTheTotalHeatRejected_: string;\n\tcouldNotChangeMasterRevision_: string;\n\tcouldNotChangePassword_: string;\n\tcouldNotConnectToServer_: string;\n\tcouldNotCreateArchivePath_: string;\n\tcouldNotCreateFactoryOrder_: string;\n\tcouldNotCreateNewContactRecord_: string;\n\tcouldNotCreateOrderStorePath_: string;\n\tcouldNotDeleteFile: string;\n\tcouldNotDeleteFile_: string;\n\tcouldNotDeleteOneOfTheSelectedItems_: string;\n\tcouldNotDeleteOrderStorePath_: string;\n\tcouldNotDeleteSomeOfTheSelectedItems_: string;\n\tcouldNotDeleteTheSelectedItem_: string;\n\tcouldNotDownloadThisOrder_: string;\n\tcouldNotExportOrderFile_: string;\n\tcouldNotExtrapolateCompressorRating_: string;\n\tcouldNotExtrapolateCondenserRating_: string;\n\tcouldNotExtrapolateCondensingUnitRating_: string;\n\tcouldNotExtrapolateEvaporatorRating_: string;\n\tcouldNotFindArchivePath_: string;\n\tcouldNotFindOrderFile_: string;\n\tcouldNotGenerateTargetValue_: string;\n\tcouldNotImportOrderFile_: string;\n\tcouldNotListLocalOrders_: string;\n\tcouldNotLoadModelCatalogue_: string;\n\tcouldNotLoadServicePartsDatabase_: string;\n\tcouldNotLockLocalOrderFile_: string;\n\tcouldNotLockOrderFile_: string;\n\tcouldNotLockRemoteOrder_: string;\n\tcouldNotLockSubmittedOrder_: string;\n\tcouldNotOpenDatabase_: string;\n\tcouldNotOpenExportFile_: string;\n\tcouldNotOpenOrder_: string;\n\tcouldNotReadCalculatorFile_: string;\n\tcouldNotReadDatabase_: string;\n\tcouldNotReadFactoryCalendar_: string;\n\tcouldNotReadFile_: string;\n\tcouldNotReadOrderData_: string;\n\tcouldNotReadOrderHeader_: string;\n\tcouldNotReadOrderStatusFile_: string;\n\tcouldNotReadResponse_: string;\n\tcouldNotReadSynchronizedOrderStatusFile_: string;\n\tcouldNotRetrieveAssociatedPurchaseRequest_: string;\n\tcouldNotRetrieveOrderFile_: string;\n\tcouldNotRetrieveOrderHeader_: string;\n\tcouldNotStartShellApplication_: string;\n\tcouldNotStartShell_: string;\n\tcouldNotStoreOrderFileToPath: string;\n\tcouldNotSubmitOrder_: string;\n\tcouldNotSynchroniseRemoteOrderFile_: string;\n\tcouldNotSynchronizeAddressBook_: string;\n\tcouldNotSynchronizeOrder_: string;\n\tcouldNotSynchronizeOrders_: string;\n\tcouldNotSynchronizeServerOrders_: string;\n\tcouldNotUpdateContactRecord_: string;\n\tcouldNotUpdateOrderDatabase_: string;\n\tcouldNotUpdateOrderOnNROESServer_: string;\n\tcouldNotUpdatePurchaseRequestStatusOnServer_: string;\n\tcouldNotUploadLocalVersion_: string;\n\tcouldNotUploadOrder: string;\n\tcouldNotUploadRevision_: string;\n\tcouldNotWriteOrderFile_: string;\n\tcountry: string;\n\tcountryName: string;\n\tcountyOrRegion: string;\n\tcoveredOpening: string;\n\tcreateAnotherChangeOrder: string;\n\tcreateChangeOrder: string;\n\tcreateANewListing_: string;\n\tcriticalError_: string;\n\tcurrentPrice: string;\n\tcurrentMargin: string;\n\tcurrentOrderPrice: string;\n\tcurrentQuotePrice: string;\n\tcurrentChangesWillBeLost_: string;\n\tcurrentManufacturersMinimumPrice_: string;\n\tcurrentManufacturersRecommendedPrice_: string;\n\tcurrentOrderPrice_: string;\n\tcurrentSetting_: string;\n\tcurrentlyThereAreNoServicePartsListedForThisModel_: string;\n\tcust_: string;\n\tcustName: string;\n\tcustom: string;\n\tcustomCeiling: string;\n\tcustomFloor: string;\n\tcustomWall: string;\n\tcustomer: string;\n\tcustomer_: string;\n\tcustomerContact: string;\n\tcustomerInfo: string;\n\tcustomerName: string;\n\tcustomerREF_: string;\n\tcustomerRef: string;\n\tcustomerDatabaseIsMissing_: string;\n\tcustomerNumberEnteredIsAlreadyListedAbove__: string;\n\tcustomerNumberEnteredIsNotInTheListShown_: string;\n\tcustomerReferenceMustBeNumeric_: string;\n\tcustomerReferenceMustBeSixCharacters_: string;\n\tcut: string;\n\tcutItemsRequested_: string;\n\tcutSystemRequested_: string;\n\tdESCRIPTION: string;\n\tdESCRIPTION_REMARKS: string;\n\tdESIGNDATA: string;\n\tdESIGNTOOLS: string;\n\tdESIGNER: string;\n\tdETAILS: string;\n\tdISTRIBUTOR: string;\n\tdIV: string;\n\tdIVISION: string;\n\tdONOTUseThisFunctionToChangeAnExistingOrder_: string;\n\tdOCUMENTATIONBROWSER: string;\n\tdRAFT: string;\n\tdataUpdatesFound: string;\n\tdataRecovery_: string;\n\tdateCreated: string;\n\tdateModified: string;\n\tdateOK: string;\n\tdateQuoted: string;\n\tdateCanNotBeOnAWeekend_: string;\n\tdateChanged: string;\n\tdateIsPriorToToday_: string;\n\tdateMustBeInTheFuture_: string;\n\tdateVerifiedChanged: string;\n\tdays_: string;\n\tdefaultNumericUnits: string;\n\tdefaultUnits: string;\n\tdelete: string;\n\tdeleteChangeOrder: string;\n\tdeleteCustomSection: string;\n\tdeleteCustomSections: string;\n\tdeleteLayer: string;\n\tdeleteLayers: string;\n\tdeleteLoad: string;\n\tdeleteOrder: string;\n\tdeleteProduct: string;\n\tdeleteTheSelectedSystem_: string;\n\tdeltaX: string;\n\tdeltaY: string;\n\tdep_Div: string;\n\tdepartment: string;\n\tdepth: string;\n\tdepth_IsARequiredValue_: string;\n\tdescription: string;\n\tdescriptionCanNotBeBlank_: string;\n\tdescriptionIsMissing_: string;\n\tdeselectingThisPackageWillAlsoDeselectALLThoseOptionsIncludedInThatPackage_: string;\n\tdesignAmbient: string;\n\tdesignConnections: string;\n\tdesignRequirements: string;\n\tdesignTD: string;\n\tdesignTDCanNotBeGreaterThan: string;\n\tdesignTDCanNotBeLessThan: string;\n\tdesignTDMustBeGreaterThanZero_: string;\n\tdesignTHRNotEntered_: string;\n\tdesignTools: string;\n\tdesignToolsShellOptions: string;\n\tdesignCondensingTemperatureCanNotBeGreaterThan: string;\n\tdesignCondensingTemperatureCanNotBeLessThan: string;\n\tdesignConnectionContainsErrorsOrWarnings_: string;\n\tdesignContainsErrorsOrWarnings_: string;\n\tdesignHasConfigurationErrors_: string;\n\tdesignHasConfigurationWarnings_: string;\n\tdesignHasRequirementErrors_: string;\n\tdesignHasRequirementWarnings_: string;\n\tdesignNotSaved: string;\n\tdesigner: string;\n\tdetails: string;\n\tdetailsLabel: string;\n\tdialog: string;\n\tdialog_Product_Selector: string;\n\tdifferenceBetweenCurrentPriceAndFloorPrice_: string;\n\tdifferenceBetweenNewPriceAndCurrentPrice_: string;\n\tdifferenceBetweenNewPriceAndFloorPrice_: string;\n\tdim_: string;\n\tdimension: string;\n\tdimension_IsNotEntered_: string;\n\tdimensions: string;\n\tdiscardMyChanges_: string;\n\tdistance: string;\n\tdivisionsAvailable: string;\n\tdoNotCheckTheAboveIfThis_WorkstationIsUsedByOtherPeople: string;\n\tdoNotShowThisMessageAgain: string;\n\tdoYouWantChangeAttachedOptionsToTheNewSetting_: string;\n\tdoYouWantChangeTheAttachedOptionsToTheNewSetting_: string;\n\tdoYouWantChangeTheseOptionsToTheNewIsSetting_: string;\n\tdoYouWantChangeTheseOptionsToTheNewSetting_: string;\n\tdoYouWantToApplyTheseSettingToTheCurrentOrder_: string;\n\tdoYouWantToApplyYourPersonalMultiplierStructure_: string;\n\tdoYouWantToBuildItNow_: string;\n\tdoYouWantToChangeTheSoldByInformationToYourName_: string;\n\tdoYouWantToDeleteTheSelectedOrderFromTheServerAndYourComputer_: string;\n\tdoYouWantToDeleteTheSelectedOrderFromYourComputerOny_: string;\n\tdoYouWantToOpenTheOrderAnyway_: string;\n\tdoYouWantToOpenTheOrderNow_: string;\n\tdoYouWantToRemoveTheOrderFromTheLocalStore_: string;\n\tdoYouWantToReplaceYourExistingQuoteInformation_: string;\n\tdoYouWantToReplicateThisChangeToAllItems_: string;\n\tdoYouWantToReplicateThisDateToAllItems_: string;\n\tdoYouWantToRestoreTheseOrders_: string;\n\tdoYouWantToReviewYourErrorsNow_: string;\n\tdoYouWantToRunInOff_lineMode_: string;\n\tdoYouWantToSaveItNow_: string;\n\tdoYouWantToSaveYourDataAnyway_: string;\n\tdoYouWantToShutdownAnyway_: string;\n\tdoYouWantToSubmitAnyway_: string;\n\tdoYouWantToSubmitThisOrderAnyway_: string;\n\tdoYouWantToUpdateTheOrderNow_: string;\n\tdoYouWantToUpdateTheOrderToUseYourNewCatalogueProfileSettings_: string;\n\tdoYouWantToUpdateTheOrderToUseYourNewMultiplierStructure_: string;\n\tdoYouWantToUpdateThisRevisionToUseTheLatestPricebook_: string;\n\tdoYouWishToRetry_: string;\n\tdockDoor: string;\n\tdocumentGenerator: string;\n\tdocumentContainsNoPages_: string;\n\tdoor: string;\n\tdoor_OpeningDetails: string;\n\tdoorAndOpeningInfiltrationEstimate: string;\n\tdoorsAndOpenings: string;\n\tdownloadingApplicationShell: string;\n\tdownloadingDataUpdate_: string;\n\tdownloadingProgramUpdate_: string;\n\tdownloadingUpdates: string;\n\tdraft: string;\n\tdraftC_O_: string;\n\tdualEnteringService: string;\n\tdualEnteringService__FanWideUnitWithSeperateControlsPerSide_: string;\n\tdualEnteringService__FanWideUnitsWithSeperateControlsPerSide_: string;\n\te_Mail: string;\n\te_Mail_UsernameCombinationAlreadyExists_: string;\n\te_MailAddressAgain: string;\n\te_MailAddresses: string;\n\te_mailAddressesDoNotMatch_: string;\n\teACH: string;\n\teDIT: string;\n\teNTERED: string;\n\teNTEREDDESIGNREQUIREMENTS: string;\n\teRROR: string;\n\teRROR_: string;\n\teRRORS: string;\n\teULA: string;\n\teVAPORATORMOTORS: string;\n\teVAPORATORUNITSELECTION: string;\n\teXITNROES: string;\n\tedit: string;\n\teditConstruction: string;\n\teditLayer: string;\n\teditLoad: string;\n\teditMode_: string;\n\teditModel: string;\n\teditProduct: string;\n\teditQuoteInformation: string;\n\teditSection: string;\n\teditSections: string;\n\teffectiveR_Value: string;\n\teffectiveR_ValuePerUnitDepth: string;\n\teither_ShippedClosedOrProcessedIsSet_: string;\n\telectricalPower: string;\n\televationIsTooHigh_: string;\n\televationIsTooLow_: string;\n\temailAddress: string;\n\tending: string;\n\tenter: string;\n\tenterANumberEndingInAPercent_SymbolIfRequired_: string;\n\tentered: string;\n\tenteredDesignRequirements: string;\n\tenteredValue_: string;\n\tenteredMultiplierIsLessThanTheRecommendedMinimumValue_: string;\n\tenteredPasswordDoNotMatch_: string;\n\tenteringTemperature: string;\n\tequipmentList: string;\n\tequipmentType: string;\n\tequipmentChangesOccurredOn: string;\n\tequipmentChangesOccurredOnOneRevision_: string;\n\terror: string;\n\terrorDetails_: string;\n\terrorsExistOnThisOrder_: string;\n\tevapTemp: string;\n\tevap_Temp: string;\n\tevaporatorBalanceSSTTooHigh_: string;\n\tevaporatorBalanceSSTTooLow_: string;\n\tevaporatorUnitCapacityError_: string;\n\tevaporatorUnitCapacityNotCalculated_: string;\n\tevaporatorUnitNotSelected_: string;\n\texceedsAllModelMaxFanTemperatureSpecifications_: string;\n\texceedsDryBulbTemperature_: string;\n\texceedsFluid_sRatedMaximumTemperature_: string;\n\texcelCSVTextFiles: string;\n\texcelFile_AllListedParts_: string;\n\texcelFile_SelectedPartsOnly_: string;\n\texcludeDraftOrders: string;\n\texcludedArea: string;\n\texit: string;\n\texitNROES: string;\n\texitOrderManager: string;\n\texpectedCarrier: string;\n\texpires: string;\n\texport: string;\n\texportOrderFile: string;\n\texportServicePartInformation: string;\n\textTemp: string;\n\textension: string;\n\texteriorRH: string;\n\texteriorTemperature: string;\n\texteriorBoundaryLayer: string;\n\texternalRH: string;\n\texternalTemperature: string;\n\tfANLENGTH: string;\n\tfANMOTOR: string;\n\tfANWIDTH: string;\n\tfANS: string;\n\tfAX: string;\n\tfAXNumbers: string;\n\tfIN: string;\n\tfINSPACING: string;\n\tfINISH: string;\n\tfLA_FAN: string;\n\tfLUIDCOOLER: string;\n\tfORKLIFTS: string;\n\tfPI: string;\n\tfaceArea: string;\n\tfactoryInv_To: string;\n\tfactoryJob: string;\n\tfactoryJob_: string;\n\tfactoryOrder: string;\n\tfactorySettings: string;\n\tfactoryStyle: string;\n\tfactoryCalendarNotFound_: string;\n\tfactoryOrderNotYetCreated_: string;\n\tfailedToDownloadRequiredDataFiles_: string;\n\tfamilyMinimumOrderPriceNotReached_: string;\n\tfanConfiguration: string;\n\tfanCount: string;\n\tfans: string;\n\tfansLong: string;\n\tfansWide: string;\n\tfaxNo: string;\n\tfeeds: string;\n\tfeedsAvailable: string;\n\tfileError_: string;\n\tfileIsNotAValidOrderFile_: string;\n\tfileRevisionNoLongerSupportByNROES_: string;\n\tfileStructureNotRecognized_: string;\n\tfileWasCreatedWithANewerVersionOfNROES_: string;\n\tfilesDownloaded: string;\n\tfilter: string;\n\tfinBlockDimensions: string;\n\tfinConstruction: string;\n\tfinStyle: string;\n\tfinal: string;\n\tfinalTemperature: string;\n\tfindCustomer: string;\n\tfinish: string;\n\tfinsPerInch: string;\n\tfitAModel: string;\n\tfitAnApplication: string;\n\tflat: string;\n\tfloor: string;\n\tfloorArea: string;\n\tfloorPrice: string;\n\tfloorPlanIsNotCompleted_: string;\n\tfluid: string;\n\tfluidConcentration: string;\n\tfluidConcentrationNotSelected_: string;\n\tfluidCooler: string;\n\tfluidCoolerDesignTools: string;\n\tfluidCoolerDesigner: string;\n\tfluidCoolerDesigner_FitAJob: string;\n\tfluidCoolerDesigner_FitAModel: string;\n\tfluidCoolerModelSelector: string;\n\tfluidFlowRate: string;\n\tfluidFlowRateIsNotSet_: string;\n\tfluidFlowRatePerUnit: string;\n\tfluidFoulingFactor: string;\n\tfluidInletTemperature: string;\n\tfluidInletTemperatureIsNotSet_: string;\n\tfluidInletTemperatureMustBeSet_: string;\n\tfluidInletTemperatureNotCalculated_PleaseEnterOtherThreeValues_: string;\n\tfluidNotSelected_: string;\n\tfluidOutTemperature_AirTemp____C: string;\n\tfluidOutTemperatureGreaterThanFluidMaximumTemperature__C_: string;\n\tfluidOutTemperatureLessThanFluidMinimumTemperature__C_: string;\n\tfluidOutletTemperature: string;\n\tfluidOutletTemperatureIsNotSet_: string;\n\tfluidPressureDrop: string;\n\tfluidTemperatureRange: string;\n\tfluidType: string;\n\tfluidVelocity: string;\n\tfluidVelocityAboveRecommendedNominalRange_: string;\n\tfluidVelocityBelowRecommendedNominalRange_: string;\n\tfluidVelocityTooHigh_: string;\n\tfluidVelocityTooLow_: string;\n\tfollowTheInstructionsInTheEmailToCompleteYourNewUserRegistration_: string;\n\tforceUpdateWaiting: string;\n\tforkliftLoad: string;\n\tform_App_Menu: string;\n\tforms: string;\n\tformsMethod: string;\n\tfouling: string;\n\tfoulingFactor: string;\n\tfreeShippingIsAvailableOnThisOrder_SetTermsToPre_Paid_: string;\n\tfreezeTemperature: string;\n\tfreightTermsFOBBrantfordOntarioUnlessOtherwiseSpecified_: string;\n\tfrench: string;\n\tfrom: string;\n\tfront: string;\n\tfrontCut: string;\n\tfrontInset: string;\n\tfuildFlow: string;\n\tfuildVolume: string;\n\tfullName: string;\n\tfunctionalityWillBeLimited_: string;\n\tfx_: string;\n\tgLYCOLCOIL: string;\n\tgeneral: string;\n\tgerman: string;\n\tglycoilCoil_FitAJob: string;\n\tglycoilCoil_FitAModel: string;\n\tglycolCoil: string;\n\tglycolCoilDesignTools: string;\n\tglycolCoilDesigner: string;\n\tglycolCoilModelSelector: string;\n\tgreek: string;\n\tguest: string;\n\thEATERS: string;\n\thELLO_WORLD_: string;\n\thOCFactorNotAvailable_: string;\n\thOLDING: string;\n\theatOfRespiration: string;\n\theavyUse: string;\n\theavyWork_: string;\n\theight: string;\n\theightIsARequiredValue_: string;\n\theld: string;\n\thelp: string;\n\tholdChangeOrder: string;\n\tholdOrder: string;\n\tholding: string;\n\tholdingAnOrderWillSignalTheOriginatorThatTheyNeedToCorrectSomething_: string;\n\thorizontal: string;\n\thowDoYouWantToHandleThis_: string;\n\thowDoYouWantToResolveThisIssue_: string;\n\thowDoYouWantToStartTheNewQuote_: string;\n\thoweverYouMayLooseChangesIfTheOrderIsBeingEditedByAnotherUser_: string;\n\thz: string;\n\tiACCEPTTHESETERMS: string;\n\tiDONOTACCEPTTHESETERMS: string;\n\tiForget: string;\n\tiHaveConfirmedItIsOkToUploadThisOrder_: string;\n\tiMPORTORDERFILE: string;\n\tiNREVIEW: string;\n\tiNFORMATIONISGIVENGRATISANDTHEMANUFACTURERASSUMESNOOBLIGTIONORLIABILITYFORACTUALRESULTSOBTAINED_: string;\n\tiNIFileMissingOrInvalid_: string;\n\tiNVALIDREFRIGERANT: string;\n\tiNVOICETO: string;\n\tiTEM: string;\n\tiTEMCHANGES: string;\n\tiTM: string;\n\tidentityVerificationChallenge_E_g_FavouriteHockeyTeam: string;\n\tifTheLoadIsNotEnteredManually_TheDesignMustIncludeAFloor_ACeiling_AndAtLeastFourWalls__: string;\n\tifThisProblemPersistsPleaseContactTheFactory_: string;\n\tifYouCanReplicateTheError_PleaseProvideDetailedStepByStepInstructions_: string;\n\tifYouChoseNoYouWillNotBeAbleToRecoverTheseOrdersLater_: string;\n\tifYouContinue_YourOutstandingChangeRequestWillBeStopped_: string;\n\tifYouContinue_YourOutstandingOrderWillBeStopped_: string;\n\tifYouContinue_YourOutstandingRequestWillBeStopped_: string;\n\tifYouHaveIssuesWithTheTranslations_AndWouldLikeToHelp_PleaseClickOnTheButtonBelow_: string;\n\tifYouHaveVerifiedThatItIsOkToUploadThisOrder_YouMayStillDoSo_: string;\n\tifYouThinkTheNetworkIsAvailablePleaseContinueWaiting_: string;\n\tifYouWantToSaveYourChangesAsANewQuoteRevision_DoTheFollowing_: string;\n\tignore: string;\n\tignoreForNow_: string;\n\timageFiles: string;\n\timperial: string;\n\timportExistingCondenserJobFile: string;\n\timportJobFile: string;\n\timportLoadCalcParameters: string;\n\timportLoadCalculatorFile: string;\n\timportLoadCalculatorModels: string;\n\timportOrder: string;\n\timportOrderFile: string;\n\tincludeAllCompanyOrders: string;\n\tincludeAllOfTheAbove: string;\n\tincludeAllOrders: string;\n\tincludeClosedOrders: string;\n\tincludeDeletedOrders: string;\n\tincludeHeldOrders: string;\n\tincludeOrdersClosedWithinThePast__Days: string;\n\tincludeOrdersRejectedWithinThePast__Days: string;\n\tincludeOrdersShippedWithinThePast__Days: string;\n\tincludeProcessedOrders: string;\n\tincompatibleServerVersion_: string;\n\tindicatesOptionIsShippedLoose: string;\n\tindicatesRevisionSpecificStatus: string;\n\tindicatesRequiredEntries: string;\n\tindoor: string;\n\tindoors: string;\n\tinfiltratingAirRH: string;\n\tinfiltration: string;\n\tinfiltrationLoad: string;\n\tinfiltrationLoadIsNotCalculatedOrEntered_: string;\n\tinfiltrationLoadIsRarelyZero_: string;\n\tinformationIncomplete_: string;\n\tinformationRetreivalFailed_: string;\n\tinitializing: string;\n\tinsertLayer: string;\n\tinsulation: string;\n\tinsulation_Construction: string;\n\tinsulationName: string;\n\tinteriorBoundaryLayer: string;\n\tinternalRH: string;\n\tinternalTemperature: string;\n\tinternalVolume: string;\n\tinvalidPassword_: string;\n\tinvalidChecksum_: string;\n\tinvalidDateEntered_: string;\n\tinvalidE_mailAddress_: string;\n\tinvalidFileHeader_: string;\n\tinvalidFileLength_: string;\n\tinvalidHeaderLength_: string;\n\tinvalidPromiseDate_: string;\n\tinvalidQuantityEntered_: string;\n\tinvoice: string;\n\titalian: string;\n\titem_: string;\n\titemAdjustmentDetails: string;\n\titemDescription: string;\n\titemListPrice: string;\n\titemMultiplier: string;\n\titemName: string;\n\titemNet: string;\n\titemNo: string;\n\titemPrice: string;\n\titemQuantity: string;\n\titemRequestedDate: string;\n\titemTotal: string;\n\titemTotalAfterAdjustments: string;\n\titemWeight: string;\n\titemsInBOLDAreRequired: string;\n\titemsOnTheClipboard_: string;\n\titemsOnThisSystemHaveErrors_: string;\n\titemsOnThisSystemHaveWarnings_: string;\n\titm_OptNotes: string;\n\titm_OptTag: string;\n\tjob_SiteDetails: string;\n\tjob_SiteDetails_Preferences: string;\n\tjobMayBeUploaded_: string;\n\tjobNotBeUploaded_: string;\n\tjob_ScopeREF_: string;\n\tjob_ScopeReferenceNotReturned_: string;\n\tjob_ScopeReturnFileNotFound_: string;\n\tkFactor: string;\n\tk_Factor: string;\n\tkeepRiteLoadCalcFiles: string;\n\tkeepRiteRefrigeration: string;\n\tkeepriteRefrigeration: string;\n\tl_SHAPED: string;\n\tlIGHTING: string;\n\tlIQUID: string;\n\tlISTPRICE: string;\n\tlOAD: string;\n\tlOADCONNECTIONS: string;\n\tlOADINGCATALOGUE: string;\n\tlOC: string;\n\tlOCATION: string;\n\tlOCKED: string;\n\tlRA: string;\n\tlabel: string;\n\tlabel__Text: string;\n\tlanguage: string;\n\tlargeToolbarIcons: string;\n\tlayer: string;\n\tleadTime: string;\n\tleadTimeIsDependentOnPartAvailabilityAndWillBeConfirmedAtTimeOfOrder_: string;\n\tleaveQuoteDateAsIs_: string;\n\tleftCut: string;\n\tleftEnd: string;\n\tleftInset: string;\n\tlength: string;\n\tlength_IsARequiredValue_: string;\n\tlightWork_: string;\n\tlightingLoad: string;\n\tlineFrequency: string;\n\tlineItem: string;\n\tliquidOut: string;\n\tlistPrice: string;\n\tlistPricesAreNotCurrentAndTheQuoteIsOlderThan__Days_: string;\n\tlistPricesAreNotCurrent_: string;\n\tload: string;\n\tloadCalculator: string;\n\tloadCalculatorDesignTool: string;\n\tloadDifferentFile: string;\n\tloadFactor: string;\n\tloadingPriceBook: string;\n\tlocalVersionUploadTimestamp_: string;\n\tlocalOrdersQueried_: string;\n\tlocalVersionModificationTimestamp_: string;\n\tlocation: string;\n\tlocations: string;\n\tlongStorage: string;\n\tlookingForUserProfile_: string;\n\tm_R_P: string;\n\tmANUALOPTIONS: string;\n\tmAXSPARES: string;\n\tmAY: string;\n\tmCA_MOPAreForTheCondensingUnitONLY_SinglePointConnectionsWILLShowDifferentOnDataplate_: string;\n\tmESSAGENOTFOUND: string;\n\tmODELFEATURES: string;\n\tmODELINFORMATION: string;\n\tmODELOPTIONS: string;\n\tmODELTYPE: string;\n\tmODIFIED: string;\n\tmOP_: string;\n\tmOREINFO: string;\n\tmULT: string;\n\tmULTI_CIRCUIT: string;\n\tmanufacturer: string;\n\tmanufacturing: string;\n\tmargin: string;\n\tmarkAllAsRead: string;\n\tmarkAsShipped: string;\n\tmarkRequestAsProcessed: string;\n\tmarkUp: string;\n\tmarkAsClosed: string;\n\tmarkAsRead: string;\n\tmasterCatalogNotLoaded: string;\n\tmatch: string;\n\tmatched: string;\n\tmatches: string;\n\tmatchingModels: string;\n\tmaterial: string;\n\tmaterialName: string;\n\tmaterialLoadIsNotCalculatedOrEntered_: string;\n\tmaterialNameMustBeEntered_: string;\n\tmaterialTypeMustBeSelected_: string;\n\tmaximum: string;\n\tmaximumFluidFlowRateExceeded_: string;\n\tmaximumOvercurrentProtection: string;\n\tmeasurementUnits: string;\n\tmenuStrip: string;\n\tmessages: string;\n\tmetric_SI_: string;\n\tminimum: string;\n\tminimumCircuitAmpacity: string;\n\tminimumValue_: string;\n\tminimumOrderPriceNotReached_: string;\n\tminus: string;\n\tmiscelaneousRefrigerationEquipment: string;\n\tmiscellaneousLoad: string;\n\tmiscellaneousLoads: string;\n\tmiscellaneousSelected: string;\n\tmissingPriceBook: string;\n\tmodel: string;\n\tmodel_: string;\n\tmodelCapacity: string;\n\tmodelConfiguration: string;\n\tmodelFeatures: string;\n\tmodelMatchingCriterea: string;\n\tmodelNumber: string;\n\tmodelOptions: string;\n\tmodelPartNumber: string;\n\tmodelSelector: string;\n\tmodelIsNoLongerAvailable_: string;\n\tmodelIsNoLongerListedInOurInventory_: string;\n\tmodelMultiplierChanged_: string;\n\tmodelsAvailable_: string;\n\tmodifyStatus: string;\n\tmoistureContent: string;\n\tmotor: string;\n\tmotorLoad: string;\n\tmotorType: string;\n\tmoveConnectionLeft: string;\n\tmoveConnectionRight: string;\n\tmoveDown: string;\n\tmoveFirst: string;\n\tmoveLast: string;\n\tmoveLeft: string;\n\tmoveRight: string;\n\tmoveToSide: string;\n\tmoveUp: string;\n\tmultiplier: string;\n\tmultiplierHasBeenResetToDefaultForThisModelType_: string;\n\tmultiplierIsLessThanDefaultValue_: string;\n\tmultiplierIsLessThanMinimumValue_: string;\n\tmultipliersUpdated_: string;\n\tmustBeGreaterThanAirInletTemperature_DB__: string;\n\tmustBeGreaterThanFluidInletTemperature_: string;\n\tmustBeGreaterThanOrEqualToZero_: string;\n\tmustBeGreaterThenOrEqualToMinimumValue_: string;\n\tmustBeLessThanAirInletTemperature_DB__: string;\n\tmustBeLessThanFluidInletTemperature_: string;\n\tmustBeLessThenOrEqualTo_____: string;\n\tmustBeLessThenOrEqualToMaximumValue_: string;\n\tmyInfo: string;\n\tmyProfile: string;\n\tnToN: string;\n\tn_A_: string;\n\tnEW: string;\n\tnEWCOMPOSITE: string;\n\tnOPARTSFOUND_: string;\n\tnOParametersChanged_: string;\n\tnONE: string;\n\tnOTORDERED: string;\n\tnOTORDEREDQUOTE: string;\n\tnOTPRINTED_SET: string;\n\tnOTQUOTED: string;\n\tnOTSAVED: string;\n\tnOTSUBMITTEDORDER: string;\n\tnOTE: string;\n\tnR_Shell: string;\n\tnRDOCS_Splash: string;\n\tnROES: string;\n\tnROES_NotesEditor: string;\n\tnROESContact: string;\n\tnROESSERVER: string;\n\tnROESServerInterface: string;\n\tnROESServerIsNotAvailable_: string;\n\tnROESIsHavingIssuesCommunicatingWithTheServer_: string;\n\tnROES__: string;\n\tnR_DOCS_BROWSER: string;\n\tnationalRefrigeration: string;\n\tnationalRefrigerationAndAirConditioning: string;\n\tnationalRefrigerationDesignTools: string;\n\tnationalRefrigerationOrderEntrySystem_Bally: string;\n\tnationalRefrigerationOrderEntrySystem_KeepRite: string;\n\tnationalRefrigerationOrderEntrySystem_Trenton: string;\n\tnationalRefrigerationOrderFiles_: string;\n\tnegativeTemperatureDifference_: string;\n\tneitherTheKFactorNorTheR_ValueHasBeenEntered_: string;\n\tneitherTheK_FactorNorTheR_ValueAreEnteredForTheMaterialMaterial_: string;\n\tneitherTheK_FactorNorTheR_ValueAreEnteredForTheDividerMaterial_: string;\n\tneitherTheK_FactorNorTheR_ValueHaveBeenSet_: string;\n\tnetPrice: string;\n\tnew: string;\n\tnewJob_KnownLoads: string;\n\tnewJob_KnownModel: string;\n\tnewMargin: string;\n\tnewMultipler: string;\n\tnewOrder: string;\n\tnewOrderPrice: string;\n\tnewPassword: string;\n\tnewPrice: string;\n\tnewQuotePrice: string;\n\tnewSystem_KnownLoads: string;\n\tnewSystem_KnownModel: string;\n\tnewUser: string;\n\tnewNetPrice_: string;\n\tnewPasswordMustBeAtLeastSixCharactersInLength_: string;\n\tnewPasswordsDoNotMatch_: string;\n\tnewServicePartsAddedToOrder_: string;\n\tnewUserNameRegistered_: string;\n\tnext: string;\n\tnextModel_: string;\n\tnextWallConstruction: string;\n\tnoCountryEntered_: string;\n\tnoDetails: string;\n\tnoItemsOrSystemsSelected_: string;\n\tnoModelSelected: string;\n\tnoModelSelected_: string;\n\tnoModelsAvailable: string;\n\tnoPartNameEntered_: string;\n\tnoAddressEntered_: string;\n\tnoAlternativePriceBooksOfThisTypeAreAvailable_: string;\n\tnoAmbientTempEntered_: string;\n\tnoApplicationRegistrationOnformationWasFoundForYourUserID_: string;\n\tnoBoxTempEntered_: string;\n\tnoCalculationMethodSelected_: string;\n\tnoChangesDetectedOnTheOrder_: string;\n\tnoCityEntered_: string;\n\tnoCondenserModelSelected_: string;\n\tnoCondensingTempEntered_: string;\n\tnoConnectionsDefined_: string;\n\tnoConstructionLayersHaveBeenDefined_: string;\n\tnoContactNameGiven_: string;\n\tnoContactsListed_: string;\n\tnoDeratingFactorListed_: string;\n\tnoDescriptionEntered_: string;\n\tnoDoorsEstimateCalculatedOrEntered_: string;\n\tnoDoorsHaveBeenDefined_: string;\n\tnoDoorsHaveBeenDefined_DefaultDoorLoadValueUsedForOneManDoor_: string;\n\tnoEquipmentChangesFound_: string;\n\tnoEquipmentChangesOccurred_: string;\n\tnoEvaporatorMotorLoadHasBeenCalculatedOrEntered_: string;\n\tnoFeedsAssigned_: string;\n\tnoFluidSelected_: string;\n\tnoFutureNonWorkingDaysWereListed_: string;\n\tnoInternetConnection_: string;\n\tnoItemDeliveryDatesHaveBeenSelected_: string;\n\tnoLightingLoadHasBeenCalculatedOrEntered_: string;\n\tnoLoadHasBeenCalculatedOrEntered_: string;\n\tnoModelVARatingValuesListed_: string;\n\tnoModelRatingValuesListed_: string;\n\tnoModelsAvailableForThisHighAFlowRate_: string;\n\tnoOrdersListed_: string;\n\tnoPartsSelected_: string;\n\tnoPhoneNumberEntered_: string;\n\tnoPowerValueEntered_: string;\n\tnoPriceBooksHaveBeenAssignedToYourProfile_: string;\n\tnoPriceChangesOccurred_: string;\n\tnoPricesWereChanged_: string;\n\tnoPricingChangesOccurred_: string;\n\tnoQuantityEntered_: string;\n\tnoRefrigerantSelected_: string;\n\tnoRevisionsWereUpdated_: string;\n\tnoShippingAndHandlingCostEntered_: string;\n\tnoState_ProvinceOrCountyEntered_: string;\n\tnoSuctionTempEntered_: string;\n\tnoSuitableFeedConfigurationFound_: string;\n\tnoTotalLoadHasBeenCalculatedOrEntered_: string;\n\tnoTotalProductLoadHasBeenCalculatedOrEntered_: string;\n\tnoTotalProductWeightHasBeenCalculatedOrEntered_: string;\n\tnoUsageEstimateCalculatedOrEntered_: string;\n\tnoUsageLevelSelected_: string;\n\tnoVentilationEstimateCalculatedOrEntered_: string;\n\tnoVersion_OrdersFoundInThisList_: string;\n\tnoZipOrPostalCodeEntered_: string;\n\tno_CancelThisOperation: string;\n\tno_IAmANewUser_: string;\n\tno_I_llDoItManually_: string;\n\tno_TryToConnectAgain_: string;\n\tno_LeaveTheExistingOptionMultipliersUnchanged_: string;\n\tno_RestorePreviousValue_: string;\n\tnon_CatalogItemDetails: string;\n\tnon_CatalogOptionDetails: string;\n\tnon_numericJob_ScopeReferenceReturned_: string;\n\tnone: string;\n\tnotOwner: string;\n\tnotFound_: string;\n\tnotLatestCO: string;\n\tnote_AnInternetConnectionIsRequiredToCompleteThisProcedure: string;\n\tnote_IfYouAnswerNO_NewProductsAddedToThisOrderMayNotUseTheCorrectMultiplier_: string;\n\tnote_IndoorValueOnly__TheExteriorBoundaryLayerIsAdjusted_AutomaticallyIfSectionIsMarkedAsOutdoors: string;\n\tnote_OrderOriginatorsAndOrderDeskWillAutomaticallyBeIncludedInTheNotifyList: string;\n\tnotes: string;\n\tnotes_Comments: string;\n\tnotes_Remarks: string;\n\tnothingToDo_: string;\n\tnumberOfUnits: string;\n\tnumericValueRequired_: string;\n\to_ptions: string;\n\toELIST: string;\n\toEList: string;\n\toEM: string;\n\toFFLINE: string;\n\toK: string;\n\toNHOLD: string;\n\toPENACTIVEORDERMANAGER: string;\n\toPENEXISTINGORDER: string;\n\toPENPURCHAREORDERMANAGER: string;\n\toRDER: string;\n\toRDERCONTAINS: string;\n\toRDERCONTAINSCALLPRICING_: string;\n\toRDERENTRYSYSTEM: string;\n\toRDERNO: string;\n\toRDERNOTES: string;\n\toRDERSTATUS: string;\n\toRDERVERIFIED: string;\n\toRDERED: string;\n\toTHER: string;\n\toTHERLOADS: string;\n\tobsolete: string;\n\toff_LineWarning_: string;\n\toldPassword: string;\n\toldPasswordDoesNotMatch_: string;\n\toneEquipmentChangeFound_: string;\n\tonePriceChanged_: string;\n\toneRevisionUpdated: string;\n\topen: string;\n\topenBallyTools: string;\n\topenExistingJob: string;\n\topenFromWeb: string;\n\topenKeepRiteTools: string;\n\topenOrder: string;\n\topenOrder_ForceSynch: string;\n\topenTrentonTools: string;\n\topenAsNewOrder: string;\n\topenFileInEXCEL_: string;\n\topenFileInTextViewer_: string;\n\topenLastSavedEditOrder_: string;\n\topeningType: string;\n\topeningDeletionRequested_: string;\n\topeningsSelected: string;\n\toppositeEnds: string;\n\toption: string;\n\toptionPrice: string;\n\toptionSelector: string;\n\toptionIsNoLongerAvailable_: string;\n\toptionNeedsFactoryLeadTime_PleaseCall_: string;\n\toptionNeedsFactoryPricing_PleaseCall_: string;\n\toptional: string;\n\toptions: string;\n\toptionsOnThisItemHaveErrors_: string;\n\toptionsOnThisItemHaveWarnings_: string;\n\torEnterAModelNumber: string;\n\torder: string;\n\torderDate: string;\n\torderEntry: string;\n\torderEntryListPrice: string;\n\torderEntryMultiplier: string;\n\torderEntrySystem: string;\n\torderForm: string;\n\torderItemNo: string;\n\torderManager: string;\n\torderManager_COLLATING: string;\n\torderNumericUnits: string;\n\torderPreview: string;\n\torderPreview_NoOrderSelected: string;\n\torderPreview_NotAvailable: string;\n\torderPrice: string;\n\torderStatus: string;\n\torderUploadConfirmationCheck: string;\n\torderCanNotBeImported_: string;\n\torderChangeStopRequested_: string;\n\torderChangesHaveYetToBeUploadedToTheServer_: string;\n\torderImported_: string;\n\torderIncludesIncompleteFactoryPricingInformation_: string;\n\torderInformationAlreadyExistsInTheProgramOrderStore_: string;\n\torderIsAlreadyLoadedLocally_: string;\n\torderIsOpenForReviewAndPrintOnly_: string;\n\torderPriceTooLowForPre_paidShippingTerms_: string;\n\torderStopRequested_: string;\n\torderWasDeleted_: string;\n\torderWillBeUploadedAfterNextProgramUpdate_: string;\n\tordered: string;\n\torders: string;\n\torientation: string;\n\toriginal: string;\n\totherCountryName: string;\n\totherEquipmentManufacturer_sModel: string;\n\totherHeatSources: string;\n\totherName: string;\n\totherDeletionRequested_: string;\n\toutOfRange_ShouldBe__And______: string;\n\toutdoors: string;\n\tp_O: string;\n\tp_O_: string;\n\tpARAMETERSREQUIRECHECKINGORADJUSTMENT: string;\n\tpARSING: string;\n\tpARTNOTFOUNDINDATABASE_: string;\n\tpARTIAL: string;\n\tpENDING: string;\n\tpERSONNEL: string;\n\tpICK_UP: string;\n\tpO_: string;\n\tpOWER: string;\n\tpRD: string;\n\tpRE_PAID: string;\n\tpRICEBOOKNOTAVAILABLE: string;\n\tpRICEEACH: string;\n\tpROCESSED: string;\n\tpRODUCTLINE: string;\n\tpRODUCTNO: string;\n\tpROJECT: string;\n\tpROTECTED: string;\n\tpackage: string;\n\tpackageOptionsAreHighlightedInGreen_: string;\n\tpanel: string;\n\tpanelExteriorIsOutdoors: string;\n\tparametersCheckCompleted_: string;\n\tparams: string;\n\tpartDescription: string;\n\tpartDescriptions: string;\n\tpartNo: string;\n\tpartDescriptionRequired_: string;\n\tpartialShipmentSelected_: string;\n\tpartialShippingRequested_ButNoSpecificShipDatesListedOnSystemsOrItems_: string;\n\tparts: string;\n\tpassword: string;\n\tpasswordAgain: string;\n\tpasswordRequired_: string;\n\tpaste: string;\n\tpasteOptions_: string;\n\tpastingNonStockingModelsOnAStockingOrderIsProhibited_: string;\n\tpastingStockingModelsOnAStandardOrderIsProhibited_: string;\n\tperUnit: string;\n\tpercentageChangeCausedByEnteredAdjustmentValue_: string;\n\tpercentageDifferenceBetweenCurrentPriceAndFloorPrice_: string;\n\tpercentageDifferenceBetweenNewPriceAndCurrentPrice_: string;\n\tpercentageDifferenceBetweenNewPriceAndFloorPrice_: string;\n\tperimeterLength: string;\n\tpermanentOpening: string;\n\tpersonalInformation: string;\n\tpersonnelLoad: string;\n\tph_: string;\n\tphone: string;\n\tphoneNo: string;\n\tphoneNumbers: string;\n\tpick_Up: string;\n\tpleaseDescribe: string;\n\tpleaseNote_: string;\n\tpleaseSelect: string;\n\tpleaseSelectAModelType: string;\n\tpleaseSelectObjectsToInclude: string;\n\tpleaseSelectRatingOptions: string;\n\tpleaseAdjustTemperaturesOrChangeRefrigerant_: string;\n\tpleaseAdjustTemperaturesOrSelectAndEnterT_H_R_Value_: string;\n\tpleaseCheckAllItems_: string;\n\tpleaseCheckInternetAndTryAgain_: string;\n\tpleaseCheckServerConnectionAndTryAgain_: string;\n\tpleaseCheckThemIndividually_: string;\n\tpleaseCheckYourPermissionsAndOrCloseThisApplicationAndRunTheBootstrapManually_: string;\n\tpleaseCheckYourPermissionsAndOrDeleteThisFileManually_: string;\n\tpleaseCheckYourPermissionsAndOrMoveThisFileManually_: string;\n\tpleaseCheckYourProfileAndUpdateTheSoldByAddressPanel_: string;\n\tpleaseClickOnTheNEWButtonToBeginAddingYourFirstContact_: string;\n\tpleaseCloseAllInstancesOfNROESAndRestartTheApplication_: string;\n\tpleaseCloseAllRefrigerationAppsClickOnRetry_: string;\n\tpleaseCloseAllRefrigerationToolsAndRestartTheApplication_: string;\n\tpleaseCloseAllToolsAndRestartTheApplication_: string;\n\tpleaseCompleteRequiredInformation_: string;\n\tpleaseConfirmTheFollowing: string;\n\tpleaseConfirm_: string;\n\tpleaseContact: string;\n\tpleaseContactSupportTeam_: string;\n\tpleaseContactTheDevelopmentTeam_: string;\n\tpleaseContactTheFactoryToHaveYourProfileAdjusted_: string;\n\tpleaseContactTheManufacturerForServicePartInformation_: string;\n\tpleaseDescribeTheReasonForThisExceptionBelowAnd: string;\n\tpleaseEnterJob_ScopeReference_: string;\n\tpleaseEnterANumericValueGreaterZero_: string;\n\tpleaseEnterAllThePrimaryDimensionInformationFirst_: string;\n\tpleaseEnterCustomerReferenceNumber_: string;\n\tpleaseEnterExpectedShippingCarried_: string;\n\tpleaseEnterYourPersonalApplicationRegistrationCode: string;\n\tpleaseInstallCustomerDatabaseFileIntoYourApplicationProgramDataFolder_: string;\n\tpleaseQuoteFACTORYORDER__: string;\n\tpleaseRestartTheApplication: string;\n\tpleaseRestartTheApplicationWithTheInternetConnected_: string;\n\tpleaseSaveYourWorkAndCloseAllDesignWindows_: string;\n\tpleaseSelectACompressor_: string;\n\tpleaseSelectACountryFromTheList_: string;\n\tpleaseSelectADivision: string;\n\tpleaseSelectAMatchingModelNumberFirst_: string;\n\tpleaseSelectAPriceBook: string;\n\tpleaseSelectAnotherFile_: string;\n\tpleaseSelectOrderType_: string;\n\tpleaseSelectServicePartTypesToAddToOrder_: string;\n\tpleaseSelectTheSameSystemModelType_: string;\n\tpleaseSelectTheTypeOfSystemYouWantToAdd: string;\n\tpleaseTryAgainLater_: string;\n\tpleaseTryAgain_: string;\n\tpleaseUpdateYourPrices_: string;\n\tpleaseUseTheOptionsSelectorToAdjustTheseOptions_: string;\n\tpleaseUseTheOrderManagerToOpenThisOrder_: string;\n\tpleaseWait_: string;\n\tplus: string;\n\tpopup_Tooltip: string;\n\tpostal: string;\n\tpostal_ZIPCode: string;\n\tpostalCode: string;\n\tpower: string;\n\tpowerDensity: string;\n\tpowerSearch: string;\n\tpower_Deg: string;\n\tpr_St: string;\n\tpre_view: string;\n\tpre_Paid_Charge: string;\n\tpre_paid: string;\n\tpressure: string;\n\tpressureDropExceedsRequestedRange_: string;\n\tpressureDropRange: string;\n\tpressureDropTolerance: string;\n\tpressureDropTooLow_: string;\n\tpressureRange: string;\n\tpreview: string;\n\tpreviousNetPrice_: string;\n\tprice: string;\n\tpriceBook: string;\n\tpriceChange: string;\n\tpriceOK: string;\n\tpriceBookUpdated_: string;\n\tpriceBookHasExpired_: string;\n\tpriceBookHasExpiredAndTheQuoteIsOlderThan__Days_: string;\n\tpriceBookIsMissing_: string;\n\tpriceBookNotUpdated_: string;\n\tpriceDidNotChange_: string;\n\tpricebookHasExpired: string;\n\tpricebookHasExpired_: string;\n\tpricebookMissing: string;\n\tpricebookNotLoaded_: string;\n\tpricebookWillExpireIn: string;\n\tpricingChangeOccurredOnOneRevision_: string;\n\tpricingChangesOccurredOn: string;\n\tpricingShownIncludesAllOptionsListedOnCertifiedPrints_: string;\n\tprimary: string;\n\tprint: string;\n\tprintPreview: string;\n\tprintSelectedModelOnly: string;\n\tprinting: string;\n\tprocessChangeOrderRequest: string;\n\tprocessOrder: string;\n\tprocessingNotes: string;\n\tproduct: string;\n\tproductDetails: string;\n\tproductLine: string;\n\tproductList: string;\n\tproductLoad: string;\n\tproductType: string;\n\tproductDeletionRequested_: string;\n\tproductsSelected: string;\n\tprofitRate: string;\n\tprogramUpdateAvailable_: string;\n\tprogramUpdatesFound: string;\n\tprogramUpdatesShouldBeAvailableShortly_: string;\n\tproject: string;\n\tpromise: string;\n\tpromiseDate: string;\n\tpromised: string;\n\tprotectCurrentRevision: string;\n\tprovince: string;\n\tpulldownTime: string;\n\tpurchaseOrder: string;\n\tpurchaseOrders: string;\n\tpurchaseRequests: string;\n\tpurchaser: string;\n\tqTY: string;\n\tqUOTE: string;\n\tqUOTEDAYS: string;\n\tqtty: string;\n\tqty: string;\n\tquantity: string;\n\tquantityPerUnit: string;\n\tquickBox: string;\n\tquotationValidFor__DaysFromQuoteDate_: string;\n\tquote: string;\n\tquote_: string;\n\tquoteDate: string;\n\tquoteNo: string;\n\tquotePrice: string;\n\tquoteSetup: string;\n\tquoteDateIsNotSetToCurrentDate_: string;\n\tr_Value: string;\n\tr____A_R____CombinationNoLongerAvailable_R____ASelected_: string;\n\trATING: string;\n\trEADONLY: string;\n\trEADY: string;\n\trECTANGULAR: string;\n\trEF: string;\n\trEFf: string;\n\trEQDate: string;\n\trEQSHIPDATE_: string;\n\trETRIEVENROESORDERFROMSERVER: string;\n\trLA: string;\n\trOUTING: string;\n\trUN: string;\n\trUNNUMBER: string;\n\trange: string;\n\tratedAt: string;\n\tratingOptions: string;\n\trear: string;\n\trearrangeItemOrder: string;\n\trearrangeItems: string;\n\trearrangeSystemOrder_RenameSystems: string;\n\trearrangeSystems: string;\n\trebuildFactoryOrder: string;\n\trebuildFactoryOrderRequested_: string;\n\trecentOrders: string;\n\trecommendedQuantity: string;\n\trecoverMyEdits_: string;\n\trectangularBoxDimensions: string;\n\tredo: string;\n\trefresh: string;\n\trefreshOrderList: string;\n\trefrigerant: string;\n\trefrigerantFactor: string;\n\trefrigerantFactorNotAvailable_: string;\n\trefrigerantFactorOutOfRange_: string;\n\trefrigerantNotSelected_: string;\n\trefrigerants: string;\n\trefrigerationDesignTools: string;\n\trefrigerationSystemDetails: string;\n\tregBuild: string;\n\tregion: string;\n\tregularShipDate_: string;\n\tregularUse: string;\n\trejectOrder: string;\n\trejected: string;\n\trejectingAnOrderWillPreventTheOriginatorFromResubmittingThisOrder_: string;\n\treleaseNotes: string;\n\tremarks_Notes: string;\n\tremarks_TermsAndConditions: string;\n\trememberMeOnThisComputer: string;\n\tremo_ve: string;\n\tremoteOrderLockNotEstablished_: string;\n\tremoteVersionModificationTimestamp_: string;\n\tremoteVersionUploadTimestamp_: string;\n\tremove: string;\n\tremove_LocalOrder: string;\n\tremoveFeed: string;\n\tremoveLastWall: string;\n\tremoveLocalOrder: string;\n\tremoveModel_Item: string;\n\tremoveSystem: string;\n\trenumberIDs: string;\n\treplaceAllItems_: string;\n\treplaceLocalOrderWithMasterVersion_: string;\n\treplaceSelectedItems_: string;\n\treplaceSelectedSystem_: string;\n\treplaceTheOrderInformationFromTheSelectedFile_: string;\n\trequested: string;\n\trequestedChanges_PleaseUpdateJob_ScopeAndCheckOffEachItem: string;\n\trequestedDate_: string;\n\trequestedDateException: string;\n\trequestedItemShipDateIsLessThanItemLeadTime_: string;\n\trequestedOrderShipDateIsLessThanLeadTime_: string;\n\trequestedSystemShipDateIsLessThanLeadTime_: string;\n\trequired: string;\n\trequiredCapacity: string;\n\trequiredCapacity_Unit: string;\n\trequiredCapacityIsNotSet_: string;\n\trequiredCapacityPerUnit: string;\n\trequiredCapacityTolerance: string;\n\trequiredOptions: string;\n\trequiredRatingOptions: string;\n\trequiredShipDate: string;\n\trequiredValue_: string;\n\trequirementDatesInThePast_: string;\n\tresetColumnWidths: string;\n\tresizeColumns: string;\n\trestoreQuoteRevisionRequested_: string;\n\trestoreTheOrderInformationFromTheOrderStore_: string;\n\tresultingPriceIsLowerThanFloorPrice_: string;\n\tretrieveOrder: string;\n\tretry: string;\n\trevision: string;\n\trevisionContainsErrors_: string;\n\trevisionContainsWarnings_: string;\n\trightEnd: string;\n\trightClickOnTheQuoteTabsOnTheTopLeftOfTheOrderWindow_: string;\n\trounding: string;\n\trunNumber: string;\n\trunTime: string;\n\tsAndH: string;\n\ts_C_T_: string;\n\ts_S_T_: string;\n\tsCT: string;\n\tsECTIONLIST: string;\n\tsEEITEMS: string;\n\tsELECTEDMODELDETAILS: string;\n\tsERVERERROR_: string;\n\tsERVICEPARTSCATALOG: string;\n\tsHIPTO: string;\n\tsHIPPEDLOOSE: string;\n\tsIDE_: string;\n\tsITEVOLTAGES: string;\n\tsOLDBY: string;\n\tsOLDTO: string;\n\tsST: string;\n\tsTARTING: string;\n\tsTATE: string;\n\tsTOPSUBMITTEDORDERORCHANGE: string;\n\tsUBMITNOTES: string;\n\tsUBMITORDER: string;\n\tsUBMITTED: string;\n\tsUBMITTEDC_O_: string;\n\tsUITABLEREFRIGERANTS: string;\n\tsYNCHRONIZING: string;\n\tsYS: string;\n\tsYSTEM: string;\n\tsYSTEMBALANCE: string;\n\tsYSTEMBULLETIN_: string;\n\tsYSTEMREFRIGERANT: string;\n\tsales: string;\n\tsalesman: string;\n\tsameEnd: string;\n\tsaturatedCondensingTemperature: string;\n\tsaturatedSuctionTemperature: string;\n\tsave: string;\n\tsaveAllOrders: string;\n\tsaveAsDefault: string;\n\tsaveAsDefaults: string;\n\tsaveAsSiteDefaults: string;\n\tsaveChanges: string;\n\tsaveOrder: string;\n\tsaveOrderParameterChanges_: string;\n\tsaveChangedContactInformation_: string;\n\tsaveFailed_: string;\n\tsaveMyChanges_: string;\n\tsaveTheseChangesAsANewContact_: string;\n\tsearch: string;\n\tsearchServiceParts: string;\n\tsearchingForMatchingAirCooledCondensers_: string;\n\tsearchingForMatchingCompressors_: string;\n\tsearchingForMatchingCondensingUnits_: string;\n\tsearchingForMatchingEvaporatorUnits_: string;\n\tsection: string;\n\tsectionConstruction: string;\n\tsectionDivider: string;\n\tsectionExteriorIsOutdoors: string;\n\tsectionLoad: string;\n\tsectionType: string;\n\tsectionDeletionRequested_: string;\n\tsectionHasOpeningErrors_: string;\n\tsectionHasOpeningWarning_: string;\n\tsectionNameNotProvided_: string;\n\tsectionTypeMustBeSelected_: string;\n\tsectional_E_g_StudWall_: string;\n\tsections: string;\n\tsectionsSelected: string;\n\tselectAll: string;\n\tselectApplicationLanguage: string;\n\tselectEquipment: string;\n\tselectModel: string;\n\tselectNextModel_: string;\n\tselectOptions: string;\n\tselectRequestRevision: string;\n\tselectRoomShape: string;\n\tselectWhichPowerOfTenToRoundTo_: string;\n\tselectedItemDetails: string;\n\tselectedModelDetails: string;\n\tselectedQuoteDetails: string;\n\tselectedConstructionNotFound_: string;\n\tselectedItemCountDiffersFromPasteBufferCount_: string;\n\tselectedModelNotFoundInActivePriceBook_: string;\n\tselectedPriceBookHasExpired_: string;\n\tselectionError_: string;\n\tsendNotification: string;\n\tsendNotifications: string;\n\tsendItToMeAgain: string;\n\tsendNotificationsTo__SelectAllThatApply_: string;\n\tseparatePrice: string;\n\tseperatePrice: string;\n\tserverConnected: string;\n\tserverNotAvailable: string;\n\tserverCopyHasDifferentSaveHistory_: string;\n\tserverOrdersQueried_: string;\n\tserverVersionDiffersFromApplication_: string;\n\tserviceParts: string;\n\tsetDefaults: string;\n\tsetStatus: string;\n\tsetQuoteDateToToday_: string;\n\tshellApplicationFailedToAcceptCommand_: string;\n\tshellApplicationFailedToStart_: string;\n\tshellApplicationFilesAreMissing_: string;\n\tshellTerminatedUnexpectedy_: string;\n\tshellDidNotAcceptCommand_: string;\n\tshellDidNotRespond_: string;\n\tshellIsLoading: string;\n\tshipOrdersFromFile: string;\n\tshipTo: string;\n\tshipToInformationIsIncomplete: string;\n\tshipToRegionMustBeTwoCharacterCode_: string;\n\tshipment: string;\n\tshipped: string;\n\tshippedInformation: string;\n\tshippedLoose: string;\n\tshippedLoose_LineItem_: string;\n\tshippingNotes: string;\n\tshippingTerms: string;\n\tshippingWeight: string;\n\tshowAll: string;\n\tshowChangeDetails: string;\n\tshowExtendedParameters: string;\n\tshowItemPrices: string;\n\tshowLocalOrders: string;\n\tshowMyOrders: string;\n\tshowNotes_Tags_AndDates: string;\n\tshowOptionPrices: string;\n\tshowOptions: string;\n\tshowSplashScreenAtStartup: string;\n\tshowToolbarText: string;\n\tshowWhereUsedList: string;\n\tshowMeMoreInformation_: string;\n\tshutdown: string;\n\tside_: string;\n\tsignIn: string;\n\tsignedIn: string;\n\tsignedIn_: string;\n\tsigningInAsGuest_: string;\n\tsineWave: string;\n\tsiteAltitude: string;\n\tsiteLineFrequency: string;\n\tsiteAltitudeCanNotBeGreaterThan: string;\n\tsiteAltitudeCanNotBeLessThan: string;\n\tsiteAltitudeNotEntered_: string;\n\tsmallDimensions: string;\n\tsoftwarePatches: string;\n\tsoldBy: string;\n\tsoldByNameChangeRequested_: string;\n\tsoldTo: string;\n\tsoldByInformationIsIncomplete: string;\n\tsoldToInformationIsIncomplete: string;\n\tsoldToRegionMustBeTwoCharacterCode_: string;\n\tsomeDescriptionsHaveNotBeenEntered_: string;\n\tsomeDesignWindowsAreStillOpen_: string;\n\tsomeFactoryCallLeadTimeSettingsAreStillNotSet_: string;\n\tsomeFilesDidNotTransferToTheServer_: string;\n\tsomeFunctionalityMayBeDisabled_: string;\n\tsomeItemsNeedFactoryLeadTimes_PleaseCall_: string;\n\tsomeItemsNeedFactoryPricing_PleaseCall_: string;\n\tsomeOptionsWerePreviouslySetToAnotherValue_: string;\n\tsomeOrdersNotSaved_: string;\n\tsomeOrdersWereNotProperlyClosed_: string;\n\tsomeParametersChanged_: string;\n\tsomePriceChangesOccurred_: string;\n\tsomePricesOrOptionsMayHaveChanged_: string;\n\tsomePricesWereUpdated_: string;\n\tsomePrintFunctionsAreDisabled_: string;\n\tspanish: string;\n\tspareFeeds: string;\n\tspares: string;\n\tspecificHeatAboveFreezing: string;\n\tspecificHeatBelowFreezing: string;\n\tstandard: string;\n\tstandardOrder: string;\n\tstandardTextFile_AllListedParts_: string;\n\tstandardTextFile_SelectedPartsOnly_: string;\n\tstartNROES: string;\n\tstartUpOptions: string;\n\tstartShellWhenILogInToWindows: string;\n\tstarting: string;\n\tstartingTools: string;\n\tstate: string;\n\tstatus: string;\n\tstatus_: string;\n\tstatusStrip: string;\n\tstockingModelOrder: string;\n\tstoredOrderIsMoreRecentThanRecoveryData_: string;\n\tstripCurtains: string;\n\tstyle: string;\n\tsub_Total: string;\n\tsubject: string;\n\tsubmitChangeOrderNow: string;\n\tsubmitChangeOrderRequestToManufacturer: string;\n\tsubmitChangeRequestToPurchaser: string;\n\tsubmitNotes: string;\n\tsubmitOrder: string;\n\tsubmitOrderNow: string;\n\tsubmitted: string;\n\tsubmittedOrdersMayNotBeEditedInOff_lineMode_: string;\n\tsuccess_: string;\n\tsuction: string;\n\tsuctionTemp: string;\n\tsuctionTemp_S_S_T__: string;\n\tsuctionTemperatureCanNotBeGreaterThan: string;\n\tsuctionTemperatureCanNotBeLessThan: string;\n\tsuctionTemperatureIsGreaterThanCondensingTemperature_: string;\n\tsuctionTemperatureIsMissing_: string;\n\tsuctionTemperatureIsRequired_: string;\n\tsuitableModels: string;\n\tswitchPriceBook: string;\n\tsynchronizingOrder_: string;\n\tsyncronizingContacts: string;\n\tsystem: string;\n\tsystemLoad: string;\n\tsystemName: string;\n\tsystemNetPrice: string;\n\tsystemNotes: string;\n\tsystemRun_Time: string;\n\tsystemTagging: string;\n\tsystemWeight: string;\n\tsystemLoadIsMissing_: string;\n\tsystemOptionIsNoLongerAvailable_: string;\n\tsystemReturned_: string;\n\tsystemsOnThisOrderContainErrors_: string;\n\tsystemsOnThisOrderContainWarnings_: string;\n\tt_D_: string;\n\tt_D_Error: string;\n\tt_H_R: string;\n\ttDCanNotBeCalculated_: string;\n\ttDCanNotBeGreaterThan: string;\n\ttDCanNotBeLessThan: string;\n\ttDOutOfEnteredToleranceRange_: string;\n\ttDOutOfMaximumRange_: string;\n\ttERMS_CONDITIONSANDREMARKS: string;\n\ttHEVALUESCONTAINEDHERINAREBASEDONLABORATORYFINDINGSANDTHEINITIALCONDITIONSENTEREDBYTHEUSER_: string;\n\ttHR: string;\n\ttHRCanNotBeCalculated_: string;\n\ttOTAL: string;\n\ttOTALINFILTRATIONLOAD: string;\n\ttOTALLISTPRICE: string;\n\ttOTALNET: string;\n\ttOTALQUOTEPRICE: string;\n\ttYP: string;\n\ttYPE: string;\n\ttabSeparatedTextFiles: string;\n\ttagging: string;\n\ttaggingID: string;\n\ttaggingID_: string;\n\ttaggingText: string;\n\ttakeOwnership: string;\n\ttargetPriceAccordingToAdjustmentAndRoundingFactors_: string;\n\ttax: string;\n\ttaxes: string;\n\ttemperature: string;\n\ttemperatures: string;\n\tterminationOptions: string;\n\tterms: string;\n\ttextBox: string;\n\ttheInternalRelativeHumidityNotEntered_: string;\n\ttheMaterialLoadHasNotBeenCalculatedOrEntered_: string;\n\ttheMaterialMaterialNameIsNotEntered_: string;\n\ttheMaterialMaterialTypeIsNotSelected_: string;\n\ttheOriginatingCustomersInformationIsAlreadyListedInYourContactDatabase_: string;\n\ttheR_ValueHasNotBeenEntered_: string;\n\ttheActualCondensingTemperatureCouldNotBeCalculated_: string;\n\ttheAmbientTemperatureIsNotEntered_: string;\n\ttheApplicationCouldNotMoveFile_BootStrap_exeFromTheUpdatesFolderToTheApplicationFolder_: string;\n\ttheApplicationCouldNotRemoveFile_BootStrap_exe_FromTheApplicationFolder_: string;\n\ttheApplicationCouldNotSpawn_BootStrap_exe_InTheApplicationFolder_: string;\n\ttheAreaHasNotBeenCalculatedOrEntered_: string;\n\ttheAreaIsGreaterThanTheSectionArea_: string;\n\ttheBoxTypeMustBeSelected_: string;\n\ttheCentreDistanceIsNotEntered_: string;\n\ttheChangeCanNotBeProcessedUntilYouCloseTheWorkbookInThisApplication_: string;\n\ttheConstructionK_FactorIsNotCalculatedOrEntered_: string;\n\ttheConstructionR_ValueIsNotCalculatedOrEntered_: string;\n\ttheConstructionNameIsNotEntered_: string;\n\ttheConstructionThicknessHasNotBeenEntered_: string;\n\ttheConstructionTypeIsNotSelected_: string;\n\ttheCorrectQuoteRevisionIsSelected: string;\n\ttheCurrentPricebookHasBeenSuperseded_: string;\n\ttheCurrentPricebookHasExpired_: string;\n\ttheCurrentPricebookNoLongerExists_: string;\n\ttheCurrentPricebookWillExpireInLessThanAMonth_: string;\n\ttheCurrentSettingsWillBeUsedOnAllNewOrdersForThisDivision_: string;\n\ttheCurrentSettingsWillBeUsedOnAllNewOrders_: string;\n\ttheDividerMaterialNameIsNotEntered_: string;\n\ttheDividerMaterialTypeIsNotSelected_: string;\n\ttheDividerWidthIsNotEntered_: string;\n\ttheEffectiveR_ValueIsNotCalculatedOrEntered_: string;\n\ttheEmailAddressGivenIsNotListed_: string;\n\ttheExternalRelativeHumidityMustBeGreaterThanZero_: string;\n\ttheExternalRelativeHumidityMustBeGreaterThan: string;\n\ttheExternalRelativeHumidityMustBeLessThan____: string;\n\ttheExternalRelativeHumidityMustBeLessThan___: string;\n\ttheExternalRelativeHumidityNotEntered_: string;\n\ttheExternalTemperatureIsLowerThanTheInternalTemperature_: string;\n\ttheExternalTemperatureIsNotEntered_: string;\n\ttheExternalTemperatureIsTooHigh_: string;\n\ttheExternalTemperatureIsTooLow_: string;\n\ttheExternalTemperatureNotEntered_: string;\n\ttheFactoryInvoiceRecipientIsCorrect: string;\n\ttheFactoryInvoiceWillBeSentTo: string;\n\ttheFactoryIsNotShippingOnTheSelectedDate_: string;\n\ttheFloorAreaIsNotCalculatedOrEntered_: string;\n\ttheFollowingChangesHaveBeenVerified: string;\n\ttheFollowingOptionIsNotAllowedWithThisPackage_: string;\n\ttheFollowingOrdersCouldNotBeMarkedAsClosed_: string;\n\ttheFollowingOrdersCouldNotBeMarkedAsShipped_: string;\n\ttheFollowingOrdersCouldNotBeSynchronized_: string;\n\ttheInfiltrationLoadHasNotBeenCalculatedOrEntered_: string;\n\ttheInformationInTheStoreIsOlderThanTheSelectedFile_: string;\n\ttheInternalTemperatureIsNotEntered_: string;\n\ttheItemOrSomeOptionsNeedFactoryLeadTimes_PleaseCall_: string;\n\ttheLayerThicknessIsNotCalculatedOrEntered_: string;\n\ttheLayerThicknessIsNotEntered_: string;\n\ttheLoadIsNotCalculatedOrEntered_: string;\n\ttheOpeinngWidthIsGreaterThanTheSectionWidth_: string;\n\ttheOpeningHeightHasNotBeenEntered_: string;\n\ttheOpeningHeightIsGreaterThanTheSectionHeight_: string;\n\ttheOpeningTypeIsNotSelected_: string;\n\ttheOpeningWidthHasNotBeenEntered_: string;\n\ttheOrderCanNotBeProcessedUntilYouCloseTheWorkbookInThisApplication_: string;\n\ttheOrderFileAppearsCorrupt_: string;\n\ttheOrderIsAlreadyListedInTheLocalOrderDatabase_: string;\n\ttheOrderIsLockedByAnotherUser_: string;\n\ttheOrderWindowWillUpdateWhenYouCloseTheServicePartsWindow_: string;\n\ttheOriginalOrderHasNotBeenProcessedYet_: string;\n\tthePerimeterLengthMustBeEnteredForSlabOnGradeFloors_: string;\n\tthePowerUnitsAreNotEntered_: string;\n\tthePriceBookSelectedForThisOrderHasBeenUpdated_: string;\n\tthePriceBookUsedForTheOpenChangeRequestHasBeenRevised_: string;\n\tthePriceBookUsedForTheOpenChangeRequestHasBeenSuperseded_: string;\n\tthePriceBookUsedForTheOpenChangeRequestIsExpiring_: string;\n\tthePriceBookUsedForThisOrderHasBeenRevised_: string;\n\tthePriceBookUsedForThisOrderHasBeenSuperseded_: string;\n\tthePriceBookUsedForThisOrderIsExpiring_: string;\n\tthePriceBookUsedOnOneQuoteHasBeenRevised_: string;\n\tthePriceBookUsedOnOneQuoteHasBeenSuperseded_: string;\n\tthePriceBookUsedOnOneQuoteHasExpired_: string;\n\tthePriceBookUsedOnOneQuoteIsMissing_: string;\n\tthePriceBookWasUpdated_: string;\n\tthePriceBooksUsedForThisOrderAreExpiring_: string;\n\tthePriceBooksUsedForThisOrderHaveBeenRevised_: string;\n\tthePriceBooksUsedForThisOrderHaveBeenSuperseded_: string;\n\tthePriceBooksUsedOn: string;\n\tthePriceBooksUsedOnOneQuoteIsExpiring_: string;\n\ttheProductFreezingTemperatureIsNotEntered_: string;\n\ttheProductIsEnteringAtTheInternalTemperature_TheFinalTemperatureMustAlsoBeTheInternalTemperature_: string;\n\ttheProductTypeIsNotSelected_: string;\n\ttheProduct_sEnteringTemperatureIsNotSet_: string;\n\ttheProduct_sFinalTemperatureCanNotBeGreaterThanTheEnteringTemperature_: string;\n\ttheProduct_sFinalTemperatureCanNotBeLowerThanTheEnteringTemperature_: string;\n\ttheProduct_sFinalTemperatureCanNotBePulledHigherThanTheInternalTemperature_: string;\n\ttheProduct_sFinalTemperatureCanNotBePulledLowerThanTheInternalTemperature_: string;\n\ttheProduct_sFinalTemperatureIsNotSet_: string;\n\ttheProduct_sLoadFactorIsNotSet_: string;\n\ttheProduct_sLoadFactorShouldBeOneUnlessRapidCoolingIsRequired__: string;\n\ttheProduct_sLoadIsNotCalculatedNotEntered_: string;\n\ttheProduct_sMoistureContentIsNotEntered_: string;\n\ttheProduct_sPullDownTimeIsNotSet_: string;\n\ttheProduct_sSpecificHeatAboveFreezingIsNotEntered_: string;\n\ttheProduct_sSpecificHeatBelowFreezingIsNotEntered_: string;\n\ttheProduct_sWeightIsNotEntered_: string;\n\ttheProgramStoreIsNewerThanTheFileYouSelected_: string;\n\ttheQuoteHasBeenSignedByTheCustomer: string;\n\ttheRunTimeIsNotEntered_: string;\n\ttheSelectedChangeOrderHasBeenProcessedByOurOrderDepartment_: string;\n\ttheSelectedChangeOrderHasBeenProcessedByThePurchaser_: string;\n\ttheSelectedOrderHasBeenProcessedByOurOrderDepartment_: string;\n\ttheSelectedOrderHasBeenProcessedByThePurchaser_: string;\n\ttheSelectedOrderIsOpenInAnotherSessionOfNROES_: string;\n\ttheSelectedRefrigerantIsNotAvailableOnThisUnit_: string;\n\ttheServerReturnedTheFollowing_: string;\n\ttheSystemReportedError: string;\n\ttheSystemReportedTheFollowingError_: string;\n\ttheTotalInfiltrationLoadIsNotCalculatedOrEntered_: string;\n\ttheTotalVolumeIsNotCalculatedOrEntered_: string;\n\ttheUserNameYouEnteredIsNotRegisteredOnThisWorkstation_: string;\n\ttheValueWillBeAddedOrSubtractedFromTheCurrentPrice_: string;\n\tthenClickOnSaveAgain_: string;\n\tthereAreNoItemsOnThisOrder_: string;\n\tthereAreNoOptionsAvailableForThisUnit_: string;\n\tthickness: string;\n\tthicknessIsNotEntered_: string;\n\tthirdParty: string;\n\tthisMayTakeAFewMinutes_: string;\n\tthisModelHasOptionsAttached_: string;\n\tthisOrderHasBeenPutOnHoldByTheOrderDepartment_: string;\n\tthisOrderHasBeenRejectedByTheOrderDepartment_: string;\n\tthisOrderHasPriceBookIssues_: string;\n\tthisOrderWasNotClosedProperlyTheLastTimeYouOpenedItOnThisWorkstation_: string;\n\tthisOrderWasSavedUsingAPreviousVersionOfYourMultiplierStructure_: string;\n\tthisOrderWasSavedUsingAPreviousVersionOfYourUserCatalogueProfile_: string;\n\ttileHorizontally: string;\n\ttileVertically: string;\n\ttime: string;\n\ttitle: string;\n\ttoNearest: string;\n\ttoNearest_: string;\n\ttoNearest_____: string;\n\ttoNearest______: string;\n\ttoNearest_______: string;\n\ttoAssistUs_PleaseProvideAnyFurtherInformationYouMayThinkIsRelevant_: string;\n\ttoChangeThePartQuantities_PleaseEditThemInTheOrderWindow_: string;\n\ttolerance: string;\n\ttools: string;\n\ttotal: string;\n\ttotalCapacityAtDesignTD: string;\n\ttotalEquipmentPrice: string;\n\ttotalHeatRejected: string;\n\ttotalHourlyLoad: string;\n\ttotalLoadRequired: string;\n\ttotalMiscellaneousLoad: string;\n\ttotalOpeningInfiltration: string;\n\ttotalOtherLoads: string;\n\ttotalPrice: string;\n\ttotalProductLoad: string;\n\ttotalProductWeight: string;\n\ttotalSystemCapacity: string;\n\ttotalThickness: string;\n\ttotalVolume: string;\n\ttotalWallLoad: string;\n\ttotalDoorWidthExceedsSectionWidth: string;\n\ttotalHeatRejectedOutOfRange_: string;\n\ttotalOpeningAreaExceedsSectionArea: string;\n\ttranslationsAreUNDERCONSTRUCTIONAndMayBeLiteralByNatureAndMayBeContextuallyInError_: string;\n\ttrentonLoadCalcFiles: string;\n\ttrentonRefrigeration: string;\n\ttubeConfiguration: string;\n\ttubeRows: string;\n\ttubes: string;\n\ttubesPerFeed: string;\n\ttubesPerRow: string;\n\ttyp: string;\n\ttype: string;\n\tu_SHAPED: string;\n\tu_S_: string;\n\tu_S_English: string;\n\tuNIT: string;\n\tuNITLIST: string;\n\tuNITNET: string;\n\tuNLESSOTHERWISESPECIFIED: string;\n\tuNUSEDCONNECTIONS: string;\n\tuPDATED: string;\n\tuSERINFORMATION: string;\n\tuSERPREFERENCES: string;\n\tundo: string;\n\tunit_: string;\n\tunitCooler: string;\n\tunitList: string;\n\tunitNet: string;\n\tunitPrice: string;\n\tunitTotal: string;\n\tunitIsNotCompatibleWithSelectedSystemRefrigerant_: string;\n\tunits: string;\n\tunknownReason_: string;\n\tuntilTheChangeIsProcessedByTheManufacturer_YouMayStopYourRequest_: string;\n\tuntilThen_FunctionalityWillBeLimited_: string;\n\tunusedFeeds: string;\n\tupOrDown: string;\n\tupdateAllMultipliers: string;\n\tupdateAllParameters: string;\n\tupdateAllPrices: string;\n\tupdateNow: string;\n\tupdatePricebook: string;\n\tupdatePending_: string;\n\tupdateTheCurrentInformation_Or: string;\n\tupdateTheExistingListing_: string;\n\tupdatesCanNotBeInstalled_: string;\n\tuploadToJOB_SCOPE: string;\n\tuploadingBuffer: string;\n\tuploadingPreviouslySavedFiles: string;\n\tuploadingQueuedOrders: string;\n\tuploadingQueuedOrder_: string;\n\tuseLogoImageFile: string;\n\tuseMyInformation: string;\n\tuseBoxSetting: string;\n\tuseMenuFunctionCreateChangeOrderInstead_: string;\n\tuseTheHOLDFunctionIfYouExpectTheOriginatorToCorrectTheOrder_: string;\n\tuseTheSTOPSUBMITTEDCHANGESelectionInTheOrderMenu_: string;\n\tuseTheSTOPSUBMITTEDORDERSelectionInTheOrderMenu_: string;\n\tuseTheMenuToCreateNewRevision_s_FromYourEditsAsDesired_: string;\n\tuserID: string;\n\tuserInformation: string;\n\tuserInformationRequested_: string;\n\tuserName: string;\n\tuserRegistrationInformation: string;\n\tuserVerification: string;\n\tuserNameRequired_: string;\n\tuserSelectablePriceAdjustmentValue_: string;\n\tusernameNotFound_: string;\n\tusingLocalVersion_: string;\n\tvWaffle: string;\n\tvOLTAGE: string;\n\tvalueRequired_: string;\n\tvalueMustBeGreaterThanZero_: string;\n\tvarious: string;\n\tvelocity: string;\n\tventilationAirRelativeHumidity___: string;\n\tventilationAirTemperature: string;\n\tventilationRate: string;\n\tventilationAirRelativeHumidityIsNotEntered_: string;\n\tventilationAirTemperatureIsNotEntered_: string;\n\tventilationRateIsLessThanTheRecommendedMinimumValue_: string;\n\tverifyDesign: string;\n\tversion: string;\n\tversion_OfNROESUsesADifferentSaveStrategy_: string;\n\tversion_UsesAWorkbookForYourJobInsteadOfMultipleQuoteRevisionFiles_: string;\n\tvertical: string;\n\tvia: string;\n\tview_ArchivedFiles: string;\n\tviewCSV: string;\n\tvisitUsOn_Line: string;\n\tvoltage: string;\n\tvolume: string;\n\twAITINGFORSERVICEPARTSCATALOGUETOLOAD: string;\n\twARNING: string;\n\twARNING_: string;\n\twARNINGS: string;\n\twATTS: string;\n\twORKORDER: string;\n\twaitingForShellToComeReady: string;\n\twaitingForShellToComeReadyForFirstTime: string;\n\twaitingForShellToStart: string;\n\twaitingForANewPassword_: string;\n\twaitingForRegistrationKey_: string;\n\twaitingForShell_: string;\n\twaitingForSign_in: string;\n\twall: string;\n\twallLoad: string;\n\twallSection: string;\n\twallsCross_PleaseCheckYourDimensions_: string;\n\twarning: string;\n\twarning_PriceBookHasExpired_: string;\n\twarningOppositeEndConnections_DimensionDrawingWillOnlyShowSameEndHeaders: string;\n\twarnings: string;\n\twaterCooledCondensingUnit: string;\n\twebMessagesAndBulletins: string;\n\tweight: string;\n\twhatToPrint: string;\n\twhatDoYouWantToDo_: string;\n\twhatTypeOfFileDoYouRequire_: string;\n\twhatTypeOfOrderDoYouWishToCreate_: string;\n\twhereUsed: string;\n\twhereUsed_: string;\n\twholesale: string;\n\twidth: string;\n\twindow: string;\n\twith: string;\n\twithTheInternetConnected_: string;\n\tworkHours: string;\n\tworkOrder: string;\n\tworkingDays: string;\n\tworkingOn_Line: string;\n\twouldYouLikeToDo_: string;\n\twrapSystemBar: string;\n\tyes: string;\n\tyesPlease: string;\n\tyes_ChangeTheModelToTheOneISelected_: string;\n\tyes_IAmARegisteredUser_: string;\n\tyes_SetOptionsToTheNewMultiplier_: string;\n\tyes_SetTheValueIEntered_: string;\n\tyes__SomeFunctionalityWillBeDisabled_: string;\n\tyouAreNotTheOriginalOwnerOfThisOrder_: string;\n\tyouAreProhibitedFromSettingTheMultiplierThisLow_: string;\n\tyouAreWorkingOffline_: string;\n\tyouCanNoLongerStopThisChangeRequest_: string;\n\tyouCanNoLongerStopThisOrder_: string;\n\tyouCanNoLongerStopThisPurchaseRequest_: string;\n\tyouCanNotDeleteTheLastSystemOnAnQuote_: string;\n\tyouCanNotDeleteThisOrderFromTheServer_: string;\n\tyouCanNotEditTheDoorInformationAtThisTime_: string;\n\tyouCanNotEditTheSectionInformationAtThisTime_: string;\n\tyouCanNotEditThisOrderAtThisTime_: string;\n\tyouCanNotRejectAnOrderUsingNROESOnceItHasBeenSubmittedToJob_Scope_: string;\n\tyouChangedTheCondensingUnitModelNumber_: string;\n\tyouChangedTheModelNumber_: string;\n\tyouDoNotCurrentlyHaveRightsToThisTool_: string;\n\tyouDoNotHaveTheOriginalPriceBookLoaded_: string;\n\tyouDoNotHaveTheRequiredPriceBookForTheOpenChangeRequest_: string;\n\tyouDoNotHaveTheRequiredPriceBookForThisOrder_: string;\n\tyouDoNotHaveTheRequiredPriceBooksForThisOrder_: string;\n\tyouHaveFailedToReceiveACatalogueDataUpdateForMoreThan__Days_: string;\n\tyouHaveFailedToReceiveAProgramUpdateForMoreThan__Days_: string;\n\tyouHaveNotBeenAssignedAChannelForDirectEntryToTheAS_____: string;\n\tyouHaveNotConfirmedYourEmailAddressYet_: string;\n\tyouHaveNotReceivedACatalogueDataUpdateForMoreThan__Days_: string;\n\tyouHaveNotReceivedAProgramUpdateForMoreThan__Days_: string;\n\tyouHaveNotStartedTheApplicationOn_lineForMoreThan__Days_: string;\n\tyouMayCreateANewChangeOrder_OrContactUsByTelephone_: string;\n\tyouMayCreateANewChangeOrder_OrContactYourPurchaser_: string;\n\tyouMayCreateANewOrderAndCorrectTheListedIssues_: string;\n\tyouMayEditThisOrderOff_line_: string;\n\tyouMayEnterAPositiveOrNegativeValueHere_: string;\n\tyouMayEnterAValueHereToRoundToAValueOtherThanThatEndingInAZero_: string;\n\tyouMayHaveTheOrderOpenInAnotherApplication_: string;\n\tyouMayNotCopyThisOrder_: string;\n\tyouMayNowEditYourData_: string;\n\tyouMayPreferToSimplyDeselectTheSpecificOptionsYouDoNotRequire_: string;\n\tyouMaySelectRoundingOptionsHere_: string;\n\tyouMayTakeOwnershipOfThisOrderUsingTheOrderMenu_: string;\n\tyouMayThenEditTheServicePartQuantitiesInTheOrderItself_: string;\n\tyouMayWorkOff_lineIfYouWish_: string;\n\tyouMustBeConnectedToTheInternetToUseThisTool_: string;\n\tyouRequestedIDeleteASystemFromTheOrder_: string;\n\tyouShouldCloseThisOrderAndTryToReopenItForSynchronizationOptions_: string;\n\tyouShouldReceiveAnE_mailShortly_: string;\n\tyouShouldReceiveMoreInformationWithinTheNextFewWorkingDays_: string;\n\tyouShouldReceiveYourCodeShortlyAtTheFollowingE_mailAddress_: string;\n\tyouShouldReceiveYourLoginInformationViaE_mailShortly_: string;\n\tyouShouldStopTheRequest_CorrectTheIssuesListedBelow_AndResubmit_: string;\n\tyouWillBeTheOnlyOneAbleToMakeChanges_: string;\n\tyourAuthorizationHasBeenRecinded_: string;\n\tyourAuthorizationIsNowUnderReview_: string;\n\tyourAuthorizationIsStillUnderReview_: string;\n\tyourChangeRequestWasSubmitted_: string;\n\tyourDataContainsWarnings_: string;\n\tyourNeedToBeOn_lineToCompleteTheRegistrationProcess_: string;\n\tyourNewChangeRequestWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_: string;\n\tyourNewOrderWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_: string;\n\tyourNewRequestWillReplaceThePreviousOne_AfterYouCompleteYourChangesAndRe_submit_: string;\n\tyourOrderWasSubmitted_: string;\n\tyourPasswordHasBeenSuccessfullyUpdated: string;\n\tyourPreviouslySubmittedChangeOrderHasBeenStopped_: string;\n\tyourPreviouslySubmittedChangeRequestHasBeenStopped_: string;\n\tyourPreviouslySubmittedOrderHasBeenStopped_: string;\n\tyourPreviouslySubmittedRequestHasBeenStopped_: string;\n\tyourPurchaserHasBegunWorkOnYourOrderRequest_: string;\n\tyourRequestCouldNotBeRetractedAtThisTime_: string;\n\tyourSoldByRegionMustBeTwoCharacterCode_: string;\n\tyourUserAccountHasBeenRejected_: string;\n\tyourUserAccountIsCurrentlyDisabled_: string;\n\tyourUserProfileHasBeenSuccessfullyUpdated_: string;\n\tyourVendorAccountIsCurrentlyDisabled_: string;\n\tzip_PostalCode: string;\n\tzipCode: string;\n\tzoneBoundary: string;\n\tzoneBoundary_TD___: string;\n\tasNewRevision_AndRestore: string;\n\tatFixtureRating: string;\n\tconfirmYourRequestByClickingOnTheOKButton_: string;\n\te_g_ToRoundTo______SetRoundingToNearest____AndEnter__Here_: string;\n\tequipmentChangesFound_: string;\n\tfeedIsNotUsed_: string;\n\tfeedsAreNotUsed_: string;\n\tfrmOptions: string;\n\thaveBeenRevised_: string;\n\thaveBeenSuperseded_: string;\n\tlblBOLD: string;\n\torQuantity: string;\n\torR_Value_UnitThickness: string;\n\torTotalLightingPower: string;\n\tpricesChanged_: string;\n\tquotesAreExpiring_: string;\n\tquotesAreMissing_: string;\n\tquotesHaveExpired_: string;\n\tregularShipDateOfTheSelectedItem_: string;\n\trevisionsUpdated_: string;\n\trevisions_: string;\n\ttoLastSavedVersion_: string;\n\tyouCanNoLongerCreateQuoteRevisionsDuringTheSaveOperation_: string;\n\t_LessOptions_: string;\n\tapprovalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_: string;\n\taPPROVALS: string;\n\taPPROVEDBY_: string;\n\tcARRIERPREFERENCE: string;\n\tcertifiedPrintMaker: string;\n\tcHANGEORDERREQUESTFORM: string;\n\tcUSTOMERORDER__: string;\n\tdATE_: string;\n\tdimA: string;\n\tdimB: string;\n\tdimC: string;\n\tdimD: string;\n\tdIMENSIONA: string;\n\tdIMENSIONB: string;\n\tdIMENSIONC: string;\n\tdIMENSIOND: string;\n\tdIMENSIONE: string;\n\tdIMENSIONF: string;\n\tdIMENSIONG: string;\n\tdIMENSIONH: string;\n\tdIMENSIONS: string;\n\tdimensionsShownAreForStandardUnitLessOptions_: string;\n\tdimensionsShownAreForStandardUnitLessOptions_SeeCertifiedDrawingForMoreDetails_: string;\n\tdISCHARGE: string;\n\tdocumentBrowser: string;\n\tdRAIN: string;\n\teLECTRONICORDERFORM: string;\n\teLECTRONICORDERFORM_CONTINUED: string;\n\teQUIPMENTSUMMARY: string;\n\teSTSHIPWEIGHT_LessOptions_: string;\n\tfACTORYINVOICETO_: string;\n\tfACTORYORDER__: string;\n\tfREIGHT: string;\n\tfREIGHTTERMS_: string;\n\thOTGASINLET: string;\n\thOTGASOUTLET: string;\n\thOTGASSIDEPORT: string;\n\tiD__: string;\n\tiTEM__: string;\n\tlbs_LessOptions_: string;\n\tmANUALENTRY: string;\n\tnATIONALREFRIGERATIONWillFurnishEquipmentInAccordanceWithThisDrawingAndSpecifications_AndSubjectToItsPublishedWarranty_ApprovalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_: string;\n\tnEWSYSTEM: string;\n\tnOTES_: string;\n\toEMult: string;\n\toPTION: string;\n\toRDER__: string;\n\toRDERDATE_: string;\n\tpACKAGE: string;\n\tpACKAGEITEM: string;\n\tpACKAGEOPTION: string;\n\tpAGE: string;\n\tpANLOOP: string;\n\tpRICEBOOK_: string;\n\tpriceTotal: string;\n\tpROJECT_: string;\n\tpURCHASER_: string;\n\tpURCHASER_SPO__: string;\n\tqUOTE__: string;\n\tqUOTEDATE_: string;\n\trEF__: string;\n\trEMARKS_SPECIALSHIPPINGINSTRUCTIONS: string;\n\ts_H: string;\n\tservicePartsList: string;\n\tsHIPMENT_: string;\n\tshippingAndHandling: string;\n\tsHIPPINGWEIGHT: string;\n\tsOUND: string;\n\tsTOCKINGMODELS: string;\n\tsUBMITTEDBY_: string;\n\tsUBTOTAL: string;\n\tsUCTION: string;\n\ttAGGING_: string;\n\ttotalNet: string;\n\tuSERID_: string;\n\tvENDORID_: string;\n\twATER: string;\n\twEIGHT: string;\n\taSuiteOfSoftwareApplicationsCreatedToHelpRefrigerationProfessionalsMakeAccurateCalculations_AccessProductInformation_ChooseComponentsAndPrintTechnicalDrawings: string;\n\tpleaseUpdateAllPrices_: string;\n\tapplicationRegistrationKey_: string;\n\tsaveAsNewContact: string;\n\tsaveContact: string;\n\tsaveNewContact: string;\n\tpartNumber: string;\n\tloadCalculatorII: string;\n\tsystemCapacity: string;\n\tdescriptions: string;\n\tboxApplication: string;\n\ttheInternalRelativeHumidityMustBeGreaterThan: string;\n\ttheInternalRelativeHumidityMustBeLessThan: string;\n\tlineLoss: string;\n\tsystemRunTime: string;\n\tsystemRunTimeMustBeGreaterThanOneHour_: string;\n\tsystemRunTimeMustBeLessThanTwentyfourHours_: string;\n\ttheSystemLineLossIsNotEntered_: string;\n\ttheSystemLineLossIsTooHigh_: string;\n\ttheSystemLineLossIsTooLow_: string;\n\taveragePassageTime_Seconds_: string;\n\tpassagesPerDay: string;\n\tcurtainEffectiveness: string;\n\tstandOpenTimePerDay_Minutes_: string;\n\tcONSTRUCTIONANDDIMENSIONS: string;\n\tvolumeAndTemperatures: string;\n\tairFlowRates: string;\n\thasConfigurationErrors: string;\n\toptionConfigurations: string;\n\tsetConfiguration: string;\n\tcan_tHaveOptions: string;\n\tnotRecommendedOptions: string;\n\trecommendedOptions: string;\n\tavailableConfigurations_: string;\n\tnormalConfiguration_: string;\n\thasConfigurationWarning: string;\n\toptionConfigurationError_: string;\n\toptionConfigurationWarning_: string;\n\toptionConfigurtionErrorsDetected_: string;\n\tpleaseSelectOneOfTheAvailableConfigurations_: string;\n\tthisOptionHasMultipleConfigurationsAvailable_: string;\n\tincludesOptions: string;\n\tover_Ride_SubmitErrors: string;\n\tcHeckPRicesOK: string;\n\terrorLabel: string;\n\tnoRefrigerantRatingValuesListed_: string;\n\ttermsOfSale: string;\n\twarranty: string;\n\tlOGO: string;\n\ttERMSOFSALE: string;\n\tvENDORINFORMATION: string;\n\tuseTOSImageFile: string;\n\tcheckAllErrors: string;\n\tdrawings: string;\n\toptionList: string;\n\tspecificationsPage: string;\n\twarningLabel: string;\n\tclickCANCELToAdjustYourSelectedOptions_: string;\n\tyouWillNotBeAbleToSubmitThisOrderUsingThisOptionConfiguration_: string;\n\toPTIONDESCRIPTIONAPPENDIX: string;\n\trequestedOrderShipDateIsBeforeToday_: string;\n\tordersListed_: string;\n\tsEARCHINGANDSORTING: string;\n\tsynchronizingOrders_PleaseWait: string;\n\tarchive_: string;\n\titemPartDescriptionRequired_: string;\n\tdoYouWantToAttemptToOpenThisFileAnyway_: string;\n\toldStyleChecksumDoesNotMatch_: string;\n\tfailedToOpenDataCatalog_: string;\n\toPTIONDESCRIPTIONAPPENDIXCONTINUED: string;\n\tincludeUnselectedOptions: string;\n\tsELECTEDOPTIONDESCRIPTIONS: string;\n\tsELECTEDOPTIONDESCRIPTIONSCONTINUED: string;\n\tsetRevisionSUbmitted: string;\n\tuNsubmitQuote: string;\n\taddDoors_Openings: string;\n\tdeleteDoors_Openings: string;\n\tdOORUSAGE: string;\n\teditDoor_Openings: string;\n\tcurtainR_Value: string;\n\tloadingPlatformRoll_UpDoor: string;\n\ttrailerDockRoll_UpDoor: string;\n\treach_InGlassDoor: string;\n\tboxUsage: string;\n\tfloorType: string;\n\ttheRefrigeratedFloorIsBuiltDirectlyOnTheGround__OrTheRoomInWhichTheRefrigeratedBoxIsLocatedIsBuiltDirectlyOnTheGround__: string;\n\torTheRoomInWhichTheRefrigeratedBoxIsLocatedIsBuiltDirectlyOnTheGround_: string;\n\torThereIsAVentilatedSpaceUnderTheRoomInWhichTheRefrigeratedSpaceIsLocated_: string;\n\ttheRefrigeratedFloorIsBuiltDirectlyOnTheGround_: string;\n\tthereIsAVentilatedSpaceUnderTheRefrigeratedFloor_: string;\n\tthisIncludesCrawlSpacesOrUpperFloorInstallations_: string;\n\tcoolingLoads: string;\n\tcheckBox: string;\n\taboveGrade: string;\n\tonGrade: string;\n\theatingTemperature: string;\n\tsurroundingAirTemperature: string;\n\tonGrade_FrostHeaveProtected: string;\n\taNDAControlledFrostHeavePreventionHeaterSystemIsOrWillBeInstalled_: string;\n\tconstruction: string;\n\twALL_FLOORANDCEILINGLOADS: string;\n\tpRODUCTLOADS: string;\n\tenterTemp: string;\n\tpullDown: string;\n\ttOTALPRODUCTLOAD: string;\n\ttOTALPRODUCTWEIGHT: string;\n\ttOTALWALL_FLOORANDCEILINGLOAD: string;\n\tvOLUME: string;\n\tmISCELLANEOUSLOADS: string;\n\ttOTALMISCELLANEOUSLOAD: string;\n\taVERAGE: string;\n\tfORKLIFTS_TOWMOTORS: string;\n\thEAVY: string;\n\texternalRh: string;\n\tinternalRh: string;\n\ttOTALINFILTRATIONLOADESTIMATEDBYDOORSANDOPENINGS: string;\n\tventilation: string;\n\tiNFILTRATIONLOAD_ESTIMATEDBYDOORSANDOPENINGS: string;\n\tiNFILTRATIONLOAD_ESTIMATEDBYVENTILATION: string;\n\tiNFILTRATIONLOAD_ESTIMATEDBYVOLUMEANDUSAGE: string;\n\tcurtains: string;\n\tdoorOrOpeningType: string;\n\topenTime: string;\n\tpreparedBy: string;\n\tpreparedFor: string;\n\tcustomerInformation: string;\n\tjob_ProjectName: string;\n\tcOOLINGREQUIREMENTS: string;\n\tdesignLoad: string;\n\tequipmentLoad: string;\n\thours: string;\n\tsafetyLoad: string;\n\tsafetyFactor: string;\n\tcapacityRequired: string;\n\tcondenserAmbient: string;\n\tsYSTEMDESIGNSUMMARY: string;\n\tsYSTEMEQUIPMENTSELECTION: string;\n\tnOTSELECTED_: string;\n\tevaporatorTD: string;\n\tfanLoad: string;\n\tdeleteSystem: string;\n\tduplicateSystem: string;\n\teditSystem: string;\n\tarea_ZoneOrSystemName: string;\n\tareaDeletionRequested_: string;\n\tsystemDetails: string;\n\tequipmentCapacity: string;\n\tequipmentTD: string;\n\topenBoxDesigner: string;\n\tsYSTEMSLOADSUMMARY: string;\n\timportLoadCalculatorIDesignFile: string;\n\timportLoadCalculatorIIDesignFile: string;\n\tnewCondenserDesign: string;\n\tnewFluidCoolerDesign: string;\n\tnewGlycolCoilDesign: string;\n\tnewLoadCalculatorIIDesign: string;\n\tnewSystemNamed: string;\n\tsafetyFactor___: string;\n\tquantityPERCompressorUnit: string;\n\tquantityPERCondensingUnit: string;\n\thourlyLoadRequired: string;\n\tsuctionLineLoss: string;\n\tconnectionCount: string;\n\tpleaseSelectAndEditTheAppropriateSection_: string;\n\ttoEnterOrEditDoorOrOpeningDetails_: string;\n\tclearAllSelections: string;\n\tinteriorTemperature: string;\n\tareYouSureYouWantToSubmitThisMyEditOrder_: string;\n\tdoYouWantToProcessThisChangeOrderAsAnOriginalMyEditOrder_: string;\n\tifYouSubmitThisOrder_YouAreOfficiallyTakingResponsibilityForTheMyEditOrder_: string;\n\tuntilTheOrderIsProcessedByTheManufacturerYouMayStopThisMyEditOrder_: string;\n\tuntilTheOrderIsProcessedByThePurchaserYouMayStopThisMyEditOrder_: string;\n\twARNING_YOUARENOTTHEORIGINATOROFTHISMyEditOrder_: string;\n\tyouCanNoLongerStopThisMyEditOrder_: string;\n\tyouDoNotHaveOwnershipOfThisOrder_: string;\n\ttestCloneCompare: string;\n\tmodelNotLoaded_: string;\n\ttemperature_TooHigh_: string;\n\ttemperature_TooLow_: string;\n\tnoRatingFound_: string;\n\ttemperature_IsTooHigh_: string;\n\ttemperature_IsTooLow_: string;\n\tbalancedCapacity: string;\n\tevap_TD: string;\n\tambientTemperature_EvapTemperature_: string;\n\tboxTemperature_EvapTemperature_: string;\n\tcondensingTemperature_EvapTemperature_: string;\n\tevapTemperature: string;\n\tisInvalid_: string;\n\tisMissing_: string;\n\tisOutOfRange_: string;\n\tsystemLoadIsInvalid_: string;\n\tsystelLoadNotGiven_: string;\n\ttemperature_NotGiven_: string;\n\tproductName: string;\n\tloadCalculationDesignHasErrors_: string;\n\tloadCalculationDesignHasWarnings_: string;\n\tequipmentSelectionIsIncomplete_: string;\n\tsystemIsNotBalanced_: string;\n\tdesignHasErrors_: string;\n\tdesignHasWarnings_: string;\n\tloadCalculationSystemHasDesignErrors_: string;\n\tloadCalculationSystemHasDesignWarnings_: string;\n\ttestMail: string;\n\toneOrMoreRequestedDatesAreInThePast_: string;\n\tshipmentDateErrorsFound_: string;\n\tcurrency: string;\n\tedit_AddDoorsAndOpenings: string;\n\tthePriceBookUsedForTheOpenChangeRequestHasExpired_: string;\n\tthePriceBookUsedForThisOrderHasExpired_: string;\n\tthePriceBooksUsedForThisOrderHaveExpired_: string;\n\talwaysOpenAreaOfWallLeadingToAnotherZone_: string;\n\tareaToBeExcludedFromWallDefinition_: string;\n\tnonOpeningGlassWindow_: string;\n\tnormallyClosedDoorForStaffOrGoodsTraffic_: string;\n\troll_UpDoorOpenToOutsideEnvironmentOrOtherZone_: string;\n\tsectionOfWallWithDifferentInsulationOrExternalEnvironmentFromRestOfWall_: string;\n\tpleaseSelectAnOpeningType_: string;\n\tlOADCALCULATION: string;\n\treach_InSelfServeGlassDoors_: string;\n\troll_UpDoorDesignedToBeNormallyClosedOrSealedByTransportTrailer_: string;\n\tareYouSureYouWantToUseTheSeletedValue_: string;\n\ttheInfiltrationCalculatedForTheseIsGreaterThanTheVentilationInfiltration_: string;\n\ttheInfiltrationCalculatedForTheseIsGreaterThanTheVolumeEstimatedInfiltration_: string;\n\tvalueWarning_: string;\n\tyouHaveDoorsAndOpeningsDefinedInTheBoxDesign_: string;\n\tconductionLoad: string;\n\tiNFILTRATIONLOADPERUNIT: string;\n\tiNSULATIONLOADPERUNIT: string;\n\toutdoorCool: string;\n\toutdoorWarm: string;\n\toutdoors_ColdClimate_: string;\n\teSTIMATEDBYVENTILATION: string;\n\teSTIMATEDBYBOXVOLUME_USAGE: string;\n\teSTIMATEDBYDOORSANDOPENINGS: string;\n\tventilationInfiltrationEstimate: string;\n\tvolume_UsageInfiltrationEstimate: string;\n\tinfiltrationMethodChosenIsNotTheMaximumLoadEstimateEntered_: string;\n\tcalculationMethod: string;\n\tuseMaximum: string;\n\tlOADCONNECTIONSCONTINUED: string;\n\tinsulationLayerIsRecommendedForSlabOnGradeFreezers_: string;\n\taDDNEWSYSTEMUSING: string;\n\tiMPORTFROMFILE: string;\n\tmiscelaneousUnits: string;\n\timportSystemsFromALoadCalculatorIIFile_: string;\n\tballyBoxWizardFile: string;\n\timportSystemsFromABallyBoxWizardFile_: string;\n\timportSystemsFromAKeepriteCalc_RiteFile_: string;\n\timportSystemsFromATretonCalculoadFile_: string;\n\tkeepriteCalc_RiteFile: string;\n\ttretonCalculoadFile: string;\n\tabortAddingASystem_: string;\n\tsaveSystemAsTemplate: string;\n\tsTANDARDAPPLICATIONS: string;\n\tuSERTEMPLATES: string;\n\trH_TD: string;\n\tcreateSystem_PleaseSelectApplicationTypeOrTemplate: string;\n\tfACTORYTEMPLATES: string;\n\tsaveAsTemplate: string;\n\tevapTDIsTooHighForTheSelectedApplication_: string;\n\tevapTDIsTooLowForTheSelectedApplication_: string;\n\ttheInternalTemperatureIsTooHighForTheSelectedApplication_: string;\n\ttheInternalTemperatureIsTooLowForTheSelectedApplication_: string;\n\tnewMulti_SystemJob: string;\n\tbetaVersionDesignDetected_: string;\n\tdoYouWantToUpdateTheDesignToTheNewerVersion_: string;\n\tnewerCalculatorVersionDetected_: string;\n\tpleaseVerifyYourDesign_: string;\n\ttheLoadCalculationHASCHANGEDWithTheNewerVersion_: string;\n\ttheLoadCalculationHASNOTChangedWithTheNewerVersion_: string;\n\ttheLoadCalculationsMayHaveChangedSinceYouFirstCreatedThisJob_: string;\n\tthisDesignWasCreatedWithTheBetaVersionOfTheSoftware_: string;\n\texport_CSV: string;\n\toptionDescriptionList: string;\n\tpleaseCheckYourEquipmentSelection_: string;\n\tifThisProblemPersists_PleaseContactTheFactory_: string;\n\tselectedEquipmentNoLongerBalances_: string;\n\tthisDesignWasCreatedWithAnEarlierVersionOfThisSoftware_: string;\n\tnewerVersionDesignDetected_: string;\n\tpleaseRestartYourSoftwareToUpdateYourSystemAndDataFiles_: string;\n\tlade: string;\n\tpending: string;\n\toutdoors_ColdClimate___: string;\n\tloadingServicePartCatalog_: string;\n\tclearFilter: string;\n\tcategory: string;\n\tpartName_No: string;\n\tqTTY: string;\n\tmodelNumber_WhereUsed: string;\n\tequipmentDetails: string;\n\tleadTimeChangesFound_: string;\n\tleadTimesChangedOn: string;\n\tleadTimesChangedOnOneRevision_: string;\n\tnoLeadTimeChangesFound_: string;\n\tnoLeadTimeChangesOccurred_: string;\n\toneLeadTimeChangeFound_: string;\n\tcopyShippingDateInformationTo: string;\n\tforComplexFloorsWeSuggestYouUseTheFloorPlanner: string;\n\tonlyOneFloorSectionMayBeAddedWithThisTool_: string;\n\tsorry: string;\n\torEnterTheTotalFloorAreaAndPerimeterValuesInTheExistingFloorDefinition_: string;\n\tcanNotSubmit_: string;\n\tinvalidEmail_Format_: string;\n\tOrdersWillBeMarkedAsShipped_: string;\n\tOrdersWillBeMarkedClosed_: string;\n\tcalendarDays: string;\n\tleadTimeCalendarDays: string;\n\tleadTimeAddWeeks: string;\n\tleadTimeWeeksAdded: string;\n\tpleaseContactFactory: string;\n\twARNING_SUBMITTEDQUOTENOTFOUND_: string;\n\tCalandarDays_: string;\n\tsorry_: string;\n\tyouCanNotDeleteTheOrderedQuoteRevision_: string;\n\tdeleteCurrentQuoteRevision: string;\n\trestoreCurrentQuoteRevisionToLastSavePoint: string;\n\tcanNotRestoreTheOrderedQuoteRevision_: string;\n\tthePackage: string;\n\tstandardFeatures: string;\n\tadditionalOptionsAndAccessories: string;\n}\n\nconst translations: LocaleStrings = new LocalizedStrings({\n\ten: enStrings,\n\tfr: frStrings,\n\tes: esStrings\n});\n\nclass TranslationService {\n\tpublic static getCurrentLanguageFromQueryString(): string {\n\t\treturn HelperService.getQueryVariable(\"lang\");\n\t}\n\n\tpublic static getTranslations() {\n\t\tlet language = this.getCurrentLanguageFromQueryString();\n let storedLanguage = window.sessionStorage.getItem(\"lang\");\n if (storedLanguage === \"\" ||\n storedLanguage === null ||\n storedLanguage === undefined) {\n storedLanguage = window.localStorage.getItem(\"lang\");\n\n if (storedLanguage != null)\n window.sessionStorage.setItem(\"lang\", storedLanguage);\n }\n\n\t\tif (\n\t\t\t(language === \"\" || language === null || language === undefined) &&\n\t\t\t(storedLanguage === \"\" ||\n\t\t\t\tstoredLanguage === null ||\n\t\t\t\tstoredLanguage === undefined)\n\t\t)\n\t\t\twindow.sessionStorage.setItem(\"lang\", \"en\");\n\t\telse if (\n\t\t\tlanguage !== \"\" &&\n\t\t\tlanguage !== null &&\n\t\t\tlanguage !== undefined &&\n\t\t\tlanguage !== storedLanguage\n\t\t)\n\t\t\twindow.sessionStorage.setItem(\"lang\", language);\n\n\t\tstoredLanguage = window.sessionStorage.getItem(\"lang\");\n\n\t\ttranslations.setLanguage(storedLanguage === null ? \"en\" : storedLanguage);\n\n\t\treturn translations;\n\t}\n}\n\nexport default TranslationService;\n","import * as React from \"react\";\n\nimport TranslationService, { LocaleStrings } from \"../services/translations/TranslationService\";\n\nconst TranslationContext = React.createContext({\n translations: TranslationService.getTranslations() as LocaleStrings\n})\n\nexport default TranslationContext;","import * as React from \"react\";\n\nimport TranslationContext from \"../context/TranslationContext\";\n\nconst useTranslationContext = () => {\n const { translations } = React.useContext(TranslationContext);\n return { translations };\n};\n\nexport default useTranslationContext;\n","import * as React from \"react\";\n\nimport ConfigurationService from \"../../services/ConfigurationService\";\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\nimport useApplicationContext from \"../../hooks/useApplicationContext\";\nimport useLoadingContext from \"../../hooks/useLoadingContext\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nconst applicationStyle = {\n\tcursor: \"pointer\"\n} as React.CSSProperties;\n\nconst applicationSelectedStyle = {\n\tcursor: \"pointer\",\n\tbackgroundColor: \"#b7c8f3fc\",\n\tpadding: \"0.5rem\"\n} as React.CSSProperties;\n\ninterface Application {\n\tid: number;\n\tname: string;\n}\n\ninterface BoxApplicationsProps {\n\tselectedId?: number;\n\tonClick: (applicationId: number) => void;\n\tonDoubleClick: (applicationId: number) => void;\n}\n\nconst BoxApplications: React.FunctionComponent = (\n\tprops: BoxApplicationsProps\n) => {\n\t\n\tconst [apps, setApps] = React.useState([] as Application[]);\n\tconst [selectedAppId, setSelectedAppId] = React.useState(props.selectedId ?? -1);\n\tconst [boxTemp, setBoxTemp] = React.useState(-9999);\n\tconst [rh, setRH] = React.useState(-9999);\n\tconst [td, setTD] = React.useState(-9999);\n\n\tconst { appData } = useApplicationContext()\n\tconst { showLoading, hideLoading } = useLoadingContext();\n\tconst { translations } = useTranslationContext();\n\t\n\tReact.useEffect(() => {\n\t\tshowLoading();\n\n\t\tConfigurationService.getBoxApplications(data => {\n\t\t\tsetApps(data);\n\t\t\thideLoading();\n\t\t});\n\t}, []);\n\n\tconst selectApplication = (appId: number) => {\n\t\tsetSelectedAppId(appId);\n\n\t\tConfigurationService.getApplicationById(\n\t\t\tappId.toString(),\n\t\t\t(boxApp: any) => {\n\t\t\t\tconst interiorTemperature = boxApp.boxTemp;\n\t\t\t\tlet relativeHumidity = boxApp.rH_TD;\n\t\t\t\tlet designTd = UnitOfMeasure.TDatRH(boxApp.rH_TD);\n\n\t\t\t\t// when RH_TD >= 0, it represents RH, otherwise it represents TD\n\t\t\t\tif (boxApp.rH_TD < 0) {\n\t\t\t\t\trelativeHumidity = appData.BOX.FreezerInternalRH_Default.value;\n\t\t\t\t\tdesignTd = 0 - boxApp.rH_TD;\n\t\t\t\t}\n\n\t\t\t\tsetBoxTemp(interiorTemperature);\n\t\t\t\tsetRH(relativeHumidity);\n\t\t\t\tsetTD(designTd);\n\t\t\t}\n\t\t);\n\t};\n\n\tconst handleClick = (appId: number) => {\n\t\tselectApplication(appId);\n\n\t\tif (props.onClick) {\n\t\t\tprops.onClick(appId);\n\t\t}\n\t};\n\n\tconst handleDoubleClick = (appId: number) => {\n\t\tselectApplication(appId);\n\n\t\tif (props.onDoubleClick) {\n\t\t\tprops.onDoubleClick(appId);\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t

{translations.createSystem_PleaseSelectApplicationTypeOrTemplate}

\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{apps.map(app => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t handleClick(app.id)}\n\t\t\t\t\t\t\t\t\t\tonDoubleClick={() => handleDoubleClick(app.id)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{app.name}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t{selectedAppId > 0 && (\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t         \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{`${translations.boxTemp}:`}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{UnitOfMeasure.getTemperatureDisplayValue(boxTemp, 1)}\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t{UnitOfMeasure.getTemperatureUnitLabel()}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
RH / TD:
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{rh}\n\t\t\t\t\t\t\t\t%  \n\t\t\t\t\t\t\t\t{UnitOfMeasure.getTemperatureRelativeDisplayValue(td, 1)}\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t{UnitOfMeasure.getTemperatureUnitLabel()}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t         \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default BoxApplications;","import * as React from \"react\";\n\nimport \"./Button.css\";\n\nexport interface ButtonProps {\n name: string;\n label: string;\n tooltip?: string;\n className?: string;\n disabled?: boolean;\n onClick?: any;\n}\n\nconst Button: React.FunctionComponent = ({\n name,\n label,\n tooltip,\n className,\n disabled,\n onClick\n}: ButtonProps) => {\n\n const handleClick = () => {\n if (onClick) {\n onClick();\n }\n };\n\n return (\n
\n \n {tooltip && (\n
\n
{tooltip}
\n
\n )}\n
\n );\n};\n\nexport default Button;\n","import * as React from \"react\";\n// @ts-ignore\nimport { Modal as BulmaModal } from \"react-bulma-components\";\n\nimport \"./Modal.css\";\n\nexport interface ModalProps {\n\tshow: boolean;\n\ttitle: string;\n\tbody: React.ReactNode;\n footer?: React.ReactNode;\n width?: number;\n\tonCancelClick: any;\n}\n\nconst Modal: React.FunctionComponent = ({\n\tshow,\n\ttitle,\n\tbody,\n footer,\n width,\n\tonCancelClick\n}: ModalProps) => {\n\n const modalCardWidthStyle = {\n width: width ? `${width}px` : \"\"\n };\n\n return (\n\t\t
\n \n
\n
\n
\n
\n

\n {title}\n

\n \n
\n
\n {body}\n
\n {footer && (\n
\n {footer}\n
\n )}\n
\n
\n \n\t\t
\n\t);\n};\n\nexport default Modal;","import * as React from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons\";\n\nimport Button from \"../helpers/Button\";\nimport Modal from \"../helpers/Modal\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nexport interface AWEFMessageProps {\n\ttitle: string;\n\tmessage: JSX.Element;\n\tshow: boolean;\n\tonYesClick: any;\n\tonNoClick: any;\n onCancelClick: any;\n onHelpDecieClick: any;\n}\n\nconst AWEFMessage: React.FunctionComponent = (\n\tprops: AWEFMessageProps\n) => {\n\n\tconst { translations } = useTranslationContext();\n\n\tconst modalBody = (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
{props.message}
\n\t\t\t
\n\t\t
\n\t);\n\n\tlet modalFooter = (\n\t\t<>\n\t\t\t\n \n \n\t\t\n\t);\t\n\n\treturn (\n\t\t\n\t);\n};\n\nexport default AWEFMessage;\n","import * as React from \"react\";\n\nimport Button from \"../helpers/Button\";\nimport Modal from \"../helpers/Modal\";\n\ninterface LoadCalConfirmationProps {\n show: boolean,\n\tonCloseClick: any,\n\tonLoadCalcButtonClick: any,\n\tonEquipmentSelectorButtonClick: any\n}\n\nconst LoadCalcConfirmation: React.FunctionComponent = (\n\tprops: LoadCalConfirmationProps\n) => {\n\tconst title = \"New Project\";\n\t\n\tconst body = (\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n\n\treturn (\n\t\t\n\t);\n};\n\nexport default LoadCalcConfirmation;","import * as React from \"react\";\n\nconst BoxContext = React.createContext({\n boxId: null as number | null,\n boxData: {} as any,\n isBoxDataLoaded: false,\n loadBox: (id: number) => {}\n});\n\nexport default BoxContext;","import * as React from \"react\";\n\nimport BoxContext from \"../context/BoxContext\";\n\nconst useBoxContext = () => {\n const { \n boxId,\n boxData,\n isBoxDataLoaded,\n loadBox\n } = React.useContext(BoxContext);\n\n return { \n boxId,\n boxData,\n isBoxDataLoaded,\n loadBox\n };\n};\n\nexport default useBoxContext;\n","import * as React from \"react\";\n\nimport ISystemState from \"../models/interfaces/ISystemState\";\n\nconst SystemContext = React.createContext({\n systemState: {} as ISystemState,\n dispatch: {} as any\n});\n\nexport default SystemContext;","import * as React from \"react\";\n\nimport SystemContext from \"../context/SystemContext\";\n\nconst useSystemContext = () => {\n\n const {\n systemState,\n dispatch\n } = React.useContext(SystemContext);\n\n return {\n systemState,\n dispatch\n };\n};\n\nexport default useSystemContext;\n","const loadAWEFHelpMeDecideUrl = (division: number): string => {\n\n if (division == 1 || division == 11){\n return \"https://b-rp.ca/awef-faq\";\n }\n else if (division == 2 || division == 12){\n return \"https://k-rp.com/awef-faq\";\n }\n else if (division == 3 || division == 13){\n return \"https://t-rp.com/awef-faq\";\n }\n\n return \"\";\n}\n\nexport default loadAWEFHelpMeDecideUrl;","import * as React from \"react\";\n\nimport { useHistory } from \"react-router-dom\";\n\nimport BoxApplications from \"./BoxApplications\";\nimport Button from \"../helpers/Button\";\nimport AWEFMessage from \"./AWEFDialog\";\nimport LoadCalcConfirmation from \"./LoadCalcConfirmation\";\n\nimport useBoxContext from \"../../hooks/useBoxContext\";\nimport useSystemContext from \"../../hooks/useSystemContext\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport loadAWEFHelpMeDecideUrlUseCase from \"../../useCases/loadAWEFHelpMeDecideUrlUseCase\";\nimport StorageFacade from \"../../services/StorageFacade\";\n\nconst SelectNewBoxApplication = () => {\n\n\tconst [selectedApplicationId, setSelectedApplicationId] = React.useState(-1);\n\tconst [isEquipmentOnly, setIsEquipmentOnly] = React.useState(false);\n\tconst [showLoadCalcConfirmation , setShowLoadCalcConfirmation] = React.useState(false);\n\tconst [showAwefConfirmation , setShowAwefConfirmation] = React.useState(false);\n\n\tconst history = useHistory();\n\n\tconst { loadBox } = useBoxContext();\n\tconst { dispatch } = useSystemContext();\n\tconst { translations } = useTranslationContext();\n\n\tconst toggleModal = () => {\n setShowLoadCalcConfirmation(!showLoadCalcConfirmation);\n\t};\n\n\tconst handleOkButtonClick = () => {\n\t\tsetShowLoadCalcConfirmation(true);\n\t};\n\n\tconst handleSelectApplicationId = (applicationId: number) => {\n\t\tsetSelectedApplicationId(applicationId);\n\t};\n\n\tconst handleSubmitSelectedApplicationId = (applicationId: number) => {\n handleSelectApplicationId(applicationId);\n handleOkButtonClick();\n };\n\n\tconst handleLoadCalculatorButtonClick = () => {\n\t\tsetIsEquipmentOnly(false);\n\t\tsetShowLoadCalcConfirmation(false);\n\t\tsetShowAwefConfirmation(true);\n\t};\n\n\tconst handleEquipmentSelectorButtonClick = () => {\n\t\tsetIsEquipmentOnly(true);\n\t\tsetShowLoadCalcConfirmation(false);\n\t\tsetShowAwefConfirmation(true);\n\t};\n\n\tconst resetState = (requireAwef: boolean) => {\n\t\t// Upon selecting a box application,\n\t\t// reset the system state and the local storage to an empty system where only the box application id is set.\n\t\tdispatch({ \n\t\t\ttype: \"reset-state\", \n\t\t\tboxApplicationId: selectedApplicationId,\n\t\t\tisEquipmentOnly,\n\t\t\trequireAwef,\n\t\t\tupdateStore: true\n\t\t});\n\n\t\t// Reset the box context.\n\t\tloadBox(selectedApplicationId);\n\n\t\t// Go to next screen.\n\t\tif (isEquipmentOnly) {\n\t\t\thistory.push(\"/selectequipment\");\n\t\t}\n\t\telse {\n\t\t\thistory.push(\"/loadcalculator\");\n\t\t}\n\t}\n\n\tconst awefConfirmationMessage = {\n\t\ttitle: \"AWEF Compliance\",\n\t\tmessage:
Do you require AWEF-compliant equipment?
,\n\t\tonYesClick: () => { resetState(true) },\n\t\tonNoClick: () => { resetState(false) },\n\t\tonCancelClick: () => { setShowAwefConfirmation(false); },\n\t onHelpDecieClick: () => { window.open(loadAWEFHelpMeDecideUrlUseCase(StorageFacade.project.Division.id), \"_blank\");\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t
\n\t\t\t\t{selectedApplicationId > 0 && (\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t { history.goBack(); }}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default SelectNewBoxApplication;\n","import * as React from \"react\";\n\nexport interface CheckboxProps {\n name: string;\n label: string;\n tooltip?: string;\n className?: string;\n value: string;\n isChecked: boolean;\n disabled?: boolean;\n onChange?: (event: React.ChangeEvent) => void;\n}\n\nconst Checkbox: React.FunctionComponent = ({\n name,\n label,\n tooltip,\n className,\n value,\n isChecked,\n disabled,\n onChange\n}: CheckboxProps) => {\n\n const handleCheckboxChange = (\n\t\tevent: React.ChangeEvent\n\t) => {\n if (onChange) {\n onChange(event);\n }\n };\n\n return (\n
\n \n {tooltip && (\n
\n
{tooltip}
\n
\n )}\n
\n );\n};\n\nexport default Checkbox;\n","import * as React from \"react\";\nimport { dictionary } from \"../../types/dictionary\";\n\nexport interface DropDownListProps {\n name: string; \n className?: string;\n value: string;\n dataSource: dictionary;\n disabled?: boolean;\n onChange?: (event: React.FormEvent) => void;\n}\n\nconst DropDownList: React.FunctionComponent = ({\n name,\n className,\n value,\n dataSource,\n disabled,\n onChange\n}: DropDownListProps) => {\n\n return (\n
\n \n
\n );\n};\n\nexport default DropDownList;\n","import * as React from \"react\";\n\nimport \"./FormField.css\";\n\nexport interface FormFieldProps {\n label: string | JSX.Element;\n children: JSX.Element;\n}\n\nconst FormField: React.FunctionComponent = ({\n label,\n children\n}: FormFieldProps) => {\n\n return (\n
\n
\n \n
\n
\n
\n
\n {children}\n
\n
\n
\n
\n );\n};\n\nexport default FormField;\n","import * as React from \"react\";\n\nimport MeasurementType from \"../../enums/MeasurementType\";\n\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\nimport StorageFacade from \"../../services/StorageFacade\";\n\nimport { measure, getNumericValue, roundOff, hasValue, countDecimals } from \"../../types/measure\";\n\nimport \"./Measurement.css\";\n\nconst getStringValue = (value: measure, decimals: number | undefined) => {\n\tlet stringValue = \"\";\n\tif (hasValue(value) && !Number.isNaN(getNumericValue(value))) {\n\t\tif (hasValue(decimals)) {\n\t\t\tstringValue = getNumericValue(roundOff(value, getNumericValue(decimals))).toString();\n\t\t}\n\t\telse {\n\t\t\tstringValue = getNumericValue(value).toString();\n\t\t}\n\t}\n\n\treturn stringValue;\n};\n\ninterface MeasurementProps {\n\tname: string;\n\tdefaultValue: measure;\n\tactualValue: measure;\n\tonChange: (name: string, value: string) => void;\n\tdecimals: number;\n\ttype: MeasurementType;\n\ttooltip?: string;\n\tdisabled?: boolean;\n\tonValidate?: (name: string, value: measure) => string;\n}\n\nconst Measurement: React.FunctionComponent = (\n\tprops: MeasurementProps\n) => {\n\n\t// The measure props passed to this component are always imperial.\n\t// When user changes a value in this Measurement component, it is passed back to the parent component (and then saved to browser storage) as imperial.\n\t// Also, all other processes outside this Measurement component use values as imperial. E.g. validations, export, import, calculations and other business logic.\n\t// However, when user uses metric system, the value is converted to metric right before it is displayed in the page.\n\n\tconst [displayValue, setDisplayValue] = React.useState(\"\");\n\tconst [previousDisplayValue, setPreviousDisplayValue] = React.useState(\"\");\n\tconst [isCustom, setIsCustom] = React.useState(false);\n\tconst [isTouched, setIsTouched] = React.useState(false);\n\tconst [isValid, setIsValid] = React.useState(true);\n\n\tconst usesMetricSystem = StorageFacade.UsesMetricSystem;\n\n\tReact.useEffect(() => {\n\t\t// props.actualValue is always in imperial.\n\t\t// If user uses metric, convert props.actualValue to metric before displaying.\n\t\tlet actualDisplayValue = props.actualValue;\n\t\tif (usesMetricSystem && props.actualValue) {\n\t\t\tactualDisplayValue = UnitOfMeasure.convertImperialToMetric(props.actualValue, props.type);\n\t\t}\n\t\tconst decimalPlaces = usesMetricSystem && props.type === MeasurementType.Rating ? props.decimals + UnitOfMeasure.KilowattsDecimalPlaces : props.decimals;\n\t\tconst stringValue = getStringValue(actualDisplayValue, decimalPlaces)\n\t\tsetDisplayValue(stringValue);\n\t\n\t\tif (props.onValidate && isTouched) {\n\t\t\tconst message = props.onValidate(props.name, props.actualValue); // Always validate values as imperial.\n\t\t\tsetIsValid(message === \"\");\n\t\t}\n\t\t\n\t\tconst defaultValueDecimals = countDecimals(props.defaultValue);\n\t\tconst isCustomValue = hasValue(props.defaultValue) && hasValue(props.actualValue)\n\t\t\t? +getStringValue(props.defaultValue, defaultValueDecimals) !== +getStringValue(props.actualValue, defaultValueDecimals)\n\t\t\t: (props.defaultValue ?? null) !== (props.actualValue ?? null);\n\t\tsetIsCustom(isCustomValue);\n\t}, [\n\t\tprops.actualValue,\n\t\tprops.defaultValue,\n\t\tprops.decimals\n\t]);\n\n\tconst handleKeyPress = (event: React.KeyboardEvent) => {\n\t\tif (!UnitOfMeasure.allowedCharacter(event.key, props.type)) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tconst handleFocus = (event: React.FormEvent) => {\n\t\tconst fieldValue = event.currentTarget.value;\n\t\tsetPreviousDisplayValue(fieldValue);\n\t};\n\n\tconst handleChange = (event: React.FormEvent) => {\n\t\tconst fieldValue = event.currentTarget.value;\n\t\tsetDisplayValue(fieldValue);\n\t};\n\n\tconst handleBlur = () => {\n\t\tlet newDisplayValue = \"\";\n\t\tconst decimalPlaces = usesMetricSystem && props.type === MeasurementType.Rating ? props.decimals + UnitOfMeasure.KilowattsDecimalPlaces : props.decimals;\n\n\t\tif (displayValue === \"\") {\n\t\t\t// If entered value is empty, show default value.\n\t\t\t// props.defaultValue is always in imperial.\n\t\t\t// If user uses metric, convert props.defaultValue to metric before displaying.\n\t\t\tlet defaultDisplayValue = props.defaultValue;\n\t\t\tif (usesMetricSystem && props.defaultValue) {\n\t\t\t\tdefaultDisplayValue = UnitOfMeasure.convertImperialToMetric(props.defaultValue, props.type);\n\t\t\t}\n\t\t\tnewDisplayValue = getStringValue(defaultDisplayValue, decimalPlaces); // newDisplayValue is either imperial or metric based on usesMetricSystem flag\n\t\t} else {\n\t\t\tconst convertedValue = UnitOfMeasure.convertValueWithUnit(displayValue, usesMetricSystem, props.type);\n\t\t\tnewDisplayValue = getStringValue(convertedValue, decimalPlaces); // newDisplayValue is either imperial or metric based on usesMetricSystem flagfon\n\t\t}\n\n\t\tsetDisplayValue(newDisplayValue);\n\n\t\tsetIsTouched(true);\n\n\t\t// Always store values (in browser storage) and validate values as imperial.\n\t\t// If user uses metric system, newDisplayValue is in metric.\n\t\t// So convert newDisplayValue to imperial before storing and validating.\n\t\tlet imperialValue = newDisplayValue;\n\t\tif (usesMetricSystem && newDisplayValue) {\n\t\t\timperialValue = UnitOfMeasure.convertMetricToImperial(+newDisplayValue, props.type).toString();\n\t\t}\n\t\tif (+newDisplayValue !== +previousDisplayValue) {\n\t\t\tprops.onChange(props.name, imperialValue); // This event triggers saving to the browser storage.\n\t\t}\n\t\tif (props.onValidate) {\n\t\t\tconst message = props.onValidate(props.name, imperialValue ? +imperialValue : undefined); // This event triggers validating the field based on business rules.\n\t\t\tsetIsValid(message === \"\");\n\t\t}\n\t};\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t{props.tooltip && (\n\t\t\t\t
\n\t\t\t\t\t
{props.tooltip}
\n\t\t\t\t
\n\t\t\t)}\n\t\t
\n\t);\n};\n\nexport default Measurement;","import * as React from \"react\";\n\nimport Checkbox from \"../helpers/Checkbox\";\nimport DropDownList from \"../helpers/DropDownList\";\nimport FormField from \"../helpers/FormField\";\nimport Measurement from \"../helpers/Measurement\";\n\nimport { dictionary } from \"../../types/dictionary\";\n\nimport MeasurementType from \"../../enums/MeasurementType\";\n\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\nimport IFormState from \"../../models/interfaces/IFormState\";\nimport ISystem from \"../../models/interfaces/ISystem\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nconst equipmentTypes: dictionary = [\n\t{ key: \"Condensing Units-Air\", value: \"Air Cooled Condensing Unit\" },\n\t{ key: \"Condensing Units-Wtr\", value: \"Water Cooled Condensing Unit\" },\n\t{ key: \"Compressor Unit\", value: \"Compressor\" }\n];\n\nexport const refrigerants: dictionary = [\n\t{ key: \"4\", value: \"R404A\" },\n\t{ key: \"13\", value: \"R407A\" },\n\t{ key: \"9\", value: \"R407C\" },\n\t{ key: \"14\", value: \"R448A\" },\n\t{ key: \"5\", value: \"R507\" },\n\t{ key: \"15\", value: \"R449A\" },\n\t{ key: \"1\", value: \"R134a\" },\n\t{ key: \"2\", value: \"R22\" },\n\t{ key: \"10\", value: \"R410A\" },\n { key: \"16\", value: \"CO2\" }\n];\n\nconst siteLineFrequencies: dictionary = [\n\t{ key: \"60\", value: \"60 Hz\" },\n\t{ key: \"50\", value: \"50 Hz\" }\n];\n\ninterface EquipmentFiltersProps {\n isEquipmentOnly: boolean;\n requireAwef: boolean;\n formState: IFormState;\n isCUAmbientTempVisible: boolean;\n isCondensingTempVisible: boolean;\n onDropDownChange: any;\n onCheckboxChange: any;\n onMeasurementChange: any;\n onValidateSystemField: any;\n onValidateEquipmentField: any;\n}\n\nconst EquipmentFilters: React.FunctionComponent = (\n props: EquipmentFiltersProps\n) => {\n\n const { translations } = useTranslationContext();\n\n if (!props.formState.actualValues.equipmentSelection) {\n return null;\n }\n\n return (\n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n \n \n {!props.isEquipmentOnly && (\n \n \n \n )}\n {!props.isEquipmentOnly && (\n \n \n \n )}\n {props.isEquipmentOnly && (\n \n \n \n )}\n
\n
\n {!props.isEquipmentOnly && (\n \n \n \n )}\n {!props.isEquipmentOnly && (\n \n \n \n )}\n \n \n \n {props.isEquipmentOnly && (\n \n \n \n )}\n
\n
\n {props.isCUAmbientTempVisible && (\n \n \n \n )}\n {props.isCondensingTempVisible && (\n \n \n \n )}\n {!props.isEquipmentOnly && (\n \n \n \n )}\n {!props.isEquipmentOnly && (\n \n \n \n )}\n
\n
\n
\n );\n};\n\nexport default EquipmentFilters;","import * as React from \"react\";\n\nexport interface NumericTextBoxProps {\n name: string; \n className?: string;\n value?: string | number;\n min?: string | number;\n max?: string | number; \n disabled?: boolean;\n readOnly?: boolean;\n onChange?: (event: React.FormEvent) => void;\n}\n\nconst NumericTextBox: React.FunctionComponent = ({\n name,\n className,\n value,\n min,\n max,\n disabled,\n readOnly,\n onChange\n}: NumericTextBoxProps) => {\n\n const handleChange = (event: React.FormEvent) => {\n\n const minValue = min !== undefined\n ? min.toString()\n : \"\";\n\n\t\tconst inputValue =\n\t\t\tevent.currentTarget.value.trim() === \"\"\n\t\t\t\t? minValue\n : parseInt(event.currentTarget.value, 10).toString();\n \n event.currentTarget.value = inputValue;\n\n if (onChange) {\n onChange(event);\n }\n\t};\n\n return (\n \n );\n};\n\nexport default NumericTextBox;\n","import * as React from \"react\";\n\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons\";\n\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\nimport FormField from \"../helpers/FormField\";\nimport NumericTextBox from \"../helpers/NumericTextBox\";\n\nimport IEquipmentState from \"../../models/interfaces/IEquipmentState\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\ninterface EquipmentBalanceProps {\n equipmentSelection: IEquipmentState;\n}\n\nconst EquipmentBalance: React.FunctionComponent = (\n props: EquipmentBalanceProps\n) => {\n\n const { translations } = useTranslationContext();\n\n return (\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n );\n};\n\nexport default EquipmentBalance;","import * as React from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons\";\n\nimport Button from \"./Button\";\nimport Modal from \"./Modal\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nexport interface ConfirmationMessageProps {\n\ttitle: string;\n\tmessage: JSX.Element;\n\tshow: boolean;\n\tonYesClick: any;\n\tonNoClick: any;\n\tonCancelClick: any;\n}\n\nconst ConfirmationMessage: React.FunctionComponent = (\n\tprops: ConfirmationMessageProps\n) => {\n\n\tconst { translations } = useTranslationContext();\n\n\tconst modalBody = (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
{props.message}
\n\t\t\t
\n\t\t
\n\t);\n\n\tconst modalFooter = (\n\t\t<>\n\t\t\t\n \n\t\t\n\t);\n\n\treturn (\n\t\t\n\t);\n};\n\nexport default ConfirmationMessage;\n","import * as React from \"react\";\n// @ts-ignore\nimport { Modal } from \"react-bulma-components\";\n\nimport \"./FullScreenModal.css\";\nimport StorageFacade from \"../../services/StorageFacade\";\n\nexport interface FullScreenModalProps {\n\tshow: boolean;\n\ttitle: string;\n\tbody: React.ReactNode;\n\tfooter: React.ReactNode;\n\tonCancelClick: any;\n}\n\nconst FullScreenModal: React.FunctionComponent = ({\n\tshow,\n\ttitle,\n\tbody,\n\tfooter,\n\tonCancelClick\n}: FullScreenModalProps) => {\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

{title}

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
{body}
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{footer}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default FullScreenModal;\n","import * as React from \"react\";\n\nimport Button from \"../helpers/Button\";\nimport Modal from \"../helpers/Modal\";\n\nimport IOptionConfigurationSet from \"../../models/interfaces/IOptionConfigurationSet\";\nimport IOptionConfigurationVariant from \"../../models/interfaces/IOptionConfigurationVariant\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport \"./OptionConfigurations.css\";\n\nexport interface OptionConfigurationsProps {\n\tshow: boolean;\n\toptionId: number;\n\toptionName: string;\n\tdata?: IOptionConfigurationSet;\n\tonClose: any;\n\tonSelectConfiguration: any;\n}\n\nconst OptionConfigurations: React.FunctionComponent = (\n\tprops: OptionConfigurationsProps\n) => {\n\n\tconst { translations } = useTranslationContext();\n\n\tconst handleCloseClick = () => {\n\t\tif (props.onClose) {\n\t\t\tprops.onClose();\n\t\t}\n\t};\n\n\tconst handleSetConfigurationClick = (\n\t\tid: number | undefined,\n\t\tvariant: IOptionConfigurationVariant\n\t) => {\n\t\tif (id) {\n\t\t\tif (props.onSelectConfiguration) {\n\t\t\t\tprops.onSelectConfiguration(id, variant);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst modalTitle = props.data && props.data.name.trim().length > 0\n\t\t? props.data.name\n\t\t: props.optionName;\n\n\tconst modalBody = (\n\t\t<>\n\t\t{props.data && (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{props.data.variants.length === 1\n\t\t\t\t\t\t? \"Normal Configuration\"\n\t\t\t\t\t\t: \"Available Configurations\"}\n\t\t\t\t
\n\t\t\t\t{props.data.variants &&\n\t\t\t\t\tprops.data.variants.map(v => {\n\t\t\t\t\t\tconst options =\n\t\t\t\t\t\t\tv.options &&\n\t\t\t\t\t\t\tv.options.map(o => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...o,\n\t\t\t\t\t\t\t\t\tname:\n\t\t\t\t\t\t\t\t\t\to.groupName +\n\t\t\t\t\t\t\t\t\t\t(o.name.trim() === \"\" ? \"\" : ` - ${o.name}`)\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\tconst requiredOptions =\n\t\t\t\t\t\t\toptions && options.filter(o => o.state === 1);\n\t\t\t\t\t\tconst excludedOptions =\n\t\t\t\t\t\t\toptions && options.filter(o => o.state === 2);\n\t\t\t\t\t\tconst recommendedOptions =\n\t\t\t\t\t\t\toptions && options.filter(o => o.state === 3);\n\t\t\t\t\t\tconst notRecommendedOptions =\n\t\t\t\t\t\t\toptions && options.filter(o => o.state === 4);\n\t\t\t\t\t\tconst includedOptions =\n\t\t\t\t\t\t\toptions && options.filter(o => o.state === 5);\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{v.name.trim().length > 0 && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{v.index + 1}\n\t\t\t\t\t\t\t\t\t\t\t\t.)  \n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{v.name}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
{v.description}
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{requiredOptions && requiredOptions.length > 0 && (\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\tRequired Options\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t{requiredOptions.map(r => (\n\t\t\t\t\t\t\t\t\t\t\t\t
  • {r.name}
  • \n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{excludedOptions && excludedOptions.length > 0 && (\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\tCan't have Options\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t{excludedOptions.map(r => (\n\t\t\t\t\t\t\t\t\t\t\t\t
  • {r.name}
  • \n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{recommendedOptions && recommendedOptions.length > 0 && (\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\tRecommended Options\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t{recommendedOptions.map(r => (\n\t\t\t\t\t\t\t\t\t\t\t\t
  • {r.name}
  • \n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{notRecommendedOptions &&\n\t\t\t\t\t\t\t\t\tnotRecommendedOptions.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\tNot Recommended Options\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t{notRecommendedOptions.map(r => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t
  • {r.name}
  • \n\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{includedOptions && includedOptions.length > 0 && (\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\tIncluded Options\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t{includedOptions.map(r => (\n\t\t\t\t\t\t\t\t\t\t\t\t
  • {r.name}
  • \n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\thandleSetConfigurationClick(props.optionId, v);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t
\n\t\t)}\n\t\t\n\t);\n\n\treturn (\n\t\t
\n\t\t\t{props.data && (\n\t\t\t\t\n\t\t\t)}\n\t\t
\n\t);\n};\n\nexport default OptionConfigurations;\n","import * as React from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faExclamationTriangle, faTimesCircle } from \"@fortawesome/free-solid-svg-icons\";\n\nimport Modal from \"./Modal\";\nimport Button from \"./Button\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nexport interface WarningMessageProps {\n\ttitle: string;\n\tmessage: JSX.Element;\n\tshow: boolean;\n\tshowErrorIcon?: boolean;\n\tonClose: any;\n}\n\nconst WarningMessage: React.FunctionComponent = (\n\tprops: WarningMessageProps\n) => {\n\n\tconst { translations } = useTranslationContext();\n\n\tconst modalBody = (\n\t\t
\n\t\t\t
\n\t\t\t\t{props.showErrorIcon && (\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t\t{!props.showErrorIcon && (\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t\t
{props.message}
\n\t\t\t
\n\t\t
\n\t);\n\n\tconst modalFooter = (\n\t\t\n\t);\n\n\treturn (\n\t\t\n\t);\n};\n\nexport default WarningMessage;\n","import * as React from \"react\";\nimport IMessage from \"../models/interfaces/IMessage\";\n\nconst ErrorContext = React.createContext({\n errorMessages: [] as IMessage[],\n showError: (message: IMessage) => {},\n showErrorList: (messages: IMessage[], reset: boolean) => {},\n hideError: () => {}\n});\n\nexport default ErrorContext;","import * as React from \"react\";\n\nimport ErrorContext from \"../context/ErrorContext\";\n\nconst useErrorContext = () => {\n const { errorMessages, showError, showErrorList, hideError } = React.useContext(ErrorContext);\n \n React.useEffect(() => {\n return () => {\n hideError();\n };\n }, [])\n \n return { errorMessages, showError, showErrorList, hideError };\n};\n\nexport default useErrorContext;\n","import IOption from \"../../models/interfaces/IOption\";\nimport IOptionGroup from \"../../models/interfaces/IOptionGroup\";\nimport IOptionPackageItem from \"../../models/interfaces/IOptionPackageItem\";\nimport IOptionRule from \"../../models/interfaces/IOptionRule\";\nimport IOptionConfigurationSet from \"../../models/interfaces/IOptionConfigurationSet\";\nimport IOptionConfigurationVariant from \"../../models/interfaces/IOptionConfigurationVariant\";\nimport IEquipmentOption from \"../../models/interfaces/IEquipmentOption\";\nimport { Config } from \"../../Constants\";\nimport StorageFacade from \"../../services/StorageFacade\";\n\nexport const getSelectedOptionQuantities = (\n\tselectedOptions: IOption[]\n): IEquipmentOption[] => {\n\treturn selectedOptions.map(o => {\n\t\tlet isPackageOption = o.isPackage;\n\t\tconst selectedPackage = selectedOptions.find(a => a.isPackage);\n\t\tif (selectedPackage) {\n\t\t\tconst packageItems = selectedPackage.packageOptions;\n\t\t\tif (packageItems) {\n\t\t\t\tisPackageOption = o.isPackage || packageItems.findIndex(a => a.optionId === o.optionId) > -1;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tid: o.optionId,\n\t\t\tclassOptionId: o.classOptionId,\n\t\t\tquantity: o.selectedQuantity,\n\t\t\tgroupName: o.groupName,\n\t\t\tisPackage: o.isPackage,\n\t\t\tisPackageItem: isPackageOption,\n\t\t\tisRequired: o.isRequired,\n\t\t\tname: o.name,\n\t\t\tdescription: o.description,\n\t\t\tisSeparatePrice: o.isSeparatePrice,\n\t\t\tisLineItem: o.isLineItem,\n\t\t\tpartNumber: o.partNumber,\n\t\t\toptionOrder: o.optionOrder,\n\t\t\tsubOptionOrder: o.subOptionOrder,\n isAssembly: o.isAssembly,\n state: o.state\n\t\t};\n\t});\n};\n\nexport const getSelectedRegularOptionIds = (selected: IOption[]) => {\n\treturn (\n\t\tselected &&\n\t\tselected\n\t\t\t.filter(o => !o.isAddOn && !o.isPackage)\n\t\t\t.map(o => o.optionId)\n\t);\n};\n\nexport const updateOptionList = (\n\tselected: IOption[],\n\toption: IOption\n) => {\n\tconst selectedOptions = [...selected];\n\n\t// Add the option to the array if it is selected and if it does not exist in the array yet.\n\t// Remove the option from the array if it is not selected and it exists in the array.\n\n\tif (!selectedOptions.find(s => s.optionId === option.optionId) \n\t\t&& (\n\t\t\t(option.isChecked && !option.allowMultiples) ||\n\t\t\t(option.selectedQuantity > 0 && option.allowMultiples)\n\t\t)\n\t) {\n\t\tselectedOptions.push(option);\n\t}\n\telse { \n\t\tconst optionIndex = selectedOptions.findIndex(s => s.optionId === option.optionId);\n\t\tif (optionIndex > -1\n\t\t\t&& (\n\t\t\t\t(!option.isChecked && !option.allowMultiples) ||\n\t\t\t\t(option.selectedQuantity === 0 && option.allowMultiples)\n\t\t\t)\n\t\t) {\n\t\t\tselectedOptions.splice(optionIndex, 1);\n\t\t}\n\t}\n\n\treturn selectedOptions;\n};\n\nexport const checkPackageMatch = (\n\tgroups: IOptionGroup[],\n\tselected: IOption[]\n) => {\n\tlet packageMatch = null as IOption | null;\n\n\t// Check if all non-add-on selected options exactly match a package options collection.\n\n\tif (!selected.some(o => o.selectedQuantity > 1)) {\n\t\t// Check if there is a selected quantity that is more than 1. If there is, this will not match a package.\n\n\t\tconst nonAddOnSelectedOptionIds = getSelectedRegularOptionIds(selected);\n\n\t\tlet hasPackageMatch = false;\n\t\tlet packageMatchOptionIds = [] as number[];\n\t\t\n\t\tgroups.forEach(g => {\n\t\t\tg.options.forEach(o => {\n\t\t\t\tif (o.isPackage) {\n\t\t\t\t\tconst includedOptionIds = o.packageOptions\n\t\t\t\t\t\t? o.packageOptions\n\t\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t\tpo => po.state === 1 || po.state === 3 || po.state === 5\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.map(po => po.optionId)\n\t\t\t\t\t\t: ([] as number[]);\n\n\t\t\t\t\tlet currentPackageMatches = includedOptionIds.every(\n\t\t\t\t\t\tpo => nonAddOnSelectedOptionIds.indexOf(po) > -1\n\t\t\t\t\t);\n\n\t\t\t\t\t// A package cannot have other non-add-on options selected with it if it is a stand-alone package.\n\t\t\t\t\tif (o.isStandAlone && includedOptionIds.length !== nonAddOnSelectedOptionIds.length) {\n\t\t\t\t\t\tcurrentPackageMatches = false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (currentPackageMatches) {\n\t\t\t\t\t\t// If it is a match, select and highlight the package.\n\t\t\t\t\t\to.isChecked = true;\n\t\t\t\t\t\to.selectedQuantity = 1;\n\t\t\t\t\t\to.isCurrentPackageOption = true;\n\n\t\t\t\t\t\thasPackageMatch = true;\n\t\t\t\t\t\tpackageMatchOptionIds = includedOptionIds;\n\t\t\t\t\t\tpackageMatch = o;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\to.isChecked = false;\n\t\t\t\t\t\to.selectedQuantity = 0;\n\t\t\t\t\t\to.isCurrentPackageOption = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tselected = updateOptionList(\n\t\t\t\t\tselected,\n\t\t\t\t\to\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\n\t\tif (hasPackageMatch) {\n\t\t\t// If it is a match, highlight all package options.\n\t\t\tgroups.forEach(g => {\n\t\t\t\tg.options.forEach(o => {\n\t\t\t\t\tif (packageMatchOptionIds.indexOf(o.optionId) > -1) {\n\t\t\t\t\t\to.isCurrentPackageOption = true;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\treturn {\n\t\tgroups,\n\t\tselected,\n\t\tpackageMatch\n\t};\n};\n\nexport const checkVariantStrictMatch = (\n\tvariant: IOptionConfigurationVariant,\n\tselected: IOption[]\n) => {\n\tconst includedOptionIds = variant.options\n\t\t? variant.options\n\t\t\t\t.filter(\n\t\t\t\t\tpo => po.state === 1 || po.state === 3 || po.state === 5\n\t\t\t\t)\n\t\t\t\t.map(po => po.optionId)\n\t\t: ([] as number[]);\n\n\tconst excludedOptionIds = variant.options\n\t\t? variant.options\n\t\t\t\t.filter(\n\t\t\t\t\tpo => po.state === 2 || po.state === 4\n\t\t\t\t)\n\t\t\t\t.map(po => po.optionId)\n\t\t: ([] as number[]);\n\n\treturn (includedOptionIds.every(po => selected.map(so => so.optionId).indexOf(po) > -1) // if all required, included and recommended are selected\n\t\t&& excludedOptionIds.every(po => selected.map(so => so.optionId).indexOf(po) < 0)); // and if all excluded and non-recommended are unselected\n};\n\nexport const checkVariantRequiredOnlyMatch = (\n\tvariant: IOptionConfigurationVariant,\n\tselected: IOption[]\n) => {\n\tconst includedOptionIds = variant.options\n\t\t? variant.options\n\t\t\t\t.filter(\n\t\t\t\t\tpo => po.state === 1 || po.state === 5\n\t\t\t\t)\n\t\t\t\t.map(po => po.optionId)\n\t\t: ([] as number[]);\n\n\tconst excludedOptionIds = variant.options\n\t\t? variant.options\n\t\t\t\t.filter(\n\t\t\t\t\tpo => po.state === 2\n\t\t\t\t)\n\t\t\t\t.map(po => po.optionId)\n\t\t: ([] as number[]);\n\n\treturn (includedOptionIds.every(po => selected.map(so => so.optionId).indexOf(po) > -1) // if all required/included are selected\n\t\t&& excludedOptionIds.every(po => selected.map(so => so.optionId).indexOf(po) < 0)); // and if all excluded are unselected\n};\n\nexport const validateSelectedConfigurations = (\n\tgroups: IOptionGroup[],\n\tselected: IOption[]\n) => {\n\tlet selectionHasError = false;\n\n\t// Every time the selected options are updated,\n\t// validate the selected configuration variants if there are no conflicts.\n\n\tif (selected && selected.length > 0) {\n\n\t\tgroups.forEach(g => {\n\t\t\tg.options.forEach(o => {\n\t\t\t\to.hasError = false;\n\t\t\t\to.hasWarning = false;\n\t\t\t\tif (o.hasConfigurationSet && o.isChecked) {\n\t\t\t\t\t// Check if there is a selected variant.\n\t\t\t\t\tif (o.configurationSets[0].variants.find(v => v.isSelected)) {\n\t\t\t\t\t\to.configurationSets[0].variants.forEach(v => {\n\t\t\t\t\t\t\tif (v.isSelected) {\n\t\t\t\t\t\t\t\tif (checkVariantStrictMatch(v, selected)) {\n\n\t\t\t\t\t\t\t\t\t// Check if all variant options are exclusions and that all are unselected.\n\t\t\t\t\t\t\t\t\t// If yes, unselect this variant, and unselect the option parent of this variant.\n\n\t\t\t\t\t\t\t\t\t// const areAllOptionsExcluded = v.options.every(vo => vo.state === 2 || vo.state === 4);\n\t\t\t\t\t\t\t\t\t// if (areAllOptionsExcluded) {\n\t\t\t\t\t\t\t\t\t// \tv.isSelected = false;\n\t\t\t\t\t\t\t\t\t// \to.isChecked = false;\n\t\t\t\t\t\t\t\t\t// }\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\n\t\t\t\t\t\t\t\t\t// If the variant does not match any of the selections, check other variants.\n\t\t\t\t\t\t\t\t\t// If another variant matches, unselect this variant, and select the other, and set hasError to false.\n\n\t\t\t\t\t\t\t\t\tlet otherVariantMatch = false;\n\n\t\t\t\t\t\t\t\t\to.configurationSets[0].variants.forEach(ov => {\n\t\t\t\t\t\t\t\t\t\tif (!ov.isSelected) {\n\t\t\t\t\t\t\t\t\t\t\tif (!otherVariantMatch \n\t\t\t\t\t\t\t\t\t\t\t\t&& checkVariantStrictMatch(ov, selected)) {\n\t\t\t\t\t\t\t\t\t\t\t\totherVariantMatch = true;\n\t\t\t\t\t\t\t\t\t\t\t\tov.isSelected = true;\n\t\t\t\t\t\t\t\t\t\t\t\tv.isSelected = false;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\tif (!otherVariantMatch) {\n\n\t\t\t\t\t\t\t\t\t\t// If there is still no variant match, check if current variant has all excluded options and that all are unselected.\n\t\t\t\t\t\t\t\t\t\t// If yes, unselect this variant, and unselect the option parent of this variant.\n\n\t\t\t\t\t\t\t\t\t\tconst areAllOptionsExcluded = v.options.every(vo => vo.state === 2 || vo.state === 4);\n\t\t\t\t\t\t\t\t\t\tif (areAllOptionsExcluded) {\n\t\t\t\t\t\t\t\t\t\t\tv.isSelected = false;\n\t\t\t\t\t\t\t\t\t\t\to.isChecked = false;\n\t\t\t\t\t\t\t\t\t\t\to.selectedQuantity = 0;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (checkVariantRequiredOnlyMatch(v, selected)) {\n\n\t\t\t\t\t\t\t\t\t\t\t// If a strict match is not found, but at least all required/included are selected and all excluded are not selected,\n\t\t\t\t\t\t\t\t\t\t\t// show a warning\n\t\t\t\t\t\t\t\t\t\t\to.hasWarning = true;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\n\t\t\t\t\t\t\t\t\t\t\t// Check other variants.\n\n\t\t\t\t\t\t\t\t\t\t\tlet otherVariantRequiredOnlyMatch = false;\n\n\t\t\t\t\t\t\t\t\t\t\to.configurationSets[0].variants.forEach(ov => {\n\t\t\t\t\t\t\t\t\t\t\t\tif (!ov.isSelected) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (!otherVariantRequiredOnlyMatch \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t&& checkVariantRequiredOnlyMatch(ov, selected)\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\totherVariantRequiredOnlyMatch = true;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tov.isSelected = true;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tv.isSelected = false;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\to.hasWarning = true;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\t\t\t\t// If still no match, show error.\n\t\t\t\t\t\t\t\t\t\t\tif (!otherVariantRequiredOnlyMatch) {\n\t\t\t\t\t\t\t\t\t\t\t\to.hasError = true;\n\t\t\t\t\t\t\t\t\t\t\t\tselectionHasError = true;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t// if option with config is checked but there is no variant selected, find a variant match\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet variantMatch = false;\n\n\t\t\t\t\t\to.configurationSets[0].variants.forEach(ov => {\n\t\t\t\t\t\t\tif (!variantMatch \n\t\t\t\t\t\t\t\t&& checkVariantStrictMatch(ov, selected)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tvariantMatch = true;\n\t\t\t\t\t\t\t\tov.isSelected = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (!variantMatch) {\n\n\t\t\t\t\t\t\t// Check other variants.\n\n\t\t\t\t\t\t\tlet variantRequiredOnlyMatch = false;\n\n\t\t\t\t\t\t\to.configurationSets[0].variants.forEach(ov => {\n\t\t\t\t\t\t\t\tif (!variantRequiredOnlyMatch \n\t\t\t\t\t\t\t\t\t&& checkVariantRequiredOnlyMatch(ov, selected)\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tvariantRequiredOnlyMatch = true;\n\t\t\t\t\t\t\t\t\tov.isSelected = true;\n\t\t\t\t\t\t\t\t\to.hasWarning = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t// If still no match, show error.\n\t\t\t\t\t\t\tif (!variantRequiredOnlyMatch)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\to.hasError = true;\n\t\t\t\t\t\t\t\tselectionHasError = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tselected = updateOptionList(\n\t\t\t\t\tselected,\n\t\t\t\t\to\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\n\treturn {\n\t\tgroups,\n\t\tselected,\n\t\tselectionHasError\n\t};\n};\n\nexport const checkRules = (\n\tselectedOptionId: number,\n\trules: IOptionRule[]\n) => {\n\tfor (let i = 0; i < rules.length; i += 1) {\n\t\tif (\n\t\t\t(rules[i].ruleTypeId === 1 || rules[i].ruleTypeId === 2) && // 1-Warning or 2-Error\n\t\t\trules[i].optionIdList.indexOf(selectedOptionId) > -1\n\t\t) {\n\t\t\treturn {\n\t\t\t\ttype: rules[i].ruleTypeId,\n\t\t\t\ttitle: rules[i].messageTitle,\n\t\t\t\tbody: rules[i].messageBody\n\t\t\t};\n\t\t}\n\t}\n\n\treturn null;\n};\n\nexport const updateOption = (\n\tgroups: IOptionGroup[],\n\tcurrentPackage: IOption | null,\n\tcurrentlySelectedOptions: IOption[],\n\tisCurrentPackageCollectionModified: boolean,\n\tselectedOption: IOption,\n\tisChecked: boolean, \n\trules: IOptionRule[]\n) => {\n\tconst optionGroups = [...groups];\n\tlet currentSelectedOptions = [...currentlySelectedOptions];\n\n\t// Check if there is an error.\n\tlet warningMessage = null;\n\tlet errorMessage = null;\n\n\tif (isChecked) {\n\t\tconst ruleMessage = checkRules(selectedOption.optionId, rules);\n\t\tif (ruleMessage?.type === 1) { // Warning -> Can proceed with option selection\n\t\t\twarningMessage = {\n\t\t\t\ttitle: ruleMessage.title,\n\t\t\t\tbody: ruleMessage.body\n\t\t\t};\n\t\t}\n\t\telse if (ruleMessage?.type === 2) { // Error -> Option cannot be selected.\n\t\t\terrorMessage = {\n\t\t\t\ttitle: ruleMessage.title,\n\t\t\t\tbody: ruleMessage.body\n\t\t\t};\n\t\t}\n\t}\n\n\tif (errorMessage === null) {\n\t\t// Check if there is a selected package.\n\t\t// If it is a stand-alone package, and a new option is added,\n\t\t// uncheck the selected package,\n\t\t// and remove the yellow highlights.\n\t\t// If the selected option is an add-on option,\n\t\t// the selected package and its options stay selected and highlighted,\n\t\t// and currently selected options in the same group stay selected.\n\t\t// There should only be one option selected in the same group\n\t\t// unless the others are add-on options.\n\t\t// When there is no selected package,\n\t\t// but all selected options belong to a package,\n\t\t// automatically select that package.\n\n\t\tif (!selectedOption.isAddOn) {\n\t\t\tisCurrentPackageCollectionModified = true; // Check if newly added/removed option is not an add-on.\n\t\t}\n\n\t\toptionGroups.forEach(g => {\n\t\t\tg.options.forEach(o => {\n\t\t\t\tif (g.groupName === selectedOption.groupName) {\n\t\t\t\t\t// options within the group\n\t\t\t\t\tif (o.optionId === selectedOption.optionId) {\n\t\t\t\t\t\to.isChecked = isChecked; // Check/uncheck selected option.\n\t\t\t\t\t\to.selectedQuantity = isChecked ? 1 : 0;\n o.state = selectedOption.state; \n\t\t\t\t\t} else if (isChecked && selectedOption.isExclusive) {\n\t\t\t\t\t\to.isChecked = false; // Everything else is unchecked.\n\t\t\t\t\t\to.selectedQuantity = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (isCurrentPackageCollectionModified) {\n\t\t\t\t\tif (currentPackage && o.optionId === currentPackage.optionId) {\n\t\t\t\t\t\to.isChecked = false; // Uncheck the package.\n\t\t\t\t\t\to.selectedQuantity = 0;\n\t\t\t\t\t}\n\t\t\t\t\to.isCurrentPackageOption = false; // Remove all highlights.\n\t\t\t\t}\n\n\t\t\t\tcurrentSelectedOptions = updateOptionList(\n\t\t\t\t\tcurrentSelectedOptions,\n\t\t\t\t\to\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t}\n\n\treturn {\n\t\tgroups: optionGroups,\n\t\tselected: currentSelectedOptions,\n\t\tisCurrentPackageCollectionModified,\n\t\twarningMessage,\n\t\terrorMessage\n\t};\n};\n\nexport const updateQuantityOption = (\n\tgroups: IOptionGroup[],\n\tcurrentPackage: IOption | null,\n\tcurrentlySelectedOptions: IOption[],\n\tisCurrentPackageCollectionModified: boolean,\n\tselectedOption: IOption,\n\tquantity: number,\n\trules: IOptionRule[]\n) => {\n\tconst optionGroups = [...groups];\n\tlet currentSelectedOptions = [...currentlySelectedOptions];\n\n\t// Check if there is an error.\n\tlet warningMessage = null;\n\tlet errorMessage = null;\n\n\tif (quantity > 0) {\n\t\tconst ruleMessage = checkRules(selectedOption.optionId, rules);\n\t\tif (ruleMessage?.type === 1) { // Warning -> Can proceed with option selection\n\t\t\twarningMessage = {\n\t\t\t\ttitle: ruleMessage.title,\n\t\t\t\tbody: ruleMessage.body\n\t\t\t};\n\t\t}\n\t\telse if (ruleMessage?.type === 2) { // Error -> Option cannot be selected.\n\t\t\terrorMessage = {\n\t\t\t\ttitle: ruleMessage.title,\n\t\t\t\tbody: ruleMessage.body\n\t\t\t};\n\t\t}\n\t}\n\n\tif (errorMessage === null) {\n\t\t// Check if there is a selected package.\n\t\t// If it is a stand-alone package, and a new option is added,\n\t\t// uncheck the selected package,\n\t\t// and remove the yellow highlights.\n\t\t// If the selected option is an add-on option,\n\t\t// the selected package and its options stay selected and highlighted,\n\t\t// and currently selected options in the same group stay selected.\n\t\t// There should only be one option selected in the same group\n\t\t// unless the others are add-on options.\n\t\t// When there is no selected package,\n\t\t// but all selected options belong to a package,\n\t\t// automatically select that package.\n\n\t\tisCurrentPackageCollectionModified = !selectedOption.isAddOn; // Check if package is currently selected and the newly added/removed option is not an add-on.\n\n\t\toptionGroups.forEach(g => {\n\t\t\tg.options.forEach(o => {\n\t\t\t\tif (g.groupName === selectedOption.groupName) {\n\t\t\t\t\t// options within the group\n\t\t\t\t\tif (o.optionId === selectedOption.optionId) {\n\t\t\t\t\t\to.selectedQuantity = quantity; // Set the textbox.\n\t\t\t\t\t\to.isChecked = quantity > 0;\n\t\t\t\t\t} else if (selectedOption.isExclusive) {\n\t\t\t\t\t\to.selectedQuantity = 0; // Everything else is 0.\n\t\t\t\t\t\to.isChecked = false;\n\t\t\t\t\t\to.isCurrentPackageOption = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (isCurrentPackageCollectionModified) {\n\t\t\t\t\tif (currentPackage && o.optionId === currentPackage.optionId) {\n\t\t\t\t\t\to.isChecked = false; // Uncheck the package.\n\t\t\t\t\t\to.selectedQuantity = 0;\n\t\t\t\t\t}\n\t\t\t\t\to.isCurrentPackageOption = false; // Remove all highlights.\n\t\t\t\t}\n\n\t\t\t\tcurrentSelectedOptions = updateOptionList(currentSelectedOptions, o);\n\t\t\t});\n\t\t});\n\t}\n\n\treturn {\n\t\tgroups: optionGroups,\n\t\tselected: currentSelectedOptions,\n\t\tisCurrentPackageCollectionModified,\n\t\twarningMessage,\n\t\terrorMessage\n\t};\n};\n\nexport const getOptionById = (\n\toptionGroups: IOptionGroup[],\n\toptionId: number\n) => {\n\tconst groups = [...optionGroups];\n\n\tfor (let g = 0; g < groups.length; g += 1) {\n\t\tfor (let o = 0; o < groups[g].options.length; o += 1) {\n\t\t\tif (groups[g].options[o].optionId === optionId) {\n\t\t\t\treturn groups[g].options[o];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n};\n\nexport const setVariantOptions = (\n\toptionGroups: IOptionGroup[],\n\toptionId: number, \n\tvariant: IOptionConfigurationVariant\n) => {\n\tconst groups = [...optionGroups];\n\n\tgroups.forEach(g => {\n\t\tg.options.forEach(o => {\n\t\t\tif (o.optionId === optionId) {\n\t\t\t\to.configurationSets[0].variants.forEach(v => {\n\t\t\t\t\tv.isSelected = v.index === variant.index;\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t});\n\n\tconst variantOptions = [];\n\n\t// check selected option\n\tconst option = getOptionById(groups, optionId);\n\tif (option) {\n\t\tvariantOptions.push({\n\t\t\toption,\n\t\t\tisChecked: true,\n\t\t\tstate: option.state\n\t\t});\n\t}\n\n\t// select/deselect other options\n\tvariant.options.forEach(o => {\n\t\tconst variantOption = getOptionById(groups, o.optionId);\n\t\tif (variantOption) {\n\t\t\tif (o.state === 1 || o.state === 3 || o.state === 5) {\n\t\t\t\tvariantOptions.push({\n\t\t\t\t\toption: variantOption,\n\t\t\t\t\tisChecked: true,\n state: o.state\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tvariantOptions.push({\n\t\t\t\t\toption: variantOption,\n\t\t\t\t\tisChecked: false,\n state: o.state\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n\n\treturn {\n\t\tgroups,\n\t\tvariantOptions\n\t};\n};\n\nexport const getAvailableOptions = async (\n\tdivisionId: number,\n class9Id: number,\n selectedOptions: IEquipmentOption[],\n excludedOptionIds: string | null\n) => {\t\n let getOptionsUrl = `${Config.API_URL}/equipment/${class9Id}/options?divisionId=${divisionId}`;\n\n if (excludedOptionIds) {\n getOptionsUrl += `&exclude=${excludedOptionIds}`;\n }\n\n\tif (StorageFacade.quote?.PriceBookId) {\n\t\tgetOptionsUrl += `&priceBookId=${StorageFacade.quote?.PriceBookId}`;\n\t}\n\n\tconst optionsResponse = await fetch(getOptionsUrl);\n\n\tconst optionsJsonData = await optionsResponse.json();\n\n\tconst groupOptions = (options: IOption[]) => {\n\t\treturn options.reduce((groups: any, option) => {\n\t\t\t(groups[option.groupName] = groups[option.groupName] || []) // eslint-disable-line no-param-reassign\n\t\t\t\t.push(option);\n\t\t\treturn groups;\n\t\t}, {});\n\t};\n\n\tconst groupedData = groupOptions(optionsJsonData);\n\n\tconst selected = [] as IOption[];\n\n\tlet optionGroups: IOptionGroup[] = Object.keys(\n\t\tgroupedData\n\t).map(key => {\n\t\tconst keyOptions: IOption[] = groupedData[key];\n\n\t\tconst keyHasEmptyOption: boolean =\n\t\t\tkeyOptions.length === 1 && keyOptions[0].name.trim() === \"\";\n\n\t\tkeyOptions.forEach(o => {\n\t\t\tlet selectedQuantity = 1;\n\n\t\t\tconst selectedOptionIndex = selectedOptions.findIndex(so => so.id === o.optionId);\n\t\t\tconst isPreviouslySelected = selectedOptionIndex > -1;\n\n\t\t\tif (isPreviouslySelected) {\n\t\t\t\tselected.push(o);\n\t\t\t\tselectedQuantity = selectedOptions[selectedOptionIndex].quantity;\n o.isRequired = o.isRequired || selectedOptions[selectedOptionIndex].isRequired;\n o.state = selectedOptions[selectedOptionIndex].state;\n\t\t\t}\n\n\t\t\to.name = keyHasEmptyOption ? o.groupName : o.name;\n\t\t\to.isBold = keyHasEmptyOption;\n\t\t\to.isChecked =\n\t\t\t\to.isGroupDefault || o.isRequired || isPreviouslySelected;\n\t\t\to.isCurrentPackageOption = o.isPackage && o.isChecked;\n\t\t\to.selectedQuantity = o.isChecked\n\t\t\t\t? selectedQuantity\n\t\t\t\t: 0;\n\t\t});\n\n\t\tlet groupSelectedQuantity = 0;\n\t\tif (keyOptions.some(o => o.isListOption)) {\n\t\t\tconst selectedItemIndex = keyOptions.findIndex(ko => ko.isChecked);\n\t\t\tif (selectedItemIndex > -1) {\n\t\t\t\tgroupSelectedQuantity = keyOptions[selectedItemIndex].selectedQuantity;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tgroupName: key,\n\t\t\toptions: keyOptions,\n\t\t\tisVisible: !keyHasEmptyOption,\n\t\t\tisListOption: keyOptions.some(o => o.isListOption), // The group becomes a dropdownlist if at least one option is a list option.\n\t\t\tallowMultiples: keyOptions.some(\n\t\t\t\to => o.isListOption && o.allowMultiples\n\t\t\t), // Show a numeric textbox beside the dropdownlist.\n\t\t\tselectedQuantity: groupSelectedQuantity\n\t\t};\n\t});\n\n\tconst checkedData = checkPackageMatch(optionGroups, selected);\n\tif (checkedData) {\n\t\toptionGroups = checkedData.groups;\n\t}\n\n\treturn optionGroups;\n};\n\nexport const loadOptions = async (\n\tid: number,\n\tdivisionId: number,\n selectedOptionList: IEquipmentOption[],\n excludedOptionIds: string | null\n) => {\n\tlet packageMatch = null;\n\tlet hasError = false;\n\n let getOptionsUrl = `${Config.API_URL}/equipment/${id}/options?divisionId=${divisionId}`;\n\n if (excludedOptionIds) {\n getOptionsUrl += `&exclude=${excludedOptionIds}`;\n }\n\n\tif (StorageFacade.quote?.PriceBookId) {\n\t\tgetOptionsUrl += `&priceBookId=${StorageFacade.quote?.PriceBookId}`;\n\t}\n\n\tconst optionsResponse = await fetch(getOptionsUrl);\n\n\tconst optionsJsonData = await optionsResponse.json();\n\n\tconst groupOptions = (options: IOption[]) => {\n\t\treturn options.reduce((groups: any, option) => {\n\t\t\t(groups[option.groupName] = groups[option.groupName] || []) // eslint-disable-line no-param-reassign\n\t\t\t\t.push(option);\n\t\t\treturn groups;\n\t\t}, {});\n\t};\n\n\tconst groupedData = groupOptions(optionsJsonData);\n\n\tlet selected = [] as IOption[];\n\n\tlet optionGroups: IOptionGroup[] = Object.keys(\n\t\tgroupedData\n\t).map(key => {\n\t\tconst keyOptions: IOption[] = groupedData[key];\n\n\t\tconst keyHasEmptyOption: boolean =\n\t\t\tkeyOptions.length === 1 && keyOptions[0].name.trim() === \"\";\n\n\t\tkeyOptions.forEach(o => {\n\t\t\tlet selectedQuantity = 1;\n\n\t\t\tconst selectedOptionIndex = selectedOptionList.findIndex(so => so.id === o.optionId);\n\t\t\tconst isPreviouslySelected = selectedOptionIndex > -1;\n\n\t\t\tif (isPreviouslySelected) {\n\t\t\t\tselected.push(o);\n\t\t\t\tselectedQuantity = selectedOptionList[selectedOptionIndex].quantity;\n o.state = selectedOptionList[selectedOptionIndex].state;\n\t\t\t}\n\n\t\t\to.name = keyHasEmptyOption ? o.groupName : o.name;\n\t\t\to.isBold = keyHasEmptyOption;\n\t\t\to.isChecked = \n\t\t\t\to.isGroupDefault || o.isRequired || isPreviouslySelected;\t\t\t\t\t\t\t\t\n\t\t\to.isCurrentPackageOption = o.isPackage && o.isChecked;\n\t\t\to.hasConfigurationSet =\n\t\t\t\to.configurationSets && o.configurationSets.length > 0;\n\t\t\to.selectedQuantity = o.isChecked \n\t\t\t\t? selectedQuantity\n\t\t\t\t: 0;\n\n\t\t\tif (o.isPackage && o.isGroupDefault) {\n\t\t\t\tpackageMatch = o;\n\t\t\t}\n\t\t});\n\t\t\n\t\tlet groupSelectedQuantity = 0;\n\t\tif (keyOptions.some(o => o.isListOption && o.allowMultiples)) {\n\t\t\tconst selectedItemIndex = keyOptions.findIndex(ko => ko.isChecked);\n\t\t\tif (selectedItemIndex > -1) {\n\t\t\t\tgroupSelectedQuantity = keyOptions[selectedItemIndex].selectedQuantity;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tgroupName: key,\n\t\t\toptions: keyOptions,\n\t\t\tisVisible: !keyHasEmptyOption,\n\t\t\tisListOption: keyOptions.some(o => o.isListOption), // The group becomes a dropdownlist if at least one option is a list option.\n\t\t\tallowMultiples: keyOptions.some(\n\t\t\t\to => o.isListOption && o.allowMultiples\n\t\t\t), // Show a numeric textbox beside the dropdownlist.\n\t\t\tselectedQuantity: groupSelectedQuantity\n\t\t};\n\t});\n\t\n\tconst checkedData = checkPackageMatch(optionGroups, selected);\n\tif (checkedData) {\n\t\toptionGroups = checkedData.groups;\n\t\tselected = checkedData.selected;\n\n\t\tif (checkedData.packageMatch) {\n\t\t\tpackageMatch = checkedData.packageMatch;\n\t\t}\n\t}\n\n\tif (selected.length > 0) {\n\t\tconst validatedData = validateSelectedConfigurations(optionGroups, selected);\n\t\tif (validatedData) {\n\t\t\toptionGroups = validatedData.groups;\n\t\t\tselected = validatedData.selected;\n\t\t\thasError = validatedData.selectionHasError;\n\t\t}\n\t}\n\n\tconst getRulesUrl = `${Config.API_URL}/equipment/${id}/optionselectionrules?divisionId=${divisionId}`;\n\n\tconst optionRulesResponse = await fetch(getRulesUrl);\n\n\tconst selectionRules = await optionRulesResponse.json();\n\n\treturn {\n\t\toptionGroups,\n\t\tpackageMatch,\n\t\tselected,\n\t\tselectionRules,\n\t\thasError\n\t};\n};\n\nexport const selectPackage = (\n\toptionGroups: IOptionGroup[],\n\tselectedOption: IOption\n) => {\n\tlet hasError = false;\n\n\t// When a package is selected,\n\t// check all included options,\n\t// and uncheck the rest,\n\t// except for required/disabled options\n\t// as well as add-on options.\n\n\tlet groups = [...optionGroups];\n\tlet selected = [] as IOption[];\t\n\n\tconst includedOptions =\n\t\tselectedOption.packageOptions &&\n\t\tselectedOption.packageOptions.filter(\n\t\t\to => o.state === 1 || o.state === 3 || o.state === 5\n\t\t);\n\n\tgroups.forEach(g => {\n\t\tg.options.forEach(o => {\n\t\t\to.isChecked =\n\t\t\t\t(includedOptions &&\n\t\t\t\t\tincludedOptions.map(po => po.optionId).indexOf(o.optionId) > -1) ||\n\t\t\t\to.optionId === selectedOption.optionId ||\n\t\t\t\to.isRequired ||\n\t\t\t\t(o.isAddOn && o.isChecked);\n\n\t\t\to.selectedQuantity = o.isChecked ? 1 : 0;\n\n\t\t\to.isCurrentPackageOption =\n\t\t\t\t(includedOptions &&\n\t\t\t\t\tincludedOptions.map(po => po.optionId).indexOf(o.optionId) > -1) ||\n\t\t\t\to.optionId === selectedOption.optionId;\n\n\t\t\tselected = updateOptionList(selected, o);\n\t\t});\n\t});\n\n\tconst validatedData = validateSelectedConfigurations(groups, selected);\n\tif (validatedData) {\n\t\tgroups = validatedData.groups;\n\t\tselected = validatedData.selected;\n\t\thasError = validatedData.selectionHasError;\n\t}\n\n\treturn {\n\t\tselectedOption,\n\t\tgroups,\n\t\tselected,\n\t\thasError\n\t};\n};\n\nexport const unselectPackage = (\n\toptionGroups: IOptionGroup[],\n\tselectedOption: IOption\n) => {\n\tlet hasError = false;\n\n\t// When a package is unselected,\n\t// unselect all included options\n\n\tlet groups = [...optionGroups];\n\tlet selected = [] as IOption[];\n\n\tconst includedOptions =\n\t\tselectedOption.packageOptions &&\n\t\tselectedOption.packageOptions.filter(\n\t\t\to => o.state === 1 || o.state === 3 || o.state === 5\n\t\t);\n\n\tgroups.forEach(g => {\n\t\tg.options.forEach(o => {\n\t\t\tif (\n\t\t\t\t(includedOptions &&\n\t\t\t\t\tincludedOptions.map(po => po.optionId).indexOf(o.optionId) > -1) ||\n\t\t\t\to.optionId === selectedOption.optionId\n\t\t\t) {\n\t\t\t\to.isChecked = false;\n\t\t\t\to.selectedQuantity = 0;\n\t\t\t\to.isCurrentPackageOption = false;\n\t\t\t}\n\n\t\t\tselected = updateOptionList(selected, o);\n\t\t});\n\t});\n\n\tconst validatedData = validateSelectedConfigurations(groups, selected);\n\tif (validatedData) {\n\t\tgroups = validatedData.groups;\n\t\tselected = validatedData.selected;\n\t\thasError = validatedData.selectionHasError;\n\t}\n\n\treturn {\n\t\tgroups,\n\t\tselected,\n\t\thasError\n\t};\n};\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n\tfaInfoCircle,\n\tfaExclamationTriangle\n} from \"@fortawesome/free-solid-svg-icons\";\n\nimport Button from \"../helpers/Button\";\nimport Checkbox from \"../helpers/Checkbox\";\nimport ConfirmationMessage from \"../helpers/ConfirmationMessage\";\nimport FullScreenModal from \"../helpers/FullScreenModal\";\nimport NumericTextBox from \"../helpers/NumericTextBox\";\nimport OptionConfigurations from \"./OptionConfigurations\";\nimport WarningMessage from \"../helpers/WarningMessage\";\n\nimport { Config } from \"../../Constants\";\n\nimport IOption from \"../../models/interfaces/IOption\";\nimport IOptionGroup from \"../../models/interfaces/IOptionGroup\";\nimport IOptionPackageItem from \"../../models/interfaces/IOptionPackageItem\";\nimport IOptionRule from \"../../models/interfaces/IOptionRule\";\nimport IOptionConfigurationSet from \"../../models/interfaces/IOptionConfigurationSet\";\nimport IOptionConfigurationVariant from \"../../models/interfaces/IOptionConfigurationVariant\";\nimport IEquipmentOption from \"../../models/interfaces/IEquipmentOption\";\n\nimport useErrorContext from \"../../hooks/useErrorContext\";\nimport useLoadingContext from \"../../hooks/useLoadingContext\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport * as OptionUtils from \"./EquipmentOptions.utils\";\n\nimport \"./EquipmentOptions.css\";\nimport StorageFacade from \"../../services/StorageFacade\";\n\ninterface EquipmentOptionsProps {\n\ttitle: string;\n\tshow: boolean;\n\tid: number;\n\tdivisionId: number;\n selectedOptionList: IEquipmentOption[];\n excludedOptionIds: string | null;\n\tonOkClick: any;\n\tonCancelClick: any;\n}\n\nconst EquipmentOptions: React.FunctionComponent = ({\n\ttitle,\n\tshow,\n\tid,\n\tdivisionId,\n selectedOptionList,\n excludedOptionIds,\n\tonOkClick,\n\tonCancelClick\n}: EquipmentOptionsProps) => {\n\tconst [data, setData] = React.useState([] as IOptionGroup[]);\n\n\tconst [rules, setRules] = React.useState([] as IOptionRule[]);\n\n\tconst { showLoading, hideLoading } = useLoadingContext();\n\tconst { showError } = useErrorContext();\n\tconst { translations } = useTranslationContext();\n\n\tconst [hasError, setHasError] = React.useState(false);\n\n\tconst [selectedOptions, setSelectedOptions] = React.useState(\n\t\t[] as IOption[]\n\t);\n\n\tconst [currentPackage, setCurrentPackage] = React.useState(\n\t\tnull as IOption | null\n\t);\n\n\tconst [configurationSetModal, setConfigurationSetModal] = React.useState({\n\t\tshow: false,\n\t\toptionId: 0,\n\t\toptionName: \"\",\n\t\tdata: undefined as IOptionConfigurationSet | undefined\n\t});\n\n\tconst [confirmationMessage, setConfirmationMessage] = React.useState({\n\t\ttitle: \"Confirmation\",\n\t\tmessage:
Are you sure?
,\n\t\tshow: false,\n\t\tonYesClick: () => {},\n\t\tonNoClick: () => {}\n\t});\n\n\tconst [warningMessage, setWarningMessage] = React.useState({\n\t\ttitle: \"Warning\",\n\t\tmessage:
,\n\t\tshow: false,\n\t\tshowErrorIcon: false,\n\t\tonClose: () => {}\n\t});\n\n\tconst closeConfirmationMessage = () => {\n\t\tsetConfirmationMessage({\n\t\t\t...confirmationMessage,\n\t\t\tshow: false\n\t\t});\n\t};\n\n\tconst closeWarningMessage = () => {\n\t\tsetWarningMessage({\n\t\t\t...warningMessage,\n\t\t\tshow: false\n\t\t});\n\t};\n\n\tconst showWarningMessage = (messageTitle: string, messageBody: string, isError: boolean) => {\n\t\tsetWarningMessage({\n\t\t\ttitle: messageTitle,\n\t\t\tmessage:

{messageBody}

,\n\t\t\tshow: true,\n\t\t\tshowErrorIcon: isError,\n\t\t\tonClose: closeWarningMessage\n\t\t});\n\t};\n\n\tReact.useEffect(() => {\n\t\tconst loadData = async () => {\n\t\t\tif (id && divisionId && show) {\n\t\t\t\tshowLoading();\n\n\t\t\t\ttry {\n\t\t\t\t\tconst optionsData = await OptionUtils.loadOptions(\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tdivisionId,\n selectedOptionList,\n excludedOptionIds\n\t\t\t\t\t);\n\n\t\t\t\t\tsetCurrentPackage(optionsData.packageMatch);\n\t\t\t\t\tsetData(optionsData.optionGroups);\n\t\t\t\t\tsetSelectedOptions(optionsData.selected);\n\t\t\t\t\tsetRules(optionsData.selectionRules);\n\t\t\t\t\tsetHasError(optionsData.hasError);\n\n\t\t\t\t\thideLoading();\n\t\t\t\t}\n\t\t\t\tcatch (error: any) {\n\t\t\t\t\tshowError({\n\t\t\t\t\t\tname: \"Error\",\n\t\t\t\t\t\ttext: `An error was encountered while loading the options. ${error.message ?? \"\"}`\n\t\t\t\t\t});\n\t\t\t\t\thideLoading();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tloadData();\n\n\t}, [show]);\n\n\tconst selectPackage = (selectedOption: IOption) => {\n\t\tconst updatedData = OptionUtils.selectPackage(data, selectedOption);\n\n\t\tsetCurrentPackage(updatedData.selectedOption);\n\t\tsetData(updatedData.groups);\n\t\tsetSelectedOptions(updatedData.selected);\n\t\tsetHasError(updatedData.hasError);\n\t};\n\n\tconst unselectPackage = (selectedOption: IOption) => {\n\t\tconst updatedData = OptionUtils.unselectPackage(data, selectedOption);\n\n\t\tsetCurrentPackage(null);\n\t\tsetData(updatedData.groups);\n\t\tsetSelectedOptions(updatedData.selected);\n\t\tsetHasError(updatedData.hasError);\n\t};\n\n\tconst selectOption = (\n\t\tselectedOption: IOption,\n\t\tisChecked: boolean\n\t) => {\n\t\tlet groups = [...data];\n\t\tlet selected = [] as IOption[];\n\t\tlet isInvalidOption = false;\n\n\t\tlet isCurrentPackageCollectionModified = false;\n\n\t\tconst updatedData = OptionUtils.updateOption(\n\t\t\tgroups,\n\t\t\tcurrentPackage,\n\t\t\tselected,\n\t\t\tisCurrentPackageCollectionModified,\n\t\t\tselectedOption,\n\t\t\tisChecked,\n\t\t\trules\n\t\t);\n\n\t\tif (updatedData) {\n\t\t\tif (updatedData.errorMessage) {\n\t\t\t\tisInvalidOption = true;\n\t\t\t\tshowWarningMessage(updatedData.errorMessage.title, updatedData.errorMessage.body, true);\n\t\t\t}\n\t\t\telse {\t\t\t\t\n\t\t\t\tgroups = updatedData.groups;\n\t\t\t\tselected = updatedData.selected;\n\t\t\t\tisCurrentPackageCollectionModified =\n\t\t\t\t\tupdatedData.isCurrentPackageCollectionModified;\n\n\t\t\t\tif (updatedData.warningMessage) {\n\t\t\t\t\tshowWarningMessage(updatedData.warningMessage.title, updatedData.warningMessage.body, false);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!isInvalidOption) {\n\t\t\tif (isCurrentPackageCollectionModified) {\n\t\t\t\tconst checkedData = OptionUtils.checkPackageMatch(groups, selected);\n\t\t\t\tif (checkedData) {\n\t\t\t\t\tgroups = checkedData.groups;\n\t\t\t\t\tselected = checkedData.selected;\n\n\t\t\t\t\tif (checkedData.packageMatch) {\n\t\t\t\t\t\tsetCurrentPackage(checkedData.packageMatch);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst validatedData = OptionUtils.validateSelectedConfigurations(groups, selected);\n\t\t\tif (validatedData) {\n\t\t\t\tgroups = validatedData.groups;\n\t\t\t\tselected = validatedData.selected;\n\t\t\t\tsetHasError(validatedData.selectionHasError);\n\t\t\t}\n\n\t\t\tsetData(groups);\n\t\t\tsetSelectedOptions(selected);\n\t\t}\n\t};\n\n\tconst selectMultipleOptions = (\n\t\toptions: {\n\t\t\toption: IOption;\n\t\t\tisChecked: boolean;\n state: number;\n\t\t}[]\n\t) => {\n\t\tlet groups = [...data];\n\t\tlet selected = [] as IOption[];\n\t\tlet hasInvalidOption = false;\n\n\t\tlet isCurrentPackageCollectionModified = false;\n\n\t\toptions.forEach(so => {\n\n so.option.state = so.state; \n\n\t\t\tif (!hasInvalidOption) {\n\t\t\t\tconst selectedOption = so.option;\n \n\t\t\t\tconst updatedData = OptionUtils.updateOption(\n\t\t\t\t\tgroups,\n\t\t\t\t\tcurrentPackage,\n\t\t\t\t\tselected,\n\t\t\t\t\tisCurrentPackageCollectionModified,\n\t\t\t\t\tselectedOption,\n\t\t\t\t\tso.isChecked,\n\t\t\t\t\trules\n\t\t\t\t);\n\n \n\t\t\t\tif (updatedData) {\n\t\t\t\t\tif (updatedData.errorMessage) {\n\t\t\t\t\t\thasInvalidOption = true;\n\t\t\t\t\t\tshowWarningMessage(updatedData.errorMessage.title, updatedData.errorMessage.body, true);\n\t\t\t\t\t}\n\t\t\t\t\telse {\t\t\t\t\n\t\t\t\t\t\tgroups = updatedData.groups;\n\t\t\t\t\t\tselected = updatedData.selected;\n\t\t\t\t\t\tisCurrentPackageCollectionModified =\n\t\t\t\t\t\t\tupdatedData.isCurrentPackageCollectionModified;\n\n\t\t\t\t\t\tif (updatedData.warningMessage) {\n\t\t\t\t\t\t\tshowWarningMessage(updatedData.warningMessage.title, updatedData.warningMessage.body, false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tif (!hasInvalidOption) {\n\t\t\tif (isCurrentPackageCollectionModified) {\n\t\t\t\tconst checkedData = OptionUtils.checkPackageMatch(groups, selected);\n\t\t\t\tif (checkedData) {\n\t\t\t\t\tgroups = checkedData.groups;\n\t\t\t\t\tselected = checkedData.selected;\n\n\t\t\t\t\tif (checkedData.packageMatch) {\n\t\t\t\t\t\tsetCurrentPackage(checkedData.packageMatch);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst validatedData = OptionUtils.validateSelectedConfigurations(groups, selected);\n\t\t\tif (validatedData) {\n\t\t\t\tgroups = validatedData.groups;\n\t\t\t\tselected = validatedData.selected;\n\t\t\t\tsetHasError(validatedData.selectionHasError);\n\t\t\t}\n\n\t\t\tsetData(groups);\n\t\t\tsetSelectedOptions(selected);\n\t\t}\n\t};\n\n\tconst confirmPackageSelected = (selectedOption: IOption) => {\n\t\tcloseConfirmationMessage();\n\n\t\tselectPackage(selectedOption);\n\t};\n\n\tconst confirmPackageUnselected = (selectedOption: IOption) => {\n\t\tcloseConfirmationMessage();\n\n\t\tunselectPackage(selectedOption);\n\t};\n\n\tconst showConfigurations = (option: IOption) => {\n\t\tsetConfigurationSetModal({\n\t\t\tshow: true,\n\t\t\toptionId: option.optionId,\n\t\t\toptionName: option.name,\n\t\t\tdata: option.configurationSets[0]\n\t\t});\n\t};\n\n\tconst hideConfigurations = () => {\n\t\tsetConfigurationSetModal({\n\t\t\t...configurationSetModal,\n\t\t\tshow: false\n\t\t});\n\t};\n\n\tconst setConfigurationVariant = (\n\t\toptionId: number, \n\t\tvariant: IOptionConfigurationVariant\n\t) => {\n\t\tconst updatedData = OptionUtils.setVariantOptions(data, optionId, variant);\n\t\t\n\t\tsetData(updatedData.groups);\n\t\tselectMultipleOptions(updatedData.variantOptions);\n\n\t\t// close modal\n\t\thideConfigurations();\n\t};\n\n\tconst handleOptionLinkClicked = (\n\t\tselectedOption: IOption,\n\t\tevent: React.MouseEvent\n\t) => {\n\t\tif (selectedOption.hasConfigurationSet) {\n\t\t\tevent.preventDefault();\n\t\t\tshowConfigurations(selectedOption);\n\t\t}\n\t};\n\n\tconst handleCheckboxChange = (\n\t\tselectedOption: IOption,\n\t\tevent: React.ChangeEvent\n\t) => {\n\t\tif (selectedOption.hasConfigurationSet) {\n\t\t\tif (event.target.checked) {\n\t\t\t\t// option selected\n\t\t\t\tshowConfigurations(selectedOption);\n\t\t\t} else {\n\t\t\t\t// option unselected\n\t\t\t\tselectOption(selectedOption, false);\n\t\t\t}\n\t\t} else if (selectedOption.isPackage) {\n\t\t\tconst selectedRegularOptions = OptionUtils.getSelectedRegularOptionIds(\n\t\t\t\tselectedOptions\n\t\t\t);\n\n\t\t\tif (event.target.checked) {\n\t\t\t\t// Package is selected.\n\n\t\t\t\tconst includedOptions =\n\t\t\t\t\tselectedOption.packageOptions &&\n\t\t\t\t\tselectedOption.packageOptions.filter(\n\t\t\t\t\t\to => o.state === 1 || o.state === 3 || o.state === 5\n\t\t\t\t\t);\n\n\t\t\t\tconst excludedOptions =\n\t\t\t\t\tselectedOption.packageOptions &&\n\t\t\t\t\tselectedOption.packageOptions.filter(\n\t\t\t\t\t\to => o.state === 2 || o.state === 4\n\t\t\t\t\t);\n\n\t\t\t\tlet hasSelectedExcludedOption = false;\n\t\t\t\tlet selectedExcludedOption = \"\";\n\n\t\t\t\tif (excludedOptions && excludedOptions.length > 0) {\n\t\t\t\t\tconst groups = [...data];\n\t\t\t\t\t\n\t\t\t\t\tgroups.forEach(g => {\n\t\t\t\t\t\tconst checkedOptions = g.options\n\t\t\t\t\t\t\t.filter(go => \n\t\t\t\t\t\t\t\t(go.isChecked && !go.allowMultiples) ||\n\t\t\t\t\t\t\t\t(go.selectedQuantity > 0 && go.allowMultiples))\n\t\t\t\t\t\t\t.map(go => go.optionId);\n\t\t\t\t\t\tif (checkedOptions && checkedOptions.length > 0) {\n\t\t\t\t\t\t\texcludedOptions.forEach(eo => {\n\t\t\t\t\t\t\t\tif (checkedOptions.indexOf(eo.optionId) > -1) {\n\t\t\t\t\t\t\t\t\thasSelectedExcludedOption = true;\n\t\t\t\t\t\t\t\t\tselectedExcludedOption = `${eo.groupName} - ${eo.name}`;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif (hasSelectedExcludedOption) {\n\t\t\t\t\tshowWarningMessage(\"Selection Error\", `The following option is not allowed with this package: ${selectedExcludedOption}`, false);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Validate: Check if there are previously selected options that are not in the new selected package.\n\t\t\t\t\tconst hasMissingSelectedOption = selectedRegularOptions &&\n\t\t\t\t\t\tselectedRegularOptions.some(\n\t\t\t\t\t\t\to => includedOptions.map(po => po.optionId).indexOf(o) < 0\n\t\t\t\t\t\t);\n\n\t\t\t\t\tif (hasMissingSelectedOption) {\n\t\t\t\t\t\tsetConfirmationMessage({\n\t\t\t\t\t\t\t...confirmationMessage,\n\t\t\t\t\t\t\tmessage: (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tThe package \n\t\t\t\t\t\t\t\t\t{selectedOption.groupName}\n\t\t\t\t\t\t\t\t\t doesn't include some of the already selected options. If\n\t\t\t\t\t\t\t\t\tyou select the package, those options will be unchecked. Do you\n\t\t\t\t\t\t\t\t\treally want to select the package?\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tshow: true,\n\t\t\t\t\t\t\tonYesClick: () => {\n\t\t\t\t\t\t\t\tconfirmPackageSelected(selectedOption);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonNoClick: closeConfirmationMessage\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselectPackage(selectedOption);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Package is unselected.\n\n\t\t\t\t// Validate: Check if there are previously selected options that are not in the new selected package.\n\t\t\t\tsetConfirmationMessage({\n\t\t\t\t\t...confirmationMessage,\n\t\t\t\t\tmessage: (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

{translations.deselectingThisPackageWillAlsoDeselectALLThoseOptionsIncludedInThatPackage_}

\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t{translations.youMayPreferToSimplyDeselectTheSpecificOptionsYouDoNotRequire_}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t{translations.nOTE}\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t{translations.packageOptionsAreHighlightedInGreen_}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t

Are you sure you want to do this?

\n\t\t\t\t\t\t
\n\t\t\t\t\t),\n\t\t\t\t\tshow: true,\n\t\t\t\t\tonYesClick: () => {\n\t\t\t\t\t\tconfirmPackageUnselected(selectedOption);\n\t\t\t\t\t},\n\t\t\t\t\tonNoClick: closeConfirmationMessage\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\t// Option is selected.\n\n\t\t\tselectOption(selectedOption, event.target.checked);\n\t\t}\n\t};\n\n\tconst handleOptionMouseOver = (\n\t\tisPackage: boolean,\n\t\tpackageOptions: IOptionPackageItem[]\n\t) => {\n\t\tif (isPackage) {\n\t\t\tconst groups = [...data];\n\n\t\t\tgroups.forEach(g => {\n\t\t\t\tg.options.forEach(o => {\n\t\t\t\t\to.isCurrentPackagePreviewOption =\n\t\t\t\t\t\tpackageOptions &&\n\t\t\t\t\t\tpackageOptions\n\t\t\t\t\t\t\t.filter(po => po.state === 1 || po.state === 3 || po.state === 5)\n\t\t\t\t\t\t\t.map(po => po.optionId)\n\t\t\t\t\t\t\t.indexOf(o.optionId) > -1;\n\n\t\t\t\t\to.isCurrentPackageExcludedOption =\n\t\t\t\t\t\tpackageOptions &&\n\t\t\t\t\t\tpackageOptions\n\t\t\t\t\t\t\t.filter(po => po.state === 2 || po.state === 4)\n\t\t\t\t\t\t\t.map(po => po.optionId)\n\t\t\t\t\t\t\t.indexOf(o.optionId) > -1;\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tsetData(groups);\n\t\t}\n\t};\n\n\tconst handleOptionMouseOut = (isPackage: boolean) => {\n\t\tif (isPackage) {\n\t\t\tconst groups = [...data];\n\n\t\t\tgroups.forEach(g => {\n\t\t\t\tg.options.forEach(o => {\n\t\t\t\t\to.isCurrentPackagePreviewOption = false;\n\t\t\t\t\to.isCurrentPackageExcludedOption = false;\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tsetData(groups);\n\t\t}\n\t};\n\n\tconst handleQuantityChange = (\n\t\tselectedOption: IOption,\n\t\tevent: React.FormEvent\n\t) => {\n\t\tlet groups = [...data];\n\t\tlet selected = [] as IOption[];\n\t\tlet isInvalidOption = false;\n\n\t\tlet isCurrentPackageCollectionModified = false;\n\n\t\tconst quantity =\n\t\t\tevent.currentTarget.value.trim() === \"\"\n\t\t\t\t? 0\n\t\t\t\t: parseInt(event.currentTarget.value.trim(), 10);\n\n\t\tconst updatedData = OptionUtils.updateQuantityOption(\n\t\t\tgroups,\n\t\t\tcurrentPackage,\n\t\t\tselected,\n\t\t\tisCurrentPackageCollectionModified,\n\t\t\tselectedOption,\n\t\t\tquantity,\n\t\t\trules\n\t\t);\n\n\t\tif (updatedData) {\n\t\t\tif (updatedData.errorMessage) {\n\t\t\t\tisInvalidOption = true;\n\t\t\t\tshowWarningMessage(updatedData.errorMessage.title, updatedData.errorMessage.body, true);\n\t\t\t}\n\t\t\telse {\t\t\t\t\n\t\t\t\tgroups = updatedData.groups;\n\t\t\t\tselected = updatedData.selected;\n\t\t\t\tisCurrentPackageCollectionModified =\n\t\t\t\t\tupdatedData.isCurrentPackageCollectionModified;\n\n\t\t\t\tif (updatedData.warningMessage) {\n\t\t\t\t\tshowWarningMessage(updatedData.warningMessage.title, updatedData.warningMessage.body, false);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!isInvalidOption) {\n\t\t\tif (isCurrentPackageCollectionModified) {\n\t\t\t\tconst checkedData = OptionUtils.checkPackageMatch(groups, selected);\n\t\t\t\tif (checkedData) {\n\t\t\t\t\tgroups = checkedData.groups;\n\t\t\t\t\tselected = checkedData.selected;\n\n\t\t\t\t\tif (checkedData.packageMatch) {\n\t\t\t\t\t\tsetCurrentPackage(checkedData.packageMatch);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst validatedData = OptionUtils.validateSelectedConfigurations(groups, selected);\n\t\t\tif (validatedData) {\n\t\t\t\tgroups = validatedData.groups;\n\t\t\t\tselected = validatedData.selected;\n\t\t\t\tsetHasError(validatedData.selectionHasError);\n\t\t\t}\n\n\t\t\tsetData(groups);\n\t\t\tsetSelectedOptions(selected);\n\t\t}\n\t};\n\n\tconst handleDropdownChange = (\n\t\tgroupName: string,\n\t\tevent: React.FormEvent\n\t) => {\n\t\tconst optionId = event.currentTarget.value;\n\n\t\tlet groups = [...data];\n\t\tlet selected = [] as IOption[];\n\n\t\tgroups.forEach(g => {\n\t\t\tg.options.forEach(o => {\n\t\t\t\tif (g.groupName === groupName) {\n\t\t\t\t\t// options within the group\n\t\t\t\t\tif (o.optionId.toString() === optionId) {\n\t\t\t\t\t\to.isChecked = true; // Check/uncheck selected option.\n\t\t\t\t\t\tg.selectedQuantity = g.selectedQuantity > 0 ? g.selectedQuantity : 1;\n\t\t\t\t\t\to.selectedQuantity = g.selectedQuantity;\n\t\t\t\t\t} else {\n\t\t\t\t\t\to.isChecked = false; // Everything else is unchecked.\n\t\t\t\t\t\to.selectedQuantity = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tselected = OptionUtils.updateOptionList(selected, o);\n\t\t\t});\n\t\t});\n\n\t\tconst validatedData = OptionUtils.validateSelectedConfigurations(groups, selected);\n\t\tif (validatedData) {\n\t\t\tgroups = validatedData.groups;\n\t\t\tselected = validatedData.selected;\n\t\t\tsetHasError(validatedData.selectionHasError);\n\t\t}\n\n\t\tsetData(groups);\n\t\tsetSelectedOptions(selected);\n\t};\n\n\tconst handleGroupQuantityChange = (\n\t\tgroupName: string,\n\t\tevent: React.FormEvent\n\t) => {\n\t\tconst groups = [...data];\n\t\tlet selected = [] as IOption[];\n\n\t\tconst quantity =\n\t\t\tevent.currentTarget.value.trim() === \"\"\n\t\t\t\t? 0\n\t\t\t\t: parseInt(event.currentTarget.value.trim(), 10);\n\n\t\tgroups.forEach(g => {\n\t\t\tif (g.groupName === groupName) {\n\t\t\t\tg.selectedQuantity = quantity;\n\t\t\t}\n\t\t\tg.options.forEach(o => {\n\t\t\t\tif (g.groupName === groupName) {\n\t\t\t\t\t// options within the group\n\t\t\t\t\tif (o.isChecked) {\n\t\t\t\t\t\to.selectedQuantity = quantity;\n\t\t\t\t\t} else {\n\t\t\t\t\t\to.selectedQuantity = 0; // Everything else is 0.\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tselected = OptionUtils.updateOptionList(selected, o);\n\t\t\t});\n\t\t});\n\n\t\tsetData(groups);\n\t\tsetSelectedOptions(selected);\n\t};\n\n\tconst triggerConfirmEvent = () => {\n\t\tcloseConfirmationMessage();\n\n\t\tconst selectedOptionQuantities = OptionUtils.getSelectedOptionQuantities(selectedOptions);\n\t\tonOkClick(selectedOptionQuantities);\n\t};\n\n\tconst handleSubmitOptionsClick = () => {\n \n\t\tif (hasError) {\n\t\t\tsetConfirmationMessage({\n\t\t\t\t...confirmationMessage,\n\t\t\t\tmessage: (\n\t\t\t\t\t
\n\t\t\t\t\t\t{translations.optionConfigurtionErrorsDetected_}\n\t\t\t\t\t\t

{translations.youWillNotBeAbleToSubmitThisOrderUsingThisOptionConfiguration_}

\n\t\t\t\t\t\t

{translations.areYouSureYouWantToDoThis_}

\n\t\t\t\t\t
\n\t\t\t\t),\n\t\t\t\tshow: true,\n\t\t\t\tonYesClick: triggerConfirmEvent,\n\t\t\t\tonNoClick: closeConfirmationMessage\n\t\t\t});\n\t\t} else {\n\t\t\ttriggerConfirmEvent();\n\t\t}\n \n StorageFacade.EquipmentToPrint_OptionsHasError = hasError;\n\t};\n\n\tconst handleCancelOptionsClick = () => {\n\t\tonCancelClick();\n\t};\n\n\tconst body = (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{data &&\n\t\t\t\t\t\tdata.map((optionGroup: IOptionGroup, index: number) => {\n\t\t\t\t\t\t\tconst listKey = index;\n\t\t\t\t\t\t\tconst boldClassName = \" has-text-weight-bold is-6 group-name\";\n\t\t\t\t\t\t\tconst yellowHighlightClassName = \" yellow-highlight\";\n\t\t\t\t\t\t\tconst greenHighlightClassName = \" green-highlight\";\n\t\t\t\t\t\t\tconst orangeHighlightClassName = \" orange-highlight\";\n\t\t\t\t\t\t\tconst errorClassName = \" option-error\";\n\t\t\t\t\t\t\tconst warningClassName = \" option-warning\";\n\t\t\t\t\t\t\tconst clickableClassName = \" clickable\";\n\t\t\t\t\t\t\tconst selectedDropdownOption =\n\t\t\t\t\t\t\t\toptionGroup.isListOption &&\n\t\t\t\t\t\t\t\toptionGroup.options &&\n\t\t\t\t\t\t\t\toptionGroup.options.filter(o => o.isChecked).length > 0\n\t\t\t\t\t\t\t\t\t? optionGroup.options.filter(o => o.isChecked)[0].optionId\n\t\t\t\t\t\t\t\t\t: 0;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{optionGroup.isVisible && optionGroup.groupName}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{optionGroup.isListOption && (\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{optionGroup.allowMultiples && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleGroupQuantityChange(optionGroup.groupName, event);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{optionGroup.options &&\n\t\t\t\t\t\t\t\t\t\t\t\t\toptionGroup.options.filter(o => o.hasError).length >\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t0 && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t{optionGroup.options &&\n\t\t\t\t\t\t\t\t\t\t\t\t\toptionGroup.options.filter(o => o.hasError).length === 0 &&\n\t\t\t\t\t\t\t\t\t\t\t\t\toptionGroup.options.filter(o => o.hasWarning).length >\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t0 && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleDropdownChange(optionGroup.groupName, event)}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t{!optionGroup.isListOption &&\n\t\t\t\t\t\t\t\t\t\toptionGroup.options &&\n\t\t\t\t\t\t\t\t\t\toptionGroup.options.map((option: IOption) => (\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOptionMouseOver(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.isPackage,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.packageOptions\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonFocus={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOptionMouseOver(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.isPackage,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.packageOptions\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonMouseOut={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOptionMouseOut(option.isPackage)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonBlur={() =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOptionMouseOut(option.isPackage)}\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"checkbox\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.allowMultiples && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleQuantityChange(option, event);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!option.allowMultiples && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleCheckboxChange(option, event);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleOptionLinkClicked(option, event);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`option-name${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.isBold ? boldClassName : \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.isCurrentPackageOption\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? yellowHighlightClassName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.isCurrentPackagePreviewOption\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? greenHighlightClassName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.isCurrentPackageExcludedOption\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? orangeHighlightClassName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}${\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.hasConfigurationSet\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? clickableClassName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${option.hasError ? errorClassName : \"\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${!option.hasError && option.hasWarning ? warningClassName : \"\"}`}\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.hasError && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{!option.hasError && option.hasWarning && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{option.isPackage && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.groupName}\n,\n{option.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.packageOptions &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption.packageOptions\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.filter(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\to =>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\to.state === 1 ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\to.state === 3 ||\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\to.state === 5\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.map(o => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{o.groupName}\n,\n{o.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t);\n\n\tconst footer = (\n\t\t<>\n\t\t\t\n \n\t\t\n\t);\n\n\treturn (\n\t\t\n\t);\n};\n\nexport default EquipmentOptions;\n","import * as React from \"react\";\n\nexport interface TextBoxProps {\n name: string; \n className?: string;\n value?: string;\n disabled?: boolean;\n readOnly?: boolean;\n onChange?: (event: React.FormEvent) => void;\n}\n\nconst TextBox: React.FunctionComponent = ({\n name,\n className,\n value,\n disabled,\n readOnly,\n onChange\n}: TextBoxProps) => {\n\n return (\n \n );\n};\n\nexport default TextBox;\n","import * as React from \"react\";\n\nimport FormField from \"../helpers/FormField\";\nimport TextBox from \"../helpers/TextBox\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\ninterface UnitAttributesProps {\n taggingId: string;\n tagging: string;\n notes: string;\n onAttributeChange: (event: React.FormEvent) => void;\n}\n\nconst UnitAttributes: React.FunctionComponent = (\n props: UnitAttributesProps\n) => {\n\n const { translations } = useTranslationContext();\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default React.memo(UnitAttributes);","import * as React from \"react\";\n\nimport FormField from \"../helpers/FormField\";\nimport TextBox from \"../helpers/TextBox\";\n\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\ninterface UnitCapacityProps {\n capacityPerUnit: number | undefined;\n unitCount: number;\n}\n\nconst UnitCapacity: React.FunctionComponent = (\n props: UnitCapacityProps\n) => {\n\n const { translations } = useTranslationContext();\n\n if (!props.capacityPerUnit) {\n return null;\n }\n\n return (\n <>\n \n \n \n \n \n \n \n );\n};\n\nexport default React.memo(UnitCapacity);","import * as React from \"react\";\n\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons\";\n\nimport IMessage from \"../../models/interfaces/IMessage\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\ninterface WarningBoxProps {\n warnings: IMessage[] | undefined;\n}\n\nconst WarningBox: React.FunctionComponent = (\n props: WarningBoxProps\n) => {\n\n const { translations } = useTranslationContext();\n\n if (!props.warnings || props.warnings.length === 0) {\n return null;\n }\n\n return (\n
\n \n \n  \n \n \n {translations.wARNING}\n :\n \n
    \n {props.warnings.map(\n (item: IMessage, index: number) => {\n const listKey = index;\n return (\n
  • \n {item.name}\n  - \n {item.text}\n
  • \n );\n }\n )}\n
\n
\n );\n};\n\nexport default React.memo(WarningBox);","import * as React from \"react\";\n\nfunction usePrevious(value: T): T {\n const ref = React.useRef();\n\n React.useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current as T;\n}\n \nexport default usePrevious;\n","import EquipmentByIdRequest from \"./requests/EquipmentByIdRequest\";\nimport HelperService from \"./HelperService\";\nimport { Config } from \"../Constants\";\nimport IEquipmentUnitItem from \"../models/interfaces/IEquipmentUnitItem\";\nimport StorageFacade from \"./StorageFacade\";\n\nclass ModelSelectionService {\n\tprivate static baseURL = Config.API_URL;\n\n\tpublic static getEquipmentById(\n\t\tclass9Id: number,\n\t\trequest: EquipmentByIdRequest,\n\t\tcallback: (data: any) => void\n ) {\n\t\tlet queryString = this.getQueryString(\n\t\t\trequest\n\t\t);\n\n\t\tif (StorageFacade.quote?.PriceBookId) {\n\t\t\tif (queryString.length > 0) {\n\t\t\t\tqueryString += '&';\n\t\t\t}\n\t\t\tqueryString += `priceBookId=${StorageFacade.quote?.PriceBookId}`;\n\t\t}\n\n\t\tconst url = `${this.baseURL}/equipment/${class9Id}?${queryString}`;\t\t\n\t\tHelperService.callAPI(url, callback);\n\t}\n\n\tpublic static getEquipmentByIdAsync = (\n class9Id: number,\n\t\trequest: EquipmentByIdRequest\n ) => {\n return new Promise((resolve, reject) => {\n try {\n\t\t\t\tModelSelectionService.getEquipmentById(\n\t\t\t\t\tclass9Id,\n\t\t\t\t\trequest,\n\t\t\t\t\t(data) => {\n\t\t\t\t\t\tif (data.warnings) {\n\t\t\t\t\t\t\tdata.warnings = data.warnings.map((w: any) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tname: w.title,\n\t\t\t\t\t\t\t\t\ttext: w.body\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n resolve(data);\n }\n\t\t\t\t);\n }\n catch (error) {\n reject(error);\n }\n });\n };\n\n\tprivate static getQueryString(request: any): string {\n\t\tconst queryString = Object.keys(request)\n .filter(key => request[key] !== null && request[key] !== undefined)\n\t\t\t.map(key => `${key}=${request[key]}`)\n .join(\"&\"); \n\n\t\treturn queryString;\n\t}\n}\n\nexport default ModelSelectionService;\n","import ModelSelectionService from \"../../services/ModelSelectionService\";\nimport EquipmentByIdRequest from \"../../services/requests/EquipmentByIdRequest\";\n\nimport { measure } from \"../../types/measure\";\n\nimport { Config } from \"../../Constants\";\n\nimport IEquipmentUnitItem from \"../../models/interfaces/IEquipmentUnitItem\";\n\nexport const setPath = (\n items: IEquipmentUnitItem[], \n parentPath: string = \"\"\n) => {\n const treeItems = items;\n if (treeItems) {\n treeItems.forEach((item: IEquipmentUnitItem) => {\n const treeItem = item;\n const path = `${parentPath}/${treeItem.id}`;\n if (treeItem.items == null) {\n treeItem.path = path;\n }\n setPath(treeItem.items, path);\n });\n }\n};\n\nexport const simplifyTreeData = (\n items: IEquipmentUnitItem[], \n index: number = 0\n) => {\n const treeItems = items;\n if (treeItems) {\n treeItems.forEach((item: IEquipmentUnitItem) => {\n const treeItem = item;\n simplifyTreeData(treeItem.items, index + 1);\n if (index > 0) {\n if (\n treeItem.items &&\n treeItem.items.length === 1 &&\n treeItem.items[0].items &&\n treeItem.items[0].items.length > 0\n ) {\n // combine nodes with single child\n treeItem.text =\n treeItem.text +\n (treeItem.text.trim() !== \"\" &&\n treeItem.items[0].text.trim() !== \"\"\n ? \" - \"\n : \"\") +\n treeItem.items[0].text;\n treeItem.items = treeItem.items[0].items;\n }\n }\n });\n }\n};\n\nexport const fixTreeData = (\n items: IEquipmentUnitItem[], \n index: number = 0\n) => {\n const treeItems = items;\n if (treeItems) {\n treeItems.forEach((item: IEquipmentUnitItem) => {\n const treeItem = item;\n if (treeItem.text.toUpperCase() === \"N.A.\") {\n treeItem.text = \"\"; // hide N.A.\n }\n if (treeItem.items != null) {\n treeItem.id = `${index.toString()}_${treeItem.id}`; // make sure the ids are unique\n }\n treeItem.expanded = index === 0; // expand the first node\n fixTreeData(treeItem.items, index + 1);\n });\n }\n};\n\nexport const findEquipment = (\n item: IEquipmentUnitItem, \n idToFind: string\n): IEquipmentUnitItem | null => {\n if (item == null) return null;\n\n if (item.id.toString() === idToFind) {\n return item;\n }\n\n if (!item.items) {\n return null;\n }\n \n for (let i = 0; i < item.items.length; i += 1) {\n let result: IEquipmentUnitItem | null = null;\n result = findEquipment(item.items[i], idToFind);\n if (result) {\n return result;\n }\n }\n\n return null;\n};\n\nexport const getEquipmentUnits = async (\n divisionId: number,\n requireAwef: boolean,\n equipmentType: string,\n refrigerant: number,\n siteLineFrequency: number,\n interiorTemperature: measure,\n designTd: measure,\n suctionLineLoss: measure,\n condensingUnitAmbientTemperature: measure,\n condensingTemperature: measure,\n capacityRequired: measure,\n capacityMin: number,\n capacityMax: number,\n tdPlus: measure,\n tdMinus: measure,\n condenserCount: number,\n evaporatorCount: number,\n modelIdFilter: number | null,\n class9IdFilter: number | null,\n specialModels: string\n) => {\n \n const getUrl = `${Config.API_URL}/equipment`;\n const getParams: any = {\n RequireAwef: requireAwef ? 1: 0,\n EqType: equipmentType,\n Herz: siteLineFrequency,\n Fluid: refrigerant,\n DivID: divisionId,\n InTemp: interiorTemperature,\n TD: designTd,\n SucLoss: suctionLineLoss,\n AmbTemp: condensingUnitAmbientTemperature,\n ConTemp: condensingTemperature,\n Cap: capacityRequired ?? 0,\n CapMin: capacityMin,\n CapMax: capacityMax,\n TDPlus: tdPlus,\n TDMinus: tdMinus,\n NoCon: condenserCount,\n NoEvap: evaporatorCount,\n modid: modelIdFilter,\n c9id: class9IdFilter,\n spMods: specialModels\n };\n\n const queryString = Object.keys(getParams)\n .filter(key => getParams[key] !== null && getParams[key] !== undefined)\n .map(key => `${key}=${getParams[key]}`)\n .join(\"&\");\n \n const response = await fetch(`${getUrl}?${queryString}`);\n const responseText = await response.text();\n\n if (responseText && responseText.length > 0){\n const data = JSON.parse(responseText);\n const equipmentUnits: IEquipmentUnitItem[] = data.items;\n\n fixTreeData(equipmentUnits);\n simplifyTreeData(equipmentUnits);\n setPath(equipmentUnits);\n\n return equipmentUnits;\n }\n\n return [] as IEquipmentUnitItem[];\n};\n\nexport const getEquipmentDetails = async (\n equipmentUnit: IEquipmentUnitItem,\n divisionId: number,\n interiorTemperature: measure,\n ambientTemperature: measure,\n refrigerantFluidId: number,\n suctionLineLoss: measure,\n designTd: measure,\n optionIds: string // todo: pass option ids\n) => {\n const request: EquipmentByIdRequest = {\n ambientTemp: ambientTemperature,\n divisionId,\n interiorTemp: interiorTemperature,\n refrigerantFluidId,\n suctionLineLoss,\n td: designTd,\n selectedOptions: optionIds\n };\n\n const equipmentDetails = await ModelSelectionService.getEquipmentByIdAsync(\n equipmentUnit.id,\n request);\n\n equipmentUnit = {\n ...equipmentUnit,\n capacityPerUnit: equipmentDetails.capacityPerUnit,\n description: equipmentDetails.description,\n features: equipmentDetails.features,\n requiredOptions: equipmentDetails.requiredOptions,\n class0ID: equipmentDetails.class0ID,\n class8ID: equipmentDetails.class8ID,\n class9ID: equipmentDetails.class9ID,\n awefCompliant: equipmentDetails.awefCompliant,\n warnings: [...equipmentDetails.warnings ?? []]\n }\n\n return equipmentUnit;\n}\n\nexport const findMatchingEquipment = (\n currentSelectedUnitItem: IEquipmentUnitItem | null,\n equipmentSelections: IEquipmentUnitItem[]\n) => {\n let matchingEquipment = null as IEquipmentUnitItem | null;\n \n if (currentSelectedUnitItem != null\n && equipmentSelections\n && equipmentSelections.length > 0\n ) {\n const rootItem = equipmentSelections[0];\n const unitItem = findEquipment(rootItem, currentSelectedUnitItem.id.toString());\n if (unitItem) {\n matchingEquipment = currentSelectedUnitItem;\n } else {\n const pathIds = currentSelectedUnitItem.path.split(\"/\");\n if (pathIds) {\n let matchingNode: any = null;\n\n pathIds\n .filter(a => a !== \"\")\n .forEach(nodeId => {\n const nodeItem = findEquipment(rootItem, nodeId);\n if (nodeItem) {\n matchingNode = nodeItem;\n }\n });\n\n if (matchingNode) {\n while (matchingNode.items \n && matchingNode.items.length > 0\n ) {\n let matchingItem = matchingNode.items[0]; // set first node as last selected\n if (matchingNode.items[0].items == null) {\n // if that first node has no children\n for (let i = 0; i < matchingNode.items.length; i += 1) {\n // check if there's a better match in the current node\n if (matchingNode.items[i].text === currentSelectedUnitItem.text) {\n matchingItem = matchingNode.items[i];\n break;\n }\n }\n }\n\n matchingNode = matchingItem;\n }\n\n matchingEquipment = matchingNode;\n }\n }\n }\n }\n \n return matchingEquipment;\n};","import * as React from \"react\";\nimport { TreeView } from \"devextreme-react\";\n\nimport Button from \"../helpers/Button\";\nimport EquipmentOptions from \"../EquipmentOptions/EquipmentOptions\";\nimport FormField from \"../helpers/FormField\";\nimport TextBox from \"../helpers/TextBox\";\n\nimport UnitAttributes from \"./UnitAttributes\";\nimport UnitCapacity from \"./UnitCapacity\";\nimport WarningBox from \"./WarningBox\";\n\nimport { measure } from \"../../types/measure\";\n\nimport useErrorContext from \"../../hooks/useErrorContext\";\nimport useLoadingContext from \"../../hooks/useLoadingContext\";\nimport usePrevious from \"../../hooks/usePrevious\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport IEquipmentOption from \"../../models/interfaces/IEquipmentOption\";\nimport IEquipmentUnitAttributes from \"../../models/interfaces/IEquipmentUnitAttributes\";\nimport IEquipmentUnitItem from \"../../models/interfaces/IEquipmentUnitItem\";\nimport IOption from \"../../models/interfaces/IOption\";\n\nimport * as EquipmentUtils from \"./EquipmentUnit.utils\";\nimport * as OptionUtils from \"../EquipmentOptions/EquipmentOptions.utils\";\n\nimport \"./EquipmentUnit.css\";\nimport \"devextreme/dist/css/dx.common.css\";\nimport \"devextreme/dist/css/dx.light.css\";\n\ninterface EquipmentUnitProps {\n equipmentUnitKey: string;\n isPrimary: boolean | null;\n isPrimaryReloaded: boolean;\n isMatchedReloaded: boolean;\n requireAwef: boolean;\n divisionId: number;\n equipmentType: string;\n refrigerant: number;\n siteLineFrequency: number;\n interiorTemperature: measure;\n capacityMin: number;\n capacityMax: number;\n capacityRequired: measure;\n condensingUnitAmbientTemperature: measure;\n condensingTemperature: measure;\n designTd: measure;\n suctionLineLoss: measure;\n tdPlus: measure;\n tdMinus: measure;\n condenserCount: number;\n evaporatorCount: number;\n modelIdFilter: number | null;\n class9IdFilter: number | null;\n specialModels: string;\n selectedUnitItem: IEquipmentUnitItem | null;\n selectedOptions: IEquipmentOption[] | null;\n unitAttributes: IEquipmentUnitAttributes;\n onEquipmentSelected: any;\n onOptionsSelected: any;\n onAttributeChanged: any;\n}\n\nconst EquipmentUnit: React.FunctionComponent = (\n props: EquipmentUnitProps\n) => {\n const isMountedRef = React.useRef(null as boolean | null);\n\n const [unitSelections, setUnitSelections] = React.useState([] as IEquipmentUnitItem[]);\n\n const { showLoading, hideLoading } = useLoadingContext();\n const { showError } = useErrorContext();\n const { translations } = useTranslationContext();\n\n const [showOptions, setShowOptions] = React.useState(false);\n\n const treeViewRef = React.useRef(null);\n const prevProps = usePrevious(props);\n\n const getTreeView = () => {\n return treeViewRef.current?.instance;\n }\n\n const handleItemSelected = async (itemSelected: IEquipmentUnitItem) => {\n try\n {\n showLoading();\n\n const equipment = await EquipmentUtils.getEquipmentDetails(\n itemSelected,\n props.divisionId,\n props.interiorTemperature,\n props.condensingUnitAmbientTemperature === null\n ? props.condensingTemperature\n : props.condensingUnitAmbientTemperature,\n props.refrigerant,\n props.suctionLineLoss,\n props.designTd,\n \"\");\n\n let selectedOptions = [] as IOption[];\n if (equipment.class9ID) {\n const optionsData = await OptionUtils.loadOptions(\n equipment.class9ID,\n props.divisionId,\n props.selectedOptions ?? [],\n null\n );\n\n selectedOptions = optionsData.selected;\n }\n\n const selectedOptionQuantities = OptionUtils.getSelectedOptionQuantities(selectedOptions);\n\n props.onEquipmentSelected(equipment, selectedOptionQuantities);\n\n hideLoading();\n }\n catch (error: any) {\n showError({\n name: \"Error\",\n text: `An error was encountered while loading the equipment. ${error.message ?? \"\"}`\n });\n\n hideLoading();\n }\n };\n\n const populateTreeView = async (\n currentSelectedUnitItem: IEquipmentUnitItem | null,\n clearSelectedItem: boolean\n ) => {\n if (clearSelectedItem) {\n currentSelectedUnitItem = null;\n }\n \n if (props.divisionId > 0 && props.equipmentType !== \"\") {\n try {\n showLoading();\n\n const equipmentUnits = await EquipmentUtils.getEquipmentUnits(\n props.divisionId,\n props.requireAwef,\n props.equipmentType,\n props.refrigerant,\n props.siteLineFrequency,\n props.interiorTemperature,\n props.designTd,\n props.suctionLineLoss,\n props.condensingUnitAmbientTemperature,\n props.condensingTemperature,\n props.capacityRequired,\n props.capacityMin,\n props.capacityMax,\n props.tdPlus,\n props.tdMinus,\n props.condenserCount,\n props.evaporatorCount,\n props.modelIdFilter,\n props.class9IdFilter,\n props.specialModels);\n \n if (isMountedRef.current)\n {\n setUnitSelections(equipmentUnits);\n \n const matchingUnitItem = EquipmentUtils.findMatchingEquipment(currentSelectedUnitItem, equipmentUnits);\n \n if (matchingUnitItem) {\n const treeView = getTreeView();\n if (treeView) {\n treeView.expandItem(matchingUnitItem.id);\n treeView.selectItem(matchingUnitItem.id);\n }\n handleItemSelected(matchingUnitItem);\n }\n else {\n props.onEquipmentSelected(null, null);\n }\n }\n \n hideLoading();\n }\n catch (error: any) {\n showError({\n name: \"Error\",\n text: `An error was encountered while loading the equipment list. ${error.message ?? \"\"}`\n });\n\n if (isMountedRef.current) {\n setUnitSelections([]);\n props.onEquipmentSelected(null, null);\n }\n \n hideLoading();\n }\n }\n };\n\n React.useEffect(() => {\n isMountedRef.current = true;\n\n if (prevProps) {\n const clearSelectedItem =\n prevProps.isPrimary !== props.isPrimary \n && props.isPrimary == null;\n\n if (\n ((props.isPrimary == null || props.isPrimary === true) && // if this is primary, reload tree view when any input is changed\n (prevProps.requireAwef !== props.requireAwef ||\n prevProps.equipmentType !== props.equipmentType ||\n prevProps.refrigerant !== props.refrigerant ||\n prevProps.siteLineFrequency !== props.siteLineFrequency ||\n prevProps.interiorTemperature !== props.interiorTemperature ||\n prevProps.capacityMin !== props.capacityMin ||\n prevProps.capacityMax !== props.capacityMax ||\n prevProps.capacityRequired !== props.capacityRequired ||\n prevProps.condensingUnitAmbientTemperature !== props.condensingUnitAmbientTemperature ||\n prevProps.condensingTemperature !== props.condensingTemperature ||\n prevProps.designTd !== props.designTd ||\n prevProps.suctionLineLoss !== props.suctionLineLoss ||\n prevProps.tdPlus !== props.tdPlus ||\n prevProps.tdMinus !== props.tdMinus ||\n prevProps.condenserCount !== props.condenserCount ||\n prevProps.evaporatorCount !== props.evaporatorCount ||\n prevProps.modelIdFilter !== props.modelIdFilter ||\n prevProps.class9IdFilter !== props.class9IdFilter)) ||\n (props.isPrimary != null \n && props.isPrimary === false\n && props.isPrimaryReloaded // if this is matched, only reload tree view when primary has reloaded\n )\n || clearSelectedItem // or if primary setting is cleared, reload the tree view\n ) {\n populateTreeView(props.selectedUnitItem, clearSelectedItem);\n }\n }\n else { // if first time loading\n populateTreeView(props.selectedUnitItem, false);\n }\n\n return () => { isMountedRef.current = false; };\n }, [\n props.isPrimary,\n props.isPrimaryReloaded,\n props.requireAwef,\n props.equipmentType,\n props.refrigerant,\n props.siteLineFrequency,\n props.interiorTemperature,\n props.capacityMin,\n props.capacityMax,\n props.capacityRequired,\n props.condensingUnitAmbientTemperature,\n props.condensingTemperature,\n props.designTd,\n props.suctionLineLoss,\n props.tdPlus,\n props.tdMinus,\n props.condenserCount,\n props.evaporatorCount,\n props.modelIdFilter,\n props.class9IdFilter,\n props.selectedUnitItem\n ]);\n\n const handleItemClick = (event: any) => {\n if (event.itemData.items == null) {\n const treeView = getTreeView();\n if (treeView) {\n treeView.unselectAll();\n treeView.selectItem(event.itemElement);\n }\n\n if (props.selectedUnitItem?.partNumber !== event.itemData.partNumber) {\n handleItemSelected(event.itemData);\n }\n }\n };\n\n const handleAttributeChange = (event: React.FormEvent) => {\n\t\tconst fieldName = event.currentTarget.name;\n const fieldValue = event.currentTarget.value;\n\n const updatedAttributes = {\n ...props.unitAttributes,\n [fieldName]: fieldValue\n };\n\n if (props.onAttributeChanged) {\n props.onAttributeChanged(updatedAttributes);\n }\n\t};\n\n const handleSelectOptionsClick = () => {\n setShowOptions(true);\n };\n\n const handleSubmitOptionsClick = (options: IEquipmentOption[]) => {\n setShowOptions(false);\n props.onOptionsSelected(options);\n };\n\n const handleCancelOptionsClick = () => {\n setShowOptions(false);\n };\n\n return (\n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n );\n}\n\nexport default EquipmentUnit;","import * as React from \"react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faExclamationTriangle } from \"@fortawesome/free-solid-svg-icons\";\n\nimport Button from \"../helpers/Button\";\nimport EquipmentFilters from \"../EquipmentFilters/EquipmentFilters\";\nimport EquipmentBalance from \"../EquipmentBalance/EquipmentBalance\";\nimport EquipmentUnit from \"../EquipmentUnit/EquipmentUnit\";\nimport FormField from \"../helpers/FormField\";\nimport Modal from \"../helpers/Modal\";\nimport NumericTextBox from \"../helpers/NumericTextBox\";\n\nimport IFormState from \"../../models/interfaces/IFormState\";\nimport ISystem from \"../../models/interfaces/ISystem\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport \"./Equipment.css\";\nimport ConfirmationMessage from \"../helpers/ConfirmationMessage\";\nimport StorageFacade from \"../../services/StorageFacade\";\n\nconst isCUAmbientTempVisible = (\n\tequipmentType: string | null\n): boolean => {\n\treturn equipmentType === \"Condensing Units-Air\";\n};\n\nconst isCondensingTempVisible = (\n\tequipmentType: string | null\n): boolean => {\n\treturn equipmentType === \"Compressor Unit\";\n};\n\nconst emptyUnitAttributes = {\n taggingId: \"\",\n tagging: \"\",\n notes: \"\"\n};\n\ninterface EquipmentComponentProps {\n isEquipmentOnly: boolean;\n formState: IFormState;\n onInputChange: any;\n onDropDownChange: any;\n onCheckboxChange: any;\n onMeasurementChange: any;\n onValidateSystemField: any;\n onValidateEquipmentField: any;\n onToggleModal: any;\n onClearSelections: any;\n onShowSystemChargeButtonClick: any;\n onCondensorEquipmentSelected: any;\n onEvaporatorEquipmentSelected: any;\n onCondenserUnitOptionsSelected: any;\n onEvaporatorOptionsSelected: any;\n onCondenserAttributeChanged: any;\n onEvaporatorAttributeChanged: any;\n onPrintPreviewClick: any;\n onCancelEquipmentClick: any;\n onSubmitEquipmentClick: any;\n}\n\nconst EquipmentComponent: React.FunctionComponent = (\n props: EquipmentComponentProps\n) => {\n\n const [showCancelConfirmation, setShowCancelConfirmation] = React.useState(false);\n const [allowedSpecialModels, setAllowedSpecialModels] = React.useState({SpecialModels: \"\"});\n\n const { translations } = useTranslationContext();\n\n let condenserLabel = \"\";\n let evaporatorLabel = \"\";\n if (props.formState.actualValues.equipmentSelection.isCondenserPrimary != null) {\n condenserLabel = props.formState.actualValues.equipmentSelection.isCondenserPrimary === true \n ? \"(Primary)\" \n : \"(Matched)\";\n evaporatorLabel = props.formState.actualValues.equipmentSelection.isCondenserPrimary === false \n ? \"(Primary)\" \n : \"(Matched)\";\n }\n\n const cancelConfirmationMessage = {\n\t\ttitle: \"Confirmation\",\n\t\tmessage:
Are you sure you want to cancel?
,\n\t\tonYesClick: () => {\n setShowCancelConfirmation(false);\n if (props.onCancelEquipmentClick) {\n props.onCancelEquipmentClick();\n }\n },\n\t\tonNoClick: () => {\n setShowCancelConfirmation(false);\n }\n };\n\n const showSccbutton = (props.formState.actualValues.equipmentSelection.selectedCondenserUnit?.partNumber ?? \"\") != \"\"\n && (props.formState.actualValues.equipmentSelection.selectedEvaporator?.partNumber ?? \"\") != \"\";\n\n React.useEffect(() => {\n const spModels = StorageFacade.AllowedSpecialModels;\n if (spModels && spModels.SpeicalModels !== \"\") setAllowedSpecialModels(spModels);\n }, []);\n\n return (\n
\n

{translations.modelSelector}

\n \n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n
\n
\n
\n \n
\n
\n
\n { setShowCancelConfirmation(true); }}\n />\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n );\n};\n\nexport default EquipmentComponent;","import HelperService from \"./HelperService\";\nimport { Config } from \"../Constants\";\nimport { measure, hasValue, getNumericValue } from \"../types/measure\";\n\nclass LoadCalculationService {\n private static baseURL = Config.API_URL;\n\n public static getMiscLoad(boxAppId: number,\n floorArea: number,\n volume: number,\n inTemp: number,\n miscload: any,\n callback: (data: any) => void) {\n \n const url = `${this.baseURL}/loadcalculation/miscload?boxId=${boxAppId}&volume=${volume}&area=${floorArea}&inTemp=${inTemp}`;\n HelperService.callAPIPost(\n url,\n miscload,\n callback); \n }\n\n public static getMiscLoadItems(boxAppId: number,\n floorArea: number,\n volume: number,\n inTemp: number,\n miscload: any,\n callback: (data: any) => void) {\n \n const url = `${this.baseURL}/loadcalculation/miscandload?boxId=${boxAppId}&volume=${volume}&area=${floorArea}&inTemp=${inTemp}`;\n HelperService.callAPIPost(\n url,\n miscload,\n callback); \n }\n\n public static getInfiltrationLoad(boxAppId: number,\n openingInfilLoad: number,\n volume: number,\n exTemp: number,\n exRH: number,\n inTemp: number,\n inRH: number,\n infiltrationLoad: any,\n callback: (data: any) => void) {\n \n const url = `${this.baseURL}/loadcalculation/infiltrationload?boxId=${boxAppId}&volume=${volume}&openingInfilLoad=${openingInfilLoad}&exTemp=${exTemp}&exRH=${exRH}&inTemp=${inTemp}&inRH=${inRH}`;\n HelperService.callAPIPost(\n url,\n infiltrationLoad,\n callback); \n }\n\n public static getInfiltrationLoadItems(boxAppId: number,\n openingInfilLoad: number,\n volume: number,\n exTemp: number,\n exRH: number,\n inTemp: number,\n inRH: number,\n infiltrationLoad: any,\n callback: (data: any) => void) {\n \n const url = `${this.baseURL}/loadcalculation/infiltrationandload?boxId=${boxAppId}&volume=${volume}&openingInfilLoad=${openingInfilLoad}&exTemp=${exTemp}&exRH=${exRH}&inTemp=${inTemp}&inRH=${inRH}`;\n HelperService.callAPIPost(\n url,\n infiltrationLoad,\n callback); \n }\n\n public static getProductLoad(boxAppId: number, \n volume: number,\n inTemp: number,\n prodLoad: any,\n callback: (data: any) => void) {\n \n const url = `${this.baseURL}/loadcalculation/prodload?boxId=${boxAppId}&volume=${volume}&inTemp=${inTemp}`;\n HelperService.callAPIPost(\n url,\n prodLoad,\n callback); \n }\n\n public static getProductLoadItems(boxAppId: number, \n volume: number,\n inTemp: number,\n prodLoad: any,\n callback: (data: any) => void) {\n \n const url = `${this.baseURL}/loadcalculation/prodandload?boxId=${boxAppId}&volume=${volume}&inTemp=${inTemp}`;\n HelperService.callAPIPost(\n url,\n prodLoad,\n callback); \n }\n\n public static getTotalMiscLoadAsync = (\n boxApplicationId: number,\n floorArea: number,\n volume: number,\n inTemp: number,\n miscLoad: any\n ) => {\n return new Promise((resolve, reject) => {\n try {\n LoadCalculationService.getMiscLoad(\n boxApplicationId,\n floorArea,\n volume,\n inTemp,\n miscLoad, \n (data) => {\n resolve(data);\n }\n );\n }\n catch (error) {\n reject(error);\n }\n });\n };\n \n public static getTotalInfiltrationLoadAsync = (\n boxApplicationId: number,\n openingsTotalInfiltrationLoad: number,\n volume: number,\n exteriorTemperature: number,\n exteriorHumidity: number,\n interiorTemperature: number,\n interiorHumidity: number,\n infiltrationLoad: any\n ) => {\n return new Promise((resolve, reject) => {\n try {\n LoadCalculationService.getInfiltrationLoad(\n boxApplicationId,\n openingsTotalInfiltrationLoad,\n volume,\n exteriorTemperature,\n exteriorHumidity,\n interiorTemperature,\n interiorHumidity,\n infiltrationLoad,\n (data) => {\n resolve(data);\n }\n );\n }\n catch (error) {\n reject(error);\n }\n });\n };\n \n public static getTotalProductLoadAsync = (\n boxApplicationId: number,\n volume: number,\n inTemp: number,\n productLoad: any\n ) => {\n return new Promise((resolve, reject) => {\n try {\n LoadCalculationService.getProductLoad(\n boxApplicationId,\n volume,\n inTemp,\n productLoad, \n (data) => {\n resolve(data);\n }\n );\n }\n catch (error) {\n reject(error);\n }\n });\n };\n\n public static getMiscLoadItemsAsync = (\n boxApplicationId: number,\n floorArea: number,\n volume: number,\n inTemp: number,\n miscLoad: any\n ) => {\n return new Promise((resolve, reject) => {\n try {\n LoadCalculationService.getMiscLoadItems(\n boxApplicationId,\n floorArea,\n volume,\n inTemp,\n miscLoad, \n (data) => {\n resolve(data);\n }\n );\n }\n catch (error) {\n reject(error);\n }\n });\n };\n\n public static getInfiltrationLoadItemsAsync = (\n boxApplicationId: number,\n openingsTotalInfiltrationLoad: number,\n volume: number,\n exteriorTemperature: number,\n exteriorHumidity: number,\n interiorTemperature: number,\n interiorHumidity: number,\n infiltrationLoad: any\n ) => {\n return new Promise((resolve, reject) => {\n try {\n LoadCalculationService.getInfiltrationLoadItems(\n boxApplicationId,\n openingsTotalInfiltrationLoad,\n volume,\n exteriorTemperature,\n exteriorHumidity,\n interiorTemperature,\n interiorHumidity,\n infiltrationLoad,\n (data) => {\n resolve(data);\n }\n );\n }\n catch (error) {\n reject(error);\n }\n });\n };\n\n public static getProductLoadItemsAsync = (\n boxApplicationId: number,\n volume: number,\n inTemp: number,\n productLoad: any\n ) => {\n return new Promise((resolve, reject) => {\n try {\n LoadCalculationService.getProductLoadItems(\n boxApplicationId,\n volume,\n inTemp,\n productLoad, \n (data) => {\n resolve(data);\n }\n );\n }\n catch (error) {\n reject(error);\n }\n });\n };\n\n public static fetchLoadsAsync = async (\n customTotalMiscLoad: measure,\n customTotalInfiltrationLoad: measure,\n customTotalProductLoad: measure,\n boxApplicationId: number,\n floorArea: measure,\n volume: measure,\n openingsTotalInfiltrationLoad: measure,\n exteriorTemperature: measure,\n exteriorHumidity: measure,\n interiorTemperature: measure,\n interiorHumidity: measure,\n miscLoad: any,\n infiltrationLoad: any,\n productLoad: any\n ) => {\n\n const totalMiscLoad = \n hasValue(customTotalMiscLoad)\n ? getNumericValue(customTotalMiscLoad)\n : await LoadCalculationService.getTotalMiscLoadAsync(\n boxApplicationId,\n floorArea ?? 0,\n volume ?? 0,\n getNumericValue(interiorTemperature),\n miscLoad);\n\n const miscLoadItems = await LoadCalculationService.getMiscLoadItemsAsync(\n boxApplicationId,\n floorArea ?? 0,\n volume ?? 0,\n getNumericValue(interiorTemperature),\n miscLoad);\n \n let totalInfiltrationLoad = 0;\n if (hasValue(customTotalInfiltrationLoad)) {\n totalInfiltrationLoad = getNumericValue(customTotalInfiltrationLoad);\n }\n else if (hasValue(exteriorTemperature) && hasValue(exteriorHumidity)\n && hasValue(interiorTemperature) && hasValue(interiorHumidity)\n ) {\n totalInfiltrationLoad = await LoadCalculationService.getTotalInfiltrationLoadAsync(\n boxApplicationId,\n openingsTotalInfiltrationLoad ?? 0,\n volume ?? 0,\n getNumericValue(exteriorTemperature),\n getNumericValue(exteriorHumidity),\n getNumericValue(interiorTemperature),\n getNumericValue(interiorHumidity),\n infiltrationLoad)\n };\n\n const infiltrationLoadItems = await LoadCalculationService.getInfiltrationLoadItemsAsync(\n boxApplicationId,\n openingsTotalInfiltrationLoad ?? 0,\n volume ?? 0,\n getNumericValue(exteriorTemperature),\n getNumericValue(exteriorHumidity),\n getNumericValue(interiorTemperature),\n getNumericValue(interiorHumidity),\n infiltrationLoad);\n \n const totalProductLoad = \n hasValue(customTotalProductLoad)\n ? getNumericValue(customTotalProductLoad)\n : await LoadCalculationService.getTotalProductLoadAsync(\n boxApplicationId,\n volume ?? 0,\n getNumericValue(interiorTemperature),\n productLoad);\n\n const productLoadItems = await LoadCalculationService.getProductLoadItemsAsync(\n boxApplicationId,\n volume ?? 0,\n getNumericValue(interiorTemperature),\n productLoad);\n \n return {\n totalMiscLoad,\n totalInfiltrationLoad,\n infiltrationLoadItems,\n totalProductLoad,\n miscLoadItems,\n productLoadItems\n };\n };\n\n public static fetchCalculatedLoadsAsync = async (\n boxApplicationId: number,\n floorArea: measure,\n volume: measure,\n openingsTotalInfiltrationLoad: measure,\n exteriorTemperature: measure,\n exteriorHumidity: measure,\n interiorTemperature: measure,\n interiorHumidity: measure,\n miscLoad: any,\n infiltrationLoad: any,\n productLoad: any\n ) => {\n\n const totalMiscLoad = await LoadCalculationService.getTotalMiscLoadAsync(\n boxApplicationId,\n floorArea ?? 0,\n volume ?? 0,\n getNumericValue(interiorTemperature),\n miscLoad);\n\n const miscLoadItems = await LoadCalculationService.getMiscLoadItemsAsync(\n boxApplicationId,\n floorArea ?? 0,\n volume ?? 0,\n getNumericValue(interiorTemperature),\n miscLoad);\n \n let totalInfiltrationLoad = 0;\n if (hasValue(exteriorTemperature) && hasValue(exteriorHumidity)\n && hasValue(interiorTemperature) && hasValue(interiorHumidity)\n ) {\n totalInfiltrationLoad = await LoadCalculationService.getTotalInfiltrationLoadAsync(\n boxApplicationId,\n openingsTotalInfiltrationLoad ?? 0,\n volume ?? 0,\n getNumericValue(exteriorTemperature),\n getNumericValue(exteriorHumidity),\n getNumericValue(interiorTemperature),\n getNumericValue(interiorHumidity),\n infiltrationLoad)\n };\n\n const infiltrationLoadItems = await LoadCalculationService.getInfiltrationLoadItemsAsync(\n boxApplicationId,\n openingsTotalInfiltrationLoad ?? 0,\n volume ?? 0,\n getNumericValue(exteriorTemperature),\n getNumericValue(exteriorHumidity),\n getNumericValue(interiorTemperature),\n getNumericValue(interiorHumidity),\n infiltrationLoad);\n \n const totalProductLoad = await LoadCalculationService.getTotalProductLoadAsync(\n boxApplicationId,\n volume ?? 0,\n getNumericValue(interiorTemperature),\n productLoad);\n\n const productLoadItems = await LoadCalculationService.getProductLoadItemsAsync(\n boxApplicationId,\n volume ?? 0,\n getNumericValue(interiorTemperature),\n productLoad);\n \n return {\n totalMiscLoad,\n totalInfiltrationLoad,\n totalProductLoad,\n miscLoadItems,\n infiltrationLoadItems,\n productLoadItems\n };\n };\n}\n\nexport default LoadCalculationService;","enum BoxType {\n Undefined = 0,\n Rectangular = 1,\n LShape = 2,\n UShape = 3,\n Custom = 4,\n FloorPlanner = 9\n}\n\nexport default BoxType;","enum BoxLocation {\n Indoors = \"0\",\n OutdoorsWarm = \"1\",\n OutdoorsCold = \"2\"\n}\n\nexport default BoxLocation;","enum FloorType {\n None = \"0\",\n OnGrade = \"1\",\n AboveGrade = \"2\",\n OnGradeHeated = \"3\",\n BoxSetting = \"4\"\n}\n\nexport default FloorType;","enum SectionType {\n Undefined = \"0\",\n FloorPolygon = \"1\",\n WallPolygon = \"2\",\n CeilingPolygon = \"3\",\n FloorCustom = \"11\",\n WallCustom = \"12\",\n CeilingCustom = \"13\",\n Various = \"-1\"\n}\n\nexport default SectionType;","import IFormField from \"../interfaces/IFormField\";\nimport IFormState from \"../interfaces/IFormState\";\nimport { hasValue, countDecimals, roundOff } from \"../../types/measure\";\n\nexport const getProperty = (obj: any, key: string) => (\n key.split(\".\").reduce((acc, part) => acc && acc[part], obj)\n);\n\nexport const getStateDefaultValue = (\n\tstate: IFormState,\n\tfieldName: string\n) => {\n\treturn getProperty(state.defaultValues, fieldName);\n};\n\nexport const isNumeric = (\n\tvalue: any\n): boolean => {\n\treturn value !== null \n\t\t&& value !== undefined\n\t\t&& !Number.isNaN(Number(value));\n};\n\nexport const isCustomValue = (\n formState: IFormState, \n\tfieldName: string,\n\tenteredValue?: any\n): boolean => {\n\n\tlet actualValue = enteredValue ?? getProperty(formState.actualValues, fieldName);\n\tlet defaultValue = getProperty(formState.defaultValues, fieldName);\n\n\tif (isNumeric(actualValue) && isNumeric(defaultValue)) {\n\t\tconst decimals = countDecimals(actualValue);\n\t\tdefaultValue = roundOff(defaultValue, decimals);\n\t\tactualValue = roundOff(actualValue, decimals);\n\t}\n\t\n\treturn hasValue(actualValue) \n\t\t// eslint-disable-next-line eqeqeq\n\t\t&& actualValue != defaultValue;\n};\n\nexport const getCustomValue = (\n\tformState: IFormState,\n\tfieldName: string,\n\tenteredValue?: any\n) => {\n\n\tconst actualValue = enteredValue ?? getProperty(formState.actualValues, fieldName);\n\n\tif (!isCustomValue(formState, fieldName, enteredValue)) {\n\t\treturn null;\n\t}\n\n\treturn actualValue;\n};\n\nexport function getFormField(\n state: IFormState,\n\tfieldName: string,\n\tenteredValue: T | undefined | null,\n\tgetDefaultValue: any\n): IFormField {\n const defaultValue: T = getDefaultValue();\n\n\tlet actualValue: T;\n\n if (enteredValue === undefined || enteredValue === null) {\n\t\tif (isCustomValue(state, fieldName)) { // checks if value is custom in the state before this event\n\t\t\tactualValue = getProperty(state.actualValues, fieldName);\n\t\t} else {\n\t\t\tactualValue = defaultValue;\n\t\t}\n\t}\n\telse {\n\t\tactualValue = enteredValue;\n\t}\n\n\treturn {\n\t\tdefaultValue,\n\t\tactualValue\n\t};\n}\n\nexport const undefinedFormField: IFormField = {\n\tdefaultValue: undefined,\n\tactualValue: undefined\n};\n\n","enum Radians {\n Up = Math.atan2(1.0, 0.0),\n Down = Math.atan2(-1.0, 0.0),\n Right = Math.atan2(0.0, 1.0),\n Left = Math.atan2(0.0, -1.0),\n None = NaN\n}\n\nexport default Radians;","enum SectionLocation {\n BoxLocation = \"1\",\n Indoors = \"2\",\n Outdoors = \"3\"\n}\n\nexport default SectionLocation;","enum WallType {\n Undefined = 0,\n Rear = 1,\n RightEnd = 2,\n Front = 3,\n LeftCut = 4,\n FrontInsetCut = 5,\n LeftInSetCut = 6,\n FrontCut = 7,\n LeftEnd = 8\n}\n\nexport default WallType;","enum OpeningType {\n None = \"0\",\n Door = \"1\",\n GlassDoor = \"2\",\n TrailerDockingDoor = \"3\",\n LoadingPlatformDoor = \"4\",\n PermanentOpening = \"5\",\n Window = \"6\",\n ExcludedArea =\" 7\",\n Panel = \"8\"\n}\n\nexport default OpeningType;","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport IBoxLocation from \"../models/interfaces/IBoxLocation\";\nimport IBoxType from \"../models/interfaces/IBoxType\";\nimport IConstructionLayer from \"../models/interfaces/IConstructionLayer\";\nimport IFloorType from \"../models/interfaces/IFloorType\";\nimport IOpeningType from \"../models/interfaces/IOpeningType\";\nimport ISectionType from \"../models/interfaces/ISectionType\";\n\nimport BoxLocation from \"../enums/BoxLocation\";\nimport FloorType from \"../enums/FloorType\";\nimport Radians from \"../enums/Radians\";\nimport SectionLocation from \"../enums/SectionLocation\";\nimport WallType from \"../enums/WallType\";\n\nimport BoxType from \"../enums/BoxType\";\nimport OpeningType from \"../enums/OpeningType\";\nimport SectionType from \"../enums/SectionType\";\n\nimport useApplicationContext from \"./useApplicationContext\";\nimport useBoxContext from \"./useBoxContext\";\nimport useTranslationContext from \"./useTranslationContext\";\n\nconst useApplicationConfigs = () => {\n\n const { appData } = useApplicationContext();\n const { boxData } = useBoxContext();\n const { translations } = useTranslationContext();\n\n const getBoxLocationConfig = React.useCallback((id: BoxLocation | null) => {\n const boxLocations: IBoxLocation[] = [{\n id: BoxLocation.Indoors,\n name: translations.indoors,\n defaultExternalHumidity: appData?.BOX?.ExternalRH?.Indoors_Default?.value,\n defaultExternalTemperature: appData?.BOX?.ExternalTemp?.Indoors_Default?.value,\n tmTemperature: null,\n taTemperature: appData?.FLOOR_ON_GRADE?.Indoor_Ta?.value ?? 5,\n angularFrequency: appData?.FLOOR_ON_GRADE?.Angular_Frequency?.value ?? 0.0000001992,\n soilConductivity: appData?.FLOOR_ON_GRADE?.Soil_Conductivity?.value ?? 1.6,\n thermalDiffusivity: appData?.FLOOR_ON_GRADE?.Thermal_Diffusivity?.value ?? 0.000000712,\n insulationFactorM: appData?.FLOOR_ON_GRADE?.Insulation_Factor_M?.value ?? 0.4,\n insulationFactorA: appData?.FLOOR_ON_GRADE?.Insulation_Factor_A?.value ?? 0.25\n }, {\n id: BoxLocation.OutdoorsWarm,\n name: translations.outdoors,\n defaultExternalHumidity: appData?.BOX?.ExternalRH?.Default?.value,\n defaultExternalTemperature: appData?.BOX?.ExternalTemp?.Default?.value,\n tmTemperature: appData?.FLOOR_ON_GRADE?.Warm_Tm?.value ?? 70,\n taTemperature: appData?.FLOOR_ON_GRADE?.Warm_Ta?.value ?? 30,\n angularFrequency: appData?.FLOOR_ON_GRADE?.Angular_Frequency?.value ?? 0.0000001992,\n soilConductivity: appData?.FLOOR_ON_GRADE?.Soil_Conductivity?.value ?? 1.6,\n thermalDiffusivity: appData?.FLOOR_ON_GRADE?.Thermal_Diffusivity?.value ?? 0.000000712,\n insulationFactorM: appData?.FLOOR_ON_GRADE?.Insulation_Factor_M?.value ?? 0.4,\n insulationFactorA: appData?.FLOOR_ON_GRADE?.Insulation_Factor_A?.value ?? 0.25\n }, {\n id: BoxLocation.OutdoorsCold,\n name: translations.outdoors_ColdClimate_,\n defaultExternalHumidity: appData?.BOX?.ExternalRH?.Default?.value,\n defaultExternalTemperature: appData?.BOX?.ExternalTemp?.Default?.value,\n tmTemperature: appData?.FLOOR_ON_GRADE?.Cold_Tm?.value ?? 40,\n taTemperature: appData?.FLOOR_ON_GRADE?.Cold_Ta?.value ?? 60,\n angularFrequency: appData?.FLOOR_ON_GRADE?.Angular_Frequency?.value ?? 0.0000001992,\n soilConductivity: appData?.FLOOR_ON_GRADE?.Soil_Conductivity?.value ?? 1.6,\n thermalDiffusivity: appData?.FLOOR_ON_GRADE?.Thermal_Diffusivity?.value ?? 0.000000712,\n insulationFactorM: appData?.FLOOR_ON_GRADE?.Insulation_Factor_M?.value ?? 0.4,\n insulationFactorA: appData?.FLOOR_ON_GRADE?.Insulation_Factor_A?.value ?? 0.25\n }];\n\n return boxLocations.find(item => item.id === id) ?? boxLocations[0]\n }, [appData]);\n\n const getSectionBoxLocationConfig = React.useCallback((\n selectedSectionLocation: SectionLocation | null,\n boxLocation: BoxLocation | null\n ) => {\n let id = boxLocation ?? BoxLocation.Indoors;\n switch (selectedSectionLocation) {\n case SectionLocation.Indoors:\n id = BoxLocation.Indoors;\n break;\n case SectionLocation.Outdoors:\n id = BoxLocation.OutdoorsWarm;\n break;\n case SectionLocation.BoxLocation:\n default:\n break;\n }\n return getBoxLocationConfig(id);\n }, [getBoxLocationConfig]);\n\n const getSectionTypes = React.useCallback(() => {\n const sectionTypes: ISectionType[] = [{\n id: SectionType.Undefined,\n name: \"\",\n isCustom: false,\n defaultSectionName: \"\",\n defaultMaterialId: 0,\n defaultThickness: null,\n outdoorRValueAdjustment: null,\n outdoorTemperatureAdjustment: null\n }, {\n id: SectionType.WallCustom,\n name: translations.customWall,\n isCustom: true,\n defaultSectionName: translations.wall,\n defaultMaterialId: boxData?.wallMaterialId,\n defaultThickness: boxData?.wallMaterialThickness,\n outdoorRValueAdjustment: appData?.BOX?.AirFilm_R_Exterior_OutdoorAdjusment?.value,\n outdoorTemperatureAdjustment: appData?.BOX?.OutdoorWallTemp_Add?.value\n }, {\n id: SectionType.WallPolygon,\n name: translations.wall,\n isCustom: false,\n defaultSectionName: translations.wall,\n defaultMaterialId: boxData?.wallMaterialId,\n defaultThickness: boxData?.wallMaterialThickness,\n outdoorRValueAdjustment: appData?.BOX?.AirFilm_R_Exterior_OutdoorAdjusment?.value,\n outdoorTemperatureAdjustment: appData?.BOX?.OutdoorWallTemp_Add?.value\n }, {\n id: SectionType.FloorCustom,\n name: translations.customFloor,\n isCustom: true,\n defaultSectionName: translations.floor,\n defaultMaterialId: 0,\n defaultThickness: null,\n outdoorRValueAdjustment: null,\n outdoorTemperatureAdjustment: null\n }, {\n id: SectionType.FloorPolygon,\n name: translations.floor,\n isCustom: false,\n defaultSectionName: translations.floor,\n defaultMaterialId: 0,\n defaultThickness: null,\n outdoorRValueAdjustment: null,\n outdoorTemperatureAdjustment: null\n }, {\n id: SectionType.CeilingCustom,\n name: translations.customCeiling,\n isCustom: true,\n defaultSectionName: translations.ceiling,\n defaultMaterialId: boxData?.ceilingMaterialId,\n defaultThickness: boxData?.ceilingMaterialThickness,\n outdoorRValueAdjustment: appData?.BOX?.AirFilm_R_Exterior_OutdoorAdjusment?.value,\n outdoorTemperatureAdjustment: appData?.BOX?.OutdoorCeilingTemp_Add?.value\n }, {\n id: SectionType.CeilingPolygon,\n name: translations.ceiling,\n isCustom: false,\n defaultSectionName: translations.ceiling,\n defaultMaterialId: boxData?.ceilingMaterialId,\n defaultThickness: boxData?.ceilingMaterialThickness,\n outdoorRValueAdjustment: appData?.BOX?.AirFilm_R_Exterior_OutdoorAdjusment?.value,\n outdoorTemperatureAdjustment: appData?.BOX?.OutdoorCeilingTemp_Add?.value\n }, {\n id: SectionType.Various,\n name: translations.various,\n isCustom: false,\n defaultSectionName: \"\",\n defaultMaterialId: 0,\n defaultThickness: null,\n outdoorRValueAdjustment: null,\n outdoorTemperatureAdjustment: null\n }];\n\n return sectionTypes;\n }, [\n appData,\n boxData\n ]);\n\n const getSectionTypeConfig = React.useCallback((id: SectionType | null) => {\n const sectionTypes = getSectionTypes();\n return sectionTypes.find(item => item.id === id) ?? sectionTypes[0];\n }, [getSectionTypes]);\n\n const getBoxTypeConfig = React.useCallback((id: BoxType | null) => {\n const boxTypes: IBoxType[] = [{\n id: BoxType.Undefined,\n sectionsConfig: []\n }, {\n id: BoxType.Rectangular,\n sectionsConfig: [{\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.Rear,\n radians: Radians.Right\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.RightEnd,\n radians: Radians.Down\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.Front,\n radians: Radians.Left\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.LeftEnd,\n radians: Radians.Up\n }, {\n sectionType: getSectionTypeConfig(SectionType.FloorPolygon),\n wallType: WallType.Undefined,\n radians: Radians.None\n }, {\n sectionType: getSectionTypeConfig(SectionType.CeilingPolygon),\n wallType: WallType.Undefined,\n radians: Radians.None\n }]\n }, {\n id: BoxType.LShape,\n sectionsConfig: [{\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.Rear,\n radians: Radians.Right\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.RightEnd,\n radians: Radians.Down\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.Front,\n radians: Radians.Left\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.LeftCut,\n radians: Radians.Up\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.FrontCut,\n radians: Radians.Left\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.LeftEnd,\n radians: Radians.Up\n }, {\n sectionType: getSectionTypeConfig(SectionType.FloorPolygon),\n wallType: WallType.Undefined,\n radians: Radians.None\n }, {\n sectionType: getSectionTypeConfig(SectionType.CeilingPolygon),\n wallType: WallType.Undefined,\n radians: Radians.None\n }]\n }, {\n id: BoxType.UShape,\n sectionsConfig: [{\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.Rear,\n radians: Radians.Right\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.RightEnd,\n radians: Radians.Down\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.Front,\n radians: Radians.Left\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.LeftCut,\n radians: Radians.Up\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.FrontInsetCut,\n radians: Radians.Right\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.LeftInSetCut,\n radians: Radians.Up\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.FrontCut,\n radians: Radians.Left\n }, {\n sectionType: getSectionTypeConfig(SectionType.WallPolygon),\n wallType: WallType.LeftEnd,\n radians: Radians.Up\n }, {\n sectionType: getSectionTypeConfig(SectionType.FloorPolygon),\n wallType: WallType.Undefined,\n radians: Radians.None\n }, {\n sectionType: getSectionTypeConfig(SectionType.CeilingPolygon),\n wallType: WallType.Undefined,\n radians: Radians.None\n }]\n }, {\n id: BoxType.Custom,\n sectionsConfig: []\n }, {\n id: BoxType.FloorPlanner,\n sectionsConfig: []\n }];\n\n return boxTypes.find(item => item.id === id) ?? boxTypes[0]\n }, [getSectionTypeConfig]);\n\n const getFloorTypeConfig = React.useCallback((id: FloorType | null) => {\n const floorTypes: IFloorType[] = [{\n id: FloorType.None,\n defaultMaterialId: 0,\n defaultThickness: null,\n defaultExteriorTemperature: null\n }, {\n id: FloorType.OnGrade,\n defaultMaterialId: boxData?.onGradeFloorMaterialId,\n defaultThickness: boxData?.onGradeFloorMaterialThickness,\n defaultExteriorTemperature: null\n }, {\n id: FloorType.OnGradeHeated,\n defaultMaterialId: boxData?.onGradeFloorMaterialId,\n defaultThickness: boxData?.onGradeFloorMaterialThickness,\n defaultExteriorTemperature: appData?.BOX?.FloorHeatingTemperature?.value ?? 40.0\n }, {\n id: FloorType.AboveGrade,\n defaultMaterialId: boxData?.aboveGradeFloorMaterialId,\n defaultThickness: boxData?.aboveGradeFloorMaterialThickness,\n defaultExteriorTemperature: null\n }];\n\n return floorTypes.find(item => item.id === id) ?? floorTypes[0]\n }, [\n appData,\n boxData\n ]);\n\n const getSectionFloorTypeConfig = React.useCallback((\n selectedSectionFloorType: FloorType | null,\n boxFloorType: FloorType | null,\n ) => {\n let id = selectedSectionFloorType ?? FloorType.BoxSetting;\n if (id === FloorType.BoxSetting) {\n id = boxFloorType ?? FloorType.OnGrade;\n }\n return getFloorTypeConfig(id);\n }, [getFloorTypeConfig]);\n\n const getOpeningTypes = React.useCallback(() => {\n const openingTypes: IOpeningType[] = [{\n id: OpeningType.None,\n name: translations.pleaseSelect,\n description: \"\",\n hasQuantityField: false,\n hasDescriptionField: false,\n hasDimensionFields: false,\n hasExteriorTemperatureField: false,\n hasStripCurtainsField: false,\n hasDoorUsageFields: false,\n hasRValueEffectiveField: false,\n hasConductionLoadField: false,\n hasInfiltratingAirRhField: false,\n hasInfiltrationLoadField: false,\n defaultWidth: null,\n defaultHeight: null,\n defaultPassagesPerDay: null,\n defaultAveragePassageTime: 0,\n defaultStandOpenTimePerDay: null,\n defaultRValueEffective: null,\n defaultInfiltrationLoad: null,\n infiltrationEnthalpy: null,\n dockDoorGap: null,\n flowFactor: null,\n opens: false,\n closes: false\n }, {\n id: OpeningType.Door,\n name: translations.door,\n description: translations.normallyClosedDoorForStaffOrGoodsTraffic_,\n hasQuantityField: true,\n hasDescriptionField: true,\n hasDimensionFields: true,\n hasExteriorTemperatureField: true,\n hasStripCurtainsField: true,\n hasDoorUsageFields: true,\n hasRValueEffectiveField: true,\n hasConductionLoadField: true,\n hasInfiltratingAirRhField: true,\n hasInfiltrationLoadField: true,\n defaultWidth: appData?.OPENING?.ManDoor?.Width_Default?.value,\n defaultHeight: appData?.OPENING?.ManDoor?.Height_Default?.value,\n defaultPassagesPerDay: appData?.INFILTRATION?.ManDoor?.PassagesPerDay_Default?.value,\n defaultAveragePassageTime: appData?.INFILTRATION?.ManDoor?.PassageTime_Default?.value,\n defaultStandOpenTimePerDay: appData?.INFILTRATION?.ManDoor?.StandOpenTime_Default?.value,\n defaultRValueEffective: boxData?.isBoxFreezer\n ? appData?.OPENING?.R_Value?.Freezer_Default?.value\n : appData?.OPENING?.R_Value?.Cooler_Default?.value,\n defaultInfiltrationLoad: null,\n infiltrationEnthalpy: appData?.INFILTRATION?.Enthalpy_Constant?.value,\n dockDoorGap: null,\n flowFactor: appData?.OPENING?.Flow_Factor?.value,\n opens: true,\n closes: true\n }, {\n id: OpeningType.GlassDoor,\n name: translations.reach_InGlassDoor,\n description: translations.reach_InSelfServeGlassDoors_,\n hasQuantityField: true,\n hasDescriptionField: true,\n hasDimensionFields: true,\n hasExteriorTemperatureField: false,\n hasStripCurtainsField: false,\n hasDoorUsageFields: false,\n hasRValueEffectiveField: true,\n hasConductionLoadField: true,\n hasInfiltratingAirRhField: false,\n hasInfiltrationLoadField: true,\n defaultWidth: appData?.OPENING?.GlassDoor?.Width_Default?.value,\n defaultHeight: appData?.OPENING?.GlassDoor?.Height_Default?.value,\n defaultPassagesPerDay: 0,\n defaultAveragePassageTime: 0,\n defaultStandOpenTimePerDay: null,\n defaultRValueEffective: boxData?.isBoxFreezer\n ? appData?.OPENING?.R_Value?.Glass_Freezer_Default?.value ?? 5\n : appData?.OPENING?.R_Value?.Glass_Cooler_Default?.value ?? 5,\n defaultInfiltrationLoad: boxData?.infiltGlassDoorLoad,\n infiltrationEnthalpy: appData?.INFILTRATION?.Enthalpy_Constant?.value,\n dockDoorGap: null,\n flowFactor: appData?.OPENING?.Flow_Factor?.value,\n opens: false,\n closes: true\n }, {\n id: OpeningType.TrailerDockingDoor,\n name: translations.trailerDockRoll_UpDoor,\n description: translations.roll_UpDoorDesignedToBeNormallyClosedOrSealedByTransportTrailer_,\n hasQuantityField: true,\n hasDescriptionField: true,\n hasDimensionFields: true,\n hasExteriorTemperatureField: false,\n hasStripCurtainsField: false,\n hasDoorUsageFields: false,\n hasRValueEffectiveField: true,\n hasConductionLoadField: true,\n hasInfiltratingAirRhField: false,\n hasInfiltrationLoadField: true,\n defaultWidth: appData?.OPENING?.DockDoor?.Width_Default?.value,\n defaultHeight: appData?.OPENING?.DockDoor?.Height_Default?.value,\n defaultPassagesPerDay: 0,\n defaultAveragePassageTime: 0,\n defaultStandOpenTimePerDay: null,\n defaultRValueEffective: boxData?.isBoxFreezer\n ? appData?.OPENING?.R_Value?.Freezer_Default?.value\n : appData?.OPENING?.R_Value?.Cooler_Default?.value,\n defaultInfiltrationLoad: null,\n infiltrationEnthalpy: appData?.INFILTRATION?.Enthalpy_Constant?.value,\n dockDoorGap: appData?.OPENING?.DockDoor?.Gap_Default?.value,\n flowFactor: appData?.OPENING?.Flow_Factor?.value,\n opens: true,\n closes: true\n }, {\n id: OpeningType.LoadingPlatformDoor,\n name: translations.loadingPlatformRoll_UpDoor,\n description: translations.roll_UpDoorOpenToOutsideEnvironmentOrOtherZone_,\n hasQuantityField: true,\n hasDescriptionField: true,\n hasDimensionFields: true,\n hasExteriorTemperatureField: true,\n hasStripCurtainsField: true,\n hasDoorUsageFields: true,\n hasRValueEffectiveField: true,\n hasConductionLoadField: true,\n hasInfiltratingAirRhField: true,\n hasInfiltrationLoadField: true,\n defaultWidth: appData?.OPENING?.DockDoor?.Width_Default?.value,\n defaultHeight: appData?.OPENING?.DockDoor?.Height_Default?.value,\n defaultPassagesPerDay: appData?.INFILTRATION?.DockDoor?.PassagesPerDay_Default?.value,\n defaultAveragePassageTime: appData?.INFILTRATION?.DockDoor?.PassageTime_Default?.value,\n defaultStandOpenTimePerDay: appData?.INFILTRATION?.DockDoor?.StandOpenTime_Default?.value,\n defaultRValueEffective: boxData?.isBoxFreezer\n ? appData?.OPENING?.R_Value?.Freezer_Default?.value\n : appData?.OPENING?.R_Value?.Cooler_Default?.value,\n defaultInfiltrationLoad: null,\n infiltrationEnthalpy: appData?.INFILTRATION?.Enthalpy_Constant?.value,\n dockDoorGap: null,\n flowFactor: appData?.OPENING?.Flow_Factor?.value,\n opens: false,\n closes: true\n }, {\n id: OpeningType.PermanentOpening,\n name: translations.permanentOpening,\n description: translations.alwaysOpenAreaOfWallLeadingToAnotherZone_,\n hasQuantityField: true,\n hasDescriptionField: true,\n hasDimensionFields: true,\n hasExteriorTemperatureField: true,\n hasStripCurtainsField: true,\n hasDoorUsageFields: false,\n hasRValueEffectiveField: false,\n hasConductionLoadField: true,\n hasInfiltratingAirRhField: true,\n hasInfiltrationLoadField: true,\n defaultWidth: null,\n defaultHeight: null,\n defaultPassagesPerDay: 0,\n defaultAveragePassageTime: 0,\n defaultStandOpenTimePerDay: 1440,\n defaultRValueEffective: boxData?.isBoxFreezer\n ? appData?.OPENING?.R_Value?.Freezer_Default?.value\n : appData?.OPENING?.R_Value?.Cooler_Default?.value,\n defaultInfiltrationLoad: null,\n infiltrationEnthalpy: appData?.INFILTRATION?.Enthalpy_Constant?.value,\n dockDoorGap: null,\n flowFactor: appData?.OPENING?.Flow_Factor?.value,\n opens: true,\n closes: false\n }, {\n id: OpeningType.Window,\n name: translations.window,\n description: translations.nonOpeningGlassWindow_,\n hasQuantityField: true,\n hasDescriptionField: true,\n hasDimensionFields: true,\n hasExteriorTemperatureField: true,\n hasStripCurtainsField: false,\n hasDoorUsageFields: false,\n hasRValueEffectiveField: true,\n hasConductionLoadField: true,\n hasInfiltratingAirRhField: false,\n hasInfiltrationLoadField: false,\n defaultWidth: null,\n defaultHeight: null,\n defaultPassagesPerDay: 0,\n defaultAveragePassageTime: 0,\n defaultStandOpenTimePerDay: null,\n defaultRValueEffective: boxData?.isBoxFreezer\n ? appData?.OPENING?.R_Value?.Freezer_Default?.value\n : appData?.OPENING?.R_Value?.Cooler_Default?.value,\n defaultInfiltrationLoad: null,\n infiltrationEnthalpy: appData?.INFILTRATION?.Enthalpy_Constant?.value,\n dockDoorGap: null,\n flowFactor: appData?.OPENING?.Flow_Factor?.value,\n opens: false,\n closes: true\n }, {\n id: OpeningType.Panel,\n name: translations.panel,\n description: translations.sectionOfWallWithDifferentInsulationOrExternalEnvironmentFromRestOfWall_,\n hasQuantityField: true,\n hasDescriptionField: true,\n hasDimensionFields: true,\n hasExteriorTemperatureField: true,\n hasStripCurtainsField: false,\n hasDoorUsageFields: true,\n hasRValueEffectiveField: true,\n hasConductionLoadField: true,\n hasInfiltratingAirRhField: false,\n hasInfiltrationLoadField: true,\n defaultWidth: null,\n defaultHeight: null,\n defaultPassagesPerDay: 0,\n defaultAveragePassageTime: 0,\n defaultStandOpenTimePerDay: null,\n defaultRValueEffective: boxData?.isBoxFreezer\n ? appData?.OPENING?.R_Value?.Freezer_Default?.value\n : appData?.OPENING?.R_Value?.Cooler_Default?.value,\n defaultInfiltrationLoad: 0,\n infiltrationEnthalpy: appData?.INFILTRATION?.Enthalpy_Constant?.value,\n dockDoorGap: null,\n flowFactor: appData?.OPENING?.Flow_Factor?.value,\n opens: false,\n closes: true\n }, {\n id: OpeningType.ExcludedArea,\n name: translations.excludedArea,\n description: translations.areaToBeExcludedFromWallDefinition_,\n hasQuantityField: false,\n hasDescriptionField: true,\n hasDimensionFields: true,\n hasExteriorTemperatureField: false,\n hasStripCurtainsField: false,\n hasDoorUsageFields: false,\n hasRValueEffectiveField: false,\n hasConductionLoadField: false,\n hasInfiltratingAirRhField: false,\n hasInfiltrationLoadField: false,\n defaultWidth: null,\n defaultHeight: null,\n defaultPassagesPerDay: 0,\n defaultAveragePassageTime: 0,\n defaultStandOpenTimePerDay: null,\n defaultRValueEffective: boxData?.isBoxFreezer\n ? appData?.OPENING?.R_Value?.Freezer_Default?.value\n : appData?.OPENING?.R_Value?.Cooler_Default?.value,\n defaultInfiltrationLoad: null,\n infiltrationEnthalpy: appData?.INFILTRATION?.Enthalpy_Constant?.value,\n dockDoorGap: null,\n flowFactor: appData?.OPENING?.Flow_Factor?.value,\n opens: false,\n closes: false\n }];\n\n return openingTypes;\n }, [\n appData,\n boxData\n ]);\n\n const getOpeningTypeConfig = React.useCallback((id: OpeningType | null) => {\n const openingTypes = getOpeningTypes();\n return openingTypes.find(item => item.id === id) ?? openingTypes[0]\n }, [getOpeningTypes]);\n\n const getBoundaryConstructionLayers = React.useCallback((): IConstructionLayer[] => {\n return [{\n name: translations.interiorBoundaryLayer,\n materialId: \"0\",\n materialName: translations.interiorBoundaryLayer,\n thickness: 0,\n kFactor: null,\n rValuePerInch: null,\n rValueEffective: parseFloat(appData?.BOX?.AirFilm_R_Interior?.value ?? undefined),\n isBoundaryInteriorLayer: true,\n isBoundaryExteriorLayer: false,\n isSectional: false,\n sectionCentreDistance: null,\n sectionMaterialId: \"0\",\n sectionMaterialName: \"\",\n sectionWidth: null,\n sectionKFactor: null,\n sectionRValuePerInch: null\n }, {\n name: translations.exteriorBoundaryLayer,\n materialId: \"0\",\n materialName: translations.exteriorBoundaryLayer,\n thickness: 0,\n kFactor: null,\n rValuePerInch: null,\n rValueEffective: parseFloat(appData?.BOX?.AirFilm_R_Exterior?.value ?? undefined),\n isBoundaryInteriorLayer: false,\n isBoundaryExteriorLayer: true,\n isSectional: false,\n sectionCentreDistance: null,\n sectionMaterialId: \"0\",\n sectionMaterialName: \"\",\n sectionWidth: null,\n sectionKFactor: null,\n sectionRValuePerInch: null\n }];\n }, [appData]);\n\n return {\n getBoxLocationConfig,\n getSectionBoxLocationConfig,\n getSectionTypes,\n getSectionTypeConfig,\n getBoxTypeConfig,\n getFloorTypeConfig,\n getSectionFloorTypeConfig,\n getOpeningTypes,\n getOpeningTypeConfig,\n getBoundaryConstructionLayers\n };\n};\n\nexport default useApplicationConfigs;\n","import { measure, getNumericValue, hasValue } from \"../../types/measure\";\nimport IConstructionLayer from \"../interfaces/IConstructionLayer\";\n\nexport const calculateRValueEffective = (\n thickness: measure,\n rValuePerInch: measure,\n isSectional: boolean,\n sectionRValuePerInch: measure,\n sectionCentreDistance: measure,\n sectionWidth: measure\n): measure => {\n if (!hasValue(thickness)\n || !hasValue(rValuePerInch)\n ) {\n return undefined;\n }\n\n if (isSectional) {\n if (!hasValue(sectionRValuePerInch)\n || !hasValue(sectionCentreDistance)\n || !hasValue(sectionWidth)\n ) {\n return undefined;\n }\n\n const f1 = (getNumericValue(sectionCentreDistance) - getNumericValue(sectionWidth)) / getNumericValue(sectionCentreDistance);\n const f2 = 1 - f1;\n const c1 = f1 / getNumericValue(rValuePerInch);\n const c2 = f2 / getNumericValue(sectionRValuePerInch);\n const r = 1 / (c1 + c2);\n\n return r * getNumericValue(thickness);\n }\n \n return getNumericValue(thickness) * getNumericValue(rValuePerInch);\n};\n\nexport const calculateKFactor = (\n rValuePerInch: measure\n): measure => {\n if (!hasValue(rValuePerInch)) {\n return undefined;\n }\n \n if (getNumericValue(rValuePerInch) === 0) {\n return 0;\n }\n \n return 1 / getNumericValue(rValuePerInch);\n};\n\nexport const calculateRValuePerInch = (\n kFactor: measure\n): measure => {\n if (!hasValue(kFactor)) {\n return undefined;\n }\n \n if (getNumericValue(kFactor) === 0) {\n return 0;\n }\n \n return 1 / getNumericValue(kFactor);\n};\n\nexport const calculateConstructionThickness = (layers: IConstructionLayer[]) => { \n return layers.reduce((sum, current) => { \n return sum + (current.thickness ? getNumericValue(current.thickness) : 0);\n }, 0)\n};\n\nexport const calculateConstructionRValue = (layers: IConstructionLayer[]) => { \n return layers.reduce((sum, current) => { \n return sum + (current.rValueEffective ? getNumericValue(current.rValueEffective) : 0);\n }, 0);\n};\n\nexport const calculateConstructionKFactor = (thickness: measure, rValue: measure) => {\n if (!hasValue(thickness)\n || !hasValue(rValue)\n ) {\n return undefined;\n }\n return getNumericValue(thickness) / getNumericValue(rValue);\n};\n","import { measure, hasValue, getNumericValue } from \"../../types/measure\";\n\nimport IConstructionLayer from \"../interfaces/IConstructionLayer\";\nimport IFormField from \"../interfaces/IFormField\";\nimport IFormState from \"../interfaces/IFormState\";\nimport IMaterial from \"../interfaces/IMaterial\";\n\nimport * as ConstructionLayer from \"./ConstructionLayerCalculations\";\nimport { getFormField } from \"./FormFields\";\n\nimport { SECTION_WIDTH_DEFAULT, SECTION_CENTRE_DISTANCE_DEFAULT } from \"../../Constants\";\n\nexport const getThickness = (\n state: IFormState,\n enteredThickness: measure,\n material: IMaterial | undefined\n): IFormField => {\n\n const getDefaultValue = () => {\n\t\treturn material?.stdThickness;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"thickness\",\n\t\tenteredThickness,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getKFactor = (\n state: IFormState,\n enteredKFactor: measure,\n enteredRValuePerInch: measure,\n enteredRValueEffective: measure,\n material: IMaterial | undefined\n): IFormField => {\n\n if (hasValue(enteredRValueEffective)\n && hasValue(state.defaultValues.rValueEffective)\n && +getNumericValue(enteredRValueEffective) !== +getNumericValue(state.defaultValues.rValueEffective)\n ) { \n return {\n defaultValue: null,\n actualValue: null\n };\n }\n\n if (hasValue(enteredRValuePerInch)) { \n const calculatedKFactor = ConstructionLayer.calculateKFactor(enteredRValuePerInch);\n return {\n defaultValue: calculatedKFactor,\n actualValue: calculatedKFactor\n };\n }\n\n const getDefaultValue = () => {\n\t\treturn material?.kFactor;\n\t};\n \n return getFormField(\n state,\n \"kFactor\",\n enteredKFactor,\n getDefaultValue\n );\n};\n\nexport const getRValuePerInch = (\n state: IFormState,\n enteredRValuePerInch: measure,\n enteredKFactor: measure,\n enteredRValueEffective: measure,\n material: IMaterial | undefined\n): IFormField => {\n\n if (hasValue(enteredRValueEffective)\n && hasValue(state.defaultValues.rValueEffective)\n && +getNumericValue(enteredRValueEffective) !== +getNumericValue(state.defaultValues.rValueEffective)\n ) { \n return {\n defaultValue: null,\n actualValue: null\n };\n }\n\n if (hasValue(enteredKFactor)) { \n const calculatedRValuerPerInch = ConstructionLayer.calculateRValuePerInch(enteredKFactor);\n return {\n defaultValue: calculatedRValuerPerInch,\n actualValue: calculatedRValuerPerInch\n };\n }\n\n const getDefaultValue = () => {\n const defaultKFactor = material?.kFactor;\n return ConstructionLayer.calculateRValuePerInch(defaultKFactor);\n\t};\n \n return getFormField(\n state,\n \"rValuePerInch\",\n enteredRValuePerInch,\n getDefaultValue\n );\n};\n\nexport const getRValueEffective = (\n state: IFormState,\n enteredRValueEffective: measure,\n thickness: measure,\n rValuePerInch: measure, \n isSectional: boolean,\n sectionRValuePerInch: measure,\n sectionCentreDistance: measure,\n sectionWidth: measure,\n material: IMaterial | undefined,\n sectionMaterial: IMaterial | undefined\n): IFormField => {\n\n const getDefaultValue = () => {\n const defaultKFactor = material?.kFactor;\n const defaultRValuePerInch = ConstructionLayer.calculateRValuePerInch(defaultKFactor);\n const defaultSectionKFactor = sectionMaterial?.kFactor;\n const defaultSectionRValuePerInch = ConstructionLayer.calculateRValuePerInch(defaultSectionKFactor);\n\n return ConstructionLayer.calculateRValueEffective(\n thickness,\n rValuePerInch ?? defaultRValuePerInch,\n isSectional,\n sectionRValuePerInch ?? defaultSectionRValuePerInch,\n sectionCentreDistance,\n sectionWidth\n );\n\t};\n \n return getFormField(\n state,\n \"rValueEffective\",\n enteredRValueEffective,\n getDefaultValue\n );\n};\n\nexport const getSectionCentreDistance = (\n state: IFormState,\n enteredSectionCentreDistance: measure,\n isSectional: boolean\n): IFormField => {\n\n if (!isSectional) {\n return {\n defaultValue: null,\n actualValue: null\n };\n }\n\n const getDefaultValue = () => {\n return SECTION_CENTRE_DISTANCE_DEFAULT;\n }\n\n return getFormField(\n state,\n \"sectionCentreDistance\",\n enteredSectionCentreDistance,\n getDefaultValue\n );\n};\n\nexport const getSectionWidth = (\n state: IFormState,\n enteredSectionWidth: measure,\n sectionMaterial: IMaterial | undefined,\n isSectional: boolean\n): IFormField => {\n\n if (!isSectional) {\n return {\n defaultValue: null,\n actualValue: null\n };\n }\n\n const getDefaultValue = () => {\n return sectionMaterial?.stdWidth ?? SECTION_WIDTH_DEFAULT;\n }\n\n return getFormField(\n state,\n \"sectionWidth\",\n enteredSectionWidth,\n getDefaultValue\n );\n};\n\nexport const getSectionKFactor = (\n state: IFormState,\n enteredSectionKFactor: measure,\n enteredSectionRValuePerInch: measure,\n enteredRValueEffective: measure,\n sectionMaterial: IMaterial | undefined,\n isSectional: boolean\n): IFormField => {\n \n if (!isSectional) {\n return {\n defaultValue: null,\n actualValue: null\n };\n }\n\n if (hasValue(enteredRValueEffective)\n && hasValue(state.defaultValues.rValueEffective)\n && +getNumericValue(enteredRValueEffective) !== +getNumericValue(state.defaultValues.rValueEffective)\n ) { \n return {\n defaultValue: null,\n actualValue: null\n };\n }\n\n if (hasValue(enteredSectionRValuePerInch)) { \n const calculatedKFactor = ConstructionLayer.calculateKFactor(enteredSectionRValuePerInch);\n return {\n defaultValue: calculatedKFactor,\n actualValue: calculatedKFactor\n };\n }\n\n const getDefaultValue = () => {\n return sectionMaterial?.kFactor;\n }\n\n return getFormField(\n state,\n \"sectionKFactor\",\n enteredSectionKFactor,\n getDefaultValue\n );\n};\n\nexport const getSectionRValuePerInch = (\n state: IFormState,\n enteredSectionRValuePerInch: measure,\n enteredSectionKFactor: measure,\n enteredRValueEffective: measure,\n sectionMaterial: IMaterial | undefined,\n isSectional: boolean\n): IFormField => {\n\n if (!isSectional) {\n return {\n defaultValue: null,\n actualValue: null\n };\n }\n\n if (hasValue(enteredRValueEffective)\n && hasValue(state.defaultValues.rValueEffective)\n && +getNumericValue(enteredRValueEffective) !== +getNumericValue(state.defaultValues.rValueEffective)\n ) { \n return {\n defaultValue: null,\n actualValue: null\n };\n }\n\n if (hasValue(enteredSectionKFactor)) { \n const calculatedRValuerPerInch = ConstructionLayer.calculateRValuePerInch(enteredSectionKFactor);\n return {\n defaultValue: calculatedRValuerPerInch,\n actualValue: calculatedRValuerPerInch\n };\n }\n\n const getDefaultValue = () => {\n const defaultSectionKFactor = sectionMaterial?.kFactor;\n return ConstructionLayer.calculateRValuePerInch(defaultSectionKFactor);\n\t};\n \n return getFormField(\n state,\n \"sectionRValuePerInch\",\n enteredSectionRValuePerInch,\n getDefaultValue\n );\n};","import * as React from \"react\";\n\nimport IMaterial from \"../models/interfaces/IMaterial\";\n\nconst BoxMaterialsContext = React.createContext({\n boxMaterials: [] as IMaterial[],\n isMaterialListLoaded: false,\n updateBoxMaterials: (materials: IMaterial[]) => {}\n});\n\nexport default BoxMaterialsContext;","import * as React from \"react\";\n\nimport IConstructionLayer from \"../models/interfaces/IConstructionLayer\";\nimport IFormState from \"../models/interfaces/IFormState\";\nimport IMaterial from \"../models/interfaces/IMaterial\";\n\nimport { hasValue } from \"../types/measure\";\n\nimport * as ConstructionLayerFields from \"../models/helpers/ConstructionLayerFormFields\";\nimport * as ConstructionLayerCalculations from \"../models/helpers/ConstructionLayerCalculations\";\n\nimport { SECTION_WIDTH_DEFAULT, SECTION_CENTRE_DISTANCE_DEFAULT } from \"../Constants\";\n\nimport BoxMaterialsContext from \"../context/BoxMaterialsContext\";\n\nimport useTranslationContext from \"./useTranslationContext\";\nimport useApplicationConfigs from \"./useApplicationConfigs\";\n\nconst useBoxMaterialsContext = () => {\n \n const { boxMaterials, isMaterialListLoaded, updateBoxMaterials } = React.useContext(BoxMaterialsContext);\n\n const { getBoundaryConstructionLayers } = useApplicationConfigs();\n const { translations } = useTranslationContext();\n\n const getBoxMaterialName = ( \n selectedMaterial: IMaterial | undefined\n ): string => {\n\n let materialName = \"\";\n \n if (selectedMaterial) {\n if (selectedMaterial.isConstruct) {\n materialName = `${translations.composite} := ${selectedMaterial.name}`;\n }\n else if (selectedMaterial.name.trim() !== \"\") {\n const description = (selectedMaterial.example && selectedMaterial.example.trim() !== \"\")\n ? `, ${selectedMaterial.example}`\n : \"\";\n materialName = `${selectedMaterial.name}${description}`;\n }\n }\n\n return materialName;\n };\n\n const getMaterialConstruction = (constructionFromStorage: IMaterial) => {\n const initialValues: IConstructionLayer = {\n name: \"\",\n materialId: \"0\",\n materialName: \"\",\n thickness: null,\n kFactor: null,\n rValuePerInch: null,\n rValueEffective: null,\n isBoundaryInteriorLayer: false,\n isBoundaryExteriorLayer: false,\n isSectional: false,\n sectionCentreDistance: SECTION_CENTRE_DISTANCE_DEFAULT,\n sectionMaterialId: \"0\",\n sectionMaterialName: \"\",\n sectionWidth: SECTION_WIDTH_DEFAULT,\n sectionKFactor: null,\n sectionRValuePerInch: null\n };\n \n const initialFormState: IFormState = {\n defaultValues: initialValues,\n actualValues: initialValues\n };\n\n const calculatedLayers = constructionFromStorage.layerMaterials?.map(lm => {\n const material = boxMaterials.find(m => m.id === Number(lm.materialId));\n const materialName = getBoxMaterialName(material);\n \n const thickness = ConstructionLayerFields.getThickness(\n initialFormState,\n lm.thickness,\n material).actualValue;\n\n const kFactor = ConstructionLayerFields.getKFactor(\n initialFormState,\n lm.kFactor,\n lm.rValuePerInch,\n lm.rValueEffective,\n material).actualValue;\n\n const rValuePerInch = ConstructionLayerFields.getRValuePerInch(\n initialFormState,\n lm.rValuePerInch,\n lm.kFactor,\n lm.rValueEffective,\n material).actualValue;\n\n const sectionMaterialId = lm.isSectional\n ? lm.sectionMaterialId\n : \"0\";\n \n const sectionMaterial = boxMaterials.find(m => m.id === Number(sectionMaterialId));\n const sectionMaterialName = getBoxMaterialName(sectionMaterial);\n\n let name = `${sectionMaterial ? `${sectionMaterialName} | ` : \"\"}${materialName}`\n\n if (lm.isBoundaryInteriorLayer) {\n name = getBoundaryConstructionLayers()[0].name;\n }\n else if (lm.isBoundaryExteriorLayer) {\n name = getBoundaryConstructionLayers()[1].name;\n }\n\n const sectionCentreDistance = ConstructionLayerFields.getSectionCentreDistance(\n initialFormState,\n lm.sectionCentreDistance,\n lm.isSectional).actualValue;\n\n const sectionWidth = ConstructionLayerFields.getSectionWidth(\n initialFormState,\n lm.sectionWidth,\n sectionMaterial,\n lm.isSectional).actualValue;\n\n const sectionKFactor = ConstructionLayerFields.getSectionKFactor(\n initialFormState,\n lm.sectionKFactor,\n lm.sectionRValuePerInch,\n lm.rValueEffective,\n sectionMaterial,\n lm.isSectional).actualValue;\n\n const sectionRValuePerInch = ConstructionLayerFields.getSectionRValuePerInch(\n initialFormState,\n lm.sectionRValuePerInch,\n lm.sectionKFactor,\n lm.rValueEffective,\n sectionMaterial,\n lm.isSectional).actualValue;\n\n const rValueEffective = ConstructionLayerFields.getRValueEffective(\n initialFormState,\n lm.rValueEffective,\n thickness,\n rValuePerInch,\n lm.isSectional,\n sectionRValuePerInch,\n sectionCentreDistance,\n sectionWidth,\n material,\n sectionMaterial\n ).actualValue;\n\n const layer: IConstructionLayer = {\n ...lm,\n name,\n materialName,\n thickness,\n kFactor,\n rValuePerInch,\n sectionMaterialName,\n sectionCentreDistance,\n sectionWidth,\n sectionKFactor,\n sectionRValuePerInch,\n rValueEffective\n };\n\n return layer;\n });\n\n const stdThickness = ConstructionLayerCalculations.calculateConstructionThickness(calculatedLayers ?? []);\n const rValue = ConstructionLayerCalculations.calculateConstructionRValue(calculatedLayers ?? []);\n const kFactor = ConstructionLayerCalculations.calculateConstructionKFactor(stdThickness, rValue);\n\n const construction: IMaterial = {\n ...constructionFromStorage,\n layerMaterials: calculatedLayers ?? [],\n stdThickness,\n rValue,\n kFactor\n };\n\n return construction;\n };\n\n const getBoxMaterial = React.useCallback((id: number) => {\n if (id === -1000000) { // Other\n return {\n id: -1000000,\n name: \"\",\n example: null,\n locked: false,\n showAsSectionType: false,\n showAsBuildingMaterial: false,\n kFactor: null,\n stdThickness: null,\n stdWidth: null,\n rValue: null,\n thickness: null,\n isConstruct: false,\n layerMaterials: null\n } as IMaterial;\n }\n\n const material = boxMaterials.find(m => m.id === id);\n\n if (material?.isConstruct) {\n return getMaterialConstruction(material);\n }\n\n return material;\n }, [boxMaterials]);\n\n const isMaterialLocked = (materialId: number): boolean => {\n return boxMaterials.find(m => m.id === materialId)?.locked ?? false;\n }\n\n const isMaterialConstruct = (materialId: number): boolean => {\n return boxMaterials.find(m => m.id === materialId)?.isConstruct ?? false;\n }\n\n const isMaterialThicknessStandard = (materialId: number): boolean => {\n return hasValue(boxMaterials.find(m => m.id === materialId)?.stdThickness);\n }\n\n return { \n boxMaterials,\n isMaterialListLoaded,\n updateBoxMaterials,\n getBoxMaterial,\n getBoxMaterialName,\n isMaterialLocked,\n isMaterialConstruct,\n isMaterialThicknessStandard\n };\n}\n\nexport default useBoxMaterialsContext;\n","enum Material {\n Other = -1000000,\n NewComposite = -1000001,\n ZoneBoundary = -1000002,\n CoveredOpening = -1000003,\n Various = -1000004\n}\n\nexport default Material;","import { measure, getNumericValue, hasValue } from \"../../types/measure\";\n\nimport UnitOfMeasure from \"./UnitOfMeasure\";\n\nimport OpeningType from \"../../enums/OpeningType\";\n\nimport IAirProperty from \"../interfaces/IAirProperty\";\nimport IOpening from \"../interfaces/IOpening\";\nimport IOpeningType from \"../interfaces/IOpeningType\";\n\nexport const calculateArea = (\n\twidth: measure, \n\theight: measure\n): measure => {\n\tif (!hasValue(width) || !hasValue(height)) {\n\t\treturn undefined;\n\t}\n\n\treturn (\n\t\tUnitOfMeasure.IntoFt(getNumericValue(width)) *\n\t\tUnitOfMeasure.IntoFt(getNumericValue(height))\n\t);\n};\n\nexport const calculateTotalArea = (\n\tquantity: measure, \n\tarea: measure\n): measure => {\n\tif (!hasValue(quantity) || !hasValue(area)) {\n\t\treturn undefined;\n\t}\n\n\treturn getNumericValue(quantity) * getNumericValue(area);\n};\n\nexport const calculateOpeningsTotalArea = (\n\topenings: IOpening[] | undefined\n): number => {\n\tlet total = 0;\n\n\tif (openings) {\n\t\topenings.forEach(o => {\n\t\t\ttotal += o.totalArea ?? 0;\n\t\t});\n\t}\n\n return total;\n};\n\nexport const calculateTotalDoorLength = (\n\topenings: IOpening[] | undefined\n): number => {\n\tlet total = 0;\n\n\tif (openings) {\n\t\topenings.forEach(o => {\n\t\t\tif (o.openingType === OpeningType.TrailerDockingDoor\n\t\t\t\t|| o.openingType === OpeningType.LoadingPlatformDoor\n\t\t\t) {\n\t\t\t\ttotal += (o.quantity ?? 0) * (UnitOfMeasure.IntoFt(o.width ?? 0) + 2);\n\t\t\t}\n\t\t\telse if (o.openingType === OpeningType.Door\n\t\t\t\t|| o.openingType === OpeningType.GlassDoor\n\t\t\t) {\n\t\t\t\ttotal += (o.quantity ?? 0) * UnitOfMeasure.IntoFt(o.width ?? 0);\n\t\t\t}\n\t\t});\n\t}\n\n return total;\n};\n\nexport const calculateDoorOpenTimeRatio = (\n\tstandOpenTimePerDay: measure,\n\taveragePassageTime: measure,\n\tpassagesPerDay: measure\n): measure => {\n\tif (\n\t\thasValue(standOpenTimePerDay) ||\n\t\t(hasValue(averagePassageTime) && hasValue(passagesPerDay))\n\t) {\n\t\tconst s = hasValue(standOpenTimePerDay)\n\t\t\t? getNumericValue(standOpenTimePerDay)\n\t\t\t: 0;\n\t\tconst pt = hasValue(averagePassageTime)\n\t\t\t? getNumericValue(averagePassageTime)\n\t\t\t: 0;\n\t\tconst p = hasValue(passagesPerDay) \n\t\t\t? getNumericValue(passagesPerDay) \n\t\t\t: 0;\n\n\t\treturn (p * pt + 60 * s) / (24 * 3600);\n\t}\n\n\treturn undefined;\n};\n\nexport const calculateDoorOpenTimeHours = (\n\tstandOpenTimePerDay: measure,\n\taveragePassageTime: measure,\n\tpassagesPerDay: measure\n): measure => {\n\tif (\n\t\thasValue(standOpenTimePerDay) ||\n\t\t(hasValue(averagePassageTime) && hasValue(passagesPerDay))\n\t) {\n\t\tconst s = hasValue(standOpenTimePerDay)\n\t\t\t? getNumericValue(standOpenTimePerDay)\n\t\t\t: 0;\n\t\tconst pt = hasValue(averagePassageTime)\n\t\t\t? getNumericValue(averagePassageTime)\n\t\t\t: 0;\n\t\tconst p = hasValue(passagesPerDay) \n\t\t\t? getNumericValue(passagesPerDay) \n\t\t\t: 0;\n\n\t\treturn (p * pt + 60 * s) / 3600;\n\t}\n\n\treturn undefined;\n};\n\nexport const calculateConductionLoad = (\n\tarea: measure,\n\texteriorTemperature: measure,\n\trValueEffective: measure,\n\tcurtainValue: measure,\n\tstandOpenTimePerDay: measure,\n\taveragePassageTime: measure,\n\tpassagesPerDay: measure,\n\tboxInteriorTemperature: measure,\n\topeningType: IOpeningType\n): measure => {\n\tif (\n\t\t!hasValue(area) ||\n\t\t!hasValue(boxInteriorTemperature) ||\n\t\t!hasValue(exteriorTemperature)\n\t) {\n\t\treturn undefined;\n\t}\n\n\tconst td =\n\t\tgetNumericValue(exteriorTemperature) -\n\t\tgetNumericValue(boxInteriorTemperature);\n\tconst doorOpenTimeRatio = calculateDoorOpenTimeRatio(\n\t\tstandOpenTimePerDay,\n\t\taveragePassageTime,\n\t\tpassagesPerDay\n\t);\n\n\tif (!hasValue(doorOpenTimeRatio) && openingType.closes) {\n\t\treturn undefined;\n\t}\n\n\tlet openTime = 24 * getNumericValue(doorOpenTimeRatio);\n\tif (!openingType.closes) {\n\t\topenTime = 24;\n\t} else if (!openingType.opens) {\n\t\topenTime = 0;\n\t}\n\n\tconst r = hasValue(rValueEffective) ? getNumericValue(rValueEffective) : 0;\n\tconst rc = hasValue(curtainValue) ? getNumericValue(curtainValue) : 0;\n\n\tlet qClose = 0;\n\tlet qOpen = 0;\n\n\tif (openingType.closes && r > 0) {\n\t\tqClose = (td * getNumericValue(area) * (24 - openTime)) / r / 24;\n\t}\n\n\tif (openingType.opens && rc > 0) {\n\t\tqOpen = (td * getNumericValue(area) * openTime) / rc / 24;\n\t}\n\n\treturn qClose + qOpen;\n};\n\nexport const calculateTotalConductionLoad = (\n\tquantity: measure, \n\tconductionLoad: measure\n): measure => {\n\tif (!hasValue(quantity) || !hasValue(conductionLoad)) {\n\t\treturn undefined;\n\t}\n\n\treturn getNumericValue(quantity) * getNumericValue(conductionLoad);\n};\n\nexport const calculateOpeningsTotalConductionLoad = (\n\topenings: IOpening[]\n): number => {\n\tlet total= 0;\n\n openings.forEach(o => {\n total += o.totalConductionLoad ?? 0;\n });\n\n return total;\n};\n\nexport const calculateTrailerArea = (\n\twidth: measure,\n\theight: measure,\n\topeningType: IOpeningType\n): measure => {\n\tconst gap = openingType.dockDoorGap;\n\n\tif (!hasValue(width)\n\t\t|| !hasValue(height)\n\t\t|| !hasValue(gap)\n\t) {\n\t\treturn undefined;\n\t}\n\n\treturn (UnitOfMeasure.IntoFt(getNumericValue(width)) - (getNumericValue(gap) / 6)) \n\t\t* (UnitOfMeasure.IntoFt(getNumericValue(height)) - (getNumericValue(gap) / 6));\n};\n\nexport const calculateInfiltrationLoad = (\n\twidth: measure,\n\theight: measure,\n\tarea: measure,\n\tinfiltratingAirRh: measure,\n\tcurtainEffectiveness: measure,\n\tstandOpenTimePerDay: measure,\n\taveragePassageTime: measure,\n passagesPerDay: measure,\n exteriorTemperature: measure,\n exteriorTemperatureAirProperty: IAirProperty,\n\tboxInteriorTemperature: measure,\n\tboxInteriorTemperatureAirProperty: IAirProperty,\n\tboxInteriorRh: measure,\n\topeningType: IOpeningType\n): measure => {\n\tif (\n\t\t!hasValue(width) ||\n\t\t!hasValue(height) ||\n\t\t!hasValue(area) ||\n\t\t!hasValue(boxInteriorTemperature) ||\n\t\t!hasValue(exteriorTemperature) ||\n\t\t!hasValue(infiltratingAirRh) ||\n\t\t!hasValue(boxInteriorRh)\n\t) {\n\t\treturn undefined;\n\t}\n\n\tlet doorOpenTimeRatio = calculateDoorOpenTimeRatio(\n\t\tstandOpenTimePerDay,\n\t\taveragePassageTime,\n\t\tpassagesPerDay\n\t);\n\n\tif (!hasValue(doorOpenTimeRatio) && openingType.closes) {\n\t\treturn 0;\n\t}\n\n\tconst enthalpy = openingType.infiltrationEnthalpy;\n\n\tif (\n\t\t!hasValue(enthalpy) ||\n\t\t!hasValue(curtainEffectiveness)\n\t) {\n\t\treturn undefined;\n\t}\n\n\tconst leakageCurtain = (100 - getNumericValue(curtainEffectiveness)) / 100;\n\n\tconst airTemp =\n\t\tgetNumericValue(exteriorTemperature) < getNumericValue(boxInteriorTemperature)\n\t\t\t? getNumericValue(boxInteriorTemperature)\n\t\t\t: getNumericValue(exteriorTemperature);\n\n\tconst faRecordHa = exteriorTemperatureAirProperty.ha;\n\tconst faRecordWs = exteriorTemperatureAirProperty.ws;\n\tconst faRecordHas = exteriorTemperatureAirProperty.has;\n\n\tconst fbRecordHa = boxInteriorTemperatureAirProperty.ha;\n\tconst fbRecordWs = boxInteriorTemperatureAirProperty.ws;\n\tconst fbRecordHas = boxInteriorTemperatureAirProperty.has;\n\n\tconst enthalpyI =\n\t\tfaRecordHa +\n\t\t(getNumericValue(infiltratingAirRh) /\n\t\t\t100 /\n\t\t\t(1 +\n\t\t\t\t((1 - getNumericValue(infiltratingAirRh) / 100) * faRecordWs) /\n\t\t\t\tgetNumericValue(enthalpy))) *\n\t\t\tfaRecordHas;\n\tconst densityI = (2.7 * 14.7) / (airTemp + 459.7);\n\n\tconst enthalpyR =\n\t\tfbRecordHa +\n\t\t(getNumericValue(boxInteriorRh) /\n\t\t\t100 /\n\t\t\t(1 +\n\t\t\t\t((1 - getNumericValue(boxInteriorRh) / 100) * fbRecordWs) /\n\t\t\t\tgetNumericValue(enthalpy))) *\n\t\t\tfbRecordHas;\n\tconst densityR =\n\t\t(2.7 * 14.7) / (getNumericValue(boxInteriorTemperature) + 459.7);\n\n\tconst g = 32.174;\n\tconst fm = (2 / (1 + (densityR / densityI) ** (1 / 3))) ** 1.5;\n\tlet e = 1 - leakageCurtain;\n\n\tlet iArea = getNumericValue(area);\n\tif (openingType.id === OpeningType.TrailerDockingDoor) {\n\t\tconst areaTrailer = calculateTrailerArea(width, height, openingType) ?? 0;\n\t\tiArea -= areaTrailer;\n\t\tdoorOpenTimeRatio = 1;\n\t\te = 0;\n\t}\n\n\tconst flowFactor = openingType.flowFactor ?? 8;\n\tconst q =\n\t\t795.6 *\n\t\tiArea *\n\t\t(enthalpyI - enthalpyR) *\n\t\tdensityR *\n\t\t(1 - densityI / densityR) ** 0.5 *\n\t\t(g * UnitOfMeasure.IntoFt(getNumericValue(height))) ** 0.5 *\n\t\tfm;\n\tconst qt = q * getNumericValue(doorOpenTimeRatio) * flowFactor * (1 - e);\n\n\treturn qt;\n};\n\nexport const calculateTotalInfiltrationLoad = (\n\tquantity: measure, \n\tinfiltrationLoad: measure\n): measure => {\n\tif (!hasValue(quantity) || !hasValue(infiltrationLoad)) {\n\t\treturn undefined;\n\t}\n\n\treturn getNumericValue(quantity) * getNumericValue(infiltrationLoad);\n};\n\nexport const calculateOpeningsTotalInfiltrationLoad = (\n\topenings: IOpening[]\n): number => {\n\tlet total= 0;\n\n openings.forEach(o => {\n total += o.totalInfiltrationLoad ?? 0;\n });\n\n return total;\n};","/* eslint-disable no-underscore-dangle */\nimport IFormState from \"../models/interfaces/IFormState\";\nimport IMessage from \"../models/interfaces/IMessage\";\nimport IOpening from \"../models/interfaces/IOpening\";\nimport IOpeningRecalculateFormParams from \"../models/interfaces/IOpeningRecalculateFormParams\";\n\nimport OpeningType from \"../enums/OpeningType\";\n\nimport { measure, hasValue, getNumericValue } from \"../types/measure\";\nimport UnitOfMeasure from \"../models/helpers/UnitOfMeasure\";\n\nimport useApplicationConfigs from \"./useApplicationConfigs\";\nimport useApplicationContext from \"./useApplicationContext\";\nimport useTranslationContext from \"./useTranslationContext\";\n\nimport * as OpeningForm from \"../models/helpers/OpeningFormFields\";\nimport * as OpeningCalculations from \"../models/helpers/OpeningCalculations\";\n\nconst useOpeningDetailsForm = () => {\n\n const { getOpeningTypeConfig } = useApplicationConfigs();\n const { getAirPropertyByTemperature, getCurtain } = useApplicationContext();\n const { translations } = useTranslationContext();\n\n const initialValues: IOpening = {\n openingType: OpeningType.None,\n quantity: 1,\n description: \"\",\n width: undefined,\n height: undefined,\n area: undefined,\n totalArea: undefined,\n exteriorTemperature: undefined,\n stripCurtainId: \"0\",\n curtainEffectiveness: 0,\n curtainRValue: 0,\n passagesPerDay: undefined,\n averagePassageTime: undefined,\n standOpenTimePerDay: undefined,\n rValueEffective: undefined,\n conductionLoad: undefined,\n totalConductionLoad: undefined,\n infiltratingAirRh: undefined,\n infiltrationLoad: undefined,\n totalInfiltrationLoad: undefined\n };\n \n const initialFormState: IFormState = {\n defaultValues: initialValues,\n actualValues: initialValues\n };\n\n const validateOpening = (\n opening: IOpening,\n dimension1: measure,\n dimension2: measure\n ): IMessage[] => {\n\n const errors: IMessage[] = [];\n\n const openingType = getOpeningTypeConfig(opening.openingType);\n\n if (opening.openingType === OpeningType.None) {\n errors.push({\n name: \"openingType\", \n text: translations.theOpeningTypeIsNotSelected_\n });\n }\n\n if (hasValue(opening.quantity)\n && getNumericValue(opening.quantity) === 0\n ) {\n errors.push({\n name: \"quantity\", \n text: translations.noQuantityEntered_\n });\n }\n\n if (opening.description.trim() === \"\"\n && openingType.hasDescriptionField\n ) {\n errors.push({\n name: \"description\", \n text: translations.aDescriptionHasNotBeenEntered_\n });\n }\n\n if (!hasValue(opening.width)\n && openingType.hasDimensionFields\n ) {\n errors.push({\n name: \"width\", \n text: translations.theOpeningWidthHasNotBeenEntered_\n });\n }\n\n if (hasValue(opening.width)\n && openingType.hasDimensionFields\n && UnitOfMeasure.IntoFt(getNumericValue(opening.width)) > getNumericValue(dimension1 ?? 0)\n ) {\n errors.push({\n name: \"width\", \n text: translations.theOpeinngWidthIsGreaterThanTheSectionWidth_\n });\n }\n\n if (!hasValue(opening.height)\n && openingType.hasDimensionFields\n ) {\n errors.push({\n name: \"height\", \n text: translations.theOpeningHeightHasNotBeenEntered_\n });\n }\n\n if (hasValue(opening.height)\n && openingType.hasDimensionFields\n && UnitOfMeasure.IntoFt(getNumericValue(opening.height)) > getNumericValue(dimension2 ?? 0)\n ) {\n errors.push({\n name: \"height\", \n text: translations.theOpeningHeightIsGreaterThanTheSectionHeight_\n });\n }\n\n if (!hasValue(opening.area)\n && openingType.hasDimensionFields\n ) {\n errors.push({\n name: \"area\", \n text: translations.theAreaHasNotBeenCalculatedOrEntered_\n });\n }\n\n if (!hasValue(opening.rValueEffective)\n && openingType.hasRValueEffectiveField\n && !hasValue(opening.conductionLoad)\n ) {\n errors.push({\n name: \"rValueEffective\", \n text: translations.theR_ValueHasNotBeenEntered_\n });\n }\n\n if (!hasValue(opening.conductionLoad)\n && openingType.hasConductionLoadField\n ) {\n errors.push({\n name: \"conductionLoad\", \n text: translations.theMaterialLoadHasNotBeenCalculatedOrEntered_\n });\n }\n\n if (!hasValue(opening.infiltrationLoad)\n && openingType.hasInfiltrationLoadField\n ) {\n errors.push({\n name: \"infiltrationLoad\", \n text: translations.theInfiltrationLoadHasNotBeenCalculatedOrEntered_\n });\n }\n\n return errors;\n };\n\n const getDefaultOpening = ( \n openingTypeId: OpeningType,\n sectionExteriorTemperature: measure,\n sectionExteriorHumidity: measure,\n sectionDimension1: measure,\n sectionDimension2: measure,\n boxInteriorTemperature: measure,\n boxInteriorHumidity: measure\n ): IOpening => {\n\n const openingType = getOpeningTypeConfig(openingTypeId);\n\n const {quantity, stripCurtainId} = initialValues;\n\n const description = openingType.name;\n const width = openingType.defaultWidth;\n const height = openingType.defaultHeight;\n const area = OpeningCalculations.calculateArea(width, height);\n const totalArea = OpeningCalculations.calculateTotalArea(quantity, area);\n\n const exteriorTemperature = sectionExteriorTemperature;\n \n const curtain = getCurtain(stripCurtainId);\n const curtainEffectiveness = curtain.id === 0 ? 0 : curtain.effectiveness;\n const curtainRValue = curtain.rValue;\n \n const passagesPerDay = openingType.defaultPassagesPerDay;\n const averagePassageTime = openingType.defaultAveragePassageTime;\n const standOpenTimePerDay = openingType.defaultStandOpenTimePerDay;\n \n const rValueEffective = openingType.hasRValueEffectiveField ? openingType.defaultRValueEffective : curtainRValue;\n const conductionLoad = OpeningCalculations.calculateConductionLoad(\n area,\n exteriorTemperature,\n rValueEffective,\n curtainRValue,\n standOpenTimePerDay,\n averagePassageTime,\n passagesPerDay,\n boxInteriorTemperature,\n openingType);\n\n const totalConductionLoad = OpeningCalculations.calculateTotalConductionLoad(quantity, conductionLoad);\n\n const exteriorTempAirProperty = getAirPropertyByTemperature(exteriorTemperature);\n const interiorTempAirProperty = getAirPropertyByTemperature(boxInteriorTemperature);\n\n const infiltratingAirRh = sectionExteriorHumidity;\n const infiltrationLoad = \n (exteriorTempAirProperty && interiorTempAirProperty)\n ? OpeningCalculations.calculateInfiltrationLoad(\n width,\n height,\n area,\n infiltratingAirRh,\n curtainEffectiveness,\n standOpenTimePerDay,\n averagePassageTime,\n passagesPerDay,\n exteriorTemperature,\n exteriorTempAirProperty,\n boxInteriorTemperature,\n interiorTempAirProperty,\n boxInteriorHumidity,\n openingType)\n : undefined;\n\n const totalInfiltrationLoad = OpeningCalculations.calculateTotalInfiltrationLoad(quantity, infiltrationLoad);\n\n const defaultOpening: IOpening = {\n openingType: openingTypeId,\n quantity,\n description,\n width,\n height,\n area,\n totalArea,\n exteriorTemperature,\n stripCurtainId,\n curtainEffectiveness,\n curtainRValue,\n passagesPerDay,\n averagePassageTime,\n standOpenTimePerDay,\n rValueEffective,\n conductionLoad,\n totalConductionLoad,\n infiltratingAirRh,\n infiltrationLoad,\n totalInfiltrationLoad\n };\n\n const errors = validateOpening(defaultOpening, sectionDimension1, sectionDimension2);\n \n defaultOpening.errors = errors;\n\n return defaultOpening;\n };\n\n const recalculateOpening = (\n state: IFormState,\n formInput: IOpeningRecalculateFormParams | null,\n sectionExteriorTemperature: measure,\n sectionExteriorHumidity: measure,\n sectionDimension1: measure,\n sectionDimension2: measure,\n boxInteriorTemperature: measure,\n boxInteriorHumidity: measure\n ): IFormState => {\n\n const openingTypeId = OpeningForm.getOpeningTypeId(state, formInput?.openingType);\n const openingType = getOpeningTypeConfig(openingTypeId);\n\n if (openingType.id === OpeningType.None) { // no selection\n return initialFormState;\n }\n\n const quantityField = OpeningForm.getQuantity(state, formInput?.quantity);\n\n const descriptionField = OpeningForm.getDescription(state, openingType);\n\n const widthField = OpeningForm.getWidth(state, formInput?.width, openingType);\n \n const heightField = OpeningForm.getHeight(state, formInput?.height, openingType);\n\n const areaField = OpeningForm.getArea(state, formInput?.area, widthField.actualValue, heightField.actualValue);\n\n const totalArea = OpeningCalculations.calculateTotalArea(quantityField.actualValue, areaField.actualValue);\n\n const exteriorTemperatureField = OpeningForm.getExteriorTemperature(state, formInput?.exteriorTemperature, sectionExteriorTemperature);\n\n const curtainId = OpeningForm.getStripCurtainId(state, formInput?.stripCurtainId);\n const curtain = getCurtain(curtainId);\n\n const curtainEffectivenessField = OpeningForm.getCurtainEffectiveness(state, curtain);\n\n const curtainRValueField = OpeningForm.getCurtainRValue(state, formInput?.curtainRValue, curtain);\n\n const passagesPerDayField = OpeningForm.getPassagesPerDay(state, formInput?.passagesPerDay, openingType);\n\n const averagePassageTimeField = OpeningForm.getAveragePassageTime(state, formInput?.averagePassageTime, openingType);\n\n const standOpenTimePerDayField = OpeningForm.getStandOpenTimePerDay(state, formInput?.standOpenTimePerDay, openingType); \n\n const rValueEffectiveField = OpeningForm.getRValueEffective(state, formInput?.rValueEffective, openingType, curtainRValueField.actualValue);\n\n const conductionLoadField = OpeningForm.getConductionLoad(\n state, \n formInput?.conductionLoad, \n openingType, \n areaField.actualValue, \n exteriorTemperatureField.actualValue,\n rValueEffectiveField.actualValue, \n curtainRValueField.actualValue, \n standOpenTimePerDayField.actualValue, \n averagePassageTimeField.actualValue, \n passagesPerDayField.actualValue, \n boxInteriorTemperature);\n\n const totalConductionLoad = OpeningCalculations.calculateTotalConductionLoad(quantityField.actualValue, conductionLoadField.actualValue);\n\n const infiltratingAirRhField = OpeningForm.getInfiltratingAirRh(state, formInput?.infiltratingAirRh, sectionExteriorHumidity);\n\n const infiltrationLoadField = OpeningForm.getInfiltrationLoad(\n state, \n formInput?.infiltrationLoad, \n openingType,\n widthField.actualValue,\n heightField.actualValue,\n areaField.actualValue,\n infiltratingAirRhField.actualValue,\n curtainEffectivenessField.actualValue,\n standOpenTimePerDayField.actualValue,\n averagePassageTimeField.actualValue, \n passagesPerDayField.actualValue, \n exteriorTemperatureField.actualValue,\n getAirPropertyByTemperature(exteriorTemperatureField.actualValue),\n boxInteriorTemperature,\n getAirPropertyByTemperature(boxInteriorTemperature),\n boxInteriorHumidity);\n\n const totalInfiltrationLoad = OpeningCalculations.calculateTotalInfiltrationLoad(quantityField.actualValue, infiltrationLoadField.actualValue);\n\n const defaultValues: IOpening = {\n ...state.defaultValues,\n quantity: quantityField.defaultValue,\n width: widthField.defaultValue,\n height: heightField.defaultValue,\n area: areaField.defaultValue,\n exteriorTemperature: exteriorTemperatureField.defaultValue,\n curtainEffectiveness: curtainEffectivenessField.defaultValue,\n curtainRValue: curtainRValueField.defaultValue,\n passagesPerDay: passagesPerDayField.defaultValue,\n averagePassageTime: averagePassageTimeField.defaultValue,\n standOpenTimePerDay: standOpenTimePerDayField.defaultValue,\n rValueEffective: rValueEffectiveField.defaultValue,\n conductionLoad: conductionLoadField.defaultValue,\n infiltratingAirRh: infiltratingAirRhField.defaultValue,\n infiltrationLoad: infiltrationLoadField.defaultValue,\n totalArea,\n totalConductionLoad,\n totalInfiltrationLoad\n };\n\n const actualValues: IOpening = {\n ...state.actualValues,\n openingType: openingType.id,\n description: descriptionField.actualValue,\n quantity: quantityField.actualValue,\n width: widthField.actualValue,\n height: heightField.actualValue,\n area: areaField.actualValue,\n exteriorTemperature: exteriorTemperatureField.actualValue,\n stripCurtainId: curtainId,\n curtainEffectiveness: curtainEffectivenessField.actualValue,\n curtainRValue: curtainRValueField.actualValue,\n passagesPerDay: passagesPerDayField.actualValue,\n averagePassageTime: averagePassageTimeField.actualValue,\n standOpenTimePerDay: standOpenTimePerDayField.actualValue,\n rValueEffective: rValueEffectiveField.actualValue,\n conductionLoad: conductionLoadField.actualValue,\n infiltratingAirRh: infiltratingAirRhField.actualValue,\n infiltrationLoad: infiltrationLoadField.actualValue,\n totalArea,\n totalConductionLoad,\n totalInfiltrationLoad\n };\n\n const errors = validateOpening(actualValues, sectionDimension1, sectionDimension2);\n\n return {\n defaultValues,\n actualValues: {\n ...actualValues,\n errors\n }\n };\n };\n\n const resetForm = (): IFormState => { \n return initialFormState;\n };\n\n const resetFormForEdit = (\n openingToEdit: IOpening,\n sectionExteriorTemperature: measure,\n sectionExteriorHumidity: measure,\n sectionDimension1: measure,\n sectionDimension2: measure,\n boxInteriorTemperature: measure,\n boxInteriorHumidity: measure\n ): IFormState => {\n\n const defaultValues = getDefaultOpening(\n openingToEdit.openingType,\n sectionExteriorTemperature,\n sectionDimension1,\n sectionDimension2,\n sectionExteriorHumidity,\n boxInteriorTemperature,\n boxInteriorHumidity);\n \n const actualValues: IOpening = {\n ...openingToEdit\n };\n\n return recalculateOpening({\n defaultValues,\n actualValues\n },\n null,\n sectionExteriorTemperature,\n sectionExteriorHumidity,\n sectionDimension1,\n sectionDimension2,\n boxInteriorTemperature,\n boxInteriorHumidity);\n };\n\n const setInitialState = (\n openingToEdit: IOpening | undefined,\n sectionExteriorTemperature: measure,\n sectionExteriorHumidity: measure,\n sectionDimension1: measure,\n sectionDimension2: measure,\n boxInteriorTemperature: measure,\n boxInteriorHumidity: measure\n ): IFormState => {\n\n // add opening\n if (openingToEdit === undefined) {\n return resetForm();\n }\n\n // edit opening\n return resetFormForEdit(\n openingToEdit,\n sectionExteriorTemperature,\n sectionExteriorHumidity,\n sectionDimension1,\n sectionDimension2,\n boxInteriorTemperature,\n boxInteriorHumidity);\n };\n\n return {\n getDefaultOpening,\n setInitialState,\n recalculateOpening,\n validateOpening\n };\n};\n\nexport default useOpeningDetailsForm;\n","import { measure, hasValue, roundOff, getNumericValue } from \"../../types/measure\";\nimport { getFormField, undefinedFormField } from \"./FormFields\";\n\nimport IAirProperty from \"../interfaces/IAirProperty\";\nimport ICurtain from \"../interfaces/ICurtain\";\nimport IFormField from \"../interfaces/IFormField\";\nimport IFormState from \"../interfaces/IFormState\";\nimport IOpening from \"../interfaces/IOpening\";\nimport IOpeningType from \"../interfaces/IOpeningType\";\n\nimport OpeningType from \"../../enums/OpeningType\";\n\nimport * as Opening from \"./OpeningCalculations\";\n\nexport const getOpeningTypeId = (\n state: IFormState,\n selectedOpeningTypeId: OpeningType | undefined\n) => {\n return selectedOpeningTypeId ?? (state.actualValues.openingType ?? OpeningType.None);\n};\n\nexport const getQuantity = (\n\tstate: IFormState,\n\tenteredQuantity: measure\n): IFormField => {\n\n\tconst getDefaultValue = () => {\n\t\treturn 1;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"quantity\",\n\t\troundOff(enteredQuantity, 0),\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getDescription = (\n\tstate: IFormState,\n openingType: IOpeningType\n): IFormField => {\n\t\n\tconst defaultDescription = openingType.name;\n\n\treturn {\n\t\tdefaultValue: defaultDescription,\n\t\tactualValue: defaultDescription\n\t};\n};\n\nexport const getWidth = (\n\tstate: IFormState,\n\tenteredWidth: measure,\n\topeningType: IOpeningType\n): IFormField => {\n\n\tconst getDefaultValue = () => {\n\t\treturn openingType.defaultWidth;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"width\",\n\t\tenteredWidth,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getHeight = (\n\tstate: IFormState,\n enteredHeight: measure,\n openingType: IOpeningType\n): IFormField => {\n\n\tconst getDefaultValue = () => {\n\t\treturn openingType.defaultHeight;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"height\",\n\t\tenteredHeight,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getArea = (\n\tstate: IFormState,\n\tenteredArea: measure,\n\twidth: measure,\n\theight: measure\n): IFormField => {\n\n\tconst getDefaultValue = () => {\n\t\treturn Opening.calculateArea(width, height);\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"area\",\n\t\tenteredArea,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getExteriorTemperature = (\n\tstate: IFormState,\n\tenteredExteriorTemperature: measure,\n\tsectionExteriorTemperature: measure\n): IFormField => {\n\n\tconst getDefaultValue = () => {\n\t\treturn sectionExteriorTemperature;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"exteriorTemperature\",\n\t\tenteredExteriorTemperature,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getStripCurtainId = (\n state: IFormState,\n selectedCurtainId: string | undefined\n) => {\n return selectedCurtainId ?? (state.actualValues.stripCurtainId ?? \"0\");\n};\n\nexport const getCurtainEffectiveness = (\n\tstate: IFormState,\n\tcurtain: ICurtain\n): IFormField => {\n\t\n\tconst getDefaultValue = () => {\n\t\tif (curtain.id === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn curtain.effectiveness;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"curtainEffectiveness\",\n\t\tnull,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getCurtainRValue = (\n\tstate: IFormState,\n\tenteredCurtainRValue: measure,\n\tcurtain: ICurtain\n): IFormField => {\n\t\n\tconst getDefaultValue = () => {\n\t\treturn curtain.rValue;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"curtainRValue\",\n\t\tenteredCurtainRValue,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getPassagesPerDay = (\n\tstate: IFormState,\n\tenteredPassagesPerDay: measure,\n\topeningType: IOpeningType\n): IFormField => {\n\n\tconst getDefaultValue = () => {\n\t\treturn openingType.defaultPassagesPerDay;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"passagesPerDay\",\n\t\tenteredPassagesPerDay,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getAveragePassageTime = (\n\tstate: IFormState,\n enteredAveragePassageTime: measure,\n\topeningType: IOpeningType\n): IFormField => {\n\n\tconst getDefaultValue = () => {\n\t\treturn openingType.defaultAveragePassageTime;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"averagePassageTime\",\n\t\tenteredAveragePassageTime,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getStandOpenTimePerDay = (\n\tstate: IFormState,\n enteredStandOpenTimePerDay: measure,\n\topeningType: IOpeningType\n): IFormField => {\n\n\tconst getDefaultValue = () => {\n\t\treturn openingType.defaultStandOpenTimePerDay;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"standOpenTimePerDay\",\n\t\tenteredStandOpenTimePerDay,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getRValueEffective = (\n\tstate: IFormState,\n\tenteredRValueEffective: measure,\n\topeningType: IOpeningType,\n\tcurtainValue: measure\n): IFormField => {\n\n\tconst getDefaultValue = () => {\n\t\tif (openingType.id === OpeningType.PermanentOpening\n\t\t\t&& hasValue(curtainValue)\n\t\t) {\n\t\t\treturn curtainValue;\n\t\t}\n\n\t\treturn openingType.defaultRValueEffective;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"rValueEffective\",\n\t\tenteredRValueEffective,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getConductionLoad = (\n\tstate: IFormState,\n\tenteredConductionLoad: measure,\n\topeningType: IOpeningType,\n\tarea: measure,\n exteriorTemperature: measure,\n rValueEffective: measure,\n curtainValue: measure,\n standOpenTimePerDay: measure,\n averagePassageTime: measure,\n passagesPerDay: measure,\n boxInteriorTemperature: measure\n): IFormField => {\n\t\n\tconst getDefaultValue = () => {\n\t\treturn Opening.calculateConductionLoad(\n\t\t\tarea,\n\t\t\texteriorTemperature,\n\t\t\trValueEffective,\n\t\t\tcurtainValue,\n\t\t\tstandOpenTimePerDay,\n\t\t\taveragePassageTime,\n\t\t\tpassagesPerDay,\n\t\t\tboxInteriorTemperature,\n\t\t\topeningType\n\t\t);\n\t};\n\n\tif (!openingType.hasConductionLoadField) {\n\t\treturn undefinedFormField;\n\t}\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"conductionLoad\",\n\t\tenteredConductionLoad,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getInfiltratingAirRh = (\n\tstate: IFormState,\n\tenteredInfiltratingAirRh: measure,\n\tsectionExteriorHumidity: measure\n): IFormField => {\n\n\tconst getDefaultValue = () => {\n\t\treturn sectionExteriorHumidity;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"infiltratingAirRh\",\n\t\tenteredInfiltratingAirRh,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getInfiltrationLoad = (\n\tstate: IFormState,\n\tenteredInfiltrationLoad: measure,\n\topeningType: IOpeningType,\n\twidth: measure,\n\theight: measure,\n area: measure,\n infiltratingAirRh: measure,\n curtainEffectiveness: measure,\n standOpenTimePerDay: measure,\n averagePassageTime: measure,\n\tpassagesPerDay: measure,\n\texteriorTemperature: measure,\n exteriorTemperatureAirProperty: IAirProperty | undefined,\n\tboxInteriorTemperature: measure,\n\tboxInteriorTemperatureAirProperty: IAirProperty | undefined,\n\tboxInteriorRh: measure\n): IFormField => {\n\n\tconst getDefaultValue = () => {\n\t\tif (exteriorTemperatureAirProperty && boxInteriorTemperatureAirProperty) {\n\t\t\treturn Opening.calculateInfiltrationLoad(\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tarea,\n\t\t\t\tinfiltratingAirRh,\n\t\t\t\tcurtainEffectiveness,\n\t\t\t\tstandOpenTimePerDay,\n\t\t\t\taveragePassageTime,\n\t\t\t\tpassagesPerDay,\n\t\t\t\texteriorTemperature,\n\t\t\t\texteriorTemperatureAirProperty,\n\t\t\t\tboxInteriorTemperature,\n\t\t\t\tboxInteriorTemperatureAirProperty,\n\t\t\t\tboxInteriorRh,\n\t\t\t\topeningType\n\t\t\t);\n\t\t}\n\n\t\treturn undefined;\n\t};\n\n\tif (!openingType.hasInfiltrationLoadField) {\n\t\treturn undefinedFormField;\n\t}\n\n\tif (hasValue(openingType.defaultInfiltrationLoad)) {\n\t\treturn {\n\t\t\tdefaultValue: openingType.defaultInfiltrationLoad,\n\t\t\tactualValue: openingType.defaultInfiltrationLoad\n\t\t};\n\t}\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"infiltrationLoad\",\n\t\tenteredInfiltrationLoad,\n\t\tgetDefaultValue\n\t);\n};","import { measure, getNumericValue, hasValue } from \"../../types/measure\";\n\nimport IBoxLocation from \"../interfaces/IBoxLocation\";\nimport IFloorType from \"../interfaces/IFloorType\";\nimport IMaterial from \"../interfaces/IMaterial\";\nimport ISectionType from \"../interfaces/ISectionType\";\nimport IOpening from \"../interfaces/IOpening\";\n\nimport SectionType from \"../../enums/SectionType\";\nimport FloorType from \"../../enums/FloorType\";\n\nimport BoxLocation from \"../../enums/BoxLocation\";\nimport UnitOfMeasure from \"./UnitOfMeasure\";\nimport WallType from \"../../enums/WallType\";\nimport IBoxType from \"../interfaces/IBoxType\";\nimport BoxType from \"../../enums/BoxType\";\n\nimport * as OpeningCalculations from \"./OpeningCalculations\";\n\nexport const calculateCustomSectionArea = (\n sectionType: ISectionType,\n width: measure,\n length: measure,\n height: measure,\n depth: measure\n): measure => {\n let totalArea;\n \n switch(sectionType.id)\n {\n case SectionType.WallCustom:\n if (hasValue(width) && hasValue(height)) {\n totalArea = getNumericValue(width) * getNumericValue(height);\n }\n break;\n case SectionType.FloorCustom:\n if (hasValue(length) && hasValue(depth)) {\n totalArea = getNumericValue(length) * getNumericValue(depth);\n }\n break;\n case SectionType.CeilingCustom:\n if (hasValue(length) && hasValue(depth)) {\n totalArea = getNumericValue(length) * getNumericValue(depth);\n }\n break;\n default:\n break;\n }\n\n return totalArea;\n} \n\nexport const calculateKFactor = (\n customRValuePerInch: measure,\n customRValueEffective: measure,\n thickness: measure,\n material: IMaterial\n): measure => {\n if (hasValue(customRValuePerInch)) {\n if (getNumericValue(customRValuePerInch) === 0) {\n return 0;\n }\n return 1 / getNumericValue(customRValuePerInch);\n }\n\n if (hasValue(customRValueEffective)) {\n if (hasValue(thickness) && getNumericValue(customRValueEffective) > 0) {\n return getNumericValue(thickness) / getNumericValue(customRValueEffective);\n }\n return undefined;\n }\n\n if (material.kFactor) {\n return material.kFactor;\n }\n\n return undefined;\n};\n\nexport const calculateDefaultRValuePerInch = (\n material: IMaterial\n): measure => {\n if (material.kFactor && material.kFactor !== 0) {\n return 1 / material.kFactor;\n }\n\n return undefined;\n};\n\nexport const calculateRValuePerInch = (\n customKFactor: measure,\n customRValueEffective: measure,\n thickness: measure,\n material: IMaterial\n): measure => {\n if (hasValue(customKFactor)) {\n if (getNumericValue(customKFactor) === 0) { \n return 0;\n }\n return 1 / getNumericValue(customKFactor);\n }\n\n if (hasValue(customRValueEffective)) {\n if (hasValue(thickness)) {\n return getNumericValue(customRValueEffective) / getNumericValue(thickness);\n }\n return undefined;\n }\n\n return calculateDefaultRValuePerInch(material);\n};\n\nexport const calculateRValueEffective = (\n rValuePerInch: measure,\n thickness: measure,\n sectionType: ISectionType,\n location: IBoxLocation,\n material: IMaterial | undefined\n): measure => {\n if (!hasValue(rValuePerInch)\n || !hasValue(thickness)\n ) {\n return undefined;\n }\n\n let rValue = getNumericValue(rValuePerInch) * getNumericValue(thickness);\n\n if (location.id === BoxLocation.OutdoorsCold\n || location.id === BoxLocation.OutdoorsWarm\n ) {\n if (hasValue(sectionType.outdoorRValueAdjustment)) {\n rValue += getNumericValue(sectionType.outdoorRValueAdjustment);\n }\n }\n\n if (material && material.isConstruct) {\n rValue = getNumericValue(material.rValue);\n }\n \n return rValue;\n};\n\nexport const calculateExteriorTemperature = (\n boxExteriorTemperature: measure,\n sectionType: ISectionType,\n location: IBoxLocation,\n floorType: IFloorType\n): measure => {\n if (!hasValue(boxExteriorTemperature)) {\n return undefined;\n }\n\n if (location.id === BoxLocation.OutdoorsCold || location.id === BoxLocation.OutdoorsWarm) {\n if (sectionType.id === SectionType.FloorCustom\n || sectionType.id === SectionType.FloorPolygon\n ) {\n const floorTemperature = floorType.defaultExteriorTemperature;\n if (hasValue(floorTemperature)) {\n return floorTemperature;\n }\n }\n\n const temperatureAdjustment = sectionType.outdoorTemperatureAdjustment;\n if (hasValue(temperatureAdjustment)) {\n return getNumericValue(boxExteriorTemperature) + getNumericValue(temperatureAdjustment);\n }\n }\n \n return boxExteriorTemperature;\n};\n\nexport const calculateFloorLoad = (\n location: IBoxLocation,\n area: measure,\n perimeter: measure,\n rValueEffective: measure,\n boxExteriorTemperature: measure,\n boxInteriorTemperature: measure\n): measure => {\n if (!hasValue(area)\n || !hasValue(perimeter)\n || !hasValue(rValueEffective)\n || !hasValue(boxExteriorTemperature)\n || !hasValue(boxInteriorTemperature)\n ) {\n return undefined;\n }\n\n let floorLoad = 0;\n \n const tmTemperature = hasValue(location.tmTemperature)\n ? getNumericValue(location.tmTemperature)\n : getNumericValue(boxExteriorTemperature);\n\n if (!hasValue(location.taTemperature)) {\n return undefined;\n }\n\n const taTemperature = getNumericValue(location.taTemperature);\n\n const tmTempCelcius = UnitOfMeasure.TemperatureFtoC(tmTemperature, 3);\n const taTempCelcius = UnitOfMeasure.TemperatureRelativeFtoC(taTemperature, 3);\n const interiorTempCelcius = UnitOfMeasure.TemperatureFtoC(getNumericValue(boxInteriorTemperature), 3);\n const areaSqM = UnitOfMeasure.SqFttoSqM(getNumericValue(area), 3);\n const perimeterM = UnitOfMeasure.FttoM(getNumericValue(perimeter));\n \n const { angularFrequency, soilConductivity, thermalDiffusivity, insulationFactorM, insulationFactorA } = location;\n\n if (!hasValue(angularFrequency)\n || !hasValue(soilConductivity)\n || !hasValue(thermalDiffusivity)\n || !hasValue(insulationFactorM)\n || !hasValue(insulationFactorA)) {\n return undefined;\n }\n \n const req = getNumericValue(rValueEffective) * 0.1761101838;\n const uo = getNumericValue(soilConductivity) * perimeterM / areaSqM;\n const h = areaSqM / (perimeterM * getNumericValue(soilConductivity) * req);\n const d = Math.log((1 + h) * (1 + (1 / h)) ** h);\n const g = (getNumericValue(soilConductivity) * req) * Math.sqrt(getNumericValue(angularFrequency) / getNumericValue(thermalDiffusivity));\n const uEffM = getNumericValue(insulationFactorM) * uo * d;\n const ueffA = getNumericValue(insulationFactorA) * uo * d ** 0.16 * g ** -0.6;\n const qm = uEffM * areaSqM * (tmTempCelcius - interiorTempCelcius);\n const qa = ueffA * areaSqM * taTempCelcius;\n const loadWatts = qm + qa;\n\n floorLoad = UnitOfMeasure.RatingWattsToBTUH(loadWatts, 3);\n\n return floorLoad;\n}\n\nexport const calculateConductionLoad = (\n sectionType: ISectionType,\n floorType: IFloorType,\n location: IBoxLocation,\n area: measure,\n floorPerimeter: measure,\n rValueEffective: measure,\n exteriorTemperature: measure,\n boxExteriorTemperature: measure,\n boxInteriorTemperature: measure,\n openings: IOpening[] | undefined\n): measure => {\n if (!hasValue(exteriorTemperature) \n || !hasValue(boxInteriorTemperature)) {\n return undefined;\n }\n\n let conductionLoad = 0;\n\n if (!hasValue(rValueEffective)\n || !hasValue(area)\n ) {\n return undefined;\n }\n\n const td = getNumericValue(exteriorTemperature) - getNumericValue(boxInteriorTemperature); \n\n const totalOpeningsArea = openings\n ? OpeningCalculations.calculateOpeningsTotalArea(openings)\n : 0;\n\n const sectionArea = getNumericValue(area) - totalOpeningsArea;\n\n if (sectionType.id === SectionType.FloorCustom || sectionType.id === SectionType.FloorPolygon) { \n if (floorType.id === FloorType.OnGrade || floorType.id === FloorType.OnGradeHeated) {\n const floorLoad = calculateFloorLoad(location, sectionArea, floorPerimeter, rValueEffective, boxExteriorTemperature, boxInteriorTemperature);\n\n if (!floorLoad) {\n return undefined;\n }\n\n conductionLoad = floorLoad;\n\n if (floorType.id === FloorType.OnGradeHeated) {\n if (!hasValue(floorType.defaultExteriorTemperature)) {\n return undefined;\n }\n\n let heat = 0;\n const tdHeat = getNumericValue(floorType.defaultExteriorTemperature) - getNumericValue(boxInteriorTemperature);\n if (sectionArea > 0 && tdHeat > 0 && getNumericValue(rValueEffective) > 0) {\n heat = tdHeat * sectionArea / getNumericValue(rValueEffective);\n }\n conductionLoad += heat;\n }\n }\n else if (floorType.id === FloorType.AboveGrade) {\n if (sectionArea > 0 && getNumericValue(rValueEffective) > 0) {\n conductionLoad = td * sectionArea / getNumericValue(rValueEffective);\n }\n }\n }\n else if (sectionArea > 0 && getNumericValue(rValueEffective) > 0) {\n conductionLoad = td * sectionArea / getNumericValue(rValueEffective);\n }\n\n const totalOpeningsLoad = openings\n ? OpeningCalculations.calculateOpeningsTotalConductionLoad(openings)\n : 0;\n\n return conductionLoad + totalOpeningsLoad;\n};\n\nexport const calculateCustomSectionDimension1 = (\n sectionType: ISectionType,\n width: measure,\n length: measure\n): measure => {\n switch(sectionType.id)\n {\n case SectionType.WallCustom:\n return width;\n case SectionType.CeilingCustom:\n return length;\n case SectionType.FloorCustom:\n return length;\n default:\n return width; \n }\n};\n\nexport const calculateCustomSectionDimension2 = (\n sectionType: ISectionType,\n heigth: measure,\n depth: measure\n): measure => {\n switch(sectionType.id)\n {\n case SectionType.WallCustom:\n return heigth;\n case SectionType.CeilingCustom:\n return depth;\n case SectionType.FloorCustom:\n return depth;\n default:\n return heigth; \n }\n};\n\nexport const calculatePolygonSectionDimension1 = (\n sectionType: ISectionType,\n wallType: WallType,\n boxType: IBoxType,\n boxLength: measure,\n boxLength2: measure,\n boxLength3: measure,\n boxDepth: measure,\n boxDepth2: measure,\n boxDepth3: measure\n): measure => {\n switch (boxType.id)\n {\n case BoxType.Rectangular: \n switch(sectionType.id)\n {\n case SectionType.WallPolygon:\n switch(wallType)\n {\n case WallType.Rear:\n return boxLength;\n case WallType.RightEnd:\n return boxDepth;\n case WallType.Front:\n return boxLength ;\n case WallType.LeftEnd:\n return boxDepth;\n default:\n return undefined; \n }\n case SectionType.CeilingPolygon:\n return boxLength;\n case SectionType.FloorPolygon:\n return boxLength;\n default:\n return undefined; \n }\n case BoxType.LShape: \n switch(sectionType.id)\n {\n case SectionType.WallPolygon:\n switch(wallType)\n {\n case WallType.Rear:\n return boxLength;\n case WallType.RightEnd:\n return boxDepth;\n case WallType.Front:\n return boxLength2;\n case WallType.LeftCut:\n return boxDepth2;\n case WallType.FrontCut:\n return (hasValue(boxLength) && hasValue(boxLength2)) \n ? Math.abs(getNumericValue(boxLength) - getNumericValue(boxLength2))\n : undefined;\n case WallType.LeftEnd:\n return (hasValue(boxDepth) && hasValue(boxDepth2)) \n ? Math.abs(getNumericValue(boxDepth) - getNumericValue(boxDepth2))\n : undefined;\n default:\n return undefined; \n } \n default:\n return undefined; \n }\n case BoxType.UShape: \n switch(sectionType.id)\n {\n case SectionType.WallPolygon:\n switch(wallType)\n {\n case WallType.Rear:\n return boxLength;\n case WallType.RightEnd:\n return boxDepth;\n case WallType.Front:\n return boxLength2;\n case WallType.LeftCut:\n return boxDepth2;\n case WallType.FrontInsetCut:\n return boxLength3;\n case WallType.LeftInSetCut:\n return boxDepth3;\n case WallType.FrontCut:\n return (hasValue(boxLength) && hasValue(boxLength2) && hasValue(boxLength3)) \n ? getNumericValue(boxLength) - getNumericValue(boxLength2) + getNumericValue(boxLength3)\n : undefined;\n case WallType.LeftEnd:\n return (hasValue(boxDepth) && hasValue(boxDepth2) && hasValue(boxDepth3)) \n ? getNumericValue(boxDepth) - getNumericValue(boxDepth2) - getNumericValue(boxDepth3)\n : undefined;\n default:\n return undefined; \n } \n default:\n return undefined; \n }\n default:\n return undefined;\n }\n};\n\nexport const calculatePolygonSectionDimension2 = (\n sectionType: ISectionType,\n boxType: IBoxType,\n boxHeight: measure,\n boxDepth: measure\n): measure => {\n switch (boxType.id)\n {\n case BoxType.Rectangular: \n switch(sectionType.id)\n {\n case SectionType.WallCustom:\n case SectionType.WallPolygon:\n return boxHeight;\n case SectionType.CeilingCustom:\n case SectionType.CeilingPolygon:\n return boxDepth;\n case SectionType.FloorCustom:\n case SectionType.FloorPolygon:\n return boxDepth;\n default:\n return undefined; \n }\n case BoxType.LShape:\n case BoxType.UShape:\n switch(sectionType.id)\n {\n case SectionType.WallCustom:\n case SectionType.WallPolygon:\n return boxHeight;\n default:\n return undefined;\n }\n default:\n return undefined; \n }\n};\n\nexport const calculateBoxPerimeter = (\n boxType: IBoxType,\n sectionType: ISectionType,\n boxLength: measure,\n boxLength2: measure,\n boxLength3: measure,\n boxDepth: measure,\n boxDepth2: measure,\n boxDepth3: measure\n) => {\n let perimeter = 0;\n\n if (sectionType.id === SectionType.FloorPolygon) {\n boxType.sectionsConfig.forEach(s => {\n if (s.sectionType.id === SectionType.WallPolygon) {\n const dimension1 = calculatePolygonSectionDimension1(s.sectionType, s.wallType, boxType, boxLength, boxLength2, boxLength3, boxDepth, boxDepth2, boxDepth3) ?? 0;\n perimeter += getNumericValue(dimension1);\n }\n });\n }\n\n return perimeter;\n};\n\nexport const calculatePolygonSectionArea = (\n sectionType: ISectionType,\n boxType: IBoxType,\n dimension1: measure,\n dimension2: measure,\n boxLength: measure,\n boxLength2: measure,\n boxLength3: measure,\n boxDepth: measure,\n boxDepth2: measure,\n boxDepth3: measure\n): measure => {\n if (boxType.id === BoxType.Rectangular) {\n if (hasValue(dimension1) && hasValue(dimension2)) {\n return Math.abs(getNumericValue(dimension1) * getNumericValue(dimension2));\n }\n }\n else if (boxType.id === BoxType.LShape) {\n if (sectionType.id === SectionType.WallPolygon\n || sectionType.id === SectionType.WallCustom\n || sectionType.id === SectionType.CeilingCustom\n || sectionType.id === SectionType.FloorCustom) {\n if (hasValue(dimension1) && hasValue(dimension2)) {\n return Math.abs(getNumericValue(dimension1) * getNumericValue(dimension2));\n }\n }\n else if (sectionType.id === SectionType.CeilingPolygon\n || sectionType.id === SectionType.FloorPolygon) {\n if (hasValue(boxLength) && hasValue(boxLength2) \n && hasValue(boxDepth) && hasValue(boxDepth2)) {\n const box1Area = getNumericValue(boxLength) * (getNumericValue(boxDepth) - getNumericValue(boxDepth2));\n const box2Area = getNumericValue(boxLength2) * getNumericValue(boxDepth2);\n\n return Math.abs(box1Area + box2Area);\n }\n }\n }\n else if (boxType.id === BoxType.UShape) {\n if (sectionType.id === SectionType.WallPolygon\n || sectionType.id === SectionType.WallCustom\n || sectionType.id === SectionType.CeilingCustom\n || sectionType.id === SectionType.FloorCustom) {\n if (hasValue(dimension1) && hasValue(dimension2)) {\n return Math.abs(getNumericValue(dimension1) * getNumericValue(dimension2));\n }\n }\n else if (sectionType.id === SectionType.CeilingPolygon\n || sectionType.id === SectionType.FloorPolygon) {\n if (hasValue(boxLength) && hasValue(boxLength2) && hasValue(boxLength3)\n && hasValue(boxDepth) && hasValue(boxDepth2) && hasValue(boxDepth3)) {\n const box1Area = getNumericValue(boxLength) * (getNumericValue(boxDepth) - getNumericValue(boxDepth2) - getNumericValue(boxDepth3));\n const box2Area = (getNumericValue(boxLength2) - getNumericValue(boxLength3)) * getNumericValue(boxDepth3);\n const box3Area = getNumericValue(boxLength2) * getNumericValue(boxDepth2);\n\n return Math.abs(box1Area + box2Area + box3Area);\n }\n }\n }\n\n return undefined;\n};\n\nexport const calculateSectionAreaWithoutOpenings = (\n area: measure, \n openings: IOpening[] | undefined\n): measure => {\n if (!hasValue(area)) {\n return area;\n }\n\n const totalOpeningsArea = openings ? OpeningCalculations.calculateOpeningsTotalArea(openings) : 0;\n const sectionArea = getNumericValue(area) - totalOpeningsArea;\n\n return sectionArea;\n};\n\nexport const calculateConductionLoadWithoutOpenings = (\n conductionLoad: measure, \n openings: IOpening[] | undefined\n): measure => {\n if (!hasValue(conductionLoad)) {\n return conductionLoad;\n }\n\n const totalOpeningsLoad = openings ? OpeningCalculations.calculateOpeningsTotalConductionLoad(openings) : 0;\n const load = getNumericValue(conductionLoad) - totalOpeningsLoad;\n\n return load;\n};","import { measure, hasValue, getNumericValue } from \"../../types/measure\";\nimport { getFormField, getCustomValue, isCustomValue } from \"./FormFields\";\n\nimport IBoxLocation from \"../interfaces/IBoxLocation\";\nimport IBoxType from \"../interfaces/IBoxType\";\nimport IFloorType from \"../interfaces/IFloorType\";\nimport IFormField from \"../interfaces/IFormField\";\nimport IFormState from \"../interfaces/IFormState\";\nimport IMaterial from \"../interfaces/IMaterial\";\nimport IOpening from \"../interfaces/IOpening\";\nimport ISection from \"../interfaces/ISection\";\nimport ISectionType from \"../interfaces/ISectionType\";\n\nimport FloorType from \"../../enums/FloorType\";\nimport SectionLocation from \"../../enums/SectionLocation\";\nimport SectionType from \"../../enums/SectionType\";\n\nimport * as BoxSection from \"./BoxSectionCalculations\";\n\nexport const getDefaultMaterialId = (\n sectionType: ISectionType,\n floorType: IFloorType\n) => {\n if (sectionType.id === SectionType.FloorCustom\n || sectionType.id === SectionType.FloorPolygon\n ) {\n return floorType.defaultMaterialId;\n }\n\n return sectionType.defaultMaterialId;\n}\n\nexport const getDefaultMaterialName = (\n material: IMaterial\n) => {\n let materialName = \"\";\n if (material && material.name.trim() !== \"\") {\n const description = (material.example && material.example.trim() !== \"\")\n ? `, ${material.example}`\n : \"\";\n materialName = `${material.isConstruct ? \"Composite :- \" : \"\"}${material.name}${description}`;\n }\n \n return materialName;\n};\n\nexport const getDefaultThickness = (\n sectionType: ISectionType,\n floorType: IFloorType,\n material: IMaterial\n) => {\n if (material && material.stdThickness) {\n return material.stdThickness;\n }\n\n if ((sectionType.id === SectionType.FloorCustom\n || sectionType.id === SectionType.FloorPolygon)\n ) {\n return floorType.defaultThickness\n }\n \n return sectionType.defaultThickness;\n};\n\nexport const getSectionTypeId = (\n state: IFormState,\n selectedSectionTypeId: SectionType | undefined\n) => {\n return selectedSectionTypeId ?? (state.actualValues.sectionType ?? SectionType.WallCustom);\n};\n\nexport const getSectionName = (\n state: IFormState,\n enteredName: string | undefined,\n defaultValue: string\n): IFormField => {\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"sectionName\",\n\t\tenteredName,\n\t\t() => { return defaultValue; }\n );\n}\n\nexport const getSectionLocation = (\n state: IFormState,\n selectedSectionLocation: SectionLocation | undefined\n) => {\n return selectedSectionLocation ?? (state.actualValues.sectionLocation ?? SectionLocation.BoxLocation);\n};\n\nexport const getFloorType = (\n state: IFormState,\n selectedFloorType: FloorType | undefined\n) => {\n return selectedFloorType ?? (state.actualValues.floorType ?? FloorType.BoxSetting);\n};\n\nexport const getWidth = (\n\tstate: IFormState,\n\tenteredWidth: measure\n): IFormField => {\n\n const getDefaultValue = () => {\n\t\treturn undefined;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"width\",\n\t\tenteredWidth,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getHeight = (\n\tstate: IFormState,\n enteredHeight: measure,\n boxHeight: measure\n): IFormField => {\n\n const getDefaultValue = () => {\n\t\treturn boxHeight;\n\t};\n\n\treturn getFormField(\n\t\tstate,\n\t\t\"height\",\n enteredHeight,\n getDefaultValue\n\t);\n};\n\nexport const getLength = (\n\tstate: IFormState,\n\tenteredLength: measure\n): IFormField => {\n\n const getDefaultValue = () => {\n\t\treturn undefined;\n\t};\n\t\n\treturn getFormField(\n\t\tstate,\n\t\t\"length\",\n\t\tenteredLength,\n\t\tgetDefaultValue\n\t);\n};\n\nexport const getDepth = (\n\tstate: IFormState,\n enteredDepth: measure,\n boxDepth: measure\n): IFormField => {\n\n const getDefaultValue = () => {\n\t\treturn boxDepth;\n\t};\n\n\treturn getFormField(\n\t\tstate,\n\t\t\"depth\",\n enteredDepth,\n getDefaultValue\n\t);\n};\n\nexport const getCustomSectionArea = (\n state: IFormState,\n enteredArea: measure,\n sectionType: ISectionType,\n width: measure,\n length: measure,\n height: measure,\n depth: measure\n): IFormField => {\n\n return getFormField(\n state,\n \"area\",\n enteredArea,\n () => BoxSection.calculateCustomSectionArea(\n sectionType,\n width,\n length,\n height,\n depth)\n );\n};\n\nexport const getSectionPerimeter = (\n\tstate: IFormState,\n\tenteredPerimeter: measure\n): IFormField => {\n\n const getDefaultValue = () => {\n return undefined;\n };\n\n\treturn getFormField(\n\t\tstate,\n\t\t\"perimeter\",\n enteredPerimeter,\n getDefaultValue\n\t);\n};\n\nexport const getMaterialId = (\n state: IFormState,\n selectedMaterialId: number | undefined,\n sectionType: ISectionType,\n floorType: IFloorType\n): number => {\n const materialId = selectedMaterialId ?? state.actualValues.materialId;\n const id = Number(materialId) === 0\n ? getDefaultMaterialId(sectionType, floorType)\n : Number(materialId);\n \n return id;\n}\n\nexport const getMaterialName = (\n state: IFormState,\n enteredName: string | undefined,\n material: IMaterial\n): IFormField => {\n\n return getFormField(\n\t\tstate,\n\t\t\"materialName\",\n\t\tenteredName,\n\t\t() => getDefaultMaterialName(material)\n );\n}\n\nexport const getThickness = (\n state: IFormState,\n enteredThickness: measure,\n sectionType: ISectionType,\n floorType: IFloorType,\n material: IMaterial\n): IFormField => {\n\n if (material && material.stdThickness) {\n return {\n defaultValue: material.stdThickness,\n actualValue: material.stdThickness\n };\n }\n \n return getFormField(\n state,\n \"thickness\",\n enteredThickness,\n () => getDefaultThickness(\n sectionType,\n floorType,\n material)\n );\n};\n\nexport const getKFactor = (\n state: IFormState,\n enteredKFactor: measure,\n enteredRValuePerInch: measure,\n enteredRValueEffective: measure,\n thickness: measure,\n material: IMaterial\n): IFormField => {\n\n let customRValuePerInch: measure = getCustomValue(state, \"rValuePerInch\", enteredRValuePerInch);\n let customRValueEffective: measure = getCustomValue(state, \"rValueEffective\", enteredRValueEffective);\n \n if (hasValue(enteredKFactor)) {\n customRValuePerInch = null;\n customRValueEffective = null;\n }\n else if (hasValue(enteredRValuePerInch)) {\n customRValuePerInch = enteredRValuePerInch;\n customRValueEffective = null;\n }\n else if (hasValue(enteredRValueEffective)) {\n customRValuePerInch = null;\n customRValueEffective = enteredRValueEffective;\n }\n \n if (hasValue(customRValuePerInch)\n || hasValue(customRValueEffective)\n ) { \n const defaultKFactor = BoxSection.calculateKFactor(\n customRValuePerInch, \n customRValueEffective, \n thickness, \n material);\n return {\n defaultValue: defaultKFactor,\n actualValue: defaultKFactor\n };\n }\n\n return getFormField(\n state,\n \"kFactor\",\n enteredKFactor,\n () => BoxSection.calculateKFactor(\n customRValuePerInch, \n customRValueEffective, \n thickness, \n material)\n );\n};\n\nexport const getRValuePerInch = (\n state: IFormState,\n enteredRValuePerInch: measure,\n enteredKFactor: measure,\n enteredRValueEffective: measure,\n thickness: measure,\n material: IMaterial\n): IFormField => {\n\n let customKFactor: measure = getCustomValue(state, \"kFactor\", enteredKFactor);\n let customRValueEffective: measure = getCustomValue(state, \"rValueEffective\", enteredRValueEffective);\n \n if (hasValue(enteredRValuePerInch)) {\n customKFactor = null;\n customRValueEffective = null;\n }\n else if (hasValue(enteredKFactor)) {\n customKFactor = enteredKFactor;\n customRValueEffective = null;\n }\n else if (hasValue(enteredRValueEffective)) {\n customKFactor = null;\n customRValueEffective = enteredRValueEffective;\n }\n\n if (hasValue(customKFactor)\n || hasValue(customRValueEffective)\n ) { \n const defaultRValuePerInch = BoxSection.calculateRValuePerInch(\n customKFactor, \n customRValueEffective, \n thickness, \n material);\n return {\n defaultValue: defaultRValuePerInch,\n actualValue: defaultRValuePerInch\n };\n }\n\n return getFormField(\n state,\n \"rValuePerInch\",\n enteredRValuePerInch,\n () => BoxSection.calculateRValuePerInch(\n customKFactor, \n customRValueEffective, \n thickness, \n material)\n );\n};\n\nexport const getRValueEffective = (\n state: IFormState,\n enteredRValueEffective: measure,\n enteredKFactor: measure,\n enteredRValuePerInch: measure,\n rValuePerInch: measure,\n thickness: measure,\n sectionType: ISectionType,\n location: IBoxLocation,\n material: IMaterial\n): IFormField => {\n\n let isKFactorEntered = isCustomValue(state, \"kFactor\", enteredKFactor);\n let isRValuePerInchEntered = isCustomValue(state, \"rValuePerInch\", enteredRValuePerInch);\n\n if (hasValue(enteredRValueEffective)) {\n isKFactorEntered = false;\n isRValuePerInchEntered = false;\n }\n else if (hasValue(enteredKFactor)) {\n isKFactorEntered = true;\n isRValuePerInchEntered = false;\n }\n else if (hasValue(enteredRValuePerInch)) {\n isKFactorEntered = false;\n isRValuePerInchEntered = true;\n }\n\n let rValuePerInchValue = rValuePerInch;\n\n if (isKFactorEntered || isRValuePerInchEntered) { \n const defaultRValueEffective = BoxSection.calculateRValueEffective(\n rValuePerInchValue, \n thickness, \n sectionType, \n location,\n material);\n return {\n defaultValue: defaultRValueEffective,\n actualValue: defaultRValueEffective\n };\n }\n\n if (isCustomValue(state, \"rValueEffective\", enteredRValueEffective)) {\n rValuePerInchValue = BoxSection.calculateDefaultRValuePerInch(material);\n }\n\n return getFormField(\n state,\n \"rValueEffective\",\n enteredRValueEffective,\n () => BoxSection.calculateRValueEffective(\n rValuePerInchValue, \n thickness, \n sectionType, \n location,\n material)\n );\n}\n\nexport const getExteriorTemperature = (\n state: IFormState,\n enteredExteriorTemperature: measure,\n sectionType: ISectionType,\n floorType: IFloorType,\n location: IBoxLocation,\n boxExteriorTemperature: measure\n): IFormField => {\n\n return getFormField(\n state,\n \"exteriorTemperature\",\n enteredExteriorTemperature,\n () => BoxSection.calculateExteriorTemperature(\n boxExteriorTemperature,\n sectionType,\n location,\n floorType)\n );\n}\n\nexport const getExteriorHumidity = (\n\tstate: IFormState,\n enteredExteriorHumidity: measure,\n boxExteriorHumidity: measure\n): IFormField => {\n\n const getDefaultValue = () => {\n return boxExteriorHumidity;\n };\n\n\treturn getFormField(\n\t\tstate,\n\t\t\"exteriorHumidity\",\n enteredExteriorHumidity,\n getDefaultValue\n\t);\n};\n\nexport const getConductionLoad = (\n state: IFormState,\n enteredLoad: measure,\n sectionType: ISectionType,\n floorType: IFloorType,\n location: IBoxLocation,\n area: measure,\n perimeter: measure,\n rValueEffective: measure,\n exteriorTemperature: measure,\n boxExteriorTemperature: measure,\n boxInteriorTemperature: measure,\n openings: IOpening[] | undefined\n): IFormField => {\n \n return getFormField(\n state,\n \"conductionLoad\",\n enteredLoad,\n () => BoxSection.calculateConductionLoad(\n sectionType,\n floorType,\n location,\n area,\n perimeter,\n rValueEffective,\n exteriorTemperature,\n boxExteriorTemperature,\n boxInteriorTemperature,\n openings)\n );\n};","/* eslint-disable no-underscore-dangle */\n\nimport BoxLocation from \"../enums/BoxLocation\";\nimport BoxType from \"../enums/BoxType\";\nimport FloorType from \"../enums/FloorType\";\nimport Material from \"../enums/Material\";\nimport Radians from \"../enums/Radians\";\nimport SectionLocation from \"../enums/SectionLocation\";\nimport SectionType from \"../enums/SectionType\";\nimport WallType from \"../enums/WallType\";\n\nimport IBoxSectionRecalculateFormParams from \"../models/interfaces/IBoxSectionRecalculateFormParams\";\nimport IFormState from \"../models/interfaces/IFormState\";\nimport IMessage from \"../models/interfaces/IMessage\";\nimport IOpening from \"../models/interfaces/IOpening\";\nimport ISection from \"../models/interfaces/ISection\";\nimport ISectionType from \"../models/interfaces/ISectionType\";\n\nimport { hasValue, getNumericValue, measure } from \"../types/measure\";\n\nimport useApplicationConfigs from \"./useApplicationConfigs\";\nimport useBoxMaterialsContext from \"./useBoxMaterialsContext\";\nimport useOpeningDetailsForm from \"./useOpeningDetailsForm\";\nimport useTranslationContext from \"./useTranslationContext\";\n\nimport * as BoxSectionForm from \"../models/helpers/BoxSectionFormFields\";\nimport * as BoxSectionCalculations from \"../models/helpers/BoxSectionCalculations\";\nimport { calculateTotalDoorLength, calculateOpeningsTotalArea } from \"../models/helpers/OpeningCalculations\";\n\nconst useBoxSectionForm = () => {\n\n const { \n getBoxLocationConfig, \n getSectionBoxLocationConfig, \n getSectionTypes, \n getSectionTypeConfig,\n getBoxTypeConfig,\n getFloorTypeConfig,\n getSectionFloorTypeConfig\n } = useApplicationConfigs();\n\n const { getDefaultOpening, recalculateOpening } = useOpeningDetailsForm();\n\n const { boxMaterials, getBoxMaterial } = useBoxMaterialsContext();\n const { translations } = useTranslationContext();\n\n const validateSection = (\n section: ISection,\n boxFloorType: FloorType | null,\n boxInteriorTemperature: measure\n ): IMessage[] => {\n\n const errors: IMessage[] = [];\n\n if (section.sectionType === SectionType.Undefined) {\n errors.push({\n name: \"sectionType\", \n text: translations.sectionTypeMustBeSelected_\n });\n }\n\n if (section.sectionName === \"\") { // warning\n errors.push({\n name: \"sectionName\", \n text: translations.sectionNameNotProvided_\n });\n }\n\n if (!hasValue(section.width)) {\n if (section.sectionType === SectionType.WallCustom\n && !hasValue(section.area)) {\n errors.push({\n name: \"width\",\n text: translations.dimension_IsNotEntered_\n });\n }\n }\n\n if (!hasValue(section.length)) {\n if ((section.sectionType === SectionType.FloorCustom\n || section.sectionType === SectionType.CeilingCustom)\n && !hasValue(section.area)) {\n errors.push({\n name: \"length\",\n text: translations.dimension_IsNotEntered_\n });\n }\n }\n\n if (!hasValue(section.dimension1)\n && !hasValue(section.area)\n && (section.sectionType === SectionType.WallPolygon\n || section.sectionType === SectionType.FloorPolygon\n || section.sectionType === SectionType.CeilingPolygon)\n ) {\n errors.push({\n name: \"dimension1\",\n text: translations.dimension_IsNotEntered_\n });\n }\n\n if (!hasValue(section.height)) {\n if (section.sectionType === SectionType.WallCustom\n && !hasValue(section.area)) {\n errors.push({\n name: \"height\",\n text: translations.dimension_IsNotEntered_.replace(\"1\", \"2\")\n });\n }\n }\n\n if (!hasValue(section.depth)) {\n if ((section.sectionType === SectionType.FloorCustom\n || section.sectionType === SectionType.CeilingCustom)\n && !hasValue(section.area)) {\n errors.push({\n name: \"depth\",\n text: translations.dimension_IsNotEntered_.replace(\"1\", \"2\")\n });\n }\n }\n\n if (!hasValue(section.dimension2)\n && !hasValue(section.area)\n && (section.sectionType === SectionType.WallPolygon\n || section.sectionType === SectionType.FloorPolygon\n || section.sectionType === SectionType.CeilingPolygon)\n ) {\n errors.push({\n name: \"dimension2\",\n text: translations.dimension_IsNotEntered_.replace(\"1\", \"2\")\n });\n }\n\n if (!hasValue(section.area)) {\n errors.push({\n name: \"area\", \n text: translations.areaIsNotCalculatedOrEntered_\n });\n }\n\n if (!hasValue(section.perimeter)) {\n if ((section.sectionType === SectionType.FloorCustom \n || section.sectionType === SectionType.FloorPolygon)\n && (getSectionFloorTypeConfig(section.floorType, boxFloorType).id === FloorType.OnGrade\n || getSectionFloorTypeConfig(section.floorType, boxFloorType).id === FloorType.OnGradeHeated)\n && !hasValue(section.conductionLoad)) {\n errors.push({\n name: \"perimeter\",\n text: translations.thePerimeterLengthMustBeEnteredForSlabOnGradeFloors_\n });\n }\n }\n\n if (!hasValue(section.conductionLoad)\n && section.materialId === Material.Other\n && section.materialName === \"\") {\n errors.push({\n name: \"otherMaterialName\", \n text: translations.materialNameMustBeEntered_\n });\n }\n\n if (!hasValue(section.thickness)\n && !hasValue(section.conductionLoad)\n && !hasValue(section.rValueEffective)) {\n errors.push({\n name: \"thickness\", \n text: translations.thicknessIsNotEntered_\n });\n }\n\n if (!hasValue(section.kFactor)\n && !hasValue(section.rValuePerInch)\n && !hasValue(section.conductionLoad)\n && !hasValue(section.rValueEffective)) {\n errors.push({\n name: \"kFactor\", \n text: translations.neitherTheKFactorNorTheR_ValueHasBeenEntered_\n });\n }\n\n if (!hasValue(section.rValueEffective)\n && !hasValue(section.conductionLoad)) {\n errors.push({\n name: \"rValueEffective\", \n text: translations.theEffectiveR_ValueIsNotCalculatedOrEntered_\n });\n }\n\n if (!hasValue(section.exteriorTemperature)\n && !hasValue(section.conductionLoad)) {\n errors.push({\n name: \"exteriorTemperature\", \n text: translations.theExternalTemperatureIsNotEntered_\n });\n }\n else if (hasValue(section.exteriorTemperature)\n && hasValue(boxInteriorTemperature)\n && getNumericValue(section.exteriorTemperature) < getNumericValue(boxInteriorTemperature)) { // warning\n errors.push({\n name: \"exteriorTemperature\", \n text: translations.theExternalTemperatureIsLowerThanTheInternalTemperature_\n });\n }\n else if (getNumericValue(section.exteriorTemperature) < -100) {\n errors.push({\n name: \"exteriorTemperature\", \n text: translations.theExternalTemperatureIsTooLow_\n });\n }\n else if (getNumericValue(section.exteriorTemperature) > 150) {\n errors.push({\n name: \"exteriorTemperature\", \n text: translations.theExternalTemperatureIsTooHigh_\n });\n }\n\n if (!hasValue(section.exteriorHumidity)) {\n errors.push({\n name: \"exteriorHumidity\", \n text: translations.theExternalRelativeHumidityNotEntered_\n });\n }\n else if (getNumericValue(section.exteriorHumidity) < 0) {\n errors.push({\n name: \"exteriorHumidity\", \n text: translations.theExternalRelativeHumidityMustBeGreaterThanZero_\n });\n }\n else if (getNumericValue(section.exteriorHumidity) > 100) {\n errors.push({\n name: \"exteriorHumidity\", \n text: translations.theExternalRelativeHumidityMustBeLessThan____\n });\n }\n\n if (!hasValue(section.conductionLoad)\n && section.materialId !== Material.ZoneBoundary\n ) {\n errors.push({\n name: \"conductionLoad\", \n text: translations.materialLoadIsNotCalculatedOrEntered_\n });\n }\n\n const totalDoorLength = calculateTotalDoorLength(section.openings);\n if (section.dimension1) {\n if (totalDoorLength > section.dimension1) {\n errors.push({\n name: \"totalDoorLength\", \n text: translations.totalDoorWidthExceedsSectionWidth\n });\n }\n }\n\n const totalOpeningsArea = calculateOpeningsTotalArea(section.openings);\n if (section.area) {\n if (totalOpeningsArea > section.area) {\n errors.push({\n name: \"totalOpeningsArea\", \n text: translations.totalOpeningAreaExceedsSectionArea\n });\n }\n }\n\n if (section.openings) {\n if (section.openings.find(o => o.errors && o.errors.length > 0)) {\n errors.push({\n name: \"openings\", \n text: translations.sectionHasOpeningErrors_\n });\n }\n }\n \n return errors;\n };\n\n const getDefaultSectionName = (\n sectionType: ISectionType,\n wallType: WallType\n ): string => {\n switch(sectionType.id)\n {\n case SectionType.CeilingCustom:\n case SectionType.CeilingPolygon:\n return translations.ceiling;\n case SectionType.FloorCustom:\n case SectionType.FloorPolygon:\n return translations.floor;\n case SectionType.WallCustom:\n return translations.wall;\n case SectionType.WallPolygon:\n switch(wallType)\n {\n case WallType.Rear:\n return translations.rear;\n case WallType.Front:\n return translations.front;\n case WallType.FrontCut:\n return translations.frontCut;\n case WallType.FrontInsetCut:\n return translations.frontInset;\n case WallType.LeftCut:\n return translations.leftCut;\n case WallType.LeftEnd:\n return translations.leftEnd;\n case WallType.LeftInSetCut:\n return translations.leftInset;\n case WallType.RightEnd:\n return translations.rightEnd;\n case WallType.Undefined:\n return translations.section;\n default:\n return \"\";\n }\n default:\n return translations.section;\n }\n };\n\n const getDefaultSection = (\n boxTypeId: BoxType | null,\n sectionTypeId: SectionType,\n wallType: WallType,\n radians: Radians,\n isCustomSection: boolean,\n boxLocation: BoxLocation | null,\n boxFloorType: FloorType | null,\n boxLength: measure,\n boxLength2: measure,\n boxLength3: measure,\n boxDepth: measure,\n boxDepth2: measure,\n boxDepth3: measure,\n boxHeight: measure,\n boxExteriorTemperature: measure,\n boxExteriorHumidity: measure,\n boxInteriorTemperature: measure\n ): ISection => {\n\n const sectionType = getSectionTypeConfig(sectionTypeId);\n const boxType = getBoxTypeConfig(boxTypeId);\n const floorType = getFloorTypeConfig(boxFloorType);\n const location = getBoxLocationConfig(boxLocation);\n\n const sectionName = getDefaultSectionName(sectionType, wallType);\n\n let width;\n let height;\n let length;\n let depth;\n let dimension1;\n let dimension2;\n let area;\n let perimeter;\n\n if (isCustomSection) {\n\n width = null;\n length = null;\n perimeter = null;\n\n height = boxHeight;\n depth = boxDepth;\n\n dimension1 = BoxSectionCalculations.calculateCustomSectionDimension1(sectionType, width, length);\n dimension2 = BoxSectionCalculations.calculateCustomSectionDimension2(sectionType, height, depth);\n\n area = BoxSectionCalculations.calculateCustomSectionArea(\n sectionType,\n width,\n length,\n height,\n depth);\n }\n else {\n\n dimension1 = BoxSectionCalculations.calculatePolygonSectionDimension1(sectionType, wallType, boxType, boxLength, boxLength2, boxLength3, boxDepth, boxDepth2, boxDepth3);\n dimension2 = BoxSectionCalculations.calculatePolygonSectionDimension2(sectionType, boxType, boxHeight, boxDepth);\n \n area = BoxSectionCalculations.calculatePolygonSectionArea(sectionType, boxType, dimension1, dimension2, boxLength, boxLength2, boxLength3, boxDepth, boxDepth2, boxDepth3);\n \n perimeter = BoxSectionCalculations.calculateBoxPerimeter(boxType, sectionType, boxLength, boxLength2, boxLength3, boxDepth, boxDepth2, boxDepth3);\n }\n\n const defaultMaterialId = 0;\n const actualMaterialId = BoxSectionForm.getDefaultMaterialId(sectionType, floorType);\n const material = getBoxMaterial(actualMaterialId);\n const materialName = material ? BoxSectionForm.getDefaultMaterialName(material) : \"\";\n\n let thickness;\n let kFactor;\n let rValuePerInch;\n\n if (material) {\n thickness = BoxSectionForm.getDefaultThickness(sectionType, floorType, material);\n kFactor = BoxSectionCalculations.calculateKFactor(null, null, thickness, material);\n rValuePerInch = BoxSectionCalculations.calculateRValuePerInch(null, null, thickness, material);\n }\n \n const rValueEffective = BoxSectionCalculations.calculateRValueEffective(rValuePerInch, thickness, sectionType, location, material);\n \n let exteriorTemperature = BoxSectionCalculations.calculateExteriorTemperature(boxExteriorTemperature, sectionType, location, floorType);\n const exteriorHumidity = boxExteriorHumidity;\n const conductionLoad = BoxSectionCalculations.calculateConductionLoad(sectionType, floorType, location, area, perimeter, rValueEffective, exteriorTemperature, boxExteriorTemperature, boxInteriorTemperature, undefined);\n\n if ((sectionType.id === SectionType.FloorCustom || sectionType.id === SectionType.FloorPolygon)\n && (floorType.id === FloorType.OnGrade || floorType.id === FloorType.OnGradeHeated)\n ) {\n exteriorTemperature = undefined;\n }\n\n const areaWithoutOpenings = BoxSectionCalculations.calculateSectionAreaWithoutOpenings(area, undefined);\n const conductionLoadWithoutOpenings = BoxSectionCalculations.calculateConductionLoadWithoutOpenings(conductionLoad, undefined);\n\n const defaultSection: ISection = {\n sectionType: sectionTypeId,\n wallType,\n radians,\n sectionLocation: SectionLocation.BoxLocation,\n floorType: FloorType.BoxSetting,\n sectionName,\n materialId: defaultMaterialId,\n materialName,\n thickness,\n kFactor,\n rValuePerInch,\n rValueEffective,\n exteriorTemperature,\n exteriorHumidity,\n width,\n length,\n height,\n depth,\n dimension1,\n dimension2,\n area,\n areaWithoutOpenings,\n perimeter,\n conductionLoad,\n conductionLoadWithoutOpenings,\n isModified: false,\n isCustom: isCustomSection\n };\n\n const errors = validateSection(defaultSection, boxFloorType ?? FloorType.OnGrade, boxInteriorTemperature);\n\n defaultSection.errors = errors;\n\n return defaultSection;\n };\n\n const getPolygonSections = (\n boxTypeId: BoxType | null,\n boxFloorType: FloorType | null,\n boxLocation: BoxLocation | null,\n boxLength: measure,\n boxLength2: measure,\n boxLength3: measure,\n boxDepth: measure,\n boxDepth2: measure,\n boxDepth3: measure,\n boxHeight: measure,\n boxExteriorTemperature: measure,\n boxInteriorTemperature: measure,\n boxExteriorHumidity: measure\n ): ISection[] => {\n const boxSections = [] as ISection[];\n\n const boxType = getBoxTypeConfig(boxTypeId);\n\n boxType.sectionsConfig.forEach(c => {\n boxSections.push(getDefaultSection(\n boxTypeId,\n c.sectionType.id,\n c.wallType,\n c.radians,\n false,\n boxLocation,\n boxFloorType,\n boxLength,\n boxLength2,\n boxLength3,\n boxDepth,\n boxDepth2,\n boxDepth3,\n boxHeight,\n boxExteriorTemperature,\n boxExteriorHumidity,\n boxInteriorTemperature\n ));\n });\n\n return boxSections;\n };\n\n const recalculateSection = (\n state: IFormState,\n formInput: IBoxSectionRecalculateFormParams | null,\n boxLocation: BoxLocation | null,\n boxFloorType: FloorType | null,\n boxHeight: measure,\n boxDepth: measure,\n boxDepth2: measure,\n boxDepth3: measure,\n boxLength: measure,\n boxLength2: measure,\n boxLength3: measure,\n boxTypeId: BoxType | null,\n boxExteriorTemperature: measure,\n boxExteriorHumidity: measure,\n boxInteriorTemperature: measure,\n boxInteriorHumidity: measure\n ): IFormState => {\n\n const sectionTypeId = BoxSectionForm.getSectionTypeId(state, formInput?.sectionType);\n const sectionType = getSectionTypeConfig(sectionTypeId);\n const defaultSectionName = getDefaultSectionName(sectionType, state.actualValues.wallType);\n const sectionNameField = BoxSectionForm.getSectionName(state, formInput?.sectionName, defaultSectionName);\n \n const sectionLocationId = BoxSectionForm.getSectionLocation(state, formInput?.sectionLocation);\n const location = getSectionBoxLocationConfig(sectionLocationId, boxLocation);\n\n const sectionFloorTypeId = BoxSectionForm.getFloorType(state, formInput?.floorType);\n const floorType = getSectionFloorTypeConfig(sectionFloorTypeId, boxFloorType);\n\n const boxType = getBoxTypeConfig(boxTypeId);\n\n let widthField;\n let heightField;\n let lengthField;\n let depthField;\n let areaField;\n let perimeterField;\n\n let dimension1: measure;\n let dimension2: measure;\n\n if (state.actualValues.isCustom) {\n widthField = BoxSectionForm.getWidth(state, formInput?.width);\n heightField = BoxSectionForm.getHeight(state, formInput?.height, boxHeight);\n lengthField = BoxSectionForm.getLength(state, formInput?.length);\n depthField = BoxSectionForm.getDepth(state, formInput?.depth, boxDepth);\n\n dimension1 = BoxSectionCalculations.calculateCustomSectionDimension1(sectionType, widthField.actualValue, lengthField.actualValue);\n dimension2 = BoxSectionCalculations.calculateCustomSectionDimension2(sectionType, heightField.actualValue, depthField.actualValue);\n\n areaField = BoxSectionForm.getCustomSectionArea(\n state, \n formInput?.area, \n sectionType,\n widthField.actualValue, \n lengthField.actualValue,\n heightField.actualValue,\n depthField.actualValue);\n \n perimeterField = BoxSectionForm.getSectionPerimeter(state, formInput?.perimeter);\n }\n else {\n dimension1 = BoxSectionCalculations.calculatePolygonSectionDimension1(\n sectionType, \n state.actualValues.wallType, \n boxType, \n boxLength, \n boxLength2, \n boxLength3, \n boxDepth, \n boxDepth2, \n boxDepth3);\n dimension2 = BoxSectionCalculations.calculatePolygonSectionDimension2(\n sectionType, \n boxType, \n boxHeight, \n boxDepth);\n\n const calculatedArea = BoxSectionCalculations.calculatePolygonSectionArea(\n sectionType, \n boxType, \n dimension1, \n dimension2, \n boxLength, \n boxLength2, \n boxLength3, \n boxDepth, \n boxDepth2, \n boxDepth3);\n const calculatedPerimeter = BoxSectionCalculations.calculateBoxPerimeter(\n boxType, \n sectionType, \n boxLength, \n boxLength2, \n boxLength3, \n boxDepth, \n boxDepth2, \n boxDepth3);\n\n areaField = { \n defaultValue: calculatedArea,\n actualValue: calculatedArea\n };\n perimeterField = { \n defaultValue: calculatedPerimeter,\n actualValue: calculatedPerimeter\n };\n }\n\n const selectedMaterialId = formInput?.materialId ?? state.actualValues.materialId ?? 0;\n const actualMaterialId = BoxSectionForm.getMaterialId(\n state,\n formInput?.materialId,\n sectionType,\n floorType);\n const material = getBoxMaterial(actualMaterialId);\n\n let materialNameField;\n let thicknessField;\n let kFactorField;\n let rValuePerInchField;\n let rValueEffectiveField;\n\n if (material) {\n materialNameField = BoxSectionForm.getMaterialName(state, formInput?.materialName, material);\n\n thicknessField = BoxSectionForm.getThickness(\n state, \n formInput?.thickness,\n sectionType,\n floorType,\n material);\n \n kFactorField = BoxSectionForm.getKFactor(\n state, \n formInput?.kFactor,\n formInput?.rValuePerInch,\n formInput?.rValueEffective,\n thicknessField.actualValue,\n material);\n\n rValuePerInchField = BoxSectionForm.getRValuePerInch(\n state, \n formInput?.rValuePerInch,\n formInput?.kFactor,\n formInput?.rValueEffective,\n thicknessField.actualValue,\n material);\n\n rValueEffectiveField = BoxSectionForm.getRValueEffective(\n state,\n formInput?.rValueEffective,\n formInput?.kFactor,\n formInput?.rValuePerInch,\n rValuePerInchField?.actualValue,\n thicknessField?.actualValue,\n sectionType,\n location,\n material);\n }\n\n if (material && material.locked) {\n if (thicknessField) {\n thicknessField.actualValue = thicknessField.defaultValue;\n }\n if (kFactorField) {\n kFactorField.actualValue = kFactorField.defaultValue;\n }\n if (rValuePerInchField) {\n rValuePerInchField.actualValue = rValuePerInchField.defaultValue;\n }\n if (rValueEffectiveField) {\n rValueEffectiveField.actualValue = rValueEffectiveField.defaultValue;\n }\n }\n\n const exteriorTemperatureField = BoxSectionForm.getExteriorTemperature(\n state,\n formInput?.exteriorTemperature,\n sectionType,\n floorType,\n location,\n boxExteriorTemperature);\n\n const exteriorHumidityField = BoxSectionForm.getExteriorHumidity(\n state,\n formInput?.exteriorHumidity,\n boxExteriorHumidity);\n\n const openings = [] as IOpening[];\n state.actualValues.openings?.forEach(opening => {\n // Recalculate each opening in the box section\n const defaultOpening = getDefaultOpening(\n opening.openingType,\n exteriorTemperatureField.actualValue,\n exteriorHumidityField.actualValue,\n dimension1,\n dimension2,\n boxInteriorTemperature,\n boxInteriorHumidity);\n\n const openingFormState = recalculateOpening(\n {\n defaultValues: defaultOpening,\n actualValues: opening\n },\n null,\n exteriorTemperatureField.actualValue,\n exteriorHumidityField.actualValue,\n dimension1,\n dimension2,\n boxInteriorTemperature,\n boxInteriorHumidity);\n\n openings.push(openingFormState.actualValues);\n });\n\n const conductionLoadField = BoxSectionForm.getConductionLoad(\n state,\n formInput?.conductionLoad, \n sectionType,\n floorType,\n location, \n areaField.actualValue, \n perimeterField.actualValue,\n rValueEffectiveField?.actualValue, \n exteriorTemperatureField.actualValue, \n boxExteriorTemperature,\n boxInteriorTemperature,\n openings);\n\n const areaWithoutOpenings = BoxSectionCalculations.calculateSectionAreaWithoutOpenings(areaField.actualValue, openings);\n const conductionLoadWithoutOpenings = BoxSectionCalculations.calculateConductionLoadWithoutOpenings(conductionLoadField.actualValue, openings);\n\n if ((sectionType.id === SectionType.FloorCustom || sectionType.id === SectionType.FloorPolygon)\n && (floorType.id === FloorType.OnGrade || floorType.id === FloorType.OnGradeHeated)\n ) {\n exteriorTemperatureField.defaultValue = undefined;\n exteriorTemperatureField.actualValue = undefined;\n }\n\n const defaultValues: ISection = {\n ...state.defaultValues,\n sectionName: sectionNameField.defaultValue,\n width: widthField?.defaultValue,\n length: lengthField?.defaultValue,\n height: heightField?.defaultValue,\n depth: depthField?.defaultValue,\n dimension1,\n dimension2,\n area: areaField.defaultValue,\n perimeter: perimeterField.defaultValue,\n materialName: materialNameField?.defaultValue ?? \"\",\n thickness: thicknessField?.defaultValue,\n kFactor: kFactorField?.defaultValue,\n rValuePerInch: rValuePerInchField?.defaultValue,\n rValueEffective: rValueEffectiveField?.defaultValue,\n exteriorTemperature: exteriorTemperatureField.defaultValue,\n exteriorHumidity: exteriorHumidityField.defaultValue,\n conductionLoad: conductionLoadField.defaultValue\n };\n\n const actualValues: ISection = {\n ...state.actualValues,\n sectionType: sectionTypeId,\n sectionName: sectionNameField.actualValue,\n sectionLocation: sectionLocationId,\n floorType: sectionFloorTypeId,\n width: widthField?.actualValue,\n length: lengthField?.actualValue,\n height: heightField?.actualValue,\n depth: depthField?.actualValue,\n dimension1,\n dimension2,\n area: areaField.actualValue,\n areaWithoutOpenings,\n perimeter: perimeterField.actualValue,\n materialId: selectedMaterialId,\n materialName: materialNameField?.actualValue ?? \"\",\n thickness: thicknessField?.actualValue,\n kFactor: kFactorField?.actualValue,\n rValuePerInch: rValuePerInchField?.actualValue,\n rValueEffective: rValueEffectiveField?.actualValue,\n exteriorTemperature: exteriorTemperatureField.actualValue,\n exteriorHumidity: exteriorHumidityField.actualValue,\n conductionLoad: conductionLoadField.actualValue,\n conductionLoadWithoutOpenings,\n openings\n };\n\n const errors = validateSection(actualValues, boxFloorType ?? FloorType.OnGrade, boxInteriorTemperature);\n \n return {\n defaultValues,\n actualValues: {\n ...actualValues,\n errors\n }\n };\n };\n\n const resetForm = (\n sectionType: SectionType,\n boxLocation: BoxLocation,\n boxFloorType: FloorType,\n boxHeight: measure,\n boxDepth: measure,\n boxDepth2: measure,\n boxDepth3: measure,\n boxLength: measure,\n boxLength2: measure,\n boxLength3: measure,\n boxTypeId: BoxType,\n boxExteriorTemperature: measure,\n boxExteriorHumidity: measure,\n boxInteriorTemperature: measure\n ): IFormState => {\n \n const defaultSection = getDefaultSection(\n boxTypeId,\n sectionType,\n WallType.Undefined,\n Radians.None,\n true,\n boxLocation,\n boxFloorType,\n boxLength,\n boxLength2,\n boxLength3,\n boxDepth,\n boxDepth2,\n boxDepth3,\n boxHeight, \n boxExteriorTemperature,\n boxExteriorHumidity,\n boxInteriorTemperature);\n\n return {\n defaultValues: defaultSection,\n actualValues: defaultSection\n };\n };\n\n const resetFormForEdit = (\n sectionToEdit: ISection,\n boxLocation: BoxLocation,\n boxFloorType: FloorType,\n boxHeight: measure,\n boxDepth: measure,\n boxDepth2: measure,\n boxDepth3: measure,\n boxLength: measure,\n boxLength2: measure,\n boxLength3: measure,\n boxTypeId: BoxType,\n boxExteriorTemperature: measure,\n boxExteriorHumidity: measure,\n boxInteriorTemperature: measure,\n boxInteriorHumidity: measure\n ): IFormState => {\n\n const defaultValues = getDefaultSection(\n boxTypeId,\n sectionToEdit.sectionType,\n sectionToEdit.wallType,\n sectionToEdit.radians,\n sectionToEdit.isCustom,\n boxLocation,\n boxFloorType,\n boxLength,\n boxLength2,\n boxLength3,\n boxDepth,\n boxDepth2,\n boxDepth3,\n boxHeight, \n boxExteriorTemperature,\n boxExteriorHumidity,\n boxInteriorTemperature);\n\n const areaWithoutOpenings = BoxSectionCalculations.calculateSectionAreaWithoutOpenings(sectionToEdit.area, sectionToEdit.openings);\n const conductionLoadWithoutOpenings = BoxSectionCalculations.calculateConductionLoadWithoutOpenings(sectionToEdit.conductionLoad, sectionToEdit.openings);\n\n const actualValues: ISection = {\n ...sectionToEdit,\n areaWithoutOpenings,\n conductionLoadWithoutOpenings\n };\n\n return recalculateSection(\n {\n defaultValues,\n actualValues\n },\n null,\n boxLocation,\n boxFloorType,\n boxHeight,\n boxDepth,\n boxDepth2,\n boxDepth3,\n boxLength,\n boxLength2,\n boxLength3,\n boxTypeId,\n boxExteriorTemperature,\n boxExteriorHumidity,\n boxInteriorTemperature,\n boxInteriorHumidity);\n };\n \n const setInitialState = (\n sectionToEdit: ISection | undefined,\n boxLocation: BoxLocation,\n boxFloorType: FloorType,\n boxHeight: measure,\n boxDepth: measure,\n boxDepth2: measure,\n boxDepth3: measure,\n boxLength: measure,\n boxLength2: measure,\n boxLength3: measure,\n boxTypeId: BoxType,\n boxExteriorTemperature: measure,\n boxExteriorHumidity: measure,\n boxInteriorTemperature: measure,\n boxInteriorHumidity: measure\n ): IFormState => {\n\n // add section\n if (sectionToEdit === undefined) {\n return resetForm(\n SectionType.WallCustom,\n boxLocation,\n boxFloorType,\n boxHeight,\n boxDepth,\n boxDepth2,\n boxDepth3,\n boxLength,\n boxLength2,\n boxLength3,\n boxTypeId,\n boxExteriorTemperature,\n boxExteriorHumidity,\n boxInteriorTemperature);\n }\n\n // edit section\n return resetFormForEdit(\n sectionToEdit,\n boxLocation,\n boxFloorType,\n boxHeight,\n boxDepth,\n boxDepth2,\n boxDepth3,\n boxLength,\n boxLength2,\n boxLength3,\n boxTypeId,\n boxExteriorTemperature,\n boxExteriorHumidity,\n boxInteriorTemperature,\n boxInteriorHumidity);\n };\n\n const isAddMode = (sectionToEdit: ISection | undefined) => {\n return !sectionToEdit;\n };\n \n const isPolygonSection = (sectionToEdit: ISection | undefined) => { \n return sectionToEdit && !sectionToEdit.isCustom; \n };\n \n const formTitle = (sectionToEdit: ISection | undefined) => { \n return isAddMode(sectionToEdit) ? translations.addCustomSection : translations.editSection;\n };\n\n const visibleSectionTypes = (sectionToEdit: ISection | undefined) => { \n const sectionTypes = getSectionTypes(); \n if (!isPolygonSection(sectionToEdit)) {\n return sectionTypes.filter(s => s.isCustom);\n }\n if (sectionToEdit) {\n return sectionTypes.filter(s => s.id === sectionToEdit?.sectionType);\n }\n return sectionTypes;\n };\n\n const getMaterialsLookup = () => {\n const materialsLookup = [{ key: \"0\", value: \"Default\" }];\n\n if (boxMaterials) {\n boxMaterials\n .filter(m => m.showAsSectionType)\n .forEach(m => {\n materialsLookup.push({\n key: m.id.toString(),\n value: `${m.isConstruct ? \"Composite :- \" : \"\"}${m.name}${m.example ? `, ${m.example}` : \"\"}`\n })\n });\n }\n\n materialsLookup.push({ key: \"-1000001\", value: translations.nEWCOMPOSITE });\n materialsLookup.push({ key: \"-1000002\", value: translations.zoneBoundary_TD___ });\n materialsLookup.push({ key: \"-1000000\", value: \"Other\" });\n\n return materialsLookup;\n };\n\n return {\n setInitialState,\n getDefaultSection,\n getPolygonSections,\n recalculateSection,\n isAddMode,\n isPolygonSection,\n formTitle,\n visibleSectionTypes,\n getMaterialsLookup,\n validateSection\n };\n};\n\nexport default useBoxSectionForm;\n","import { measure, hasValue, getNumericValue, roundOff } from \"../../types/measure\";\n\nimport ISection from \"../interfaces/ISection\";\nimport ISystem from \"../interfaces/ISystem\";\n\nimport SectionType from \"../../enums/SectionType\";\n\nexport const calculateRunTimeHours = (\n interiorTemperature: measure,\n runTimeAppData: any\n): measure => {\n let runTimeHours = runTimeAppData?.h3?.value;\n if (hasValue(interiorTemperature)) {\n if (getNumericValue(interiorTemperature) >= runTimeAppData?.Temp1?.value) {\n runTimeHours = runTimeAppData?.h1?.value;\n }\n else if (getNumericValue(interiorTemperature) >= runTimeAppData?.Temp2?.value) {\n runTimeHours = runTimeAppData?.h2?.value;\n }\n }\n return runTimeHours;\n};\n\n\nexport const calculateFloorArea = (\n sections: ISection[]\n): measure => {\n let sectionsFloorArea = 0;\n sections.forEach(s => {\n if (s.sectionType === SectionType.FloorCustom \n || s.sectionType === SectionType.FloorPolygon) {\n if (hasValue(s.area)) {\n sectionsFloorArea += getNumericValue(s.area);\n }\n }\n })\n if (sectionsFloorArea === 0) {\n return undefined;\n }\n return sectionsFloorArea;\n};\n\nexport const calculateVolume = (\n floorArea: measure,\n boxHeight: measure,\n hasCustomSection: boolean\n): measure => {\n if (!hasValue(floorArea)\n || !hasValue(boxHeight)\n ) {\n return undefined;\n }\n\n if (hasCustomSection) {\n return undefined;\n }\n\n return getNumericValue(floorArea) * getNumericValue(boxHeight);\n}\n\nexport const calculateTotalWallLoad = (\n sections: ISection[]\n): measure => {\n let sectionsWallLoad = 0;\n sections.forEach(s => {\n if (hasValue(s.conductionLoad)) {\n sectionsWallLoad += getNumericValue(s.conductionLoad);\n }\n })\n if (sectionsWallLoad === 0) {\n return undefined;\n }\n return sectionsWallLoad;\n};\n\nexport const calculateOpeningsTotalInfiltrationLoad = (\n sections: ISection[]\n): measure => {\n let totalInfiltrationLoad = 0;\n sections.forEach(s => {\n s.openings?.forEach(o => {\n if (hasValue(o.totalInfiltrationLoad)) {\n totalInfiltrationLoad += getNumericValue(o.totalInfiltrationLoad);\n }\n });\n })\n return totalInfiltrationLoad;\n};\n\nexport const calculateTotalHourlyLoad = (\n totalWallLoad: measure,\n totalInfiltrationLoad: measure,\n totalProductLoad: measure,\n totalMiscLoad: measure\n): measure => {\n let totalHourlyLoad = 0;\n if (hasValue(totalWallLoad)) {\n totalHourlyLoad += getNumericValue(totalWallLoad);\n }\n if (hasValue(totalInfiltrationLoad)) {\n totalHourlyLoad += getNumericValue(totalInfiltrationLoad);\n }\n if (hasValue(totalProductLoad)) {\n totalHourlyLoad += getNumericValue(totalProductLoad);\n }\n if (hasValue(totalMiscLoad)) {\n totalHourlyLoad += getNumericValue(totalMiscLoad);\n }\n\n if (totalHourlyLoad > 0) {\n return totalHourlyLoad;\n }\n\n return undefined;\n};\n\nexport const calculateTotalLoadRequired = (\n safetyFactor: measure,\n totalHourlyLoad: measure\n): measure => {\n if (!hasValue(safetyFactor)\n || !hasValue(totalHourlyLoad)\n ) {\n return undefined;\n }\n\n const totalLoadRequired = getNumericValue(totalHourlyLoad) * (1 + (getNumericValue(safetyFactor) / 100));\n\n if (totalLoadRequired > 0) {\n return totalLoadRequired;\n }\n\n return undefined;\n};\n\nexport const calculateCapacityRequired = (\n totalLoadRequired: measure,\n runTimeHours: measure\n): measure => {\n if (!hasValue(totalLoadRequired)\n || !hasValue(runTimeHours)\n ) {\n return undefined;\n }\n\n const capacityRequired = getNumericValue(totalLoadRequired) * 24 / getNumericValue(runTimeHours);\n\n if (capacityRequired > 0) {\n return capacityRequired;\n }\n\n return undefined;\n};\n\nexport const calculateLoadPercentage = (\n system: ISystem\n) => {\n const {totalWallLoad, totalInfiltrationLoad, totalProductLoad, totalMiscLoad} = system;\n \n let wallLoad: measure = 0;\n let infiltrationLoad: measure = 0;\n let productLoad:measure = 0;\n let miscLoad: measure = 0;\n\n const total = (totalWallLoad ?? 0) + (totalInfiltrationLoad ?? 0) + (totalProductLoad ?? 0) + (totalMiscLoad ?? 0);\n\n if (totalWallLoad && total) {\n wallLoad = roundOff(totalWallLoad / total * 100, 0);\n }\n\n if (totalInfiltrationLoad && total) {\n infiltrationLoad = roundOff(totalInfiltrationLoad / total * 100, 0);\n }\n\n if (totalProductLoad && total) {\n productLoad = roundOff(totalProductLoad / total * 100, 0);\n }\n\n if (totalMiscLoad && total) {\n miscLoad = roundOff(totalMiscLoad / total * 100, 0);\n }\n\n return {\n wallLoad,\n infiltrationLoad,\n productLoad,\n miscLoad\n };\n};","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport IEquipmentOption from \"../models/interfaces/IEquipmentOption\";\nimport IEquipmentState from \"../models/interfaces/IEquipmentState\";\nimport IEquipmentUnitItem from \"../models/interfaces/IEquipmentUnitItem\";\nimport IMessage from \"../models/interfaces/IMessage\";\nimport IOpening from \"../models/interfaces/IOpening\";\nimport ISection from \"../models/interfaces/ISection\";\nimport ISystem from \"../models/interfaces/ISystem\";\nimport ISystemState from \"../models/interfaces/ISystemState\";\n\nimport BoxType from \"../enums/BoxType\";\nimport BoxLocation from \"../enums/BoxLocation\";\nimport FloorType from \"../enums/FloorType\";\nimport SectionType from \"../enums/SectionType\";\n\nimport { measure, hasValue, getNumericValue } from \"../types/measure\";\nimport { getCustomValue } from \"../models/helpers/FormFields\";\n\nimport UnitOfMeasure from \"../models/helpers/UnitOfMeasure\";\nimport StorageFacade from \"../services/StorageFacade\";\n\nimport useApplicationConfigs from \"./useApplicationConfigs\";\nimport useApplicationContext from \"./useApplicationContext\";\nimport useBoxContext from \"./useBoxContext\";\nimport useBoxMaterialsContext from \"./useBoxMaterialsContext\";\nimport useBoxSectionForm from \"./useBoxSectionForm\";\nimport useTranslationContext from \"./useTranslationContext\";\n\nimport * as LoadCalculations from \"../models/helpers/LoadCalculations\";\n\nconst useSystemState = () => {\n\n const { getBoxLocationConfig } = useApplicationConfigs();\n const { getPolygonSections, getDefaultSection, recalculateSection } = useBoxSectionForm();\n\n const { appData } = useApplicationContext();\n const { boxData } = useBoxContext();\n const { boxMaterials } = useBoxMaterialsContext();\n const { translations } = useTranslationContext();\n\n const emptyEquipmentSelection: IEquipmentState = {\n uid: \"\", // can be removed later\n isEditing: false, // redundant, can be removed later\n isCUAmbientTempVisible: false, // unnecessary, can be removed later\n isCondensingTempVisible: false, // unnecessary, can be removed later\n equipmentTypes: [], // unnecessary, can be removed later\n refrigerants: [], // unnecessary, can be removed later\n siteLineFrequencies: [], // unnecessary, can be removed later\n defaultValues: null, // unnecessary, can be removed later\n interiorTemperature: null, // redundant, can be removed later\n safetyFactor: null, // redundant, can be removed later\n systemRunTime: null, // redundant, can be removed later\n totalHourlyLoad: null, // redundant, can be removed later\n hourlyLoadRequired: null, // redundant, can be removed later\n capacityRequired: null, // redundant, can be removed later\n modalState: false, // unnecessary, can be removed later\n divisionId: 0, // redundant, can be removed later\n boxApplicationId: null, // redundant, can be removed later\n boxApplicationName: \"\", // redundant, can be removed later\n equipmentOnly: false,\n equipmentType: null,\n refrigerant: null,\n siteLineFrequency: null,\n condensingUnitAmbientTemperature: null,\n condensingTemperature: null,\n designTd: null,\n suctionLineLoss: null,\n tdPlus: null,\n tdMinus: null,\n condenserQuantity: 1,\n evaporatorQuantity: 1,\n condenserUnitCount: 1,\n evaporatorUnitCount: 1, \n isCondenserPrimary: null,\n isPrimaryReloaded: false,\n isMatchedReloaded: false,\n condenserModelIdFilter: null,\n condenserClass9IdFilter: null,\n evaporatorModelIdFilter: null,\n evaporatorClass9IdFilter: null,\n selectedCondenserClass9Id: null, // unnecessary, can be removed later\n selectedCondenserCapacityPerUnit: null, // unnecessary, can be removed later\n selectedCondenserOptionList: [],\n selectedCondenserUnit: null,\n selectedCondenserAttributes: null,\n selectedEvaporatorClass9Id: null, // unnecessary, can be removed later\n selectedEvaporatorCapacityPerUnit: null, // unnecessary, can be removed later\n selectedEvaporatorOptionList: [],\n selectedEvaporator: null,\n selectedEvaporatorAttributes: null,\n systemBalanced: false,\n sstBalance: undefined,\n tdBalance: undefined,\n totalSystemCapacity: undefined\n };\n\n const emptySystem: ISystem = {\n isEditing: false,\n requireAwef: false,\n systemName: null,\n systemDescription: null,\n boxApplicationId: null,\n boxApplicationName: null,\n interiorTemperature: null,\n exteriorTemperature: null,\n interiorHumidity: null,\n exteriorHumidity: null,\n boxLength: null,\n boxLength2: null,\n boxLength3: null,\n boxDepth: null,\n boxDepth2: null,\n boxDepth3: null,\n boxHeight: null,\n floorType: null,\n boxLocation: null,\n boxType: null,\n safetyFactor: null,\n runTimeHours: null,\n totalHourlyLoad: null,\n totalLoadRequired: null,\n capacityRequired: null,\n totalWallLoad: null,\n totalProductLoad: null,\n totalInfiltrationLoad: null,\n totalMiscLoad: null,\n wallLoad: {\n boxSections: null,\n floorArea: null,\n volume: null\n },\n productLoad: null,\n infiltrationLoad: null,\n miscLoad: null,\n boxDesign: {\n floorArea: null,\n volume: null,\n totalInfiltrationLoad: null\n },\n equipmentSelection: emptyEquipmentSelection\n };\n\n const emptySystemState: ISystemState = {\n store: StorageFacade.loadCalcSystem ?? emptySystem,\n formState: {\n defaultValues: emptySystem,\n actualValues: emptySystem\n }\n };\n\n const validateBox = (\n system: ISystem\n ): IMessage[] => {\n\n const errors: IMessage[] = [];\n\n if (system.boxType === BoxType.Rectangular) { \n if (!hasValue(system.boxHeight)) {\n errors.push({\n name: \"boxHeight\",\n text: translations.heightIsARequiredValue_\n });\n }\n\n if (!hasValue(system.boxLength)) {\n errors.push({\n name: \"boxLength\",\n text: translations.length_IsARequiredValue_.replace(\"1\", \"\")\n });\n }\n\n if (!hasValue(system.boxDepth)) {\n errors.push({\n name: \"boxDepth\",\n text: translations.depth_IsARequiredValue_.replace(\"1\", \"\")\n });\n }\n }\n\n if (system.boxType === BoxType.LShape\n || system.boxType === BoxType.UShape\n ) { \n if (!hasValue(system.boxHeight)) {\n errors.push({\n name: \"boxHeight\",\n text: translations.heightIsARequiredValue_\n });\n }\n\n if (!hasValue(system.boxLength)) {\n errors.push({\n name: \"boxLength\",\n text: translations.length_IsARequiredValue_.replace(`${translations.length} 1`, translations.rear)\n });\n }\n\n if (!hasValue(system.boxDepth)) {\n errors.push({\n name: \"boxDepth\",\n text: translations.depth_IsARequiredValue_.replace(`${translations.depth} 1`, translations.rightEnd)\n });\n }\n }\n\n if (!hasValue(system.interiorTemperature)) {\n errors.push({\n name: \"interiorTemperature\",\n text: translations.theInternalTemperatureIsNotEntered_\n });\n }\n else if (getNumericValue(system.interiorTemperature) < (boxData?.boxTempMin ?? -100)) {\n errors.push({\n name: \"interiorTemperature\",\n text: translations.theInternalTemperatureIsTooLowForTheSelectedApplication_\n });\n }\n else if (getNumericValue(system.interiorTemperature) > (boxData?.boxTempMax ?? 150)) {\n errors.push({\n name: \"interiorTemperature\",\n text: translations.theInternalTemperatureIsTooHighForTheSelectedApplication_\n });\n }\n else if (hasValue(system.exteriorTemperature)) {\n if (getNumericValue(system.interiorTemperature) > getNumericValue(system.exteriorTemperature)) { // warning\n errors.push({\n name: \"interiorTemperature\", \n text: translations.theExternalTemperatureIsLowerThanTheInternalTemperature_\n });\n }\n }\n \n if (!hasValue(system.exteriorTemperature)) {\n errors.push({\n name: \"exteriorTemperature\",\n text: translations.theExternalTemperatureIsNotEntered_\n });\n }\n else if (getNumericValue(system.exteriorTemperature) < -100) {\n errors.push({\n name: \"exteriorTemperature\",\n text: translations.theExternalTemperatureIsTooLow_\n });\n }\n else if (getNumericValue(system.exteriorTemperature) > 150) {\n errors.push({\n name: \"exteriorTemperature\",\n text: translations.theExternalTemperatureIsTooHigh_\n });\n }\n else if (hasValue(system.interiorTemperature)) {\n if (getNumericValue(system.exteriorTemperature) < getNumericValue(system.interiorTemperature)) { // warning\n errors.push({\n name: \"exteriorTemperature\", \n text: translations.theExternalTemperatureIsLowerThanTheInternalTemperature_\n });\n }\n }\n\n if (!hasValue(system.exteriorHumidity)) {\n errors.push({\n name: \"exteriorHumidity\", \n text: translations.theExternalRelativeHumidityNotEntered_\n });\n }\n else if (getNumericValue(system.exteriorHumidity) < (appData.BOX?.ExternalRH?.Min.value ?? 0)) {\n errors.push({\n name: \"exteriorHumidity\", \n text: `${translations.theExternalRelativeHumidityMustBeGreaterThan} ${appData.BOX?.ExternalRH?.Min.value ?? 0} !`\n });\n }\n else if (getNumericValue(system.exteriorHumidity) > (appData.BOX?.ExternalRH?.Max.value ?? 100)) {\n errors.push({\n name: \"exteriorHumidity\", \n text: `${translations.theExternalRelativeHumidityMustBeLessThan___} ${appData.BOX?.ExternalRH?.Max.value ?? 0} !`\n });\n }\n\n if (!hasValue(system.interiorHumidity)) {\n errors.push({\n name: \"interiorHumidity\", \n text: translations.theInternalRelativeHumidityNotEntered_\n });\n }\n else if (getNumericValue(system.interiorHumidity) < (boxData?.boxRHMin ?? 50)) {\n errors.push({\n name: \"interiorHumidity\", \n text: `${translations.theInternalRelativeHumidityMustBeGreaterThan} ${boxData?.boxRHMin ?? 50} !`\n });\n }\n else if (getNumericValue(system.interiorHumidity) > (boxData?.boxRHMax ?? 90)) {\n errors.push({\n name: \"interiorHumidity\", \n text: `${translations.theInternalRelativeHumidityMustBeLessThan} ${boxData?.boxRHMax ?? 90} !`\n });\n }\n\n if (!hasValue(system.boxType)\n || system.boxType === BoxType.Undefined\n ) {\n errors.push({\n name: \"boxType\", \n text: translations.theBoxTypeMustBeSelected_\n });\n }\n\n let hasSectionErrors = false;\n let openingsCount = 0;\n\n system.wallLoad.boxSections?.forEach(s => {\n hasSectionErrors = hasSectionErrors || s.errors !== undefined && s.errors.length > 0;\n openingsCount += s.openings?.length ?? 0;\n });\n\n if (openingsCount > 0\n && !hasValue(system.boxDesign.totalInfiltrationLoad)\n ) {\n errors.push({\n name: \"totalInfiltrationLoad\", \n text: translations.theTotalInfiltrationLoadIsNotCalculatedOrEntered_\n });\n }\n\n if (hasSectionErrors) {\n errors.push({\n name: \"totalWallLoad\", \n text: translations.atLeastOneSectionHasErrors_\n });\n }\n \n return errors;\n };\n\n const validateWallLoad = (\n system: ISystem\n ): IMessage[] => {\n const errors: IMessage[] = [];\n\n if (system.boxType === BoxType.LShape\n || system.boxType === BoxType.UShape\n ) {\n if (!hasValue(system.boxLength2)) {\n errors.push({\n name: \"boxLength2\",\n text: translations.length_IsARequiredValue_.replace(`${translations.length} 1`, translations.front)\n });\n }\n\n if (!hasValue(system.boxDepth2)) {\n errors.push({\n name: \"boxDepth2\",\n text: translations.depth_IsARequiredValue_.replace(`${translations.depth} 1`, translations.leftCut)\n });\n }\n }\n\n if (system.boxType === BoxType.UShape) {\n if (!hasValue(system.boxLength3)) {\n errors.push({\n name: \"boxLength3\",\n text: translations.length_IsARequiredValue_.replace(`${translations.length} 1`, translations.frontInset)\n });\n }\n\n if (!hasValue(system.boxDepth3)) {\n errors.push({\n name: \"boxDepth3\",\n text: translations.depth_IsARequiredValue_.replace(`${translations.depth} 1`, translations.leftInset)\n });\n }\n }\n\n if (!hasValue(system.wallLoad.floorArea)) {\n errors.push({\n name: \"floorArea\", \n text: translations.theFloorAreaIsNotCalculatedOrEntered_\n });\n }\n\n if (!hasValue(system.wallLoad.volume)) {\n errors.push({\n name: \"volume\", \n text: translations.theTotalVolumeIsNotCalculatedOrEntered_\n });\n }\n\n if (!hasValue(system.totalWallLoad)) {\n errors.push({\n name: \"totalWallLoad\", \n text: translations.theLoadIsNotCalculatedOrEntered_\n });\n }\n\n const boxErrors = validateBox(system);\n\n return [\n ...errors,\n ...boxErrors\n ];\n }\n\n const validateEquipment = (\n system: ISystem\n ): IMessage[] => {\n const errors: IMessage[] = [];\n\n if (system.equipmentSelection.selectedCondenserUnit\n && system.equipmentSelection.selectedEvaporator) {\n if (!system.equipmentSelection.systemBalanced) {\n errors.push({\n name: \"systemBalanced\",\n text: translations.systemIsNotBalanced_\n });\n }\n else if (getNumericValue(system.equipmentSelection.tdBalance) < (boxData?.evapTdMin ?? 0)) {\n errors.push({\n name: \"tdBalance\",\n text: translations.evapTDIsTooLowForTheSelectedApplication_\n });\n }\n else if (getNumericValue(system.equipmentSelection.tdBalance) > (boxData?.evapTdMax ?? 1000)) {\n errors.push({\n name: \"tdBalance\",\n text: translations.evapTDIsTooHighForTheSelectedApplication_\n });\n }\n }\n\n return errors;\n }\n\n const validateEquipmentFilters = (\n system: ISystem\n ): IMessage[] => {\n\n const errors: IMessage[] = [];\n\n if (hasValue(system.runTimeHours)) {\n if (getNumericValue(system.runTimeHours) < 1) {\n errors.push({\n name: \"runTimeHours\", \n text: translations.systemRunTimeMustBeGreaterThanOneHour_\n });\n }\n else if (getNumericValue(system.runTimeHours) > 24) {\n errors.push({\n name: \"runTimeHours\", \n text: translations.systemRunTimeMustBeLessThanTwentyfourHours_\n });\n }\n }\n \n if (!hasValue(system.equipmentSelection.suctionLineLoss)) {\n errors.push({\n name: \"suctionLineLoss\",\n text: translations.theSystemLineLossIsNotEntered_\n });\n }\n else if (getNumericValue(system.equipmentSelection.suctionLineLoss) < 0) {\n errors.push({\n name: \"suctionLineLoss\",\n text: translations.theSystemLineLossIsTooLow_\n });\n }\n else if (getNumericValue(system.equipmentSelection.suctionLineLoss) > 5) {\n errors.push({\n name: \"suctionLineLoss\",\n text: translations.theSystemLineLossIsTooHigh_\n });\n }\n\n return errors;\n };\n\n const validateEquipmentSelector = (\n system: ISystem\n ): IMessage[] => {\n \n const equipmentFiltersErrors = validateEquipmentFilters(system);\n const equipmentErrors = validateEquipment(system);\n\n return [\n ...equipmentFiltersErrors,\n ...equipmentErrors\n ];\n };\n\n const validateLoadCalc = (\n system: ISystem\n ): IMessage[] => {\n const errors: IMessage[] = [];\n\n if (hasValue(system.runTimeHours)) {\n if (getNumericValue(system.runTimeHours) < 1) {\n errors.push({\n name: \"runTimeHours\", \n text: translations.systemRunTimeMustBeGreaterThanOneHour_\n });\n }\n else if (getNumericValue(system.runTimeHours) > 24) {\n errors.push({\n name: \"runTimeHours\", \n text: translations.systemRunTimeMustBeLessThanTwentyfourHours_\n });\n }\n }\n\n if (system.boxType !== BoxType.Undefined) {\n if (!hasValue(system.totalProductLoad)) {\n errors.push({\n name: \"totalProductLoad\", \n text: translations.noTotalProductLoadHasBeenCalculatedOrEntered_\n });\n }\n }\n\n const equipmentErrors = validateEquipment(system);\n\n const boxErrors = validateBox(system);\n\n return [\n ...boxErrors,\n ...errors,\n ...equipmentErrors\n ];\n }\n\n const getBoxDefaultSystem = (\n boxApplicationData: any\n ) => {\n\n if (appData && boxApplicationData) {\n const systemName = boxApplicationData.name;\n const systemDescription = boxApplicationData.description;\n\n const boxLocationId = BoxLocation.Indoors;\n const boxLocation = getBoxLocationConfig(boxLocationId);\n\n const boxType = BoxType.Undefined;\n\n const floorType = boxApplicationData.isBoxFreezer && boxApplicationData.frostHeave === \"Y\"\n ? FloorType.OnGradeHeated\n : FloorType.OnGrade;\n\n const interiorTemperature = boxApplicationData.boxTemp;\n \n const exteriorTemperature = boxLocation.defaultExternalTemperature;\n const exteriorHumidity = boxLocation.defaultExternalHumidity;\n\n // when RH_TD >= 0, it represents RH, otherwise it represents TD\n let interiorHumidity = boxApplicationData.rH_TD;\n let designTd = UnitOfMeasure.TDatRH(boxApplicationData.rH_TD);\n\n if (boxApplicationData.rH_TD < 0) {\n interiorHumidity = appData.BOX?.FreezerInternalRH_Default?.value;\n designTd = 0 - boxApplicationData.rH_TD;\n }\n\n const safetyFactor = appData.SYSTEM?.SafetyFactor?.Default?.value;\n\n const condensingUnitAmbientTemperature = appData.EQUIPMENT?.CondensorAmbient?.value;\n const condensingTemperature = appData.EQUIPMENT?.CondensingTemperature?.value;\n const refrigerant = appData.EQUIPMENT?.RefrigerantID_Default?.value;\n const siteLineFrequency = appData.EQUIPMENT?.DefaultLineFrequency?.value;\n const suctionLineLoss = appData.EQUIPMENT?.LineLoss?.Default?.value;\n const tdPlus = appData.EQUIPMENT?.TDE?.Over?.value;\n const tdMinus = appData.EQUIPMENT?.TDE?.Under?.value;\n \n const boxDefaultSystem: ISystem = {\n ...emptySystem,\n isEditing: false,\n systemName,\n systemDescription,\n boxApplicationId: boxApplicationData.id,\n boxApplicationName: systemName,\n floorType,\n boxLocation: boxLocationId,\n boxType,\n interiorTemperature,\n exteriorTemperature,\n interiorHumidity,\n exteriorHumidity,\n safetyFactor,\n equipmentSelection: {\n ...emptySystemState.formState.defaultValues.equipmentSelection,\n equipmentType: \"Condensing Units-Air\",\n refrigerant,\n siteLineFrequency,\n condensingUnitAmbientTemperature,\n condensingTemperature,\n designTd,\n suctionLineLoss,\n tdPlus,\n tdMinus,\n divisionId: +StorageFacade.divisionId,\n boxApplicationId: boxApplicationData.id,\n boxApplicationName: systemName,\n interiorTemperature,\n safetyFactor\n }\n };\n\n return boxDefaultSystem;\n }\n \n return emptySystem;\n };\n\n const getDefaultStoreSections = (\n boxType: BoxType | null,\n systemActualValues: ISystem\n ): ISection[] | null => {\n const storeSections = getPolygonSections(\n boxType,\n systemActualValues.floorType,\n systemActualValues.boxLocation,\n systemActualValues.boxLength,\n systemActualValues.boxLength2,\n systemActualValues.boxLength3,\n systemActualValues.boxDepth,\n systemActualValues.boxDepth2,\n systemActualValues.boxDepth3,\n systemActualValues.boxHeight,\n systemActualValues.exteriorTemperature,\n systemActualValues.interiorTemperature,\n systemActualValues.exteriorHumidity);\n\n if (!storeSections || storeSections.length === 0) {\n return null;\n }\n\n return storeSections.map(s => {\n return {\n sectionType: s.sectionType,\n wallType: s.wallType,\n radians: s.radians,\n sectionName: s.sectionName,\n isModified: false,\n isCustom: false,\n materialId: null,\n materialName: null,\n thickness: null,\n kFactor: null,\n rValuePerInch: null,\n rValueEffective: null,\n exteriorTemperature: null,\n exteriorHumidity: null,\n dimension1: null,\n dimension2: null,\n area: null,\n areaWithoutOpenings: null,\n conductionLoad: null,\n conductionLoadWithoutOpenings: null,\n sectionLocation: null,\n floorType: null\n };\n });\n };\n\n const getBoxSections = (\n storeSections: ISection[] | null | undefined,\n boxTypeId: BoxType,\n boxFloorType: FloorType,\n boxLocation: BoxLocation,\n boxLength: measure,\n boxLength2: measure,\n boxLength3: measure,\n boxDepth: measure,\n boxDepth2: measure,\n boxDepth3: measure,\n boxHeight: measure,\n boxExteriorTemperature: measure,\n boxInteriorTemperature: measure,\n boxExteriorHumidity: measure,\n boxInteriorHumidity: measure\n ) => {\n const boxSections = [] as ISection[];\n \n // For each box section in the local storage, recalculate the fields based on custom values from local storage and box default values. \n\n storeSections?.forEach(storeSection => {\n\n const section = {...storeSection};\n\n const defaultSection = getDefaultSection(\n boxTypeId,\n section.sectionType,\n section.wallType,\n section.radians,\n section.isCustom,\n boxLocation,\n boxFloorType,\n boxLength,\n boxLength2,\n boxLength3,\n boxDepth,\n boxDepth2,\n boxDepth3,\n boxHeight, \n boxExteriorTemperature,\n boxExteriorHumidity,\n boxInteriorTemperature);\n\n const sectionFormState = recalculateSection(\n {\n defaultValues: defaultSection,\n actualValues: section\n },\n null,\n boxLocation,\n boxFloorType,\n boxHeight,\n boxDepth,\n boxDepth2,\n boxDepth3,\n boxLength,\n boxLength2,\n boxLength3,\n boxTypeId,\n boxExteriorTemperature,\n boxExteriorHumidity,\n boxInteriorTemperature,\n boxInteriorHumidity);\n\n const recalculatedSection = sectionFormState.actualValues;\n\n boxSections.push(recalculatedSection);\n });\n\n return boxSections;\n };\n\n const getConstructions = () => {\n const firstMaterialId = boxMaterials.filter(m => !m.isConstruct).map(m => m.id).sort((a, b) => a - b)[0];\n const lastMaterialId = boxMaterials.filter(m => !m.isConstruct).map(m => m.id).sort((a, b) => b - a)[0];\n const constructions = boxMaterials.filter(m => m.isConstruct && (m.id < firstMaterialId || m.id > lastMaterialId));\n \n return constructions;\n };\n \n const recalculateSystem = (\n state: ISystemState,\n boxApplicationData?: any\n ): ISystemState => {\n\n // Get default values based on box application id.\n // These are the box-specific constants used as default values in a system.\n // By default, it gets box data from BoxContext.\n // To use another box, pass the boxApplicationData parameter.\n const boxDefaultSystem = getBoxDefaultSystem(boxApplicationData ?? boxData);\n \n // Build system state based on customs and defaults.\n // This system state will be stored in a system context. Think of this as a cached global state, which can be accessed by any component.\n // ISystemState has store (contains the custom values which will be saved in the local storage) and formState (contains default values and actual values to display in the UI).\n\n // The following system properties do not change.\n const {boxApplicationId} = boxDefaultSystem;\n const boxApplicationName = boxDefaultSystem.systemName;\n\n // The following properties are either customs or empty strings:\n const systemName = state.store.systemName ?? boxDefaultSystem.systemName;\n const systemDescription = state.store.systemDescription ?? boxDefaultSystem.systemDescription;\n \n // The following properties are either customs or box defaults.\n const floorType = state.store.floorType ?? (boxDefaultSystem.floorType ?? FloorType.None);\n const boxType = state.store.boxType ?? (boxDefaultSystem.boxType ?? BoxType.Undefined);\n const interiorTemperature = state.store.interiorTemperature ?? boxDefaultSystem.interiorTemperature;\n const interiorHumidity = state.store.interiorHumidity ?? boxDefaultSystem.interiorHumidity;\n const boxLength = state.store.boxLength ?? boxDefaultSystem.boxLength;\n const boxLength2 = state.store.boxLength2 ?? boxDefaultSystem.boxLength2;\n const boxLength3 = state.store.boxLength3 ?? boxDefaultSystem.boxLength3;\n const boxDepth = state.store.boxDepth ?? boxDefaultSystem.boxDepth;\n const boxDepth2 = state.store.boxDepth2 ?? boxDefaultSystem.boxDepth2;\n const boxDepth3 = state.store.boxDepth3 ?? boxDefaultSystem.boxDepth3;\n const boxHeight = state.store.boxHeight ?? boxDefaultSystem.boxHeight;\n const safetyFactor = state.store.safetyFactor ?? boxDefaultSystem.safetyFactor;\n \n const boxLocationId = state.store.boxLocation ?? (boxDefaultSystem.boxLocation ?? BoxLocation.Indoors);\n const boxLocation = getBoxLocationConfig(boxLocationId); // Get box location configurations.\n\n // The rest are properties that are either customs or calculated.\n\n const calculatedRunTimeHours = LoadCalculations.calculateRunTimeHours(interiorTemperature, appData.SYSTEM?.RunTime);\n const runTimeHours = state.store.runTimeHours ?? calculatedRunTimeHours;\n\n const defaultExteriorTemperature = boxLocation.defaultExternalTemperature ?? boxDefaultSystem.exteriorTemperature;\n const defaultExteriorHumidity = boxLocation.defaultExternalHumidity ?? boxDefaultSystem.exteriorHumidity;\n\n const exteriorTemperature = state.store.exteriorTemperature ?? defaultExteriorTemperature;\n const exteriorHumidity = state.store.exteriorHumidity ?? defaultExteriorHumidity;\n\n const boxSections = getBoxSections(\n state.store.wallLoad.boxSections,\n boxType,\n floorType,\n boxLocationId,\n boxLength,\n boxLength2,\n boxLength3,\n boxDepth,\n boxDepth2,\n boxDepth3,\n boxHeight,\n exteriorTemperature,\n interiorTemperature,\n exteriorHumidity,\n interiorHumidity);\n\n const constructions = getConstructions();\n\n const calculatedTotalWallLoad = LoadCalculations.calculateTotalWallLoad(boxSections);\n const totalWallLoad = state.store.totalWallLoad ?? calculatedTotalWallLoad;\n \n const calculatedFloorArea = LoadCalculations.calculateFloorArea(boxSections);\n const floorArea = state.store.wallLoad.floorArea ?? calculatedFloorArea;\n \n const hasCustomSection = boxSections.some(a => a.sectionType === SectionType.FloorCustom || a.sectionType === SectionType.WallCustom || a.sectionType === SectionType.CeilingCustom);\n const calculatedVolume = LoadCalculations.calculateVolume(floorArea, boxHeight, hasCustomSection);\n const volume = state.store.wallLoad.volume ?? calculatedVolume;\n \n const openingsTotalInfiltrationLoad = LoadCalculations.calculateOpeningsTotalInfiltrationLoad(boxSections);\n \n const totalMiscLoad = state.store.totalMiscLoad ?? state.formState.defaultValues.totalMiscLoad;\n const totalInfiltrationLoad = state.store.totalInfiltrationLoad ?? state.formState.defaultValues.totalInfiltrationLoad;\n const totalProductLoad = state.store.totalProductLoad ?? state.formState.defaultValues.totalProductLoad;\n\n const calculatedTotalHourlyLoad = LoadCalculations.calculateTotalHourlyLoad(\n totalWallLoad,\n totalInfiltrationLoad,\n totalProductLoad,\n totalMiscLoad);\n const totalHourlyLoad = state.store.totalHourlyLoad ?? calculatedTotalHourlyLoad;\n\n const calculatedTotalLoadRequired = LoadCalculations.calculateTotalLoadRequired(\n safetyFactor,\n totalHourlyLoad);\n const totalLoadRequired = state.store.totalLoadRequired ?? calculatedTotalLoadRequired;\n \n const calculatedCapacityRequired = LoadCalculations.calculateCapacityRequired(\n totalLoadRequired,\n runTimeHours);\n const defaultCapacityRequired = calculatedCapacityRequired ?? boxDefaultSystem.capacityRequired;\n const capacityRequired = state.store.capacityRequired ?? defaultCapacityRequired;\n\n // Equipment selection values\n const equipmentSelection: IEquipmentState = {\n ...state.store.equipmentSelection,\n condenserQuantity: state.store.equipmentSelection.condenserQuantity ?? boxDefaultSystem.equipmentSelection.condenserQuantity,\n condenserUnitCount: state.store.equipmentSelection.condenserUnitCount ?? boxDefaultSystem.equipmentSelection.condenserUnitCount,\n evaporatorQuantity: state.store.equipmentSelection.evaporatorQuantity ?? boxDefaultSystem.equipmentSelection.evaporatorQuantity,\n evaporatorUnitCount: state.store.equipmentSelection.evaporatorUnitCount ?? boxDefaultSystem.equipmentSelection.evaporatorUnitCount,\n equipmentType: state.store.equipmentSelection.equipmentType ?? boxDefaultSystem.equipmentSelection.equipmentType,\n refrigerant: state.store.equipmentSelection.refrigerant ?? boxDefaultSystem.equipmentSelection.refrigerant,\n siteLineFrequency: state.store.equipmentSelection.siteLineFrequency ?? boxDefaultSystem.equipmentSelection.siteLineFrequency,\n condensingUnitAmbientTemperature: state.store.equipmentSelection.condensingUnitAmbientTemperature ?? boxDefaultSystem.equipmentSelection.condensingUnitAmbientTemperature,\n condensingTemperature: state.store.equipmentSelection.condensingTemperature ?? boxDefaultSystem.equipmentSelection.condensingTemperature,\n designTd: state.store.equipmentSelection.designTd ?? boxDefaultSystem.equipmentSelection.designTd,\n suctionLineLoss: state.store.equipmentSelection.suctionLineLoss ?? boxDefaultSystem.equipmentSelection.suctionLineLoss,\n tdPlus: state.store.equipmentSelection.tdPlus ?? boxDefaultSystem.equipmentSelection.tdPlus,\n tdMinus: state.store.equipmentSelection.tdMinus ?? boxDefaultSystem.equipmentSelection.tdMinus,\n divisionId: boxDefaultSystem.equipmentSelection.divisionId,\n boxApplicationId,\n boxApplicationName: boxApplicationName ?? \"\",\n interiorTemperature,\n safetyFactor,\n systemRunTime: runTimeHours,\n totalHourlyLoad,\n hourlyLoadRequired: totalLoadRequired,\n capacityRequired\n };\n\n // In case the load calc file does not supply refrigerant/siteLineFrequency, set to default values.\n if (equipmentSelection.refrigerant === 0) {\n equipmentSelection.refrigerant = 4;\n }\n if (equipmentSelection.siteLineFrequency === 0) {\n equipmentSelection.siteLineFrequency = 60;\n }\n\n const actualValues: ISystem = {\n isEditing: state.store.isEditing,\n requireAwef: state.store.requireAwef,\n boxApplicationId,\n boxApplicationName,\n systemName,\n systemDescription,\n floorType,\n boxLocation: boxLocationId,\n boxType,\n interiorTemperature,\n exteriorTemperature,\n interiorHumidity,\n exteriorHumidity,\n boxLength,\n boxLength2,\n boxLength3,\n boxDepth,\n boxDepth2,\n boxDepth3,\n boxHeight,\n safetyFactor,\n runTimeHours,\n totalWallLoad,\n totalProductLoad,\n totalInfiltrationLoad,\n totalMiscLoad,\n totalHourlyLoad,\n totalLoadRequired,\n capacityRequired,\n wallLoad: {\n boxSections,\n floorArea,\n volume,\n constructions\n }, \n productLoad: state.formState.actualValues.productLoad, // state.store.productLoad,\n infiltrationLoad: state.formState.actualValues.infiltrationLoad, // state.store.infiltrationLoad,\n miscLoad: state.formState.actualValues.miscLoad, // state.store.miscLoad,\n boxDesign: {\n floorArea,\n volume,\n totalInfiltrationLoad: openingsTotalInfiltrationLoad\n },\n equipmentSelection\n };\n \n const defaultValues: ISystem = {\n ...boxDefaultSystem,\n exteriorTemperature: defaultExteriorTemperature,\n exteriorHumidity: defaultExteriorHumidity,\n runTimeHours: calculatedRunTimeHours,\n totalWallLoad: calculatedTotalWallLoad,\n wallLoad: {\n boxSections: null,\n floorArea: calculatedFloorArea,\n volume: calculatedVolume\n },\n totalHourlyLoad: calculatedTotalHourlyLoad,\n totalLoadRequired: calculatedTotalLoadRequired,\n capacityRequired: defaultCapacityRequired,\n totalProductLoad: state.formState.defaultValues.totalProductLoad,\n totalInfiltrationLoad: state.formState.defaultValues.totalInfiltrationLoad,\n totalMiscLoad: state.formState.defaultValues.totalMiscLoad\n };\n\n const errors = validateLoadCalc(actualValues);\n\n return {\n formState: {\n defaultValues,\n actualValues: {\n ...actualValues,\n errors\n }\n },\n store: {\n ...state.store,\n wallLoad: {\n ...state.store.wallLoad,\n constructions\n },\n boxDesign: {\n ...actualValues.boxDesign // This should always have values. Data here is needed to calculate product, infilitration and misc loads.\n },\n equipmentSelection: {\n ...equipmentSelection,\n designTd: actualValues.equipmentSelection.designTd === defaultValues.equipmentSelection.designTd ? null : actualValues.equipmentSelection.designTd,\n suctionLineLoss: actualValues.equipmentSelection.suctionLineLoss === defaultValues.equipmentSelection.suctionLineLoss ? null : actualValues.equipmentSelection.suctionLineLoss,\n condensingTemperature: actualValues.equipmentSelection.condensingTemperature === defaultValues.equipmentSelection.condensingTemperature ? null : actualValues.equipmentSelection.condensingTemperature,\n condensingUnitAmbientTemperature: actualValues.equipmentSelection.condensingUnitAmbientTemperature === defaultValues.equipmentSelection.condensingUnitAmbientTemperature ? null : actualValues.equipmentSelection.condensingUnitAmbientTemperature\n }\n }\n };\n };\n\n const recalculateLoads = (\n state: ISystemState,\n calculatedTotalMiscLoad: measure, \n calculatedTotalInfiltrationLoad: measure,\n calculatedTotalProductLoad: measure,\n miscLoad: any,\n infiltrationLoad: any,\n productLoad: any\n ): ISystemState => {\n\n const totalMiscLoad = state.store.totalMiscLoad ?? calculatedTotalMiscLoad;\n const totalInfiltrationLoad = state.store.totalInfiltrationLoad ?? calculatedTotalInfiltrationLoad;\n const totalProductLoad = state.store.totalProductLoad ?? calculatedTotalProductLoad;\n\n const calculatedTotalHourlyLoad = LoadCalculations.calculateTotalHourlyLoad(\n state.formState.actualValues.totalWallLoad,\n totalInfiltrationLoad,\n totalProductLoad,\n totalMiscLoad);\n const totalHourlyLoad = state.store.totalHourlyLoad ?? calculatedTotalHourlyLoad;\n\n const calculatedTotalLoadRequired = LoadCalculations.calculateTotalLoadRequired(\n state.formState.actualValues.safetyFactor,\n totalHourlyLoad);\n const totalLoadRequired = state.store.totalLoadRequired ?? calculatedTotalLoadRequired;\n \n const calculatedCapacityRequired = LoadCalculations.calculateCapacityRequired(\n totalLoadRequired,\n state.formState.actualValues.runTimeHours);\n const defaultCapacityRequired = calculatedCapacityRequired ?? state.formState.defaultValues.capacityRequired;\n const capacityRequired = state.store.capacityRequired ?? defaultCapacityRequired;\n\n const actualValues: ISystem = {\n ...state.formState.actualValues,\n totalProductLoad,\n totalInfiltrationLoad,\n totalMiscLoad,\n miscLoad,\n infiltrationLoad,\n productLoad,\n totalHourlyLoad,\n totalLoadRequired,\n capacityRequired\n };\n\n const defaultValues: ISystem = {\n ...state.formState.defaultValues,\n totalProductLoad: calculatedTotalProductLoad,\n totalInfiltrationLoad: calculatedTotalInfiltrationLoad,\n totalMiscLoad: calculatedTotalMiscLoad,\n totalHourlyLoad: calculatedTotalHourlyLoad,\n totalLoadRequired: calculatedTotalLoadRequired,\n capacityRequired: defaultCapacityRequired\n };\n\n const errors = validateLoadCalc(actualValues);\n\n return {\n formState: {\n defaultValues,\n actualValues: {\n ...actualValues,\n errors\n }\n },\n store: {\n ...state.store,\n equipmentSelection: {\n ...state.store.equipmentSelection,\n totalHourlyLoad,\n hourlyLoadRequired: totalLoadRequired,\n capacityRequired\n }\n }\n };\n };\n\n const setInitialState = (): ISystemState => {\n return recalculateSystem({\n ...emptySystemState,\n store: StorageFacade.loadCalcSystem ?? emptySystem\n });\n };\n\n const resetState = (\n state: ISystemState,\n boxApplicationId: number,\n isEquipmentOnly: boolean,\n requireAwef: boolean\n ): ISystemState => {\n\n const systemStore: ISystem = {\n ...emptySystem,\n boxApplicationId,\n requireAwef,\n equipmentSelection: {\n ...emptySystem.equipmentSelection,\n equipmentOnly: isEquipmentOnly\n }\n };\n\n return recalculateSystem({\n ...state,\n store: systemStore\n });\n };\n\n const changeValue = (\n state: ISystemState,\n isEquipmentField: boolean,\n fieldName: string,\n fieldValue: any\n ): ISystemState => {\n\n let systemStore: ISystem = {...state.store};\n\n if (isEquipmentField) {\n let {condenserQuantity, evaporatorQuantity} = systemStore.equipmentSelection;\n if (fieldName === \"condenserQuantity\") {\n condenserQuantity = fieldValue ?? 0;\n } else if (fieldName === \"evaporatorQuantity\") {\n evaporatorQuantity = fieldValue ?? 0;\n }\n \n systemStore = {\n ...systemStore,\n equipmentSelection: {\n ...systemStore.equipmentSelection,\n [fieldName]: fieldValue,\n condenserUnitCount: condenserQuantity,\n evaporatorUnitCount: condenserQuantity * evaporatorQuantity\n }\n };\n }\n else {\n systemStore = {\n ...systemStore,\n [fieldName]: fieldValue\n };\n }\n\n return recalculateSystem({\n ...state,\n store: systemStore\n });\n };\n\n const customizeMeasureProperty = (\n state: ISystemState,\n isEquipmentField: boolean,\n fieldName: string,\n fieldValue: measure\n ): ISystemState => {\n\n let systemStore: ISystem = {...state.store};\n\n if (isEquipmentField) {\n systemStore = {\n ...systemStore,\n equipmentSelection: {\n ...systemStore.equipmentSelection,\n [fieldName]: fieldValue // equipmentSelection should always have actual value\n }\n };\n }\n else {\n const boxType = !systemStore.boxType\n && (fieldName === \"boxLength\"\n || fieldName === \"boxHeight\"\n || fieldName === \"boxDepth\"\n )\n ? BoxType.Rectangular\n : systemStore.boxType;\n\n const customValue = getCustomValue(state.formState, fieldName, fieldValue);\n\n systemStore = {\n ...systemStore,\n [fieldName]: customValue, // save as null if not custom\n boxType,\n wallLoad: {\n ...systemStore.wallLoad,\n boxSections: systemStore.wallLoad.boxSections ?? getDefaultStoreSections(boxType, state.formState.actualValues)\n }\n };\n\n switch(fieldName){\n case \"totalProductLoad\":\n if (systemStore.productLoad) systemStore.productLoad.TotalProductLoad = customValue; \n break;\n case \"totalMiscLoad\":\n if (systemStore.miscLoad) systemStore.miscLoad.TotalMiscLoad = customValue; \n break;\n case \"totalInfiltrationLoad\":\n if (systemStore.infiltrationLoad) systemStore.infiltrationLoad.TotalInfiltrationLoad = customValue; \n break;\n default:\n break;\n }\n }\n\n return recalculateSystem({\n ...state,\n store: systemStore\n });\n };\n\n const customizeWallLoadMeasureProperty = (\n state: ISystemState,\n fieldName: string,\n fieldValue: measure\n ): ISystemState => {\n\n let systemStore: ISystem = {...state.store};\n\n systemStore = {\n ...systemStore,\n wallLoad: {\n ...systemStore.wallLoad,\n floorArea: (fieldName === \"floorArea\")\n ? getCustomValue(state.formState, \"wallLoad.floorArea\", fieldValue)\n : systemStore.wallLoad.floorArea,\n volume: (fieldName === \"volume\")\n ? getCustomValue(state.formState, \"wallLoad.volume\", fieldValue)\n : systemStore.wallLoad.volume,\n boxSections: systemStore.wallLoad.boxSections ?? getDefaultStoreSections(state.formState.actualValues.boxType, state.formState.actualValues)\n }\n };\n\n return recalculateSystem({\n ...state,\n store: systemStore\n });\n };\n\n const resetBoxType = (\n state: ISystemState,\n boxType: BoxType\n ): ISystemState => {\n\n const systemStore: ISystem = {\n ...state.store,\n boxType,\n wallLoad: {\n ...state.store.wallLoad,\n boxSections: getDefaultStoreSections(boxType, state.formState.actualValues)\n }\n };\n\n return recalculateSystem({\n ...state,\n store: systemStore\n });\n };\n\n const clearEquipmentSelections = (\n state: ISystemState\n ): ISystemState => {\n\n const clearedEquipmentSelection = {\n isCondenserPrimary: null,\n condenserModelIdFilter: null,\n condenserClass9IdFilter: null,\n evaporatorModelIdFilter: null,\n evaporatorClass9IdFilter: null,\n selectedCondenserUnit: null,\n selectedCondenserClass9Id: null,\n selectedCondenserOptionList: [],\n selectedCondenserAttributes: null,\n selectedCondenserCapacityPerUnit: null,\n selectedEvaporator: null,\n selectedEvaporatorClass9Id: null,\n selectedEvaporatorOptionList: [],\n selectedEvaporatorAttributes: null,\n selectedEvaporatorCapacityPerUnit: null,\n systemBalanced: true,\n sstBalance: undefined,\n tdBalance: undefined,\n totalSystemCapacity: undefined\n };\n\n const systemState: ISystemState = {\n formState: {\n ...state.formState,\n actualValues: {\n ...state.formState.actualValues,\n equipmentSelection: {\n ...state.formState.actualValues.equipmentSelection,\n ...clearedEquipmentSelection\n }\n }\n },\n store: {\n ...state.store,\n equipmentSelection: {\n ...state.store.equipmentSelection,\n ...clearedEquipmentSelection\n }\n }\n };\n\n return systemState;\n };\n\n const setSelectedCondenser = (\n state: ISystemState,\n equipment: IEquipmentUnitItem | null,\n selectedOptions: IEquipmentOption[] | null\n ): ISystemState => {\n\n const modelId = equipment ? equipment.modelId : null;\n const class9ID = equipment ? (equipment.class9ID ?? null) : null;\n\n let {isCondenserPrimary, isPrimaryReloaded, isMatchedReloaded, evaporatorModelIdFilter, evaporatorClass9IdFilter} = state.formState.actualValues.equipmentSelection;\n if (equipment\n && state.formState.actualValues.equipmentSelection.isCondenserPrimary === null\n ) {\n isCondenserPrimary = true;\n }\n\n if (isCondenserPrimary) {\n evaporatorModelIdFilter = modelId;\n evaporatorClass9IdFilter = class9ID;\n isPrimaryReloaded = true;\n }\n else {\n isPrimaryReloaded = false;\n isMatchedReloaded = true;\n }\n\n const equipmentSelectedCondenser = {\n selectedCondenserUnit: equipment,\n isCondenserPrimary,\n isPrimaryReloaded,\n isMatchedReloaded,\n evaporatorModelIdFilter,\n evaporatorClass9IdFilter,\n selectedCondenserOptionList: selectedOptions ?? []\n };\n\n const systemState: ISystemState = {\n formState: {\n ...state.formState,\n actualValues: {\n ...state.formState.actualValues,\n equipmentSelection: {\n ...state.formState.actualValues.equipmentSelection,\n ...equipmentSelectedCondenser\n }\n }\n },\n store: {\n ...state.store,\n equipmentSelection: {\n ...state.store.equipmentSelection,\n ...equipmentSelectedCondenser\n }\n }\n };\n\n return systemState;\n };\n\n const setSelectedEvaporator = (\n state: ISystemState,\n equipment: IEquipmentUnitItem | null,\n selectedOptions: IEquipmentOption[] | null\n ): ISystemState => {\n\n const modelId = equipment ? equipment.modelId : null;\n const class9ID = equipment ? (equipment.class9ID ?? null) : null;\n\n let {isCondenserPrimary, isPrimaryReloaded, isMatchedReloaded, condenserModelIdFilter, condenserClass9IdFilter} = state.formState.actualValues.equipmentSelection;\n if (equipment\n && state.formState.actualValues.equipmentSelection.isCondenserPrimary === null\n ) {\n isCondenserPrimary = false;\n }\n\n if (!isCondenserPrimary) {\n condenserModelIdFilter = modelId;\n condenserClass9IdFilter = class9ID;\n isPrimaryReloaded = true;\n }\n else {\n isPrimaryReloaded = false;\n isMatchedReloaded = true;\n }\n\n const equipmentSelectedEvaporator = {\n selectedEvaporator: equipment,\n isCondenserPrimary,\n isPrimaryReloaded,\n isMatchedReloaded,\n condenserModelIdFilter,\n condenserClass9IdFilter,\n selectedEvaporatorOptionList: selectedOptions ?? []\n };\n\n const systemState: ISystemState = {\n formState: {\n ...state.formState,\n actualValues: {\n ...state.formState.actualValues,\n equipmentSelection: {\n ...state.formState.actualValues.equipmentSelection,\n ...equipmentSelectedEvaporator\n }\n }\n },\n store: {\n ...state.store,\n equipmentSelection: {\n ...state.store.equipmentSelection,\n ...equipmentSelectedEvaporator\n }\n }\n };\n\n return systemState;\n };\n\n const setEquipmentBalance = (\n state: ISystemState,\n systemBalanced: boolean,\n sstBalance: number,\n tdBalance: number,\n totalSystemCapacity: number\n ): ISystemState => {\n\n const equipmentBalance = {\n systemBalanced,\n sstBalance,\n tdBalance,\n totalSystemCapacity\n };\n\n const systemState: ISystemState = {\n formState: {\n ...state.formState,\n actualValues: {\n ...state.formState.actualValues,\n equipmentSelection: {\n ...state.formState.actualValues.equipmentSelection,\n isPrimaryReloaded: false,\n isMatchedReloaded: false,\n ...equipmentBalance\n }\n }\n },\n store: {\n ...state.store,\n equipmentSelection: {\n ...state.store.equipmentSelection,\n isPrimaryReloaded: false,\n isMatchedReloaded: false,\n ...equipmentBalance\n }\n }\n };\n\n return systemState;\n };\n\n const addSection = (\n state: ISystemState,\n section: ISection\n ) => {\n\n const sections: ISection[] = [\n ...state.store.wallLoad.boxSections ?? (getDefaultStoreSections(state.formState.actualValues.boxType, state.formState.actualValues) ?? [])\n ];\n\n const systemStore: ISystem = {\n ...state.store,\n wallLoad: {\n ...state.store.wallLoad,\n boxSections: [\n ...sections,\n section\n ]\n }\n };\n\n return recalculateSystem({\n ...state,\n store: systemStore\n });\n };\n\n const updateSection = (\n state: ISystemState,\n index: number,\n section: ISection\n ): ISystemState => {\n\n const sections: ISection[] = [\n ...state.store.wallLoad.boxSections ?? (getDefaultStoreSections(state.formState.actualValues.boxType, state.formState.actualValues) ?? [])\n ];\n\n const systemStore: ISystem = {\n ...state.store,\n wallLoad: {\n ...state.store.wallLoad,\n boxSections: [\n ...sections.slice(0, index), \n section, \n ...sections.slice(index + 1)\n ]\n }\n };\n\n return recalculateSystem({\n ...state,\n store: systemStore\n });\n };\n\n const copySection = (\n state: ISystemState,\n index: number\n ): ISystemState => {\n\n const sections: ISection[] = [\n ...state.store.wallLoad.boxSections ?? (getDefaultStoreSections(state.formState.actualValues.boxType, state.formState.actualValues) ?? [])\n ];\n\n if (index < 0 \n || index >= sections.length\n ) {\n return state;\n }\n \n const systemStore: ISystem = {\n ...state.store,\n wallLoad: {\n ...state.store.wallLoad,\n boxSections: [\n ...sections,\n sections[index]\n ]\n }\n };\n\n return recalculateSystem({\n ...state,\n store: systemStore\n });\n };\n\n const deleteSection = (\n state: ISystemState,\n index: number\n ): ISystemState => {\n\n const sections: ISection[] = [\n ...state.store.wallLoad.boxSections ?? (getDefaultStoreSections(state.formState.actualValues.boxType, state.formState.actualValues) ?? [])\n ];\n\n const systemStore: ISystem = {\n ...state.store,\n wallLoad: {\n ...state.store.wallLoad,\n boxSections: sections.filter((currentSection, currentIndex) => currentIndex !== index)\n }\n };\n\n return recalculateSystem({\n ...state,\n store: systemStore\n });\n };\n\n const updateSectionOpenings = (\n state: ISystemState,\n index: number,\n openings: IOpening[]\n ): ISystemState => {\n\n const sections: ISection[] = [\n ...state.store.wallLoad.boxSections ?? (getDefaultStoreSections(state.formState.actualValues.boxType, state.formState.actualValues) ?? [])\n ];\n\n const systemStore: ISystem = {\n ...state.store,\n wallLoad: {\n ...state.store.wallLoad,\n boxSections: [\n ...sections.slice(0, index), \n {\n ...sections[index],\n openings\n }, \n ...sections.slice(index + 1)\n ]\n }\n };\n\n return recalculateSystem({\n ...state,\n store: systemStore\n });\n };\n\n const getSystemValues = (\n boxApplicationData: any,\n systemStore: ISystem\n ) => {\n const systemState = recalculateSystem({\n ...emptySystemState,\n store: systemStore\n }, \n boxApplicationData);\n\n return systemState.formState.actualValues;\n };\n\n const recalculateTotalLoads = (\n system: ISystem\n ): ISystem => {\n\n const totalHourlyLoad = LoadCalculations.calculateTotalHourlyLoad(\n system.totalWallLoad,\n system.totalInfiltrationLoad,\n system.totalProductLoad,\n system.totalMiscLoad);\n\n const totalLoadRequired = LoadCalculations.calculateTotalLoadRequired(\n system.safetyFactor,\n totalHourlyLoad);\n \n const capacityRequired = LoadCalculations.calculateCapacityRequired(\n totalLoadRequired,\n system.runTimeHours);\n\n return {\n ...system,\n totalHourlyLoad,\n totalLoadRequired,\n capacityRequired\n };\n };\n \n return {\n emptySystemState,\n recalculateSystem,\n recalculateLoads,\n getSystemValues,\n validateLoadCalc, // load calc screen (includes validateLoadCalc, validateBox, validateEquipment)\n validateWallLoad, // wall load screen (includes validateWallLoad, validateBox)\n validateEquipmentSelector, // equipment selector screen (includes validateEquipment, validateEquipmentFilters)\n recalculateTotalLoads,\n setInitialState,\n resetState,\n changeValue,\n customizeMeasureProperty,\n customizeWallLoadMeasureProperty,\n resetBoxType,\n clearEquipmentSelections,\n setSelectedCondenser,\n setSelectedEvaporator,\n setEquipmentBalance,\n addSection,\n updateSection,\n copySection,\n deleteSection,\n updateSectionOpenings\n };\n};\n\nexport default useSystemState;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { Config } from \"../../Constants\";\n\nimport EquipmentComponent from \"./EquipmentComponent\";\n\nimport IEquipmentOption from \"../../models/interfaces/IEquipmentOption\";\nimport IEquipmentUnitAttributes from \"../../models/interfaces/IEquipmentUnitAttributes\";\nimport IEquipmentUnitItem from \"../../models/interfaces/IEquipmentUnitItem\";\nimport IMessage from \"../../models/interfaces/IMessage\";\nimport ISystem from \"../../models/interfaces/ISystem\";\nimport ISystemBalance from \"../../models/interfaces/ISystemBalance\";\n\nimport LoadCalculationService from \"../../services/LoadCalculationService\";\n\nimport useErrorContext from \"../../hooks/useErrorContext\";\nimport useLoadingContext from \"../../hooks/useLoadingContext\";\nimport useSystemContext from \"../../hooks/useSystemContext\";\nimport useSystemState from \"../../hooks/useSystemState\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\nimport StorageFacade from \"../../services/StorageFacade\";\nimport { refrigerants } from \"../EquipmentFilters/EquipmentFilters\";\nimport ConfirmationMessage from \"../helpers/ConfirmationMessage\";\n\ninterface EquipmentProps {}\n\nconst Equipment: React.FunctionComponent = () => {\n\t\n\tconst history = useHistory();\n\tconst [showConfirmation, setShowConfirmation] = React.useState(false);\n\tconst { showError, showErrorList, errorMessages } = useErrorContext();\n\tconst { showLoading, hideLoading } = useLoadingContext();\n\tconst { systemState, dispatch } = useSystemContext();\n\tconst { translations } = useTranslationContext();\n\n\tconst { validateEquipmentSelector } = useSystemState();\n\n\tReact.useEffect(() => {\n\t\tif (!systemState.store.boxApplicationId) {\n\t\t\tshowError({\n name: \"Application\",\n text: \"Application is not selected properly.\"\n\t\t\t});\n\t\t}\n\t}, []);\n\n\tconst emptySubmitConfirmationMessage = {\n\t\ttitle: \"Confirmation\",\n\t\tmessage:
Are you sure you want to continue without equipment selection?
,\n\t\tonYesClick: () => {\n setShowConfirmation(false);\n submitChanges();\n },\n\t\tonNoClick: () => {\n setShowConfirmation(false);\n }\n };\n\n\tconst toggleModal = () => {\n\t\t// setState({\n\t\t// \t...state,\n\t\t// \tmodalState: !state.modalState\n\t\t// });\n\t};\n\n\tconst showErrors = (\n errors: IMessage[],\n currentFieldError?: IMessage\n ) => {\n let newList = [] as IMessage[];\n \n const currentList = [...errorMessages];\n currentList.forEach(c => {\n const errorText = errors.find(e => e.name === c.name)?.text ?? \"\";\n newList.push({\n name: c.name,\n text: errorText\n });\n });\n\n if (currentFieldError) {\n if (currentList.find(c => c.name === currentFieldError.name)) {\n newList = newList.map(n => {\n return {\n name: n.name,\n text: (n.name === currentFieldError.name) ? currentFieldError.text : n.text\n }\n });\n }\n else {\n newList.push(currentFieldError);\n }\n }\n \n showErrorList(newList, false);\n };\n\n const validateField = (\n\t\tsystem: ISystem,\n fieldName: string\n\t) => {\n\n const errors = validateEquipmentSelector(system);\n\n const fieldError: IMessage = {\n name: fieldName,\n text: errors.find(e => e.name === fieldName)?.text ?? \"\"\n };\n \n showErrors(errors, fieldError);\n \n return fieldError.text;\n\t};\n\n\tconst validateSystemField = (\n fieldName: string,\n fieldValue: any\n\t) => {\n\n const system = {\n\t\t\t...systemState.formState.actualValues,\n\t\t\t[fieldName]: fieldValue\n };\n\n return validateField(system, fieldName);\n };\n\t\n\tconst validateEquipmentField = (\n fieldName: string,\n fieldValue: any\n\t) => {\n\n const system = {\n\t\t\t...systemState.formState.actualValues,\n\t\t\tequipmentSelection: {\n\t\t\t\t...systemState.formState.actualValues.equipmentSelection,\n\t\t\t\t[fieldName]: fieldValue\n\t\t\t}\n };\n\n return validateField(system, fieldName);\n };\n\n\tconst handleClearSelections = () => {\n\t\tdispatch({ \n\t\t\ttype: \"clear-equipment-units\", \n\t\t\tupdateStore: false\n\t\t});\n\t};\n\n\tconst handleDropDownChange = (event: React.FormEvent) => {\n\t\tconst fieldName = event.currentTarget.name;\n\t\tconst fieldValue = event.currentTarget.value;\n\n\t\tdispatch({ \n\t\t\ttype: \"change-equipment-value\", \n\t\t\tfieldName, \n\t\t\tfieldValue,\n\t\t\tupdateStore: false\n\t\t});\n\t};\n\n\tconst handleCheckboxChange = (\n\t\tevent: React.ChangeEvent\n\t) => {\n const fieldName = event.currentTarget.name;\n const isChecked = event.currentTarget.checked;\n\n dispatch({ \n\t\t\ttype: \"change-value\", \n\t\t\tfieldName, \n\t\t\tfieldValue: isChecked,\n\t\t\tupdateStore: false\n\t\t});\n };\n\n\tconst handleInputChange = (event: React.FormEvent) => {\n\t\tconst fieldName = event.currentTarget.name;\n\t\tconst fieldValue = event.currentTarget.value;\n\n\t\tdispatch({ \n\t\t\ttype: \"change-equipment-value\", \n\t\t\tfieldName, \n\t\t\tfieldValue,\n\t\t\tupdateStore: false\n\t\t});\n\t};\n\n\tconst handleMeasurementChange = (fieldName: string, fieldValue: any) => {\n\t\tswitch (fieldName) {\n\t\t\tcase \"interiorTemperature\":\n\t\t\tcase \"safetyFactor\":\n\t\t\tcase \"runTimeHours\":\n\t\t\tcase \"totalHourlyLoad\":\n\t\t\tcase \"totalLoadRequired\":\n\t\t\tcase \"capacityRequired\":\n\t\t\t\tdispatch({ \n\t\t\t\t\ttype: \"customize-property\",\n\t\t\t\t\tfieldName, \n\t\t\t\t\tfieldValue,\n\t\t\t\t\tupdateStore: false\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tdispatch({ \n\t\t\t\t\ttype: \"customize-equipment-property\", \n\t\t\t\t\tfieldName, \n\t\t\t\t\tfieldValue,\n\t\t\t\t\tupdateStore: false\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t}\n\t\t\n\t};\n\n\tconst handleCondensorEquipmentSelected = (equipment: IEquipmentUnitItem, selectedOptions: IEquipmentOption[] | null) => {\n\t\tshowError({\n\t\t\tname: \"Model Selector\",\n\t\t\ttext: \"\"\n\t\t});\n\n\t\tdispatch({ \n\t\t\ttype: \"set-selected-condenser\",\n\t\t\tequipment,\n\t\t\tselectedOptions,\n\t\t\tupdateStore: false\n\t\t});\n\t};\n\n\tconst handleEvaporatorEquipmentSelected = (equipment: IEquipmentUnitItem, selectedOptions: IEquipmentOption[] | null) => {\n\t\tdispatch({ \n\t\t\ttype: \"set-selected-evaporator\", \t\n\t\t\tequipment,\n\t\t\tselectedOptions,\n\t\t\tupdateStore: false\n\t\t});\n\t};\n\n\tconst handleCondenserUnitOptionsSelected = (options: IEquipmentOption[]) => {\n\t\tdispatch({ \n\t\t\ttype: \"change-equipment-value\", \n\t\t\tfieldName: \"selectedCondenserOptionList\", \n\t\t\tfieldValue: options,\n\t\t\tupdateStore: false\n\t\t});\n\t};\n\n\tconst handleEvaporatorOptionsSelected = (options: IEquipmentOption[]) => {\n\t\tdispatch({ \n\t\t\ttype: \"change-equipment-value\", \n\t\t\tfieldName: \"selectedEvaporatorOptionList\", \n\t\t\tfieldValue: options,\n\t\t\tupdateStore: false\n\t\t});\n\t};\n\n\tconst handleCondenserAttributeChanged = (\n\t\tattributes: IEquipmentUnitAttributes\n\t) => {\n\t\tif (attributes) {\n\t\t\tdispatch({ \n\t\t\t\ttype: \"change-equipment-value\", \n\t\t\t\tfieldName: \"selectedCondenserAttributes\", \n\t\t\t\tfieldValue: attributes,\n\t\t\t\tupdateStore: false\n\t\t\t});\n\t\t}\n\t};\n\n\tconst handleEvaporatorAttributeChanged = (\n\t\tattributes: IEquipmentUnitAttributes\n\t) => {\n\t\tif (attributes) {\n\t\t\tdispatch({ \n\t\t\t\ttype: \"change-equipment-value\", \n\t\t\t\tfieldName: \"selectedEvaporatorAttributes\", \n\t\t\t\tfieldValue: attributes,\n\t\t\t\tupdateStore: false\n\t\t\t});\n\t\t}\n\t};\n\n\tconst calculateSystemBalance = () => {\n\t\tconst currentSystem = systemState.formState.actualValues;\n\t\tif (\n\t\t\tcurrentSystem.equipmentSelection.selectedCondenserUnit?.class9ID != null &&\n\t\t\tcurrentSystem.equipmentSelection.selectedEvaporator?.class9ID != null\n\t\t) {\n\t\t\tconst getUrl = `${Config.API_URL}/equipment/balance`;\n\n\t\t\tconst getParams: any = {\n\t\t\t\tEqType: currentSystem.equipmentSelection.equipmentType,\n\t\t\t\tFluid: currentSystem.equipmentSelection.refrigerant,\n\t\t\t\tInTemp: currentSystem.interiorTemperature,\n\t\t\t\tSucLoss: currentSystem.equipmentSelection.suctionLineLoss,\n\t\t\t\tAmbTemp: currentSystem.equipmentSelection.condensingUnitAmbientTemperature,\n\t\t\t\tConTemp: currentSystem.equipmentSelection.condensingTemperature,\n\t\t\t\tConC9Id: currentSystem.equipmentSelection.selectedCondenserUnit.class9ID,\n\t\t\t\tEvapC9Id: currentSystem.equipmentSelection.selectedEvaporator.class9ID,\n\t\t\t\tNoCon: currentSystem.equipmentSelection.condenserUnitCount,\n\t\t\t\tNoEvap: currentSystem.equipmentSelection.evaporatorUnitCount,\n\t\t\t\tConOps: \"\",\n\t\t\t\tEvapOps: \"\"\n\t\t\t};\n\n\t\t\tconst queryString = Object.keys(getParams)\n\t\t\t\t.filter(key => getParams[key] !== null && getParams[key] !== undefined)\n\t\t\t\t.map(key => `${key}=${getParams[key]}`)\n\t\t\t\t.join(\"&\");\n\n\t\t\tfetch(`${getUrl}?${queryString}`)\n\t\t\t\t.then(response => response.text())\n\t\t\t\t.then(text => {\n\t\t\t\t\tconst data: ISystemBalance = text.length ? JSON.parse(text) : {};\n\t\t\t\t\tif (data.balanced) {\n\t\t\t\t\t\tdispatch({ \n\t\t\t\t\t\t\ttype: \"set-equipment-balance\", \t\n\t\t\t\t\t\t\tsystemBalanced: true,\n\t\t\t\t\t\t\tsstBalance: data.sst,\n\t\t\t\t\t\t\ttdBalance: data.td,\n\t\t\t\t\t\t\ttotalSystemCapacity: data.capacity,\n\t\t\t\t\t\t\tupdateStore: false\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdispatch({ \n\t\t\t\t\t\t\ttype: \"set-equipment-balance\", \t\n\t\t\t\t\t\t\tsystemBalanced: false,\n\t\t\t\t\t\t\tsstBalance: \"\",\n\t\t\t\t\t\t\ttdBalance: \"\",\n\t\t\t\t\t\t\ttotalSystemCapacity: \"\",\n\t\t\t\t\t\t\tupdateStore: false\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(error => {\n\t\t\t\t\tdispatch({ \n\t\t\t\t\t\ttype: \"set-equipment-balance\", \t\n\t\t\t\t\t\tsystemBalanced: true,\n\t\t\t\t\t\tsstBalance: \"\",\n\t\t\t\t\t\ttdBalance: \"\",\n\t\t\t\t\t\ttotalSystemCapacity: \"\",\n\t\t\t\t\t\tupdateStore: false\n\t\t\t\t\t});\n\n\t\t\t\t\tconsole.log(error);\n\t\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tdispatch({ \n\t\t\t\ttype: \"set-equipment-balance\", \t\n\t\t\t\tsystemBalanced: true,\n\t\t\t\tsstBalance: \"\",\n\t\t\t\ttdBalance: \"\",\n\t\t\t\ttotalSystemCapacity: \"\",\n\t\t\t\tupdateStore: false\n\t\t\t});\n\t\t}\n\t};\n\n\tReact.useEffect(() => {\n\t\tif (systemState.formState.actualValues.equipmentSelection.isMatchedReloaded) {\n\t\t\tcalculateSystemBalance();\n\t\t}\n\t}, [\n\t\tsystemState.formState.actualValues.equipmentSelection.isMatchedReloaded\n\t]);\n\n\tReact.useEffect(() => {\n\n const getLoads = async () => {\n const loads = await LoadCalculationService.fetchCalculatedLoadsAsync(\n systemState.formState.actualValues.boxApplicationId ?? 0,\n systemState.formState.actualValues.boxDesign.floorArea,\n systemState.formState.actualValues.boxDesign.volume,\n systemState.formState.actualValues.boxDesign.totalInfiltrationLoad,\n systemState.formState.actualValues.exteriorTemperature,\n\t\t\t\tsystemState.formState.actualValues.exteriorHumidity,\n\t\t\t\tsystemState.formState.actualValues.interiorTemperature,\n systemState.formState.actualValues.interiorHumidity,\n systemState.store.miscLoad,\n systemState.store.infiltrationLoad,\n systemState.store.productLoad);\n\n const {totalMiscLoad, totalInfiltrationLoad, totalProductLoad, miscLoadItems, infiltrationLoadItems, productLoadItems} = loads;\n\n dispatch({ \n\t\t\t\ttype: \"recalculate-loads\", \n totalMiscLoad: totalMiscLoad > 0 ? totalMiscLoad : undefined, \n totalInfiltrationLoad: totalInfiltrationLoad > 0 ? totalInfiltrationLoad : undefined, \n\t\t\t\ttotalProductLoad: totalProductLoad > 0 ? totalProductLoad : undefined,\n\t\t\t\tmiscLoadItems,\n\t\t\t\tinfiltrationLoadItems,\n\t\t\t\tproductLoadItems,\n\t\t\t\tupdateStore: false\n });\n\n hideLoading();\n };\n\n\t\tif (systemState.formState.actualValues.boxApplicationId\n\t\t\t&& systemState.formState.actualValues.boxApplicationId > 0\n\t\t) {\n showLoading();\n getLoads();\n }\n\t}, [\n\t\tsystemState.formState.actualValues.boxApplicationId,\n\t\tsystemState.formState.actualValues.boxDesign.floorArea,\n\t\tsystemState.formState.actualValues.boxDesign.volume,\n\t\tsystemState.formState.actualValues.boxDesign.totalInfiltrationLoad,\n\t\tsystemState.formState.actualValues.exteriorTemperature,\n\t\tsystemState.formState.actualValues.exteriorHumidity,\n\t\tsystemState.formState.actualValues.interiorTemperature,\n\t\tsystemState.formState.actualValues.interiorHumidity,\n\t\tsystemState.store.miscLoad,\n\t\tsystemState.store.infiltrationLoad,\n\t\tsystemState.store.productLoad\n ]);\n\n\tconst handleShowSystemChargeButtonClick = () => {\n\t\tconst division = systemState.formState.actualValues.equipmentSelection.divisionId?.toString();\n\t\tconst refrigerant = refrigerants.find(a => a.key === systemState.formState.actualValues.equipmentSelection.refrigerant?.toString())?.value;\n\t\tconst condenser = systemState.formState.actualValues.equipmentSelection.selectedCondenserUnit?.class9ID?.toString();\n\t\tconst evaporator = systemState.formState.actualValues.equipmentSelection.selectedEvaporator?.class9ID?.toString();\n\t\tconst evaporatorCount = systemState.formState.actualValues.equipmentSelection.evaporatorUnitCount?.toString();\n\n\t\tconst params: string[] = [];\n\t\tif (division) {\n\t\t\tparams.push(`div=${division}`)\n\t\t}\n\t\tif (refrigerant) {\n\t\t\tparams.push(`ref=${refrigerant}`)\n\t\t}\n\t\tif (condenser) {\n\t\t\tparams.push(`cond=${condenser}`)\n\t\t}\n\t\tif (evaporator) {\n\t\t\tparams.push(`evap=${evaporator}`)\n\t\t}\n\t\tif (evaporatorCount) {\n\t\t\tparams.push(`evapqty=${evaporatorCount}`)\n\t\t}\n\n\t\tlet querystring = \"\"\n\t\tif (params.length > 0) {\n\t\t\tquerystring = `&${params.join(\"&\")}`;\n\t\t}\n\n window.open(`/scc?loadcalc=1${querystring}`, '_blank', 'height=' + window.screen.height + ', width=' + window.screen.width);\n\t}\n\n\tconst handlePrintPreviewClick = () => {\n\t\tif (!systemState.formState.actualValues.equipmentSelection.selectedCondenserUnit && !systemState.formState.actualValues.equipmentSelection.selectedEvaporator) {\n\t\t\tshowError({\n\t\t\t\tname: \"Model Selector\",\n\t\t\t\ttext: translations.equipmentSelectionIsIncomplete_\n\t\t\t});\n\t\t\treturn;\n }\t\t\n \n StorageFacade.transferLoadCalcSystemFromSessionToLocal();\n StorageFacade.transferProjectFromSessionToLocal();\n\n window.open(\"/printequipment\", '_blank', 'height=' + window.screen.height + ', width=' + window.screen.width);\n\t};\n\n\tconst handleSubmitClick = () => {\n\t\tif (!systemState.formState.actualValues.equipmentSelection.selectedCondenserUnit && !systemState.formState.actualValues.equipmentSelection.selectedEvaporator) {\n\t\t\tsetShowConfirmation(true);\n\t\t\treturn;\n\t\t}\n\n\t\tsubmitChanges();\n\t};\n\n\tconst handleCancelClick = () => {\n\t\tdispatch({ \n type: \"cancel-changes\"\n });\n\t};\n\n\tconst submitChanges = () => {\n\t\tdispatch({ \n type: \"submit-changes\", \n updateStore: true\n\t\t});\n\t};\n\n\tReact.useEffect(() => {\n\t\tif (systemState.action === \"submit-changes\") {\n\t\t\tif (systemState.store.equipmentSelection.equipmentOnly) {\n\t\t\t\tif (systemState.store.isEditing) {\n\t\t\t\t\twindow.location.href = \"/project/edit\";\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\twindow.location.href = \"/project/add\";\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\thistory.goBack();\n\t\t\t}\n\t\t}\n\t\telse if (systemState.action === \"cancel-changes\") {\n\t\t\tif (systemState.store.equipmentSelection.equipmentOnly) {\n\t\t\t\twindow.location.href = \"/project/cancel\";\n\t\t\t}\n\t\t\telse {\n\t\t\t\thistory.goBack();\n\t\t\t}\n\t\t}\n\t}, [systemState.action]);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default Equipment;\n","import * as React from \"react\";\n\nimport useErrorContext from \"../../hooks/useErrorContext\";\n\ninterface ErrorNotificationProps {}\n\nconst errorMessageDisplayStyle = {\n\tdisplay: \"\",\n\tposition: \"fixed\",\n\ttop: 0,\n\tright: 0,\n\twidth: \"100%\",\n\tzIndex: 999\n} as React.CSSProperties;\n\nconst ErrorNotification: React.FunctionComponent = () => {\n\n const { errorMessages, hideError } = useErrorContext();\n\n const handleClick = () => {\n hideError();\n };\n\n return (\n <>\n { errorMessages && errorMessages.length > 0 &&\n (\n
\n \n {errorMessages.map(e => (\n
\n {e.text}\n
\n ))}\n
\n )}\n \n )\n};\n\nexport default ErrorNotification;","import * as React from \"react\";\n// @ts-ignore\nimport { Container } from \"react-bulma-components\";\nimport StorageFacade from \"../services/StorageFacade\";\nimport useTranslationContext from \"../hooks/useTranslationContext\";\n\ninterface LayoutProps {\n\tchildren: any;\n}\n\nconst Layout: React.FunctionComponent = (\n\tprops: LayoutProps\n) => {\n\tconst { translations } = useTranslationContext();\n\t\n\tlet divisionName = \"KeepRite\";\n\n\tconst brand = StorageFacade.brand?.toLowerCase();\n\tif (brand === \"bally\") {\n\t\tdivisionName = \"Bally\";\n\t}\n\telse if (brand === \"keeprite\") {\n\t\tdivisionName = \"KeepRite\";\n\t}\n\telse if (brand === \"trenton\") {\n\t\tdivisionName = \"Trenton\";\n\t}\n\n\tconst measurementUnit = StorageFacade.UsesMetricSystem ? translations.metric_SI_ : translations.imperial;\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{document.title ?? \"Load Calculator\"}\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t{props.children}\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tCurrently using:\n\t\t\t\t\t\t\t {measurementUnit}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t© {(new Date().getFullYear())} \n\t\t\t\t\t\t\t{divisionName}\n\t\t\t\t\t\t\t Refrigeration\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default Layout;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport Button from \"../helpers/Button\";\nimport Modal from \"../helpers/Modal\";\n\nimport BoxType from \"../../enums/BoxType\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport \"./BoxShapesModal.css\";\n\nexport interface BoxShapesModalProps {\n show: boolean;\n onClose: any;\n onSelect: any;\n}\n\nconst BoxShapesModal: React.FunctionComponent = (\n\tprops: BoxShapesModalProps\n) => {\n const [showShapes, setShowShapes] = React.useState(false);\n\n const { translations } = useTranslationContext();\n\n React.useEffect(() => {\n setShowShapes(props.show);\n }, [props.show]);\n\n\tconst handleCloseClick = () => {\n setShowShapes(false);\n if (props.onClose) {\n props.onClose();\n }\n };\n\n const handleShapeButtonClick = (selectedBoxType: BoxType) => {\n setShowShapes(false);\n if (props.onSelect) {\n props.onSelect(selectedBoxType);\n }\n }\n\n const modalBody = (\n
\n
handleShapeButtonClick(BoxType.Rectangular)}>\n

\n \"Rectangular-shaped\n

\n
\n
\n \n
\n
\n
\n
handleShapeButtonClick(BoxType.LShape)}>\n

\n \"L-shaped\n

\n
\n
\n \n
\n
\n
\n
handleShapeButtonClick(BoxType.UShape)}>\n

\n \"U-shaped\n

\n
\n
\n \n
\n
\n
\n
handleShapeButtonClick(BoxType.Custom)}>\n

\n \"Section\n

\n
\n
\n \n
\n
\n
\n
\n );\n\n const modalFooter = (\n
\n \n
\n );\n\n\treturn (\n \n );\n};\n\nexport default BoxShapesModal;\n","import * as React from \"react\";\n\nimport Button from \"../helpers/Button\";\nimport BoxApplications from \"./BoxApplications\";\nimport FullScreenModal from \"../helpers/FullScreenModal\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\ninterface ChangeBoxApplicationProps {\n\tshow: boolean;\t\n\tonOkClick: any;\n\tonCancelClick: any;\n}\n\nconst ChangeBoxApplication: React.FunctionComponent = (\n props: ChangeBoxApplicationProps\n) => {\n \n const { translations } = useTranslationContext();\n\n const [selectedApplicationId, setSelectedApplicationId] = React.useState(-1);\n \n const handleSelectApplicationId = (applicationId: number) => {\n\t\tsetSelectedApplicationId(applicationId);\n };\n\n const handleSubmitChangeApplication = () => {\n if (props.onOkClick) {\n props.onOkClick(selectedApplicationId);\n }\n };\n\n const handleSubmitSelectedApplicationId = (applicationId: number) => {\n handleSelectApplicationId(applicationId);\n handleSubmitChangeApplication();\n };\n\n const body = (\n \n\t);\n\n const footer = (\n\t\t<>\n\t\t\t\n \n\t\t\n\t);\n \n return (\n\t\t\n\t);\n};\n\nexport default ChangeBoxApplication;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport Button from \"../helpers/Button\";\nimport Checkbox from \"../helpers/Checkbox\";\nimport Modal from \"../helpers/Modal\";\n\nimport FloorType from \"../../enums/FloorType\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport \"./FloorTypesModal.css\";\n\nexport interface FloorTypesModalProps {\n isFreezer: boolean;\n selected: FloorType;\n showBoxSetting: boolean;\n boxSetting?: FloorType;\n onChange: any; \n activator: any;\n}\n\nconst FloorTypesModal: React.FunctionComponent = (\n\tprops: FloorTypesModalProps\n) => {\n const [show, setShow] = React.useState(false);\n const [selected, setSelected] = React.useState(props.selected);\n\n const { translations } = useTranslationContext();\n \n React.useEffect(() => {\n if (show) {\n setSelected(props.selected);\n }\n }, [show, props.selected]);\n\n\tconst handleCloseClick = () => {\n\t\tsetShow(false);\n };\n\n const handleOkClick = () => {\n setShow(false);\n props.onChange(selected);\n };\n\n const handleCheckboxChange = (\n\t\tevent: React.ChangeEvent\n\t) => {\n if (event.target.checked) {\n setSelected(event.target.value as FloorType);\n } else {\n setSelected(FloorType.None);\n }\n };\n\n const floorTypeName = (floorType: FloorType): string => {\n switch (floorType) {\n case FloorType.OnGrade:\n return translations.onGrade;\n case FloorType.AboveGrade:\n return translations.aboveGrade;\n case FloorType.OnGradeHeated:\n return translations.onGrade_FrostHeaveProtected;\n default:\n return \"\";\n }\n }\n\n const modalBody = (\n
\n
\n
\n

\n \"On\n

\n
\n
\n
\n \n

\n {translations.theRefrigeratedFloorIsBuiltDirectlyOnTheGround_}\n
\n {translations.orTheRoomInWhichTheRefrigeratedBoxIsLocatedIsBuiltDirectlyOnTheGround_}\n

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

\n \"Above\n

\n
\n
\n
\n \n

\n {translations.thereIsAVentilatedSpaceUnderTheRefrigeratedFloor_}\n
\n {translations.orThereIsAVentilatedSpaceUnderTheRoomInWhichTheRefrigeratedSpaceIsLocated_}\n
\n {translations.thisIncludesCrawlSpacesOrUpperFloorInstallations_}\n

\n
\n
\n
\n {props.isFreezer && (\n <>\n
\n
\n
\n

\n \"On\n

\n
\n
\n
\n \n

\n {translations.theRefrigeratedFloorIsBuiltDirectlyOnTheGround_}\n
\n {translations.orTheRoomInWhichTheRefrigeratedBoxIsLocatedIsBuiltDirectlyOnTheGround_}\n
\n {translations.aNDAControlledFrostHeavePreventionHeaterSystemIsOrWillBeInstalled_}\n

\n
\n
\n
\n \n )}\n {props.showBoxSetting && props.boxSetting && (\n <>\n
\n
\n
\n

\n  \n

\n
\n
\n
\n \n
\n
\n
\n \n )}\n
\n );\n\n const modalFooter = (\n <>\n \n \n \n );\n \n const content = (\n \n );\n\n\treturn (\n <>\n {props.activator({setShow})}\n {content}\n \n );\n};\n\nexport default FloorTypesModal;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faAngleDown } from \"@fortawesome/free-solid-svg-icons\";\n\nimport FloorType from \"../../enums/FloorType\";\n\nimport FloorTypesModal from \"./FloorTypesModal\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nexport interface FloorTypesProps {\n isFreezer: boolean;\n selected: FloorType;\n showBoxSetting?: boolean;\n boxSetting?: FloorType;\n onChange: any;\n}\n\nconst FloorTypesButton: React.FunctionComponent = (\n\tprops: FloorTypesProps\n) => { \n const { translations } = useTranslationContext();\n \n const floorTypeName = (floorType: FloorType): string => {\n let selectedFloorType = floorType;\n \n if (floorType === FloorType.BoxSetting && props.boxSetting) {\n selectedFloorType = props.boxSetting;\n }\n\n switch (selectedFloorType) {\n case FloorType.OnGrade:\n return translations.onGrade;\n case FloorType.AboveGrade:\n return translations.aboveGrade;\n case FloorType.OnGradeHeated:\n return translations.onGrade_FrostHeaveProtected;\n default:\n return \"\";\n }\n }\n\n\treturn (\n (\n \n )}\n />\n );\n};\n\nexport default FloorTypesButton;\n","import * as React from \"react\";\n\nimport \"./Grid.css\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faTimesCircle } from \"@fortawesome/free-solid-svg-icons\";\nimport IMessage from \"../../models/interfaces/IMessage\";\n\ninterface GridProps {\n dataSource: T[];\n height?: number;\n selectedRow: number;\n onRowClick?: (index: number) => void,\n onRowDoubleClick?: (index: number) => void\n}\n\nconst Grid = (\n props: GridProps\n) => {\n\n const [selectedRowIndex, setSelectedRowIndex] = React.useState(-1);\n\n React.useEffect(() => {\n setSelectedRowIndex(props.selectedRow);\n }, [props.selectedRow]);\n \n const headers = (props.dataSource && props.dataSource.length > 0) \n ? Object.keys(props.dataSource[0])\n .filter(k => k.toLowerCase() !== \"errors\"\n && k.toLowerCase() !== \"rowclassname\"\n )\n : null;\n const rows = props.dataSource;\n\n const handleRowClick = (index: number) => {\n setSelectedRowIndex(index);\n if (props.onRowClick) {\n props.onRowClick(index);\n }\n };\n\n const handleRowDoubleClick = (index: number) => {\n setSelectedRowIndex(index);\n if (props.onRowDoubleClick) {\n props.onRowDoubleClick(index);\n }\n };\n\n const heightStyle = {\n height: props.height ? `${props.height.toString()}px` : \"auto\"\n };\n \n return (\n
\n {headers && (\n \n \n \n \n {headers.map((header, hIndex) => {\n const hKey = hIndex;\n return (\n \n )\n })}\n \n \n \n {rows.map((row: { [key: string]: any }, index: number) => {\n const rowIndex = index;\n return (\n handleRowClick(rowIndex)}\n onDoubleClick={() => handleRowDoubleClick(rowIndex)}\n >\n \n {headers.map((header, hIndex) => {\n const hKey = hIndex;\n return (\n \n )\n })}\n \n )\n })}\n \n
\n  \n \n {header}\n
\n {row.errors && row.errors?.length > 0 && (\n
\n
\n
\n \n
\n
\n {row.errors.map((e: IMessage) => (\n
\n {e.text}\n
\n ))}\n
\n
\n
\n )}\n
\n {row[header]}\n
\n )}\n
\n );\n};\n\nexport default Grid;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\nimport { Link } from \"react-router-dom\";\n\nimport Button from \"../helpers/Button\";\nimport Checkbox from \"../helpers/Checkbox\";\nimport ConfirmationMessage from \"../helpers/ConfirmationMessage\";\nimport FloorTypesButton from \"../FloorTypes/FloorTypesButton\";\nimport FormField from \"../helpers/FormField\";\nimport Grid from \"../helpers/Grid\";\nimport Measurement from \"../helpers/Measurement\";\nimport TextBox from \"../helpers/TextBox\";\n\nimport { measure, hasValue, getNumericValue } from \"../../types/measure\";\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\nimport BoxLocation from \"../../enums/BoxLocation\";\nimport BoxType from \"../../enums/BoxType\";\nimport FloorType from \"../../enums/FloorType\";\nimport MeasurementType from \"../../enums/MeasurementType\";\n\nimport IFormState from \"../../models/interfaces/IFormState\";\nimport ISystem from \"../../models/interfaces/ISystem\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport \"./LoadCalculator.css\";\n\nconst getLoadPercentageButtonLabel = (\n buttonLabel: string,\n load: measure,\n totalLoad: measure\n): string => {\n if (hasValue(load)\n && hasValue(totalLoad)\n ) {\n const percentage = UnitOfMeasure.getDisplayValue((getNumericValue(load) / getNumericValue(totalLoad)) * 100, 0);\n\n return `${buttonLabel} ${percentage}${UnitOfMeasure.getPercentUnitLabel()}`;\n }\n\n return buttonLabel;\n};\n\ninterface LoadCalculatorComponentProps {\n isBoxFreezer: boolean;\n formState: IFormState;\n onInputChange: any;\n onMeasurementChange: any;\n onFloorTypeChange: any;\n onBoxLocationChange: any;\n onChangeBoxApplicationButtonClick: any;\n onValidate: any;\n onWallLoadButtonClick: any;\n onCoolingLoadButtonClick: any;\n onSaveButtonClick: any;\n onCancelButtonClick: any;\n onPrintPreviewButtonClick: any;\n}\n\nconst LoadCalculatorComponent: React.FunctionComponent = (\n props: LoadCalculatorComponentProps\n) => {\n\n const { translations } = useTranslationContext();\n\n const [showCancelConfirmation, setShowCancelConfirmation] = React.useState(false);\n\n const cancelConfirmationMessage = {\n\t\ttitle: \"Confirmation\",\n\t\tmessage:
Are you sure you want to cancel?
,\n\t\tonYesClick: () => {\n setShowCancelConfirmation(false);\n if (props.onCancelButtonClick) {\n props.onCancelButtonClick();\n }\n },\n\t\tonNoClick: () => {\n setShowCancelConfirmation(false);\n }\n };\n\n const equipmentGridView = () => {\n const equipment = [];\n \n if (props.formState.actualValues.equipmentSelection.selectedCondenserUnit) {\n const condenserUnit: { [key: string]: any } = {};\n condenserUnit[translations.qTY] = props.formState.actualValues.equipmentSelection.condenserUnitCount;\n condenserUnit[translations.modelNumber] = props.formState.actualValues.equipmentSelection.selectedCondenserUnit.partNumber;\n condenserUnit[translations.descriptions] = `${props.formState.actualValues.equipmentSelection.selectedCondenserUnit.description}|${props.formState.actualValues.equipmentSelection.equipmentType}`;\n condenserUnit[translations.voltage] = props.formState.actualValues.equipmentSelection.selectedCondenserUnit.text;\n condenserUnit[translations.options] = props.formState.actualValues.equipmentSelection.selectedCondenserOptionList.length;\n\n equipment.push(condenserUnit);\n }\n\n if (props.formState.actualValues.equipmentSelection.selectedEvaporator) {\n const evaporatorUnit: { [key: string]: any } = {};\n evaporatorUnit[translations.qTY] = props.formState.actualValues.equipmentSelection.evaporatorUnitCount;\n evaporatorUnit[translations.modelNumber] = props.formState.actualValues.equipmentSelection.selectedEvaporator.partNumber;\n evaporatorUnit[translations.descriptions] = `${props.formState.actualValues.equipmentSelection.selectedEvaporator.description}|Evaporator`;\n evaporatorUnit[translations.voltage] = props.formState.actualValues.equipmentSelection.selectedEvaporator.text;\n evaporatorUnit[translations.options] = props.formState.actualValues.equipmentSelection.selectedEvaporatorOptionList.length;\n \n equipment.push(evaporatorUnit);\n }\n\n return equipment;\n };\n\n if (!props.formState.actualValues || !props.formState.defaultValues) {\n return null;\n }\n\n return (\n
\n
\n {translations.systemDetails}\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n {translations.designRequirements}\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n
\n \n \n
\n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n
\n
\n \n
\n
\n
{translations.quickBox}
\n
\n
\n {(props.formState.actualValues.boxType === BoxType.Undefined || props.formState.actualValues.boxType === BoxType.Rectangular) && (\n \n
\n \n \n \n \n \n \n \n \n \n
\n
\n )}\n \n \n \n \n <>\n \n \n \n \n \n
\n
\n
{translations.coolingLoads}
\n
\n
\n \n \n
\n \n )}\n >\n \n \n { props.onCoolingLoadButtonClick(\"/infiltrationload\"); }}\n />\n )}\n >\n \n \n \n \n \n \n \n \n
\n
\n { props.onCoolingLoadButtonClick(\"/productload\"); }}\n />\n )}\n >\n \n \n { props.onCoolingLoadButtonClick(\"/miscload\"); }}\n />\n )}\n >\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n {translations.equipmentDetails}\n
\n
\n
\n \n \n \n )}\n >\n <>\n \n
\n
\n \n \n {props.formState.actualValues.equipmentSelection.tdBalance \n ? `${UnitOfMeasure.getTemperatureRelativeDisplayValue(props.formState.actualValues.equipmentSelection.tdBalance, 1)} ${UnitOfMeasure.getTemperatureUnitLabel()}`\n : \"\"}\n \n \n \n \n {props.formState.actualValues.equipmentSelection.sstBalance \n ? `${UnitOfMeasure.getTemperatureDisplayValue(props.formState.actualValues.equipmentSelection.sstBalance, 1)} ${UnitOfMeasure.getTemperatureUnitLabel()}`\n : \"\"}\n \n \n \n \n {props.formState.actualValues.equipmentSelection.totalSystemCapacity \n ? `${UnitOfMeasure.getRatingDisplayValue(props.formState.actualValues.equipmentSelection.totalSystemCapacity, 0)} ${UnitOfMeasure.getRatingUnitLabel()}`\n : \"\"}\n \n \n
\n \n
\n
\n
\n
\n
\n
\n { setShowCancelConfirmation(true); }}\n />\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n );\n};\n\nexport default LoadCalculatorComponent;","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\nimport { useHistory } from \"react-router-dom\";\n\nimport IMessage from \"../../models/interfaces/IMessage\";\n\nimport BoxLocation from \"../../enums/BoxLocation\";\nimport BoxType from \"../../enums/BoxType\";\nimport FloorType from \"../../enums/FloorType\";\n\nimport BoxShapesModal from \"../WallLoad/BoxShapesModal\";\nimport ChangeBoxApplication from \"../BoxApplications/ChangeBoxApplication\";\nimport LoadCalculatorComponent from \"./LoadCalculatorComponent\";\nimport StorageFacade from \"../../services/StorageFacade\";\n\nimport LoadCalculationService from \"../../services/LoadCalculationService\";\n\nimport useBoxContext from \"../../hooks/useBoxContext\";\nimport useErrorContext from \"../../hooks/useErrorContext\";\nimport useLoadingContext from \"../../hooks/useLoadingContext\";\nimport useSystemContext from \"../../hooks/useSystemContext\";\nimport useSystemState from \"../../hooks/useSystemState\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\ninterface LoadCalculatorProps {}\n\nconst LoadCalculator: React.FunctionComponent = () => {\n\n\tconst history = useHistory();\n\n\tconst [showShapes, setShowShapes] = React.useState(false);\n\tconst [showChangeBoxApplicationModal, setShowChangeBoxApplicationModal] = React.useState(false);\n\n\tconst { loadBox, boxData } = useBoxContext();\n\tconst { systemState, dispatch } = useSystemContext();\n\n\tconst { showError, showErrorList, errorMessages } = useErrorContext();\n\tconst { showLoading, hideLoading } = useLoadingContext();\n\tconst { translations } = useTranslationContext();\n\n\tconst { validateLoadCalc } = useSystemState();\n\n\tconst showErrors = (\n errors: IMessage[],\n currentFieldError?: IMessage\n ) => {\n let newList = [] as IMessage[];\n \n const currentList = [...errorMessages];\n currentList.forEach(c => {\n const errorText = errors.find(e => e.name === c.name)?.text ?? \"\";\n newList.push({\n name: c.name,\n text: errorText\n });\n });\n\n if (currentFieldError) {\n if (currentList.find(c => c.name === currentFieldError.name)) {\n newList = newList.map(n => {\n return {\n name: n.name,\n text: (n.name === currentFieldError.name) ? currentFieldError.text : n.text\n }\n });\n }\n else {\n newList.push(currentFieldError);\n }\n }\n \n showErrorList(newList, false);\n };\n\n const validateField = (\n fieldName: string,\n fieldValue: any\n ) => {\n\n const system = {\n ...systemState.formState.actualValues,\n [fieldName]: fieldValue\n };\n\n const errors = validateLoadCalc(system);\n\n const fieldError: IMessage = {\n name: fieldName,\n text: errors.find(e => e.name === fieldName)?.text ?? \"\"\n };\n \n showErrors(errors, fieldError);\n \n return fieldError.text;\n };\n\n\tReact.useEffect(() => {\n\n const getLoads = async () => {\n const loads = await LoadCalculationService.fetchCalculatedLoadsAsync(\n systemState.formState.actualValues.boxApplicationId ?? 0,\n systemState.formState.actualValues.boxDesign.floorArea,\n systemState.formState.actualValues.boxDesign.volume,\n systemState.formState.actualValues.boxDesign.totalInfiltrationLoad,\n systemState.formState.actualValues.exteriorTemperature,\n\t\t\t\tsystemState.formState.actualValues.exteriorHumidity,\n\t\t\t\tsystemState.formState.actualValues.interiorTemperature,\n\t\t\t\tsystemState.formState.actualValues.interiorHumidity,\n\t\t\t\tsystemState.store.miscLoad,\n systemState.store.infiltrationLoad,\n systemState.store.productLoad);\n\n\t\t\tconst {totalMiscLoad, totalInfiltrationLoad, totalProductLoad, miscLoadItems, infiltrationLoadItems, productLoadItems} = loads;\n\n dispatch({ \n\t\t\t\ttype: \"recalculate-loads\", \n totalMiscLoad: totalMiscLoad > 0 ? totalMiscLoad : undefined, \n totalInfiltrationLoad: totalInfiltrationLoad > 0 ? totalInfiltrationLoad : undefined, \n\t\t\t\ttotalProductLoad: totalProductLoad > 0 ? totalProductLoad : undefined,\n\t\t\t\tmiscLoadItems,\n\t\t\t\tproductLoadItems,\n\t\t\t\tinfiltrationLoadItems,\n\t\t\t\tupdateStore: true\n });\n\n hideLoading();\n };\n\n\t\tif (systemState.formState.actualValues.boxApplicationId\n\t\t\t&& systemState.formState.actualValues.boxApplicationId > 0\n\t\t) {\n showLoading();\n getLoads();\n }\n\t}, [\n\t\tsystemState.formState.actualValues.boxApplicationId,\n\t\tsystemState.formState.actualValues.boxDesign.floorArea,\n\t\tsystemState.formState.actualValues.boxDesign.volume,\n\t\tsystemState.formState.actualValues.boxDesign.totalInfiltrationLoad,\n\t\tsystemState.formState.actualValues.exteriorTemperature,\n\t\tsystemState.formState.actualValues.exteriorHumidity,\n\t\tsystemState.formState.actualValues.interiorTemperature,\n\t\tsystemState.formState.actualValues.interiorHumidity,\n\t\tsystemState.store.miscLoad,\n\t\tsystemState.store.infiltrationLoad,\n\t\tsystemState.store.productLoad\n ]);\n\n\tconst showWallLoad = () => {\n\t\thistory.push(\"/wallload\");\n\t};\n\n\tconst handleBoxApplicationChange = (\n\t\tboxApplicationId: number\n\t) => {\n\t\tsetShowChangeBoxApplicationModal(false);\n\n\t\tif (boxApplicationId > -1) {\n\t\t\tdispatch({ \n\t\t\t\ttype: \"change-value\", \n\t\t\t\tfieldName: \"boxApplicationId\", \n\t\t\t\tfieldValue: boxApplicationId,\n\t\t\t\tupdateStore: true\n\t\t\t});\n\t\t\tloadBox(boxApplicationId);\n\t\t}\n\t};\n\n\tconst handleInputChange = (event: React.FormEvent) => {\n\t\tconst fieldName = event.currentTarget.name;\n\t\tconst fieldValue = event.currentTarget.value;\n\n\t\tdispatch({ \n\t\t\ttype: \"change-value\", \n\t\t\tfieldName, \n\t\t\tfieldValue,\n\t\t\tupdateStore: true\n\t\t});\n\n\t\tvalidateField(fieldName, fieldValue);\n\t};\n\n\tconst handleMeasurementChange = (fieldName: string, fieldValue: any) => {\n\t\tdispatch({ \n\t\t\ttype: \"customize-property\", \n\t\t\tfieldName, \n\t\t\tfieldValue,\n\t\t\tupdateStore: true\n\t\t});\n\t};\n\n\tconst handleBoxLocationChange = (\n\t\tevent: React.ChangeEvent\n\t) => {\n\t\tif (event.target.checked) {\n\t\t\tconst boxLocation = event.target.value as BoxLocation;\n\t\t\tdispatch({ \n\t\t\t\ttype: \"change-value\", \n\t\t\t\tfieldName: \"boxLocation\", \n\t\t\t\tfieldValue: boxLocation,\n\t\t\t\tupdateStore: true\n\t\t\t});\n\n\t\t\tvalidateField(\"boxLocation\", boxLocation);\n\t\t}\n };\n\n\tconst handleFloorTypeChange = (value: FloorType) => {\n\t\tif (value === FloorType.None) {\n\t\t\tvalue = systemState.formState.defaultValues.floorType ?? FloorType.OnGrade;\n\t\t}\n\t\tdispatch({ \n\t\t\ttype: \"change-value\", \n\t\t\tfieldName: \"floorType\", \n\t\t\tfieldValue: value,\n\t\t\tupdateStore: true\n\t\t});\n\n\t\tvalidateField(\"floorType\", value);\n\t};\n\n\tconst handleBoxTypeSelect = (boxType: BoxType) => { \n\t\tdispatch({ \n\t\t\ttype: \"reset-boxType\", \n\t\t\tboxType,\n\t\t\tupdateStore: true\n\t\t});\n\n\t\tvalidateField(\"boxType\", boxType);\n\t};\n\n\tReact.useEffect(() => {\n\t\t// Make sure boxType in system state has been updated before showing wall load.\n\t\tif (showShapes && systemState.formState.actualValues.boxType !== BoxType.Undefined) {\n\t\t\tsetShowShapes(false); \n\t\t\tshowWallLoad();\n\t\t}\n\n\t\tif (systemState.formState.actualValues.boxType !== null \n\t\t\t&& systemState.formState.actualValues.boxType !== BoxType.Undefined\n\t\t) {\n\t\t\tshowError({\n\t\t\t\tname: \"coolingLoad\",\n\t\t\t\ttext: \"\"\n\t\t\t});\n\t\t}\n\t}, [systemState.formState.actualValues.boxType]);\n\n\tconst handleChangeBoxApplicationButtonClick = () => {\n\t\tsetShowChangeBoxApplicationModal(true);\n\t};\n\n\tconst handleWallLoadButtonClick = () => {\n\t\tif (systemState.formState.actualValues.boxType === BoxType.Undefined) {\n\t\t\tsetShowShapes(true);\n\t\t}\n\t\telse {\n\t\t\tshowWallLoad();\n\t\t}\n\t};\n\n\tconst handleCoolingLoadButtonClick = (\n\t\tredirectPath: string\n\t) => {\n\t\tif (systemState.formState.actualValues.boxType === BoxType.Undefined) {\n\t\t\tshowError({\n\t\t\t\tname: \"coolingLoad\",\n\t\t\t\ttext: \"Please define the room dimensions before proceeding.\"\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\twindow.location.href = redirectPath;\n\t\t}\n\t};\n\n\tconst handleSaveButtonClick = () => {\n\t\tif (systemState.store.isEditing) {\n\t\t\twindow.location.href = \"/project/edit\";\n\t\t}\n\t\telse {\n\t\t\twindow.location.href = \"/project/add\";\n\t\t}\n\t};\n\n\tconst handlePrintPreviewButtonClick = () => {\t\t\n StorageFacade.transferLoadCalcSystemFromSessionToLocal();\n StorageFacade.transferProjectFromSessionToLocal();\n\n window.open(\"/printequipment\", '_blank', 'height=' + window.screen.height + ', width=' + window.screen.width);\n\t};\n\n\tconst handleCancelButtonClick = () => {\n\t\twindow.location.href = \"/project/cancel\";\n\t};\n\n\tif (systemState.formState.actualValues.boxApplicationId) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t setShowChangeBoxApplicationModal(false)}\n\t\t\t\t/>\n\t\t\t\t { setShowShapes(false); }}\n\t\t\t\t/>\n\t\t\t\n\t\t);\n\t}\n\n\treturn null;\n};\n\nexport default LoadCalculator;\n","/* eslint-disable import/prefer-default-export */\n\nimport { LocaleStrings } from \"../../services/translations/TranslationService\";\n\nimport BoxLocation from \"../../enums/BoxLocation\";\n\nexport const getLocationDescription = (\n location: BoxLocation | null,\n translations: LocaleStrings\n): string => {\n switch(location) {\n case BoxLocation.OutdoorsCold:\n return translations.outdoorCool;\n case BoxLocation.OutdoorsWarm:\n return translations.outdoorWarm;\n default:\n return translations.indoor;\n }\n};","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport IOpening from \"../../models/interfaces/IOpening\";\nimport ISection from \"../../models/interfaces/ISection\";\nimport ISystem from \"../../models/interfaces/ISystem\";\n\nimport FloorType from \"../../enums/FloorType\";\nimport Radians from \"../../enums/Radians\";\nimport SectionLocation from \"../../enums/SectionLocation\";\nimport SectionType from \"../../enums/SectionType\";\nimport WallType from \"../../enums/WallType\";\n\nimport ConfigurationService from \"../../services/ConfigurationService\";\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\nimport { calculateLoadPercentage } from \"../../models/helpers/LoadCalculations\";\nimport { calculateDoorOpenTimeHours } from \"../../models/helpers/OpeningCalculations\";\n\nimport { getLocationDescription } from \"../../models/helpers/PrintPreview\";\nimport { getNumericValue, hasValue, measure } from \"../../types/measure\";\n\nimport useApplicationConfigs from \"../../hooks/useApplicationConfigs\";\nimport useApplicationContext from \"../../hooks/useApplicationContext\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport { refrigerants } from \"../EquipmentFilters/EquipmentFilters\";\n\nimport \"./Print.css\";\n\nconst table = {\n\tborder: \"1px solid black\"\n} as React.CSSProperties;\n\ninterface LoadInfoEquipmentSummaryProps {\n\tsectionId: string;\n\tdivisionId: number;\n\tmyInfo: any;\n\tcustomerInfo: any;\n system: ISystem;\n}\n\nconst LoadInfoEquipmentSummary: React.FunctionComponent = (\n\tprops: LoadInfoEquipmentSummaryProps\n) => {\n\t\n\tconst { translations } = useTranslationContext();\n\n\tconst { getOpeningTypeConfig } = useApplicationConfigs();\n\tconst { getCurtain } = useApplicationContext();\n\n\tconst getPersonnelActivityLabel = (activityId: number) => {\n\t\tswitch (activityId) {\n\t\t\tcase -1:\n\t\t\t\treturn translations.lightWork_;\n\t\t\tcase 0:\n\t\t\t\treturn translations.averageWork_;\n\t\t\tcase 1:\n\t\t\t\treturn translations.heavyWork_;\n\t\t\tdefault:\n\t\t\t\treturn \"\";\n\t\t}\n\t};\n\n\tconst getPowerUnit = (unitId: number) => {\n\t\tswitch (unitId) {\n\t\t\tcase 0:\n\t\t\t\treturn \"W\";\n\t\t\tcase 1:\n\t\t\t\treturn \"Hp\";\n\t\t\tcase 2:\n\t\t\t\treturn \"BTU/hr\";\n\t\t\tdefault:\n\t\t\t\treturn \"\";\n\t\t}\n\t};\n\n\tconst getInfiltrationLoadCalcMethod = (\n\t\tinfiltrationLoad: any\n\t) => {\n\t\tlet calcMethod = infiltrationLoad?.calculationMethod ?? 1;\n\t\tlet load;\n\n\t\tif (calcMethod === 0) {\n\t\t\tcalcMethod = 2;\n\t\t\tload = infiltrationLoad?.doorAndOpeningLoad;\n\t\t\tif (load < infiltrationLoad?.volumeUsageInfiltration) {\n\t\t\t\tcalcMethod = 1;\n\t\t\t\tload = infiltrationLoad?.volumeUsageInfiltration;\n\t\t\t}\n\t\t\tif (load < infiltrationLoad?.ventilationInfiltration) {\n\t\t\t\tcalcMethod = 3;\n\t\t\t\tload = infiltrationLoad?.ventilationInfiltration;\n\t\t\t}\n\t\t}\n\n\t\treturn calcMethod;\n\t}\n\n\tconst getInfiltrationLoadCalcMethodLabel = (\n\t\tinfiltrationLoad: any\n\t) => {\n\t\tlet calcMethodLabel;\n\n\t\tconst calcMethod = getInfiltrationLoadCalcMethod(infiltrationLoad);\n\t\t\n\t\tswitch (calcMethod) {\n\t\t\tcase 1: // Usage\n\t\t\t\tcalcMethodLabel = translations.iNFILTRATIONLOAD_ESTIMATEDBYVOLUMEANDUSAGE;\n\t\t\t\tbreak;\n\t\t\tcase 2: // Openings\n\t\t\t\tcalcMethodLabel = translations.iNFILTRATIONLOAD_ESTIMATEDBYDOORSANDOPENINGS;\n\t\t\t\tbreak;\n\t\t\tcase 3: // Ventilation\n\t\t\t\tcalcMethodLabel = translations.iNFILTRATIONLOAD_ESTIMATEDBYVENTILATION;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcalcMethodLabel = translations.iNFILTRATIONLOAD_ESTIMATEDBYVOLUMEANDUSAGE;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn calcMethodLabel;\n\t};\n\n\tconst getInfiltrationLoadEstimated = (\n\t\tinfiltrationLoad: any\n\t) => {\n\t\tlet load;\n\n\t\tconst calcMethod = getInfiltrationLoadCalcMethod(infiltrationLoad);\n\t\t\n\t\tswitch (calcMethod) {\n\t\t\tcase 1: // Usage\n\t\t\t\tload = infiltrationLoad?.volumeUsageInfiltration;\n\t\t\t\tbreak;\n\t\t\tcase 2: // Openings\n\t\t\t\tload = infiltrationLoad?.doorAndOpeningLoad;\n\t\t\t\tbreak;\n\t\t\tcase 3: // Ventilation\n\t\t\t\tload = infiltrationLoad?.ventilationInfiltration;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tload = infiltrationLoad?.volumeUsageInfiltration;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn load;\n\t};\n\n\tconst getBoxUsage = (id: number) => {\n\t\tswitch (id) {\n\t\t\tcase 1:\n\t\t\t\treturn translations.regularUse;\n\t\t\tcase 2:\n\t\t\t\treturn translations.heavyUse;\n\t\t\tcase 3:\n\t\t\t\treturn translations.longStorage;\n\t\t\tdefault:\n\t\t\t\treturn \"\";\n\t\t}\n\t};\n\n\tconst round = (value: measure, places: number): string | undefined => {\n\t\tif (value !== null && value !== undefined) {\n\t\t\treturn Number(value).toFixed(places);\n\t\t}\n\t\treturn undefined;\n\t};\n\n\tconst sectionsGridView = (sectionsList: ISection[]) => {\n return sectionsList.reduce((previousValue: ISection[], section: ISection) => {\n\n previousValue.push(section);\n\n section.openings?.forEach((opening: IOpening) => {\n\t\t\t\tconst quantityLabel = opening.quantity && getNumericValue(opening.quantity) > 1 ? ` x ${opening.quantity}` : \"\";\n const openingRow: ISection = {\n\t\t\t\t\tsectionName: \"\",\n\t\t\t\t\tmaterialName: `${opening.description}${quantityLabel}`,\n\t\t\t\t\tthickness: undefined,\n\t\t\t\t\tkFactor: undefined,\n\t\t\t\t\trValueEffective: opening.rValueEffective,\n\t\t\t\t\texteriorTemperature: opening.exteriorTemperature,\n\t\t\t\t\tdimension1: hasValue(opening.width) ? UnitOfMeasure.IntoFt(getNumericValue(opening.width)) : undefined,\n\t\t\t\t\tdimension2: hasValue(opening.height) ? UnitOfMeasure.IntoFt(getNumericValue(opening.height)) : undefined,\n\t\t\t\t\tarea: opening.totalArea,\n\t\t\t\t\tareaWithoutOpenings: opening.totalArea,\n\t\t\t\t\tconductionLoad: opening.totalConductionLoad,\n\t\t\t\t\tconductionLoadWithoutOpenings: opening.totalConductionLoad,\n\t\t\t\t\tsectionType: SectionType.Undefined,\n\t\t\t\t\twallType: WallType.Undefined,\n\t\t\t\t\tradians: Radians.None,\n\t\t\t\t\tsectionLocation: SectionLocation.BoxLocation,\n\t\t\t\t\tfloorType: FloorType.None,\n\t\t\t\t\tmaterialId: null,\n\t\t\t\t\texteriorHumidity: undefined,\n\t\t\t\t\trValuePerInch: undefined,\n\t\t\t\t\tisCustom: true,\n\t\t\t\t\tisModified: true\n\t\t\t\t};\n\n previousValue.push(openingRow);\n });\n\n return previousValue;\n }, [] as ISection[]);\n };\n\n\treturn (\t\n\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
NATIONAL REFERIGERATION AND
\n\t\t\t\t\t\t\t\t\t\t\t
AIR CONDITIONING CANADA CORP.
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t159 ROY BLVD. PO BOX 2020\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\tBRANTFORD ON\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\tCANADA N3T 5Y6\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{props.system.systemName?.toUpperCase()}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translations.preparedBy}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translations.preparedFor}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{props.myInfo?.Contact && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.myInfo.Contact}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.myInfo?.Company && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.myInfo.Company}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.myInfo?.Address1 && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.myInfo.Address1}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.myInfo?.Address2 && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.myInfo.Address2}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{(props.myInfo?.City || props.myInfo?.Region) && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.myInfo.City ?? \"\"}\n\t\t\t\t\t\t\t\t\t, \n\t\t\t\t\t\t\t\t\t{props.myInfo.Region ?? \"\"}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{(props.myInfo?.Postal || props.myInfo?.Country) && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.myInfo.Postal ?? \"\"}\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t{props.myInfo.Country ?? \"\"}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.myInfo?.Phone && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tPh: \n\t\t\t\t\t\t\t\t\t{props.myInfo.Phone}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.myInfo?.Fax && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tFx: \n\t\t\t\t\t\t\t\t\t{props.myInfo.Fax}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.myInfo?.eMail && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tEmail: \n\t\t\t\t\t\t\t\t\t{props.myInfo.eMail}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{props.customerInfo?.Contact && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.customerInfo.Contact}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.customerInfo?.Company && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.customerInfo.Company}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.customerInfo?.Address1 && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.customerInfo.Address1}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.customerInfo?.Address2 && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.customerInfo.Address2}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{(props.customerInfo?.City || props.customerInfo?.Region) && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.customerInfo.City ?? \"\"}\n\t\t\t\t\t\t\t\t\t, \n\t\t\t\t\t\t\t\t\t{props.customerInfo.Region ?? \"\"}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{(props.customerInfo?.Postal || props.customerInfo?.Country) && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.customerInfo.Postal ?? \"\"}\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t{props.customerInfo.Country ?? \"\"}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.customerInfo?.Phone && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tPh: \n\t\t\t\t\t\t\t\t\t{props.customerInfo.Phone}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.customerInfo?.Fax && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tFx: \n\t\t\t\t\t\t\t\t\t{props.customerInfo.Fax}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.customerInfo?.eMail && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tEmail: \n\t\t\t\t\t\t\t\t\t{props.customerInfo.eMail}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translations.cOOLINGREQUIREMENTS}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translations.applicationTitle}\n\t\t\t\t\t\t{translations.location}\n\t\t\t\t\t\t{translations.interiorTemperature}\n\t\t\t\t\t\t{translations.externalTemperature}\n\t\t\t\t\t\t{translations.internalRH}\n\t\t\t\t\t\t{translations.externalRH}\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.system.boxApplicationName}\n\t\t\t\t\t\t{getLocationDescription(props.system.boxLocation, translations)}\n\t\t\t\t\t\t{`${UnitOfMeasure.getTemperatureDisplayValue(props.system.interiorTemperature, 1)} ${UnitOfMeasure.getTemperatureUnitLabel()}`}\t\t\t\t\t\t\t\n\t\t\t\t\t\t{`${UnitOfMeasure.getTemperatureDisplayValue(props.system.exteriorTemperature, 1)} ${UnitOfMeasure.getTemperatureUnitLabel()}`}\n\t\t\t\t\t\t{`${UnitOfMeasure.getDisplayValue(props.system.interiorHumidity, 1)}${UnitOfMeasure.getPercentUnitLabel()}`}\n\t\t\t\t\t\t{`${UnitOfMeasure.getDisplayValue(props.system.exteriorHumidity, 1)}${UnitOfMeasure.getPercentUnitLabel()}`}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
{`${translations.wallLoad} ${calculateLoadPercentage(props.system).wallLoad}${UnitOfMeasure.getPercentUnitLabel()}`}{`${translations.infiltrationLoad} ${calculateLoadPercentage(props.system).infiltrationLoad}${UnitOfMeasure.getPercentUnitLabel()}`}{`${translations.productLoad} ${calculateLoadPercentage(props.system).productLoad}${UnitOfMeasure.getPercentUnitLabel()}`}{`${translations.miscellaneousLoad} ${calculateLoadPercentage(props.system).miscLoad}${UnitOfMeasure.getPercentUnitLabel()}`}
{`${UnitOfMeasure.getRatingDisplayValue(props.system.totalWallLoad, 0) ?? 0} ${UnitOfMeasure.getRatingUnitLabel()}`}{`${UnitOfMeasure.getRatingDisplayValue(props.system.totalInfiltrationLoad, 0) ?? 0} ${UnitOfMeasure.getRatingUnitLabel()}`}{`${UnitOfMeasure.getRatingDisplayValue(props.system.totalProductLoad, 0) ?? 0} ${UnitOfMeasure.getRatingUnitLabel()}`}{`${UnitOfMeasure.getRatingDisplayValue(props.system.totalMiscLoad, 0) ?? 0} ${UnitOfMeasure.getRatingUnitLabel()}`}
\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{props.system.wallLoad.boxSections && props.system.wallLoad.boxSections.length > 0 && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translations.wALL_FLOORANDCEILINGLOADS}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translations.section}\n\t\t\t\t\t\t\t{translations.construction}\n\t\t\t\t\t\t\t{`${translations.thickness} (${UnitOfMeasure.getSmallerDimensionUnitLabel()})`}\n\t\t\t\t\t\t\t{translations.k_Factor}\n\t\t\t\t\t\t\t{translations.r_Value}\n\t\t\t\t\t\t\t{`${translations.extTemp} (${UnitOfMeasure.getTemperatureUnitLabel()})`}\n\t\t\t\t\t\t\t{`Dim 1 (${UnitOfMeasure.getDimensionUnitLabel()})`}\n\t\t\t\t\t\t\t{`Dim 2 (${UnitOfMeasure.getDimensionUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.area} (${UnitOfMeasure.getAreaUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.load} (${UnitOfMeasure.getRatingUnitLabel()})`}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{sectionsGridView(props.system.wallLoad.boxSections)?.map((section: ISection, i: number) => {\n\t\t\t\t\t\t\tconst key = i;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{section.sectionName}\n\t\t\t\t\t\t\t\t\t{section.materialName}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getSmallerDimensionDisplayValue(section.thickness, 3)}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(section.kFactor, 2)}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(section.rValueEffective, 2)}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getTemperatureDisplayValue(section.exteriorTemperature, 1)}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getDimensionDisplayValue(section.dimension1, 2)}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getDimensionDisplayValue(section.dimension2, 2)}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getAreaDisplayValue(section.areaWithoutOpenings, 0)}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(section.conductionLoadWithoutOpenings, 0)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{`${translations.volume} (${UnitOfMeasure.getVolumeUnitLabel()})`}\n\t\t\t\t\t\t\t{UnitOfMeasure.getVolumeDisplayValue(props.system.wallLoad.volume, 0)}\n\t\t\t\t\t\t\t{translations.tOTALWALL_FLOORANDCEILINGLOAD}\n\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(props.system.totalWallLoad, 0)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{hasValue(props.system.totalInfiltrationLoad) && getInfiltrationLoadCalcMethod(props.system.infiltrationLoad) !== 2 && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{getInfiltrationLoadCalcMethodLabel(props.system.infiltrationLoad)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ getInfiltrationLoadCalcMethod(props.system.infiltrationLoad) === 1 && (\n\t\t\t\t\t\t\t\t{translations.boxUsage}\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{`${translations.internalTemperature} (${UnitOfMeasure.getTemperatureUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.internalRh} (${UnitOfMeasure.getPercentUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.externalTemperature} (${UnitOfMeasure.getTemperatureUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.externalRh} (${UnitOfMeasure.getPercentUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.ventilation} (${UnitOfMeasure.getAirFlowUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.load} (${UnitOfMeasure.getRatingUnitLabel()})`}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{ getInfiltrationLoadCalcMethod(props.system.infiltrationLoad) === 1 && (\n\t\t\t\t\t\t\t\t{getBoxUsage(props.system.infiltrationLoad?.boxUsage)}\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{UnitOfMeasure.getTemperatureDisplayValue(props.system.interiorTemperature, 1)}\n\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(props.system.interiorHumidity, 1)}\n\t\t\t\t\t\t\t{UnitOfMeasure.getTemperatureDisplayValue(props.system.exteriorTemperature, 1)}\n\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(props.system.exteriorHumidity, 1)}\n\t\t\t\t\t\t\t{UnitOfMeasure.getAirFlowDisplayValue(props.system.infiltrationLoad?.ventilationRate, 1)}\n\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(getInfiltrationLoadEstimated(props.system.infiltrationLoad), 0)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{hasValue(props.system.totalInfiltrationLoad) && getInfiltrationLoadCalcMethod(props.system.infiltrationLoad) === 2 && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{getInfiltrationLoadCalcMethodLabel(props.system.infiltrationLoad)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translations.quantity}\n\t\t\t\t\t\t\t{translations.doorOrOpeningType}\n\t\t\t\t\t\t\t{`${translations.height} (${UnitOfMeasure.getSmallerDimensionUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.width} (${UnitOfMeasure.getSmallerDimensionUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.extTemp} (${UnitOfMeasure.getTemperatureUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.externalRh} (${UnitOfMeasure.getPercentUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.openTime} (hrs)`}\n\t\t\t\t\t\t\t{translations.curtains}\n\t\t\t\t\t\t\t{`${translations.load} (${UnitOfMeasure.getRatingUnitLabel()})`}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.system.wallLoad.boxSections?.map((section: ISection, i: number) => {\n\t\t\t\t\t\t\tconst skey = i;\n\t\t\t\t\t\t\treturn section.openings?.map((opening: IOpening, j: number) => {\n\t\t\t\t\t\t\t\tconst okey = j;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{opening.quantity}\n\t\t\t\t\t\t\t\t\t\t{getOpeningTypeConfig(opening.openingType).name}\n\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getSmallerDimensionDisplayValue(opening.height, 2)}\n\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getSmallerDimensionDisplayValue(opening.width, 2)}\n\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getTemperatureDisplayValue(opening.exteriorTemperature, 1)}\n\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(opening.infiltratingAirRh, 1)}\n\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(calculateDoorOpenTimeHours(opening.standOpenTimePerDay, opening.averagePassageTime, opening.passagesPerDay) ?? 0, 2)}\n\t\t\t\t\t\t\t\t\t\t{getCurtain(opening.stripCurtainId).name}\n\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(opening.totalInfiltrationLoad, 0)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translations.tOTALINFILTRATIONLOADESTIMATEDBYDOORSANDOPENINGS}\n\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(getInfiltrationLoadEstimated(props.system.infiltrationLoad), 0)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{props.system.productLoad && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translations.pRODUCTLOADS}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translations.type}\n\t\t\t\t\t\t\t{`${translations.weight} (${UnitOfMeasure.getWeightUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.enterTemp} (${UnitOfMeasure.getTemperatureUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.finalTemperature} (${UnitOfMeasure.getTemperatureUnitLabel()})`}\n\t\t\t\t\t\t\t{`${translations.pullDown} (hrs)`}\n\t\t\t\t\t\t\t{`${translations.load} (${UnitOfMeasure.getRatingUnitLabel()})`}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.system.productLoad && props.system.productLoad.productList && props.system.productLoad.productList.map((product: any, i: number) => {\n\t\t\t\t\t\t\tconst key = i;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{product.description}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getWeightDisplayValue(product.weight, 0)}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getTemperatureDisplayValue(product.enteringTemp, 1)}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getTemperatureDisplayValue(product.finalTemp, 1)}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(product.pulldownTime, 0)}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(product.productLoad, 0)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{`${translations.tOTALPRODUCTWEIGHT} (${UnitOfMeasure.getWeightUnitLabel()})`}\n\t\t\t\t\t\t\t{UnitOfMeasure.getWeightDisplayValue(props.system.productLoad?.totalProductLoad, 0)}\n\t\t\t\t\t\t\t{translations.totalProductLoad}\n\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(props.system.totalProductLoad, 0)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{props.system.miscLoad && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translations.mISCELLANEOUSLOADS}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translations.quantity}\n\t\t\t\t\t\t\t{translations.description}\n\t\t\t\t\t\t\t{translations.power}\n\t\t\t\t\t\t\t{translations.units}\n\t\t\t\t\t\t\t{`${translations.runTime} (hrs)`}\n\t\t\t\t\t\t\t{`${translations.load} (${UnitOfMeasure.getRatingUnitLabel()})`}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.system.miscLoad?.lightingLoad?.load && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(props.system.miscLoad?.lightingLoad?.quantity, 0)}\n\t\t\t\t\t\t\t\t{translations.lIGHTING}\n\t\t\t\t\t\t\t\t{UnitOfMeasure.getAreaDisplayValue(props.system.miscLoad?.lightingLoad?.powerDensity, 2)}\n\t\t\t\t\t\t\t\t{`W/${UnitOfMeasure.getAreaUnitLabel()}`}\n\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(props.system.miscLoad?.lightingLoad?.runtime, 0)}\n\t\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(props.system.miscLoad?.lightingLoad?.load, 0)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{props.system.miscLoad?.evaporatorMotorsLoad?.load && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(props.system.miscLoad?.evaporatorMotorsLoad?.quantity, 0)}\n\t\t\t\t\t\t\t\t{translations.eVAPORATORMOTORS}\n\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(props.system.miscLoad?.evaporatorMotorsLoad?.ratedAt, 0)}\n\t\t\t\t\t\t\t\tW\n\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(props.system.miscLoad?.evaporatorMotorsLoad?.runTime, 0)}\n\t\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(props.system.miscLoad?.evaporatorMotorsLoad?.load, 0)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{props.system.miscLoad?.personnelLoad?.load && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(props.system.miscLoad?.personnelLoad?.quantity, 0)}\n\t\t\t\t\t\t\t\t{translations.pERSONNEL}\n\t\t\t\t\t\t\t\t{getPersonnelActivityLabel(props.system.miscLoad?.personnelLoad?.personnelActivity ?? 0)}\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(props.system.miscLoad?.personnelLoad?.workHours, 0)}\n\t\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(props.system.miscLoad?.personnelLoad?.load, 0)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{props.system.miscLoad?.forkLiftLoad?.load && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(props.system.miscLoad?.forkLiftLoad?.quantity, 0)}\n\t\t\t\t\t\t\t\t{translations.fORKLIFTS_TOWMOTORS}\n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(props.system.miscLoad?.forkLiftLoad?.workHours, 0)}\n\t\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(props.system.miscLoad?.forkLiftLoad?.load, 0)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{props.system.miscLoad?.otherLoads && props.system.miscLoad.otherLoads.map((otherLoad: any, i: number) => {\n\t\t\t\t\t\t\tconst key = i;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(otherLoad.quantity, 0)}\n\t\t\t\t\t\t\t\t\t{otherLoad.description}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(otherLoad.power, 0)}\n\t\t\t\t\t\t\t\t\t{getPowerUnit(otherLoad.powerUnit ?? 0)}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(otherLoad.runTime, 0)}\n\t\t\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(otherLoad.load, 0)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translations.tOTALMISCELLANEOUSLOAD}\n\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(props.system.totalMiscLoad, 0)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translations.sYSTEMDESIGNSUMMARY}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{`${translations.designLoad} (${UnitOfMeasure.getRatingUnitLabel()})`}\n\t\t\t\t\t\t{translations.safetyFactor}\n\t\t\t\t\t\t{`${translations.safetyLoad} (${UnitOfMeasure.getRatingUnitLabel()})`}\n\t\t\t\t\t\t{`${translations.runTime} (${translations.hours})`}\n\t\t\t\t\t\t{`${translations.capacityRequired} (${UnitOfMeasure.getRatingUnitLabel()})`}\n\t\t\t\t\t\t{translations.refrigerant}\n\t\t\t\t\t\t{`${translations.lineFrequency} (Hz)`}\n\t\t\t\t\t\t{`${translations.designTD} (${UnitOfMeasure.getTemperatureUnitLabel()})`}\n\t\t\t\t\t\t{`${translations.lineLoss} (${UnitOfMeasure.getTemperatureUnitLabel()})`}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(props.system.totalHourlyLoad, 0)}\n\t\t\t\t\t\t{`${UnitOfMeasure.getDisplayValue(props.system.safetyFactor, 2)}${UnitOfMeasure.getPercentUnitLabel()}`}\n\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(props.system.totalLoadRequired, 0)}\n\t\t\t\t\t\t{UnitOfMeasure.getDisplayValue(props.system.runTimeHours, 2)}\n\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(props.system.capacityRequired, 0)}\n\t\t\t\t\t\t{refrigerants.find(a => a.key === props.system.equipmentSelection.refrigerant?.toString())?.value}\n\t\t\t\t\t\t{props.system.equipmentSelection.siteLineFrequency}\n\t\t\t\t\t\t{UnitOfMeasure.getTemperatureRelativeDisplayValue(props.system.equipmentSelection.designTd, 1)}\n\t\t\t\t\t\t{UnitOfMeasure.getTemperatureRelativeDisplayValue(props.system.equipmentSelection.suctionLineLoss, 1)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translations.sYSTEMEQUIPMENTSELECTION}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{translations.equipmentType}\n\t\t\t\t\t\t{translations.quantity}\n\t\t\t\t\t\t{translations.modelNumber}\n\t\t\t\t\t\t{translations.description}\n\t\t\t\t\t\t{translations.voltage}\n\t\t\t\t\t\t{`${translations.rATING} (${UnitOfMeasure.getRatingUnitLabel()})`}\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{props.system.equipmentSelection.selectedCondenserUnit && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{props.system.equipmentSelection.equipmentType}\n\t\t\t\t\t\t\t{props.system.equipmentSelection.condenserUnitCount}\n\t\t\t\t\t\t\t{props.system.equipmentSelection.selectedCondenserUnit.partNumber}\n\t\t\t\t\t\t\t{`${props.system.equipmentSelection.selectedCondenserUnit.description}|${props.system.equipmentSelection.equipmentType}`}\n\t\t\t\t\t\t\t{props.system.equipmentSelection.selectedCondenserUnit.text}\n\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(props.system.equipmentSelection.selectedCondenserUnit.capacityPerUnit, 0)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{props.system.equipmentSelection.selectedEvaporator && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tEvaporator\n\t\t\t\t\t\t\t{props.system.equipmentSelection.evaporatorUnitCount}\n\t\t\t\t\t\t\t{props.system.equipmentSelection.selectedEvaporator.partNumber}\n\t\t\t\t\t\t\t{`${props.system.equipmentSelection.selectedEvaporator.description}|Evaporator`}\n\t\t\t\t\t\t\t{props.system.equipmentSelection.selectedEvaporator.text}\n\t\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(props.system.equipmentSelection.selectedEvaporator.capacityPerUnit, 0)}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{translations.sYSTEMBALANCE}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{`${translations.condenserAmbient} (${UnitOfMeasure.getTemperatureUnitLabel()})`}\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t{`${translations.suctionTemp} (${UnitOfMeasure.getTemperatureUnitLabel()})`}\n\t\t\t\t\t\t{`${translations.evaporatorTD} (${UnitOfMeasure.getTemperatureUnitLabel()})`}\n\t\t\t\t\t\t{`${translations.systemCapacity} (${UnitOfMeasure.getRatingUnitLabel()})`}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{UnitOfMeasure.getTemperatureDisplayValue(props.system.equipmentSelection.condensingUnitAmbientTemperature, 1)}\n\t\t\t\t\t\t{UnitOfMeasure.getTemperatureDisplayValue(props.system.equipmentSelection.sstBalance, 1)}\n\t\t\t\t\t\t{UnitOfMeasure.getTemperatureRelativeDisplayValue(props.system.equipmentSelection.tdBalance, 1)}\n\t\t\t\t\t\t{UnitOfMeasure.getRatingDisplayValue(props.system.equipmentSelection.totalSystemCapacity, 0)}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default LoadInfoEquipmentSummary;\n","import IEquipmentUnitItem from \"../models/interfaces/IEquipmentUnitItem\";\nimport IEquipmentOption from \"../models/interfaces/IEquipmentOption\";\nimport IEquipmentState from \"../models/interfaces/IEquipmentState\";\nimport TranslationService, {\n\tLocaleStrings\n} from \"./translations/TranslationService\";\nimport HelperService from \"./HelperService\";\nimport { Config } from \"../Constants\";\n\nconst strings: LocaleStrings = TranslationService.getTranslations();\n\nclass CertifiedPrintService {\n private static baseURL = Config.API_URL;\n\n public static getCertifiedPrintValues(\n equipmentState: IEquipmentState,\n equipment: IEquipmentUnitItem, \n selectedOptions: IEquipmentOption[],\n callback: (data: any) => void){\n \n let notes: string[] = [];\n notes.push(` † MCA.. ${strings.minimumCircuitAmpacity}, ‡ MOP.. ${strings.maximumOvercurrentProtection}`);\n\n if (equipment.class0ID === 2 ||\n equipment.class0ID === 3 ||\n equipment.class0ID === 5 ||\n equipment.class0ID === 9){\n notes.push(strings.mCA_MOPAreForTheCondensingUnitONLY_SinglePointConnectionsWILLShowDifferentOnDataplate_)\n }\n\n this.get_CertifiedPrintValues(\n equipmentState,\n equipment, \n selectedOptions, \n data => { \n notes.push(data.notes);\n data.notes = notes;\n callback(data);\n });\n\n }\n\n private static get_CertifiedPrintValues(\n equipmentState: IEquipmentState,\n equipment: IEquipmentUnitItem, \n selectedOptions: IEquipmentOption[],\n callback: (data: any) => void){\n\n let options: number[] = equipment.requiredOptions?.map( x => {\n return x.optionId;\n })??[]; \n\n options = options.concat(selectedOptions?.map( (x:any) => {\n return x.id;\n }));\n\n const optionIds: string = options.join(\",\"); \n\n let url = \"\";\n\n if (equipmentState && equipmentState.refrigerant){\n url = `${this.baseURL}/equipment/${equipment.class9ID}/certifiedprint?optionIds=${optionIds}&fluidId=${equipmentState.refrigerant}`;\n }\n else\n {\n url = `${this.baseURL}/equipment/${equipment.class9ID}/certifiedprint?optionIds=${optionIds}&fluidId=4`;\n }\n\n HelperService.callAPI(url, callback);\n\n }\n\n}\n\nexport default CertifiedPrintService;","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport { Config } from \"../../Constants\";\nimport ConfigurationService from \"../../services/ConfigurationService\";\nimport CertifiedPrintService from \"../../services/CertifiedPrintService\";\n\nimport useLoadingContext from \"../../hooks/useLoadingContext\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport IEquipmentOption from \"../../models/interfaces/IEquipmentOption\";\nimport IEquipmentState from \"../../models/interfaces/IEquipmentState\";\nimport IEquipmentUnitAttributes from \"../../models/interfaces/IEquipmentUnitAttributes\";\nimport IEquipmentUnitItem from \"../../models/interfaces/IEquipmentUnitItem\";\nimport IOption from \"../../models/interfaces/IOption\";\nimport IOptionGroup from \"../../models/interfaces/IOptionGroup\";\n\nimport * as OptionUtils from \"../EquipmentOptions/EquipmentOptions.utils\";\n\nconst table = {\n\tborder: \"1px solid black\"\n} as React.CSSProperties;\n\nconst getCertifiedPrintValuesAsync = (\n\tequipmentState: IEquipmentState,\n\tequipment: IEquipmentUnitItem, \n\tselectedOptions: IEquipmentOption[]\n) => {\n\treturn new Promise((resolve, reject) => {\n\t\ttry {\n\t\t\tCertifiedPrintService.getCertifiedPrintValues(\n\t\t\t\tequipmentState,\n\t\t\t\tequipment,\n\t\t\t\tselectedOptions,\n\t\t\t\t(data) => {\n\t\t\t\t\tresolve(data);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t\tcatch (error) {\n\t\t\treject(error);\n\t\t}\n\t});\n};\n\ninterface ModelInfoProps {\t\n\tsectionId: string;\n\tdivisionId: number;\n\tjobName: string;\n\tcustomerName: string;\n\tmyName: string;\n\tequipmentInfo: IEquipmentState;\n\tisCondensingUnit: boolean;\n\tselectedUnitItem: IEquipmentUnitItem | null; \n selectedOptionList: IEquipmentOption[];\n excludedOptionIds: string | null;\n selectedUnitAttributes: IEquipmentUnitAttributes | null;\n isPrintSingleEquipment: boolean;\n quoteFormInput: any;\n itemNumber: number | null;\n}\n\nconst ModelInfo: React.FunctionComponent = (props: ModelInfoProps) => {\t\t\n\n\tconst [cp, setCP] = React.useState({} as any);\n\tconst [lblLiquid, setLblLquid] = React.useState(\"\");\t\n\tconst [availableOptions, setAvailableOptions] = React.useState([] as IOptionGroup[]);\n\tconst [approvalImages, setApprovalImages] = React.useState([] as Array);\n\tconst [numberOfImgRows, setNumberOfImgRows] = React.useState(0);\n\tconst [imgRows, setImgRows] = React.useState([] as Array);\n\n\tconst { showLoading, hideLoading } = useLoadingContext();\n\tconst { translations } = useTranslationContext();\n\n\tconst getLiquidLabel = (\n\t\tclass0Id:number\n\t): string => {\n\t\tif (class0Id === 8 || class0Id === 1) {\n\t\t\treturn translations.dISTRIBUTOR;\n\t\t}\n\t\treturn translations.lIQUID;\n\t}\n\n\tconst loadApprovalImg = (\n\t\tapprovalImgNumber: number\n\t) => {\n\t\tapprovalImages.length = 0;\n\t\tfor (let i = 1; i < 10; i += 1){\n\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\tif ((approvalImgNumber & (2 ** (i-1))) > 0){\n\t\t\t\tif (i>=1){\n\t\t\t\t\tapprovalImages.push(ConfigurationService.getApprovalImageByNum(i, false));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst numOfRows: number = Math.ceil(approvalImages.length / 2);\n\t\tsetNumberOfImgRows(numOfRows);\n\n\t\tconst _imgRows: Array = [];\n\n\t\t_imgRows.length = 0;\n\t\tfor (let i = 0; i < numOfRows; i += 1) {\n\t\t\tif (i*2 + 1 <= approvalImages.length - 1) {\n\t\t\t\t_imgRows.push(\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t\telse{\n\t\t\t\t_imgRows.push(\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\t\n\t\tsetApprovalImages([]);\n\t\tsetApprovalImages(approvalImages);\n\t\tsetImgRows([]);\n\t\tsetImgRows(_imgRows);\n\t}\n\n\tReact.useEffect(() => {\n\t\tconst loadData = async () => {\n\t\t\tif (props.selectedUnitItem && props.selectedUnitItem.class9ID && props.selectedOptionList) {\n\t\t\t\ttry {\n\t\t\t\t\t//showLoading();\n \n const options = await OptionUtils.getAvailableOptions(\n props.divisionId,\n props.selectedUnitItem.class9ID,\n props.selectedOptionList,\n props.excludedOptionIds);\n setAvailableOptions(options);\n \n const certifiedPrintValues = await getCertifiedPrintValuesAsync(\n props.equipmentInfo,\n props.selectedUnitItem,\n props.selectedOptionList);\n setCP(certifiedPrintValues);\n setLblLquid(getLiquidLabel(props.selectedUnitItem.class0ID ?? 2));\n loadApprovalImg(certifiedPrintValues.Approvals); \n\n\t\t\t\t\t//hideLoading();\n\t\t\t\t}\n\t\t\t\tcatch (error: any) {\n\t\t\t\t\tconsole.log(`An error was encountered while loading the options. ${error.message ?? \"\"}`, error);\n\t\t\t\t\thideLoading();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tloadData();\n\t},[\n\t\tprops.divisionId,\n\t\tprops.equipmentInfo,\n\t\tprops.selectedUnitItem,\n\t\tprops.selectedOptionList\n ]);\n\n //console.log(\"props\", props);\n //console.log(\"unit:\", props.selectedUnitItem);\n\t\n return ( \n
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
NATIONAL REFERIGERATION AND
\n\t\t\t\t\t\t\t\t\t\t\t
AIR CONDITIONING CANADA CORP.
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t159 ROY BLVD. PO BOX 2020\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\tBRANTFORD ON\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\tCANADA N3T 5Y6\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.selectedUnitItem?.partNumber}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.selectedUnitItem?.description}\n\t\t\t\t\t\t\t\t\t
\n {props.isPrintSingleEquipment === false ? (props.isCondensingUnit && props.equipmentInfo ? props.equipmentInfo.equipmentType : \"Evaporator\"):\"\"}\n {props.isPrintSingleEquipment ? props.selectedUnitItem?.type : \"\"}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
PURCHASER:{props.isPrintSingleEquipment ? props.quoteFormInput?.Purchaser:props.customerName}SUBMITTED BY:{props.myName}
PROJECT:{props.isPrintSingleEquipment ? props.quoteFormInput?.Project:props.jobName}DATE:{new Date().toLocaleDateString ()}
ORDER #:-A00ITEM #:{props.itemNumber}
QUOTE #:{props.isPrintSingleEquipment ? props.quoteFormInput?.QuoteNumber : \"\"} ID #:{props.selectedUnitAttributes?.taggingId}
PURCHASER'S PO#:{props.isPrintSingleEquipment ? props.quoteFormInput?.PO : \"\"} TAGGING:{props.selectedUnitAttributes?.tagging}
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{translations.standardFeatures}\n\t\t\t\t\t\t
 \n
    \n\t\t\t\t\t\t\t\t{props.selectedUnitItem?.features?.map((x: any, i: number) => {\n\t\t\t\t\t\t\t\t\tconst key = i;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t
  • {x.featureDescription}
  • \n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t\t\t\t\t{translations.mODELOPTIONS}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{availableOptions &&\n\t\t\t\t\t\t\t\tavailableOptions.map((optionGroup: IOptionGroup, index: number) => {\n\t\t\t\t\t\t\t\t\tconst listKey = index;\n\t\t\t\t\t\t\t\t\tconst boldClassName = \" has-text-weight-bold is-6 group-name\";\n\t\t\t\t\t\t\t\t\tconst selectedDropdownOption =\n\t\t\t\t\t\t\t\t\t\toptionGroup.isListOption &&\n\t\t\t\t\t\t\t\t\t\toptionGroup.options &&\n\t\t\t\t\t\t\t\t\t\toptionGroup.options.filter(o => o.isChecked).length > 0\n\t\t\t\t\t\t\t\t\t\t\t? optionGroup.options.filter(o => o.isChecked)[0].name\n\t\t\t\t\t\t\t\t\t\t\t: \"\";\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t{optionGroup.isListOption && selectedDropdownOption !== \"\" && (\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{optionGroup.isVisible && optionGroup.groupName}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{optionGroup.selectedQuantity > 0 \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? optionGroup.selectedQuantity \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ( )}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedDropdownOption}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t{!optionGroup.isListOption &&\n\t\t\t\t\t\t\t\t\t\t\t\toptionGroup.options && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{optionGroup.isVisible && optionGroup.groupName}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t{!optionGroup.isListOption &&\n\t\t\t\t\t\t\t\t\t\t\t\toptionGroup.options && \n\t\t\t\t\t\t\t\t\t\t\t\toptionGroup.options.map((option: IOption) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.selectedQuantity > 0 \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? option.selectedQuantity \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: ( )}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{option.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\t\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\timgRows.length > 0 && imgRows\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t{translations.notes}\n\t\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcp.notes && \n\t\t\t\t\t\t\t\t\t\t\t\tcp.notes.map((x: any, i: number) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst key = i;\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

{x}

\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t{props.selectedUnitAttributes?.notes}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{translations.aPPROVALS}\n\t\t\t\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
{translations.aPPROVEDBY_}{translations.dATE_}
\n\t\t\t\t\t\t\t{translations.approvalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_}\n\t\t\t\t\t\t
\n\t\t
\n\t);\n};\n\nexport default ModelInfo;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport ConfigurationService from \"../../services/ConfigurationService\";\nimport IEquipmentOption from \"../../models/interfaces/IEquipmentOption\";\nimport IEquipmentState from \"../../models/interfaces/IEquipmentState\";\nimport IEquipmentUnitAttributes from \"../../models/interfaces/IEquipmentUnitAttributes\";\nimport IEquipmentUnitItem from \"../../models/interfaces/IEquipmentUnitItem\";\nimport IOptionGroup from \"../../models/interfaces/IOptionGroup\";\n\nimport useLoadingContext from \"../../hooks/useLoadingContext\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport * as OptionUtils from \"../EquipmentOptions/EquipmentOptions.utils\";\n\nconst table = {\n\tborder: \"1px solid black\"\n} as React.CSSProperties;\n\ninterface ModelOptionsProps {\n\tsectionId: string;\n\tdivisionId: number;\n\tjobName: string;\n\tcustomerName: string;\n\tmyName: string;\n\tequipmentInfo: IEquipmentState;\n\tisCondensingUnit: boolean;\n\tselectedUnitItem: IEquipmentUnitItem | null;\n selectedOptionList: IEquipmentOption[];\n excludedOptionIds: string | null;\n\tselectedUnitAttributes: IEquipmentUnitAttributes | null;\n}\n\nconst ModelOptions: React.FunctionComponent = (props: ModelOptionsProps) => {\n\n\tconst [availableOptions, setAvailableOptions] = React.useState([] as IOptionGroup[]);\n\n\tconst { showLoading, hideLoading } = useLoadingContext();\n\tconst { translations } = useTranslationContext();\n\n\tReact.useEffect(()=>{\n\t\tconst loadData = async () => {\n\t\t\tif (props.selectedUnitItem && props.selectedUnitItem.class9ID) {\n\t\t\t\ttry {\n\t\t\t\t\tshowLoading();\n\n\t\t\t\t\tconst options = await OptionUtils.getAvailableOptions(\n\t\t\t\t\t\tprops.divisionId,\n\t\t\t\t\t\tprops.selectedUnitItem.class9ID,\n props.selectedOptionList,\n props.excludedOptionIds);\n\t\t\t\t\tsetAvailableOptions(options);\n\n\t\t\t\t\thideLoading();\n\t\t\t\t}\n\t\t\t\tcatch (error: any) {\n\t\t\t\t\tconsole.log(`An error was encountered while loading the options. ${error.message ?? \"\"}`, error);\n\t\t\t\t\thideLoading();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tloadData();\n\t},[\n\t\tprops.divisionId,\n\t\tprops.selectedUnitItem,\n\t\tprops.selectedOptionList\n\t]);\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
NATIONAL REFERIGERATION AND
\n\t\t\t\t\t\t\t\t\t\t\t
AIR CONDITIONING CANADA CORP.
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t159 ROY BLVD. PO BOX 2020\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\tBRANTFORD ON\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\tCANADA N3T 5Y6\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.selectedUnitItem?.partNumber}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.selectedUnitItem?.description}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.isCondensingUnit ? props.equipmentInfo.equipmentType : \"Evaporator\"}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
PURCHASER:{props.customerName}SUBMITTED BY:{props.myName}
PROJECT:{props.jobName}DATE:{new Date().toLocaleDateString ()}
ORDER #:-A00ITEM #:0
QUOTE #: ID #:{props.selectedUnitAttributes?.taggingId}
PURCHASER'S PO#: TAGGING:{props.selectedUnitAttributes?.tagging}
\n\t\t\t{\n\t\t\t\tavailableOptions && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{translations.sELECTEDOPTIONDESCRIPTIONS}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{ \n\t\t\t\t\t\t\t\t\t\t\tavailableOptions.map(optionGroup => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn optionGroup.options.map(option => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (option.isChecked) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{optionGroup.groupName}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{optionGroup.groupName === option.name ? \"\" : (`, ${option.name}`)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

    {option.description}

    \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{translations.approvalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t)\n\t\t\t}\t\n\t\t
\n\t);\n};\n\nexport default ModelOptions;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport { getNumericValue, measure } from \"../../types/measure\";\n\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\nimport ConfigurationService from \"../../services/ConfigurationService\";\nimport CertifiedPrintService from \"../../services/CertifiedPrintService\";\nimport StorageFacade from \"../../services/StorageFacade\";\n\nimport IEquipmentOption from \"../../models/interfaces/IEquipmentOption\";\nimport IEquipmentState from \"../../models/interfaces/IEquipmentState\";\nimport IEquipmentUnitAttributes from \"../../models/interfaces/IEquipmentUnitAttributes\";\nimport IEquipmentUnitItem from \"../../models/interfaces/IEquipmentUnitItem\";\n\nimport useLoadingContext from \"../../hooks/useLoadingContext\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport { refrigerants } from \"../EquipmentFilters/EquipmentFilters\";\n\nimport \"./Print.css\";\n\nconst table = {\n\tborder: \"1px solid black\"\n} as React.CSSProperties;\n\ninterface ModelDrawingProps {\t\n\tsectionId: string;\n\tdivisionId: number;\n\tjobName: string;\n\tcustomerName: string;\n\tmyName: string;\n\tinteriorTemperature: measure;\n\tequipmentInfo: IEquipmentState;\n\tisCondensingUnit: boolean;\n\tselectedUnitItem: IEquipmentUnitItem | null;\n\tselectedOptionList: IEquipmentOption[];\n selectedUnitAttributes: IEquipmentUnitAttributes | null;\n isPrintSingleEquipment: boolean;\n capacityHasError: boolean;\n quoteFormInput: any;\n itemNumber: number | null;\n isForACCD: boolean;\n}\n\nconst ModelDrawing: React.FunctionComponent = (props: ModelDrawingProps) => {\t\n\n\tconst [cp, setCP] = React.useState({} as any);\n\t\n\tconst [lblLiquid, setLblLquid] = React.useState(\"\");\n\tconst [lblHeaterCompressor, setLblHeaterCompressor] = React.useState(\"\");\n\tconst [lblAirFlowRating, setLblAirFlowRating] = React.useState(\"\");\n\tconst [lblAirFlowRatingUnit, setLblAirFlowRatingUnit] = React.useState(\"\");\n\tconst [lblLRA, setLblLRA] = React.useState(\"\");\n const [lblRLAAmps, setLblRLAAmps] = React.useState(\"\");\n const [lblRefs, setLblRefs] = React.useState(\"\" as string | undefined);\n\n\tconst [approvalImages, setApprovalImages] = React.useState([] as Array);\n\n\tconst { showLoading, hideLoading } = useLoadingContext();\n\tconst { translations } = useTranslationContext();\n\n\tconst [circuitRows, setCircuitRows] = React.useState([] as Array);\n\n\tconst getDimensionFraction = (imperialValue: number): string => {\n\t\tconst value = UnitOfMeasure.getSmallerDimensionDisplayValue(imperialValue);\n\t\tif (value !== undefined) {\n\t\t\tif (StorageFacade.UsesMetricSystem) {\n\t\t\t\treturn `${UnitOfMeasure.getDisplayValue(+value, 0)} ${UnitOfMeasure.getSmallerDimensionUnitLabel()}` ?? \"\";\n\t\t\t}\n\n\t\t\tconst fraction = UnitOfMeasure.formatFraction(+value);\n\t\t\tif (fraction.trim().length > 0) {\n\t\t\t\treturn `${fraction} ${UnitOfMeasure.getSmallerDimensionUnitLabel()}`;\n\t\t\t}\n\t\t}\n\t\treturn \"\";\n\t};\n\n\tconst getWeightLabel = (imperialValue: number): string => {\n\t\tif (imperialValue === undefined) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn `${UnitOfMeasure.getWeightDisplayValue(imperialValue, 0)} ${UnitOfMeasure.getWeightUnitLabel()}`;\n\t};\n\n\tfunction getLiquidLabel(class0Id:number):string{\n\t\tif (class0Id === 8 || class0Id === 1) {\n\t\t\treturn translations.dISTRIBUTOR;\n\t\t}\n\t\treturn translations.lIQUID;\n\t}\n\n\tfunction getLblHeaterCompressor(class0Id:number):string {\n\t\tif (class0Id === 1 || class0Id === 4 ||\n\t\t\tclass0Id === 5 || class0Id === 6 ||\n\t\t\tclass0Id === 7 || class0Id === 8\n\t\t) {\n\t\t\treturn translations.hEATERS;\n\t\t}\n\t\treturn translations.cOMPRESSOR;\n\t}\n\n\tfunction getLblAirFlowRating(class0Id:number):string {\n\t\tif (class0Id === 1 || class0Id === 4 ||\n\t\t\tclass0Id === 6 ||\n\t\t\tclass0Id === 7 || class0Id === 8\n\t\t) {\n\t\t\treturn translations.aIRFLOW;\n\t\t}\n\t\treturn translations.rATING;\n\t}\n\n\tfunction getLblAirFlowRatingUnit(class0Id:number):string {\n\t\tif (class0Id === 1 || class0Id === 4 ||\n\t\t\tclass0Id === 6 ||\n\t\t\tclass0Id === 7 || class0Id === 8\n\t\t) {\n\t\t\treturn UnitOfMeasure.getAirFlowUnitLabel();\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tfunction getLblAMPSRla(class0Id:number):string {\n\t\tif (class0Id === 2 || class0Id === 3) {\n\t\t\treturn \"RLA\";\n\t\t}\n\t\treturn \"AMPS\";\n\t}\n\n\tfunction getLblLRA(class0Id:number):string {\n\t\tif (class0Id === 2 || class0Id === 3) {\n\t\t\treturn \"LRA\";\n\t\t}\n\t\treturn \"\";\n\t}\t\n\n\tfunction getTemp1Label(class0Id: number): string {\n\t\tif (class0Id === 2 || class0Id === 3 || class0Id === 9) {\n\t\t\treturn translations.suctionTemp;\n\t\t}\n\t\tif (class0Id === 1) {\n\t\t\treturn translations.evapTemperature;\n\t\t}\n\t\tif (class0Id === 4) {\n\t\t\treturn translations.condensingTemp;\n\t\t}\n\t\treturn \"\";\n\t}\n\n\tfunction getTemp2Label(class0Id: number): string {\n\t\tif (class0Id === 2 || class0Id === 4 ) {\n\t\t\treturn translations.ambientTemp;\n\t\t}\n\t\tif (class0Id === 1) { \n\t\t\treturn translations.boxTemperature; \n\t\t}\n if (class0Id === 3 || class0Id === 9) {\n\t\t\treturn translations.condensingTemp;\n\t\t}\n\t\t//if (class0Id === 9) {\n\t\t//\treturn \"Fluid Temp.\"; \n\t\t//}\n\t\treturn \"\";\n }\n\n function getTemp1Value(class0Id: number, equipmentInfo: IEquipmentState): number { \n\n if (class0Id === 2 || class0Id === 3 || class0Id === 9) {\n return (equipmentInfo?.interiorTemperature ?? 0) - (equipmentInfo?.designTd ?? 0) - (equipmentInfo?.suctionLineLoss??0);\n }\n if (class0Id === 1) {\n return (equipmentInfo?.interiorTemperature ?? 0) - (equipmentInfo?.designTd ?? 0);\n }\n if (class0Id === 4) {\n return (equipmentInfo?.condensingTemperature ?? 0);\n }\n return 0;\n }\n\n function getTemp2Value(class0Id: number, equipmentInfo: IEquipmentState): number {\n if (class0Id === 2 || class0Id === 4) {\n return (equipmentInfo?.condensingUnitAmbientTemperature ?? 0);\n }\n if (class0Id === 1) {\n return (equipmentInfo?.interiorTemperature ?? 0);\n }\n if (class0Id === 3 || class0Id === 9) {\n return (equipmentInfo?.condensingTemperature ?? 0);\n }\n \n return 0;\n }\n\n\tfunction loadApprovalImg(approvalImgNumber: number) {\n\t\tapprovalImages.length = 0;\n\t\tfor (let i = 1; i < 10; i += 1) {\n\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\tif ((approvalImgNumber & (2 ** (i-1))) > 0) {\n\t\t\t\tif (i >= 1) {\n\t\t\t\t\tapprovalImages.push(ConfigurationService.getApprovalImageByNum(i, false));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tsetApprovalImages([]);\n\t\tsetApprovalImages(approvalImages);\n\t}\n\n React.useEffect(() => {\n\n let selectedRefrigerant: any;\n\n if (props.equipmentInfo && props.equipmentInfo.refrigerant) {\n setLblRefs(refrigerants.find(a => a.key === props.equipmentInfo.refrigerant?.toString())?.value);\n selectedRefrigerant = props.equipmentInfo.refrigerant;\n }\n else if (props.selectedUnitItem && props.selectedUnitItem.refrigerants) {\n // do something\n let refs: string = \"\";\n props.selectedUnitItem.refrigerants.forEach(ref => {\n if (refs === \"\")\n refs = refs + ref.RefrigerantName;\n else\n refs = refs + \", \" + ref.RefrigerantName;\n });\n setLblRefs(refs);\n } \n else {\n let refs: string = \"\";\n refrigerants.forEach(item => {\n if (refs === \"\")\n refs = refs + item.value;\n else\n refs = refs + \", \" + item.value;\n\n selectedRefrigerant = item.key;\n });\n setLblRefs(refs);\n }\n\n props.equipmentInfo.refrigerant = selectedRefrigerant;\n \n if (props.selectedUnitItem) {\n\t\t\t//showLoading(); \n\t\t\ttry {\n\t\t\tCertifiedPrintService.getCertifiedPrintValues(\n\t\t\t\tprops.equipmentInfo,\n\t\t\t\tprops.selectedUnitItem,\n\t\t\t\tprops.selectedOptionList,\n\t\t\t\tdata => { \n\t\t\t\t\tsetCP(data);\n\t\t\t\t\tsetLblLquid(getLiquidLabel(props.selectedUnitItem?.class0ID??2));\n\t\t\t\t\tsetLblHeaterCompressor(getLblHeaterCompressor(props.selectedUnitItem?.class0ID??2));\n\t\t\t\t\tsetLblAirFlowRating(getLblAirFlowRating(props.selectedUnitItem?.class0ID??2));\n\t\t\t\t\tsetLblAirFlowRatingUnit(getLblAirFlowRatingUnit(props.selectedUnitItem?.class0ID??2));\n\t\t\t\t\tsetLblRLAAmps(getLblAMPSRla(props.selectedUnitItem?.class0ID??2));\n\t\t\t\t\tsetLblLRA(getLblLRA(props.selectedUnitItem?.class0ID??2));\n\t\t\t\t\tloadApprovalImg(data.Approvals);\n\n\t\t\t\t\tconst _lblLRA = getLblLRA(props.selectedUnitItem?.class0ID??2);\n\n\t\t\t\t\tconst circuits: Array = [];\n\t\t\t\t\tif (data.VoltageInfo && data.VoltageInfo.length > 0) {\n\t\t\t\t\t\tlet cur: number = 1;\n\t\t\t\t\t\tdata.VoltageInfo.forEach((va: any, i: number) => {\n\t\t\t\t\t\t\tconst key = i;\n\t\t\t\t\t\t\tif (va.Circuit_No && va.Circuit_No >= cur){\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (_lblLRA !== \"\")\n\t\t\t\t\t\t\t\t\tcircuits.push(\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{va.Fan_Count}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{va.Fan_Power}\n\t\t\t\t\t\t\t\t\t\t\t\t{cp.Fan_Units}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.numberRound(va.Fan_FLA, 1)}\n\t\t\t\t\t\t\t\t\t\t\t{va.Circuit_Type}\n\t\t\t\t\t\t\t\t\t\t\t{va.Circuit_Count}\n\t\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.numberRound(va.RLA, 1)}\n\t\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.numberRound(va.LRA, 1)}\n\t\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.numberRound(va.FLA, 1)}\n\t\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.numberRound(va.KW, 1)}\n\t\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.numberRound(va.MCA, 1)}\n\t\t\t\t\t\t\t\t\t\t\t{va.MOP}\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\tcircuits.push(\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{va.Fan_Count}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.numberRound(va.Fan_Power, 2)}\n  \n\t\t\t\t\t\t\t\t\t\t\t\t{va.Fan_Units}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.numberRound(va.Fan_FLA, 1)}\n\t\t\t\t\t\t\t\t\t\t\t{va.Circuit_Type}\n\t\t\t\t\t\t\t\t\t\t\t{va.Circuit_Count}\n\t\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.numberRound(va.RLA, 1)}\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.numberRound(va.FLA, 1)}\n\t\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.numberRound(va.KW, 1)}\n\t\t\t\t\t\t\t\t\t\t\t{UnitOfMeasure.numberRound(va.MCA, 1)}\n\t\t\t\t\t\t\t\t\t\t\t{va.MOP}\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tcur += 1;\n\t\t\t\t\t\t});\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tsetCircuitRows([]);\n\t\t\t\t\tsetCircuitRows(circuits);\n\n\t\t\t\t\t//hideLoading();\n\t\t\t\t});\n\t\t\t}\n\t\t\tcatch (error: any) {\n\t\t\t\tconsole.log(`An error was encountered while loading data. ${error.message ?? \"\"}`, error);\n\t\t\t\t//hideLoading();\n\t\t\t}\n\t\t}\n\t},[\n\t\tprops.equipmentInfo,\n\t\tprops.selectedUnitItem, \n\t\tprops.selectedOptionList\n\t]);\n\n\tconst getSound = () => {\n\t\tif (cp.Noise === undefined || Number.isNaN(cp.Noise)) {\n\t\t\tif (cp.ratingNoise === undefined || Number.isNaN(cp.ratingNoise)) {\n\t\t\t\treturn \"\";\n\t\t\t}\n\t\t\treturn cp.ratingNoise;\n\t\t}\n\t\treturn cp.Noise;\n\t}\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
NATIONAL REFERIGERATION AND
\n\t\t\t\t\t\t\t\t\t\t\t
AIR CONDITIONING CANADA CORP.
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t159 ROY BLVD. PO BOX 2020\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\tBRANTFORD ON\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\tCANADA N3T 5Y6\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
{props.selectedUnitItem?.partNumber}
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{props.selectedUnitItem?.description}\n\t\t\t\t\t\t\t\t\t
\n {props.isPrintSingleEquipment === false ? (props.isCondensingUnit && props.equipmentInfo ? props.equipmentInfo.equipmentType : \"Evaporator\") : \"\"}\n {props.isPrintSingleEquipment ? props.selectedUnitItem?.type : \"\"}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
PURCHASER:{props.isPrintSingleEquipment?props.quoteFormInput?.Purchaser:props.customerName}SUBMITTED BY:{props.myName}
PROJECT:{props.isPrintSingleEquipment ? props.quoteFormInput?.Project:props.jobName}DATE:{new Date().toLocaleDateString ()}
ORDER #:-A00ITEM #:{props.itemNumber}
QUOTE #:{props.isPrintSingleEquipment ? props.quoteFormInput?.QuoteNumber : \"\"} ID #:{props.selectedUnitAttributes?.taggingId}
PURCHASER'S PO#:{props.isPrintSingleEquipment ? props.quoteFormInput?.PO : \"\"} TAGGING:{props.selectedUnitAttributes?.tagging}
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{translations?.dimensionsShownAreForStandardUnitLessOptions_?.toUpperCase()}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t(cp.Dim_A?:)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t(cp.Dim_E?:)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t(cp.Con_Liquid?:)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t(cp.Con_PanLoop?:)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t(cp.Ship_Weight?:)\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t
{translations?.dimensions?.toUpperCase()}{`FIELD ${translations?.cONNECTIONS?.toUpperCase()}`}{translations.oTHER}
{translations.dIMENSIONA}{getDimensionFraction(cp.Dim_A)}        {translations.dIMENSIONE}{getDimensionFraction(cp.Dim_E)}        {lblLiquid}{getDimensionFraction(cp.Con_Liquid)}        {translations.pANLOOP}{getDimensionFraction(cp.Con_PanLoop)}        {translations.sHIPPINGWEIGHT}{getWeightLabel(cp.Ship_Weight)}        
{translations.dIMENSIONB}{getDimensionFraction(cp.Dim_B)}{translations.dIMENSIONF}{getDimensionFraction(cp.Dim_F)}{translations.sUCTION}{getDimensionFraction(cp.Con_Suction)}{translations.hOTGASSIDEPORT}{getDimensionFraction(cp.Con_HGSide)}{`${translations?.refrigerant?.toUpperCase()} ${translations.cHARGE}`}{getWeightLabel(cp.Charge)}
{translations.dIMENSIONC}{getDimensionFraction(cp.Dim_C)}{translations.dIMENSIONG}{getDimensionFraction(cp.Dim_G)}{translations.dRAIN}{getDimensionFraction(cp.Con_Drain)}{translations.hOTGASINLET}{getDimensionFraction(cp.HGInlet)}{`RECEIVER ${translations.cAPACITY}`}{getWeightLabel(cp.Receiver_Capacity)}
{translations.dIMENSIOND}{getDimensionFraction(cp.Dim_D)}{translations.dIMENSIONH}{getDimensionFraction(cp.Dim_H)}{translations.wATER}{getDimensionFraction(cp.Con_Water)}{translations.hOTGASOUTLET}{getDimensionFraction(cp.HGOutlet)}AWEF COMPLIANT{props.selectedUnitItem?.awefCompliant ? \"YES\" : \"NO\"}
    {translations.dISCHARGE}{getDimensionFraction(cp.Con_Discharge)}    
          
\t\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n \n \n \n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
{translations.voltage}{props.isForACCD === false? translations.sYSTEMREFRIGERANT : ''}{lblAirFlowRating}{ getTemp1Label(props.selectedUnitItem?.class0ID??2)}{ getTemp2Label(props.selectedUnitItem?.class0ID??2)}{props.isForACCD === false? translations.cAPACITY : ''}
{props.selectedUnitItem?.text}{props.isForACCD === false?lblRefs:''}{cp.rating ? `${UnitOfMeasure.getAirFlowDisplayValue(cp.rating, 1)} ${lblAirFlowRatingUnit}` : \"\"}{getTemp1Value(props.selectedUnitItem?.class0ID ?? 2, props.equipmentInfo) !== (undefined || null || 0) ? `${UnitOfMeasure.getTemperatureDisplayValue(getTemp1Value(props.selectedUnitItem?.class0ID ?? 2, props.equipmentInfo), 1)} ${UnitOfMeasure.getTemperatureUnitLabel()}`: ''}{getTemp2Value(props.selectedUnitItem?.class0ID ?? 2, props.equipmentInfo) !== (undefined || null || 0) ? `${UnitOfMeasure.getTemperatureDisplayValue(getTemp2Value(props.selectedUnitItem?.class0ID ?? 2, props.equipmentInfo), 1)} ${UnitOfMeasure.getTemperatureUnitLabel()}`:''}{props.isForACCD === false ? (!props.capacityHasError && props.selectedUnitItem?.capacityPerUnit?`${UnitOfMeasure.getRatingDisplayValue(props.selectedUnitItem?.capacityPerUnit, 0)} ${UnitOfMeasure.getRatingUnitLabel()}`:'ERROR') : ''}
\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{ lblLRA !== \"\" && }\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{circuitRows}\n\t\t\t\t\n\t\t\t
{translations.fans}{lblHeaterCompressor}{translations.cIRCUITTOTAL}
{translations.qTY}{translations.power}{translations.fLA_FAN}{translations.type}{translations.qTY}{lblRLAAmps}{lblLRA}{translations.aMPS}{translations.wATTS}MCA†MOP‡
\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tapprovalImages.length > 0 && \n\t\t\t\t\t\t\t\t\t\t\tapprovalImages.map((x: any, i: number) => {\n\t\t\t\t\t\t\t\t\t\t\t\tconst key = i;\n\t\t\t\t\t\t\t\t\t\t\t\treturn ;\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
{lblLiquid}{getDimensionFraction(cp.Con_Liquid)}{translations.sOUND}{getSound()}REC CAPACITY{getWeightLabel(cp.Receiver_Capacity)}{`${translations.aPPROVALS}:`}\"\"
{translations.sUCTION}{getDimensionFraction(cp.Con_Suction)}{translations.wEIGHT}{getWeightLabel(cp.Ship_Weight)}REF CHARGE{getWeightLabel(cp.Charge)}
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{translations.notes}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcp.notes && \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcp.notes.map((x: any, i: number) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst key = i;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t

{x}

\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{props.selectedUnitAttributes?.notes}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
{translations.aPPROVEDBY_}{translations.dATE_}
\n\t\t\t\t\t\t\t{translations.nATIONALREFRIGERATIONWillFurnishEquipmentInAccordanceWithThisDrawingAndSpecifications_AndSubjectToItsPublishedWarranty_ApprovalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_}\n\t\t\t\t\t\t
\n\t\t
\n\t);\n};\n\nexport default ModelDrawing;\n","import * as React from \"react\";\n\nimport html2canvas from \"html2canvas\";\nimport jsPDF from \"jspdf\";\n\nimport StorageFacade from \"../../services/StorageFacade\";\nimport LoadCalculationService from \"../../services/LoadCalculationService\";\n\nimport IEquipmentState from \"../../models/interfaces/IEquipmentState\";\n\nimport LoadInfoEquipmentSummary from \"./LoadInfoEquipmentSummary\";\nimport ModelInfo from \"./ModelInfo\";\nimport ModelOptions from \"./ModelOptions\";\nimport ModelDrawing from \"./ModelDrawing\";\n\nimport useLoadingContext from \"../../hooks/useLoadingContext\";\nimport useSystemContext from \"../../hooks/useSystemContext\";\n\nimport \"./Print.css\";\nimport HelperService from \"../../services/HelperService\";\n\nfunction hideElement(elementId: string){\n\tconst element = document.getElementById(elementId);\n\tif (element) element.style.display = \"none\";\n}\n\nfunction showElement(elementId: string){\n\tconst element = document.getElementById(elementId);\n\tif (element) element.style.display = \"block\";\n}\n\nconst PrintReport = () => {\n\tconst [exportingPageNumber, setExportingPageNumber] = React.useState(0);\n const [totalPageNumber, setTotalPageNumber] = React.useState(0);\n const [isFromLegacy, setIsFromLegacy] = React.useState(false);\n\n\tconst { showLoading, hideLoading } = useLoadingContext();\n\tconst { systemState, dispatch } = useSystemContext();\n\n React.useEffect(() => {\n\n setIsFromLegacy(StorageFacade.isFromLegacy);\n\n const getLoads = async () => {\n const loads = await LoadCalculationService.fetchCalculatedLoadsAsync(\n systemState.formState.actualValues.boxApplicationId ?? 0,\n systemState.formState.actualValues.boxDesign.floorArea,\n systemState.formState.actualValues.boxDesign.volume,\n systemState.formState.actualValues.boxDesign.totalInfiltrationLoad,\n systemState.formState.actualValues.exteriorTemperature,\n\t\t\t\tsystemState.formState.actualValues.exteriorHumidity,\n\t\t\t\tsystemState.formState.actualValues.interiorTemperature,\n systemState.formState.actualValues.interiorHumidity,\n systemState.store.miscLoad,\n systemState.store.infiltrationLoad,\n systemState.store.productLoad);\n\n const {totalMiscLoad, totalInfiltrationLoad, totalProductLoad, miscLoadItems, infiltrationLoadItems, productLoadItems} = loads;\n\n dispatch({ \n\t\t\t\ttype: \"recalculate-loads\", \n totalMiscLoad: totalMiscLoad > 0 ? totalMiscLoad : undefined, \n totalInfiltrationLoad: totalInfiltrationLoad > 0 ? totalInfiltrationLoad : undefined, \n\t\t\t\ttotalProductLoad: totalProductLoad > 0 ? totalProductLoad : undefined,\n\t\t\t\tmiscLoadItems,\n\t\t\t\tinfiltrationLoadItems,\n\t\t\t\tproductLoadItems,\n\t\t\t\tupdateStore: true\n });\n\n hideLoading();\n };\n\n\t\tif (systemState.formState.actualValues.boxApplicationId\n\t\t\t&& systemState.formState.actualValues.boxApplicationId > 0\n\t\t) {\n\t\t\tshowLoading();\n getLoads();\n }\n\t}, [\n\t\tsystemState.formState.actualValues.boxApplicationId,\n\t\tsystemState.formState.actualValues.boxDesign.floorArea,\n\t\tsystemState.formState.actualValues.boxDesign.volume,\n\t\tsystemState.formState.actualValues.boxDesign.totalInfiltrationLoad,\n\t\tsystemState.formState.actualValues.exteriorTemperature,\n\t\tsystemState.formState.actualValues.exteriorHumidity,\n\t\tsystemState.formState.actualValues.interiorTemperature,\n\t\tsystemState.formState.actualValues.interiorHumidity,\n\t\tsystemState.store.miscLoad,\n\t\tsystemState.store.infiltrationLoad,\n\t\tsystemState.store.productLoad\n ]);\n\n\tconst pagesEquipment: Array = [];\n\n\tfunction addPDFPage(\n\t\tpdf: any, \n\t\tcurrentPageIndex: number\n\t) {\n\t\tif (currentPageIndex >= pagesEquipment.length){\n\t\t\tpdf.save(\"certified_print.pdf\"); // Generated PDF\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\n\t\t\tshowElement(\"load_design_summary\");\t\t\t\n\t\t\tpagesEquipment.forEach(pageId => {\n\t\t\t\tshowElement(pageId);\n\t\t\t});\n\n setExportingPageNumber(-1);\n // setTimeout(() => { setExportingPageNumber(0);}, 8000)\n\t\t\t\n\t\t\thideLoading();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (currentPageIndex === 0) {\n\t\t\thideElement(\"load_design_summary\");\n\t\t}\n\t\telse {\t\n\t\t\thideElement(pagesEquipment[currentPageIndex - 1]);\n\t\t}\n\n\t\tpdf.addPage();\t\t\t\n\t\tconst dataPage2: any = document.getElementById(pagesEquipment[currentPageIndex]);\n\t\twindow.scrollTo(0,0);\n\t\tsetExportingPageNumber(currentPageIndex + 2);\n\t\thtml2canvas(dataPage2, { scale: 1.25, \n\t\t\tscrollX: -window.scrollX,\n\t\t\tscrollY: -window.scrollY\n\t\t}).then(canvas2 => {\n\t\t\tconst imgWidth = 420;\t\t\t\n\t\t\tconst imgHeight = (canvas2.height * imgWidth) / canvas2.width;\t\t\t\t \n\n\t\t\tpdf.addImage(canvas2, \"PNG\", 12, 15, imgWidth, imgHeight, undefined, \"FAST\");\n\n\t\t\taddPDFPage(pdf, currentPageIndex + 1);\n\t\t});\n\t}\n\n\tfunction exportPDF(equipmentInfo: IEquipmentState | null) {\n\t\tif (!equipmentInfo) {\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tshowLoading();\n\t\t\n\t\tpagesEquipment.length = 0;\n\n\t\tif (equipmentInfo.selectedCondenserUnit) {\n\t\t\tpagesEquipment.push(\"ModelInfoCondensor\");\n\n\t\t\tif (equipmentInfo.selectedCondenserOptionList \n\t\t\t\t&& equipmentInfo.selectedCondenserOptionList.length > 0\n\t\t\t) {\n\t\t\t\tpagesEquipment.push(\"ModelOptionsCondensor\");\n\t\t\t}\n\n\t\t\tpagesEquipment.push(\"ModelDrawingCondensor\");\n\t\t}\n\n\t\tif (equipmentInfo.selectedEvaporator) {\n\t\t\tpagesEquipment.push(\"ModelInfoEvap\");\n\n\t\t\tif (equipmentInfo.selectedEvaporatorOptionList \n\t\t\t\t&& equipmentInfo.selectedEvaporatorOptionList.length > 0\n\t\t\t) {\n\t\t\t\tpagesEquipment.push(\"ModelOptionsEvap\");\n\t\t\t}\n\t\t\t\n\t\t\tpagesEquipment.push(\"ModelDrawingEvap\");\n\t\t}\n\n\t\tsetTotalPageNumber(pagesEquipment.length + 1);\n\n\t\tconst dataPage1: any = document.getElementById(\"load_design_summary\");\n\t\twindow.scrollTo(0,0);\n\t\tsetExportingPageNumber(1);\n\t\thtml2canvas(dataPage1, { scale: 1.25, \n\t\t\tscrollX: -window.scrollX,\n\t\t\tscrollY: -window.scrollY\n\t\t}).then(canvas1 => {\n\t\t\t// Few necessary setting options\n\t\t\tconst imgWidth = 420;\t\t\t\n\t\t\tconst imgHeight = (canvas1.height * imgWidth) / canvas1.width;\n\n\t\t\tconst pdf = new jsPDF({\n\t\t\t\tunit: \"px\",\n\t\t\t\tcompressPdf: true\n\t\t\t}); // A4 size page of PDF\n\t\t\t\n\t\t\tpdf.addImage(canvas1, \"PNG\", 12, 15, imgWidth, imgHeight, undefined, \"FAST\");\n\n\t\t\taddPDFPage(pdf, 0);\t\t\t\t\t\t\n\t\t});\n\t}\n\n\tconst equipmentInfo = systemState.formState.actualValues.equipmentSelection;\n\tconst divisionId = Number(StorageFacade.divisionId);\n\n let condensingUnitModelDrawingClassName = \"\";\n if (equipmentInfo.selectedEvaporator)\n condensingUnitModelDrawingClassName = \"printpage\";\n else\n condensingUnitModelDrawingClassName = \"noprintpage\"; \n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t
\n\t\t\t
\n
\n\t\t\t\t \n
\n\t\t\t\t{equipmentInfo.selectedCondenserUnit && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t
\n
\n\t\t\t\t\t\t \t\t\n
\n\t\t\t\t\t\t{ \n\t\t\t\t\t\t\tequipmentInfo.selectedCondenserOptionList \n\t\t\t\t\t\t\t\t&& equipmentInfo.selectedCondenserOptionList.length > 0\n\t\t\t\t\t\t\t\t&&\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t
\n
\n\t\t\t\t\t\t\t\t\t\n
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t
\n
\n\t\t\t\t\t\t\n
\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{equipmentInfo.selectedEvaporator && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t
\n
\n\t\t\t\t\t\t\n
\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tequipmentInfo.selectedEvaporatorOptionList \n\t\t\t\t\t\t\t\t&& equipmentInfo.selectedEvaporatorOptionList.length > 0\n\t\t\t\t\t\t\t\t&&\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t
\n
\n\t\t\t\t\t\t\t\t\t\n
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default PrintReport;\n","/* eslint-disable react/no-array-index-key */\nimport * as React from \"react\";\n\nimport ConfigurationService from \"../../services/ConfigurationService\";\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\nimport { calculateLoadPercentage } from \"../../models/helpers/LoadCalculations\";\n\nimport ISystem from \"../../models/interfaces/ISystem\";\n\nimport { getLocationDescription } from \"../../models/helpers/PrintPreview\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport \"./Print.css\";\n\nconst table = {\n\tborder: \"1px solid black\"\n} as React.CSSProperties;\n\ninterface SystemsLoadSummaryProps {\t\n divisionId: number;\n\tmyInfo: any;\n\tcustomerInfo: any;\n projectSystems: ISystem[];\n}\n\nconst SystemsLoadSummary: React.FunctionComponent = (props: SystemsLoadSummaryProps) => {\t\t\n\n const { translations } = useTranslationContext();\n\n return (\n <>\n {props.projectSystems && props.projectSystems.length > 0 && (\t\n
\n \t\t\t\t\t\n \n \n \t\t\t\t\t\t\t\t\n \n \n \n \n \n \n \n
\n \n \n
NATIONAL REFERIGERATION AND
\n
AIR CONDITIONING CANADA CORP.
\n
\n 159 ROY BLVD. PO BOX 2020\n
\n
\n BRANTFORD ON\n
\n
\n CANADA N3T 5Y6\n
\n
\n \n \n

\n \n {translations.sYSTEMSLOADSUMMARY}\n \n

\n \n \n \n \n \n \n \n \n {translations.preparedBy}\n \n \n {translations.preparedFor}\n \n \n \n \n \n \n {props.myInfo?.Contact && (\n
\n {props.myInfo.Contact}\n
\n )}\n {props.myInfo?.Company && (\n
\n {props.myInfo.Company}\n
\n )}\n {props.myInfo?.Address1 && (\n
\n {props.myInfo.Address1}\n
\n )}\n {props.myInfo?.Address2 && (\n
\n {props.myInfo.Address2}\n
\n )}\n {(props.myInfo?.City || props.myInfo?.Region) && (\n
\n {props.myInfo.City ?? \"\"}\n , \n {props.myInfo.Region ?? \"\"}\n
\n )}\n {(props.myInfo?.Postal || props.myInfo?.Country) && (\n
\n {props.myInfo.Postal ?? \"\"}\n  \n {props.myInfo.Country ?? \"\"}\n
\n )}\n {props.myInfo?.Phone && (\n
\n Ph: \n {props.myInfo.Phone}\n
\n )}\n {props.myInfo?.Fax && (\n
\n Fx: \n {props.myInfo.Fax}\n
\n )}\n {props.myInfo?.eMail && (\n
\n Email: \n {props.myInfo.eMail}\n
\n )}\n \n \n {props.customerInfo?.Contact && (\n
\n {props.customerInfo.Contact}\n
\n )}\n {props.customerInfo?.Company && (\n
\n {props.customerInfo.Company}\n
\n )}\n {props.customerInfo?.Address1 && (\n
\n {props.customerInfo.Address1}\n
\n )}\n {props.customerInfo?.Address2 && (\n
\n {props.customerInfo.Address2}\n
\n )}\n {(props.customerInfo?.City || props.customerInfo?.Region) && (\n
\n {props.customerInfo.City ?? \"\"}\n , \n {props.customerInfo.Region ?? \"\"}\n
\n )}\n {(props.customerInfo?.Postal || props.customerInfo?.Country) && (\n
\n {props.customerInfo.Postal ?? \"\"}\n  \n {props.customerInfo.Country ?? \"\"}\n
\n )}\n {props.customerInfo?.Phone && (\n
\n Ph: \n {props.customerInfo.Phone}\n
\n )}\n {props.customerInfo?.Fax && (\n
\n Fx: \n {props.customerInfo.Fax}\n
\n )}\n {props.customerInfo?.eMail && (\n
\n Email: \n {props.customerInfo.eMail}\n
\n )}\n \n \n \n \n {props.projectSystems.map((system, index) => {\n\n return (\n \n \n \n \n {`${translations.system}: ${system.systemName ?? \"\"}`}\n \t\t\t\t\t\t\t\n \n \n \n \n {translations.applicationTitle}\n {translations.location}\n {translations.interiorTemperature}\n {translations.exteriorTemperature}\n {translations.internalRH}\n {translations.externalRH}\t\t\t\t\t\t\t\n \n \n {system.boxApplicationName}\n {getLocationDescription(system.boxLocation, translations)}\n {system.interiorTemperature ? `${UnitOfMeasure.getTemperatureDisplayValue(system.interiorTemperature, 1)} ${UnitOfMeasure.getTemperatureUnitLabel()}` : \"\"}\n {system.exteriorTemperature ? `${UnitOfMeasure.getTemperatureDisplayValue(system.exteriorTemperature, 1)} ${UnitOfMeasure.getTemperatureUnitLabel()}` : \"\"}\n {system.interiorHumidity ? `${UnitOfMeasure.getDisplayValue(system.interiorHumidity, 1)} ${UnitOfMeasure.getPercentUnitLabel()}` : \"\"}\n {system.exteriorHumidity ? `${UnitOfMeasure.getDisplayValue(system.exteriorHumidity, 1)} ${UnitOfMeasure.getPercentUnitLabel()}` : \"\"}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \t\n \n \n \n \n \n \n \n \n \t\n \n \n \n
{`${translations.wallLoad} ${calculateLoadPercentage(system).wallLoad}${UnitOfMeasure.getPercentUnitLabel()}`}{system.totalWallLoad ? `${UnitOfMeasure.getRatingDisplayValue(system.totalWallLoad, 0)} ${UnitOfMeasure.getRatingUnitLabel()}` : \"\"}{`${translations.infiltrationLoad} ${calculateLoadPercentage(system).infiltrationLoad}${UnitOfMeasure.getPercentUnitLabel()}`}{system.totalInfiltrationLoad ? `${UnitOfMeasure.getRatingDisplayValue(system.totalInfiltrationLoad, 0)} ${UnitOfMeasure.getRatingUnitLabel()}` : \"\"}{`${translations.productLoad} ${calculateLoadPercentage(system).productLoad}${UnitOfMeasure.getPercentUnitLabel()}`}{system.totalProductLoad ? `${UnitOfMeasure.getRatingDisplayValue(system.totalProductLoad, 0)} ${UnitOfMeasure.getRatingUnitLabel()}` : \"\"}{`${translations.miscellaneousLoad} ${calculateLoadPercentage(system).miscLoad}${UnitOfMeasure.getPercentUnitLabel()}`}{system.totalMiscLoad ? `${UnitOfMeasure.getRatingDisplayValue(system.totalMiscLoad, 0)} ${UnitOfMeasure.getRatingUnitLabel()}` : \"\"}
{translations.designLoad}{system.totalHourlyLoad ? `${UnitOfMeasure.getRatingDisplayValue(system.totalHourlyLoad, 0)} ${UnitOfMeasure.getRatingUnitLabel()}` : \"\"}{translations.safetyLoad}{system.totalLoadRequired ? `${UnitOfMeasure.getRatingDisplayValue(system.totalLoadRequired, 0)} ${UnitOfMeasure.getRatingUnitLabel()}` : \"\"}{translations.runTime}{system.runTimeHours ? `${UnitOfMeasure.getDisplayValue(system.runTimeHours, 0)} ${translations.hours}` : \"\"}{translations.capacityRequired}{system.capacityRequired ? `${UnitOfMeasure.getRatingDisplayValue(system.capacityRequired, 0)} ${UnitOfMeasure.getRatingUnitLabel()}` : \"\"}
{translations.sYSTEMBALANCE}{translations.sST}{system.equipmentSelection.sstBalance ? `${UnitOfMeasure.getTemperatureDisplayValue(system.equipmentSelection.sstBalance, 1)} ${UnitOfMeasure.getTemperatureUnitLabel()}` : \"\"}{translations.evaporatorTD}{system.equipmentSelection.tdBalance ? `${UnitOfMeasure.getTemperatureDisplayValue(system.equipmentSelection.tdBalance, 1)} ${UnitOfMeasure.getTemperatureUnitLabel()}` : \"\"}{translations.systemCapacity}{system.equipmentSelection.totalSystemCapacity ? `${UnitOfMeasure.getRatingDisplayValue(system.equipmentSelection.totalSystemCapacity, 0)} ${UnitOfMeasure.getRatingUnitLabel()}` : \"\"}
\n \n \n \n \n );\n })}\n
\n )}\n \n\t);\n};\n\nexport default SystemsLoadSummary;\n","import * as React from \"react\";\n\nimport ISystem from \"../models/interfaces/ISystem\";\n\nimport ConfigurationService from \"../services/ConfigurationService\";\nimport UnitOfMeasure from \"../models/helpers/UnitOfMeasure\";\nimport EquipmentByIdRequest from \"../services/requests/EquipmentByIdRequest\";\nimport LoadCalculationService from \"../services/LoadCalculationService\";\nimport ModelSelectionService from \"../services/ModelSelectionService\";\nimport StorageFacade from \"../services/StorageFacade\";\n\nimport useApplicationContext from \"./useApplicationContext\";\nimport useBoxContext from \"./useBoxContext\";\nimport useBoxMaterialsContext from \"./useBoxMaterialsContext\";\nimport useLoadingContext from \"./useLoadingContext\";\nimport useSystemState from \"./useSystemState\";\nimport IMaterial from \"../models/interfaces/IMaterial\";\n\nconst useProjectSystems = () => {\n\n const { showLoading, hideLoading } = useLoadingContext();\n const { getSystemValues, recalculateTotalLoads } = useSystemState();\n\n const [currentSystem, setCurrentSystem] = React.useState(null as ISystem | null);\n const [tempProjectSystems, setTempProjectSystems] = React.useState([] as ISystem[]);\n const [projectSystems, setProjectSystems] = React.useState(null as ISystem[] | null);\n const [baseBoxMaterials, setBaseBoxMaterials] = React.useState([] as IMaterial[]);\n\n const { isAppDataLoaded, appData } = useApplicationContext();\n const { loadBox, boxData, isBoxDataLoaded } = useBoxContext();\n const { isMaterialListLoaded, boxMaterials, updateBoxMaterials } = useBoxMaterialsContext();\n\n const getProjectSystemByIndex = (index: number) => {\n const storeSystems: ISystem[] | null = StorageFacade.project?.Systems;\n\n if (storeSystems && storeSystems.length > index) {\n const system = storeSystems[index];\n setCurrentSystem(system); // this will trigger useEffect function with \"currentSystem\" dependency below\n\n // add any composite constructions from storage to the box materials collection\n if (system.wallLoad?.constructions\n && system.wallLoad.constructions.length > 0\n ) {\n const materials = [\n ...baseBoxMaterials,\n ...system.wallLoad.constructions\n ];\n\n updateBoxMaterials(materials);\n }\n\n const systemBoxId = system.boxApplicationId;\n if (systemBoxId) {\n loadBox(systemBoxId); // this will trigger useEffect function with \"boxId\" and \"isBoxDataLoaded\" dependencies below\n }\n }\n };\n\n React.useEffect(() => {\n if (StorageFacade.project?.Systems.length === tempProjectSystems.length) {\n // use a tempProjectSystems state to temporarily store project systems that are loaded one by one\n // set the state projectSystems only when all project systems have been loaded into tempProjectSystems\n // so that it renders the PrintMultiple component one time only\n setProjectSystems(tempProjectSystems);\n }\n }, [tempProjectSystems]);\n\n React.useEffect(() => {\n if (isAppDataLoaded\n && isMaterialListLoaded\n ) {\n // store box materials collection from the web service to a state variable\n // so that we can reset the collection for each system before we update it with composite construction\n setBaseBoxMaterials(boxMaterials);\n\n // load the first system\n // when that is done, load the next\n // until all systems have been loaded\n getProjectSystemByIndex(0);\n }\n }, [\n isAppDataLoaded,\n isMaterialListLoaded\n ]);\n\n React.useEffect(() => {\n const getProjectSystem = async (\n storeSystem: ISystem\n ) => {\n\n const boxApplicationData = await ConfigurationService.getApplicationByIdAsync(storeSystem.boxApplicationId ?? 0);\n boxApplicationData.isBoxFreezer = boxApplicationData.isFreezer === \"Y\";\n\n // get default equipment parameters\n const defaultCondensingUnitAmbientTemperature = appData.EQUIPMENT?.CondensorAmbient?.value;\n const defaultSuctionLineLoss = appData.EQUIPMENT?.LineLoss?.Default?.value;\n const defaultDesignTd = (boxApplicationData.rH_TD < 0)\n ? 0 - boxApplicationData.rH_TD\n : UnitOfMeasure.TDatRH(boxApplicationData.rH_TD);\n\n if (storeSystem.equipmentSelection.selectedCondenserUnit?.class9ID) {\n // get condensing equipment details\n const request: EquipmentByIdRequest = {\n divisionId: +StorageFacade.divisionId,\n interiorTemp: storeSystem.equipmentSelection.interiorTemperature,\n refrigerantFluidId: storeSystem.equipmentSelection.refrigerant ?? 0,\n ambientTemp: storeSystem.equipmentSelection.condensingUnitAmbientTemperature ?? defaultCondensingUnitAmbientTemperature,\n suctionLineLoss: storeSystem.equipmentSelection.suctionLineLoss ?? defaultSuctionLineLoss,\n td: storeSystem.equipmentSelection.designTd ?? defaultDesignTd,\n selectedOptions: storeSystem.equipmentSelection.selectedCondenserOptionList.map(o => o.id).join(\",\")\n };\n \n const equipmentDetails = await ModelSelectionService.getEquipmentByIdAsync(\n storeSystem.equipmentSelection.selectedCondenserUnit.class9ID,\n request);\n \n const equipmentUnit = {\n ...storeSystem.equipmentSelection.selectedCondenserUnit,\n capacityPerUnit: equipmentDetails.capacityPerUnit,\n description: equipmentDetails.description,\n features: equipmentDetails.features,\n requiredOptions: equipmentDetails.requiredOptions,\n class0ID: equipmentDetails.class0ID,\n class8ID: equipmentDetails.class8ID,\n class9ID: equipmentDetails.class9ID,\n awefCompliant: equipmentDetails.awefCompliant,\n warnings: [...equipmentDetails.warnings ?? []]\n }\n\n storeSystem = {\n ...storeSystem,\n equipmentSelection: {\n ...storeSystem.equipmentSelection,\n selectedCondenserUnit: equipmentUnit\n }\n };\n }\n\n if (storeSystem.equipmentSelection.selectedEvaporator?.class9ID) {\n // get evaporator equipment details\n const request: EquipmentByIdRequest = {\n divisionId: +StorageFacade.divisionId,\n interiorTemp: storeSystem.equipmentSelection.interiorTemperature,\n refrigerantFluidId: storeSystem.equipmentSelection.refrigerant ?? 0,\n ambientTemp: storeSystem.equipmentSelection.condensingUnitAmbientTemperature ?? defaultCondensingUnitAmbientTemperature,\n suctionLineLoss: storeSystem.equipmentSelection.suctionLineLoss ?? defaultSuctionLineLoss,\n td: storeSystem.equipmentSelection.designTd ?? defaultDesignTd,\n selectedOptions: storeSystem.equipmentSelection.selectedEvaporatorOptionList.map(o => o.id).join(\",\")\n };\n \n const equipmentDetails = await ModelSelectionService.getEquipmentByIdAsync(\n storeSystem.equipmentSelection.selectedEvaporator.class9ID,\n request);\n \n const equipmentUnit = {\n ...storeSystem.equipmentSelection.selectedEvaporator,\n capacityPerUnit: equipmentDetails.capacityPerUnit,\n description: equipmentDetails.description,\n features: equipmentDetails.features,\n requiredOptions: equipmentDetails.requiredOptions,\n class0ID: equipmentDetails.class0ID,\n class8ID: equipmentDetails.class8ID,\n class9ID: equipmentDetails.class9ID,\n awefCompliant: equipmentDetails.awefCompliant,\n warnings: [...equipmentDetails.warnings ?? []]\n }\n\n storeSystem = {\n ...storeSystem,\n equipmentSelection: {\n ...storeSystem.equipmentSelection,\n selectedEvaporator: equipmentUnit\n }\n };\n }\n\n let systemValues = getSystemValues(boxApplicationData, storeSystem);\n\n const loads = await LoadCalculationService.fetchLoadsAsync(\n storeSystem.totalMiscLoad,\n storeSystem.totalInfiltrationLoad,\n storeSystem.totalProductLoad,\n systemValues.boxApplicationId ?? 0,\n systemValues.wallLoad.floorArea,\n systemValues.wallLoad.volume,\n systemValues.boxDesign.totalInfiltrationLoad,\n systemValues.exteriorTemperature,\n systemValues.exteriorHumidity,\n systemValues.interiorTemperature,\n systemValues.interiorHumidity,\n storeSystem.miscLoad,\n storeSystem.infiltrationLoad,\n storeSystem.productLoad);\n\n systemValues.totalMiscLoad = loads.totalMiscLoad;\n systemValues.totalInfiltrationLoad = loads.totalInfiltrationLoad;\n systemValues.totalProductLoad = loads.totalProductLoad;\n\n systemValues.miscLoad = loads.miscLoadItems;\n systemValues.infiltrationLoad = loads.infiltrationLoadItems;\n systemValues.productLoad = loads.productLoadItems;\n\n systemValues = recalculateTotalLoads(systemValues);\n\n return systemValues;\n };\n\n const loadCurrentProjectSystem = async (currentSystem: ISystem) => {\n showLoading();\n\n const projectSystem = await getProjectSystem(currentSystem); // query and set all properties of the project system\n setTempProjectSystems([...tempProjectSystems, projectSystem]); // push to the temporary project system state\n\n getProjectSystemByIndex(tempProjectSystems.length + 1); // get the next system in the store\n\n hideLoading();\n };\n\n if (isBoxDataLoaded \n && currentSystem\n && boxData.id == currentSystem.boxApplicationId\n ) {\n loadCurrentProjectSystem(currentSystem);\n }\n }, [\n isBoxDataLoaded,\n boxData,\n currentSystem\n ]);\n\n return {\n projectSystems\n };\n};\n\nexport default useProjectSystems;","import * as React from \"react\";\n\nimport html2canvas from \"html2canvas\";\nimport jsPDF from \"jspdf\";\n\nimport StorageFacade from \"../../services/StorageFacade\";\n\nimport LoadInfoEquipmentSummary from \"./LoadInfoEquipmentSummary\";\nimport ModelInfo from \"./ModelInfo\";\nimport ModelOptions from \"./ModelOptions\";\nimport ModelDrawing from \"./ModelDrawing\";\nimport SystemsLoadSummary from \"./SystemsLoadSummary\";\n\nimport useErrorContext from \"../../hooks/useErrorContext\";\nimport useLoadingContext from \"../../hooks/useLoadingContext\";\nimport useProjectSystems from \"../../hooks/useProjectSystems\";\n\nimport \"./Print.css\";\nimport HelperService from \"../../services/HelperService\";\n\nfunction hideElement(elementId: string){\n\tconst element = document.getElementById(elementId);\n\tif (element) element.style.display = \"none\";\n}\n\nfunction showElement(elementId: string){\n\tconst element = document.getElementById(elementId);\n\tif (element) element.style.display = \"block\";\n}\n\nconst PrintMultipleReport = () => {\n\t\n const [exportingPageNumber, setExportingPageNumber] = React.useState(0);\n const [totalPageNumber, setTotalPageNumber] = React.useState(0);\n const [prints, setPrints] = React.useState([] as Array);\n const [isFromLegacy, setIsFromLegacy] = React.useState(false);\n\t\n\tconst { showError } = useErrorContext();\n\tconst { showLoading, hideLoading } = useLoadingContext();\n\tconst { projectSystems } = useProjectSystems();\n\t\n\tconst pagesEquipment: Array = [];\n\tconst divisionId = Number(StorageFacade.divisionId);\n\n React.useEffect(() => {\n\n setIsFromLegacy(StorageFacade.isFromLegacy);\n\n\t\tif (projectSystems) {\n\t\t\tif (projectSystems.length === 0) {\n\t\t\t\tshowError({\n\t\t\t\t\tname: \"Print\",\n\t\t\t\t\ttext: \"Failed to print, the equipment information is missing.\"\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\tlet systemCount: number = 0;\n\t\t\tconst projectPrints: Array = [];\n\n\t\t\tprojectSystems.forEach(system => {\n\t\t\t\tsystemCount += 1;\n\n let condensingUnitModelDrawingClassName = \"\";\n if (systemCount == projectSystems.length && system.equipmentSelection.selectedEvaporator)\n condensingUnitModelDrawingClassName = \"printpage\";\n else\n condensingUnitModelDrawingClassName = \"\";\n\n let evapUnitModelDrawingClassName = \"\";\n if (systemCount == projectSystems.length)\n evapUnitModelDrawingClassName = \"\";\n else\n evapUnitModelDrawingClassName = \"printpage\";\n\n\t\t\t\tprojectPrints.push(\n\t\t\t\t\t
\n
\n
\n\t\t\t\t\t\t \n
\n\t\t\t\t\t\t{system.equipmentSelection.selectedCondenserUnit && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t
\n
\n\t\t\t\t\t\t\t\t \n
\n\t\t\t\t\t\t\t\t{ \n\t\t\t\t\t\t\t\t\tsystem.equipmentSelection.selectedCondenserOptionList \n\t\t\t\t\t\t\t\t\t\t&& system.equipmentSelection.selectedCondenserOptionList.length > 0\n\t\t\t\t\t\t\t\t\t\t&&\n\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t
\n
\n\t\t\t\t\t\t\t\t\t\t\t \n
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t
\n\n
\n\t\t\t\t\t\t\t\t \n
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{system.equipmentSelection.selectedEvaporator && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t
\n
\n\t\t\t\t\t\t\t\t \n
\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tsystem.equipmentSelection.selectedEvaporatorOptionList \n\t\t\t\t\t\t\t\t\t\t&& system.equipmentSelection.selectedEvaporatorOptionList.length > 0\n\t\t\t\t\t\t\t\t\t\t&&\n\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t
\n
\n\t\t\t\t\t\t\t\t\t\t\t \n
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t
\n
\n\t\t\t\t\t\t\t\t \n
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t)\n\t\t\t});\n\n\t\t\tsetPrints(projectPrints);\n\t\t}\n\t}, [projectSystems])\n\t\n\tfunction addPDFPage(\n\t\tpdf: any, \n\t\tcurrentPageIndex: number\n\t) {\n\t\tif (currentPageIndex >= pagesEquipment.length) {\n\t\t\tpdf.save(\"certified_print.pdf\"); // Generated PDF\n\t\t\t\n\t\t\tshowElement(\"systems-load-summary\");\n\t\t\tpagesEquipment.forEach(pageId => {\n\t\t\t\tshowElement(pageId);\n\t\t\t});\n\n setExportingPageNumber(-1);\n // setTimeout(() => { setExportingPageNumber(0); }, 8000)\t\t\t\n\t\t\thideLoading();\n\n\t\t\tif (document.getElementsByTagName(\"html\")) {\n\t\t\t\tdocument.getElementsByTagName(\"html\")[0].style.overflow = \"auto\";\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (currentPageIndex === 0) {\n\t\t\thideElement(\"systems-load-summary\");\n\t\t}\n\t\telse {\n\t\t\thideElement(pagesEquipment[currentPageIndex - 1]);\n\t\t}\n\n\t\tpdf.addPage();\t\n\t\tconst dataPage2: any = document.getElementById(pagesEquipment[currentPageIndex]);\n\t\twindow.scrollTo(0,0);\n\t\tsetExportingPageNumber(currentPageIndex + 2);\n\t\thtml2canvas(dataPage2, { \n\t\t\tscale: 1.25, \n\t\t\tscrollX: -window.scrollX,\n\t\t\tscrollY: -window.scrollY,\n\t\t\twindowWidth: document.documentElement.offsetWidth,\n\t\t\twindowHeight: document.documentElement.offsetHeight\n\t\t}).then(canvas2 => {\n\t\t\tconst imgWidth = 420;\t\t\t\n\t\t\tconst imgHeight = Math.ceil((canvas2.height * imgWidth) / canvas2.width);\n\n\t\t\tpdf.addImage(canvas2, \"PNG\", 12, 15, imgWidth, imgHeight, undefined, \"FAST\");\n\n\t\t\taddPDFPage(pdf, currentPageIndex + 1);\n\t\t});\n\t}\n\n\tfunction exportPDF() {\n if (!projectSystems || projectSystems.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tshowLoading();\n\t\t\n\t\tpagesEquipment.length = 0;\n\n\t\tlet systemCount: number = 0;\n\t\t\n projectSystems.forEach(system => {\n systemCount += 1;\n\t\t\tpagesEquipment.push(`load_design_summary${systemCount}`);\n\t\t\t\n\t\t\tif (system.equipmentSelection.selectedCondenserUnit) {\n\t\t\t\tpagesEquipment.push(`ModelInfoCondensor${systemCount}`);\n\t\t\t\t\n\t\t\t\tif (system.equipmentSelection.selectedCondenserOptionList \n\t\t\t\t\t&& system.equipmentSelection.selectedCondenserOptionList.length > 0\n\t\t\t\t) {\n\t\t\t\t\tpagesEquipment.push(`ModelOptionsCondensor${systemCount}`);\n\t\t\t\t}\n\n\t\t\t\tpagesEquipment.push(`ModelDrawingCondensor${systemCount}`);\n\t\t\t}\n\n\t\t\tif (system.equipmentSelection.selectedEvaporator) {\n\t\t\t\tpagesEquipment.push(`ModelInfoEvap${systemCount}`);\n\t\t\t\t\n\t\t\t\tif (system.equipmentSelection.selectedEvaporatorOptionList \n\t\t\t\t\t&& system.equipmentSelection.selectedEvaporatorOptionList.length > 0\n\t\t\t\t) {\n\t\t\t\t\tpagesEquipment.push(`ModelOptionsEvap${systemCount}`);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tpagesEquipment.push(`ModelDrawingEvap${systemCount}`);\n\t\t\t}\n });\t\t\n\n\t\tsetTotalPageNumber(pagesEquipment.length + 1);\n\t\t\n\t\tconst dataPage1: any = document.getElementById(\"systems-load-summary\");\n\t\twindow.scrollTo(0,0);\n\t\tsetExportingPageNumber(1);\n\t\tif (document.getElementsByTagName(\"html\")) {\n\t\t\tdocument.getElementsByTagName(\"html\")[0].style.overflow = \"hidden\";\n\t\t}\n\t\thtml2canvas(dataPage1, { \n\t\t\tscale: 1.25, \n\t\t\tscrollX: -window.scrollX,\n\t\t\tscrollY: -window.scrollY,\n\t\t\twindowWidth: document.documentElement.offsetWidth,\n\t\t\twindowHeight: document.documentElement.offsetHeight\n\t\t}).then(canvas1 => {\n\t\t\t// Few necessary setting options\n\t\t\tconst imgWidth = 420;\t\t\t\n const imgHeight = Math.ceil((canvas1.height * imgWidth) / canvas1.width);\n\n\t\t\tconst pdf = new jsPDF({\n\t\t\t\tunit: \"px\",\n\t\t\t\tcompressPdf: true\n\t\t\t}); // A4 size page of PDF\n\n\t\t\tpdf.addImage(canvas1, \"PNG\", 12, 15, imgWidth, imgHeight, undefined, \"FAST\");\n\n\t\t\taddPDFPage(pdf, 0);\t\n\t\t});\n\t}\n\n\tif (projectSystems === null) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t
\n\t\t\t\t
\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t
 
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t{prints}\n\t\t\t
\n\t\t\n\t);\n\t\n};\n\nexport default PrintMultipleReport;\n\n","import * as React from \"react\";\n\nimport html2canvas from \"html2canvas\";\nimport jsPDF from \"jspdf\";\n\nimport StorageFacade from \"../../services/StorageFacade\";\nimport LoadCalculationService from \"../../services/LoadCalculationService\";\n\nimport IEquipmentState from \"../../models/interfaces/IEquipmentState\";\n\nimport LoadInfoEquipmentSummary from \"./LoadInfoEquipmentSummary\";\nimport ModelInfo from \"./ModelInfo\";\nimport ModelOptions from \"./ModelOptions\";\nimport ModelDrawing from \"./ModelDrawing\";\n\nimport useLoadingContext from \"../../hooks/useLoadingContext\";\nimport useSystemContext from \"../../hooks/useSystemContext\";\n\nimport \"./Print.css\";\nimport HelperService from \"../../services/HelperService\";\n\nfunction hideElement(elementId: string) {\n const element = document.getElementById(elementId);\n if (element) element.style.display = \"none\";\n}\n\nfunction showElement(elementId: string) {\n const element = document.getElementById(elementId);\n if (element) element.style.display = \"block\";\n}\n\nconst PrintSingleReport = () => {\n const [exportingPageNumber, setExportingPageNumber] = React.useState(0);\n const [totalPageNumber, setTotalPageNumber] = React.useState(0);\n const [isFromLegacy, setIsFromLegacy] = React.useState(false);\n\n const { showLoading, hideLoading } = useLoadingContext();\n const { systemState, dispatch } = useSystemContext();\n\n const pagesEquipment: Array = [];\n\n React.useEffect(() => {\n setIsFromLegacy(StorageFacade.isFromLegacy);\n\n document.title = \"Print Preview\"\n }, []);\n\n function addPDFPage(\n pdf: any,\n currentPageIndex: number\n ) {\n if (currentPageIndex >= pagesEquipment.length) {\n pdf.save(\"certified_print.pdf\"); // Generated PDF\t\t\t\t\t\t\t\t\t\t\t\t\n\n showElement(\"ModelInfo\");\n showElement(\"ModelDrawing\");\n\n setExportingPageNumber(-1);\n // setTimeout(() => { setExportingPageNumber(0); }, 8000)\n\n hideLoading();\n\n return;\n }\n\n if (currentPageIndex === 1) {\n hideElement(\"ModelInfo\");\n }\n else if (currentPageIndex > 1) {\n hideElement(\"ModelDrawing\");\n }\n\n pdf.addPage();\n const dataPage2: any = document.getElementById(pagesEquipment[currentPageIndex]);\n\n window.scrollTo(0, 0);\n setExportingPageNumber(currentPageIndex + 1);\n html2canvas(dataPage2, {\n scale: 1.25,\n scrollX: -window.scrollX,\n scrollY: -window.scrollY\n }).then(canvas2 => {\n const imgWidth = 420;\n const imgHeight = (canvas2.height * imgWidth) / canvas2.width;\n\n pdf.addImage(canvas2, \"PNG\", 12, 15, imgWidth, imgHeight, undefined, \"FAST\");\n\n addPDFPage(pdf, currentPageIndex + 1);\n });\n }\n\n function exportPDF(equipmentInfo: IEquipmentState | null) {\n if (!equipmentInfo) {\n return;\n }\n\n showLoading();\n\n pagesEquipment.length = 0;\n pagesEquipment.push(\"ModelInfo\");\n\n /*if (equipmentInfo?.selectedCondenserOptionList\n && equipmentInfo?.selectedCondenserOptionList.length > 0\n ) {\n pagesEquipment.push(\"ModelOptions\");\n }*/\n\n pagesEquipment.push(\"ModelDrawing\");\n setTotalPageNumber(pagesEquipment.length);\n\n const dataPage1: any = document.getElementById(\"ModelInfo\");\n window.scrollTo(0, 0);\n setExportingPageNumber(1);\n html2canvas(dataPage1, {\n scale: 1.25,\n scrollX: -window.scrollX,\n scrollY: -window.scrollY\n }).then(canvas1 => {\n // Few necessary setting options\n const imgWidth = 420;\n const imgHeight = (canvas1.height * imgWidth) / canvas1.width;\n\n const pdf = new jsPDF({\n unit: \"px\",\n compressPdf: true\n }); // A4 size page of PDF\n\n pdf.addImage(canvas1, \"PNG\", 12, 15, imgWidth, imgHeight, undefined, \"FAST\");\n\n addPDFPage(pdf, 1);\n });\n }\n\n //const equipmentInfo = systemState.formState.actualValues.equipmentSelection;\n const divisionId = Number(StorageFacade.divisionId);\n const equipmentToPrint = StorageFacade.EquipmentToPrint;\n const cpmFormInput = StorageFacade.CPMFormInput;\n const cpmQuoteFormInput = StorageFacade.CPMQuoteFormInput;\n const options = StorageFacade.EquipmentToPrint_Options;\n const capacityError = StorageFacade.EquipmentToPrint_CapacityHasError;\n const equipmentInfo: IEquipmentState = {\n refrigerant: cpmFormInput.RefrigerantId,\n designTd: cpmFormInput.BoxTemperature - cpmFormInput.EvaporatorTemperature,\n suctionLineLoss: cpmFormInput.SuctionLineLoss,\n condensingUnitAmbientTemperature: cpmFormInput.AmbientTemperature,\n\n uid: \"\",\n isEditing: false,\n isCUAmbientTempVisible: false,\n isCondensingTempVisible: false,\n equipmentTypes: [],\n refrigerants: [],\n siteLineFrequencies: [],\n equipmentType: \"\",\n interiorTemperature: cpmFormInput.BoxTemperature,\n safetyFactor: 0,\n systemRunTime: 0,\n totalHourlyLoad: 0,\n hourlyLoadRequired: 0,\n capacityRequired: 0,\n siteLineFrequency: 0,\n condensingTemperature: cpmFormInput.CondensingTemperature,\n tdPlus: 0,\n tdMinus: 0,\n condenserQuantity: 0,\n evaporatorQuantity: 0,\n condenserUnitCount: 0,\n evaporatorUnitCount: 0,\n defaultValues: null,\n isCondenserPrimary: null,\n condenserModelIdFilter: null,\n condenserClass9IdFilter: null,\n evaporatorModelIdFilter: null,\n evaporatorClass9IdFilter: null,\n selectedCondenserClass9Id: null,\n selectedCondenserCapacityPerUnit: null,\n selectedCondenserOptionList: [],\n selectedCondenserUnit: null,\n selectedEvaporatorClass9Id: null,\n selectedEvaporatorCapacityPerUnit: null,\n selectedEvaporatorOptionList: [],\n selectedEvaporator: null,\n systemBalanced: false,\n sstBalance: undefined,\n tdBalance: undefined,\n totalSystemCapacity: undefined,\n modalState: false,\n divisionId: 0,\n boxApplicationId: 0,\n boxApplicationName: \"\",\n equipmentOnly: false,\n selectedCondenserAttributes: StorageFacade.EquipmentToPrint_Attributes,\n selectedEvaporatorAttributes: StorageFacade.EquipmentToPrint_Attributes,\n isPrimaryReloaded: false,\n isMatchedReloaded: false\n };\n\n return (\n <>\n \n {equipmentToPrint && (\n <> \n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n )}\n \n );\n};\n\nexport default PrintSingleReport;\n","import * as React from \"react\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\nimport ConfigurationService from \"../../services/ConfigurationService\";\nimport StorageFacade from \"../../services/StorageFacade\";\nimport { measure } from \"../../types/measure\";\n\nconst table = {\n\tborder: \"1px solid black\"\n} as React.CSSProperties;\n\ninterface ACCDCondensorProps {\n sectionId: string;\n\tdivisionId: number; \n myName: string;\n}\n\nconst ACCDCondensor: React.FunctionComponent = (props: ACCDCondensorProps) => {\t\n // const [condensor, setCondensor] = React.useState({} as any);\n //const [filters, setFilter] = React.useState({} as any);\n //const [connections, setConnections] = React.useState({} as any);\n const { translations } = useTranslationContext(); \n\n const condensor = StorageFacade.CondenserToPrint;\n const connections = StorageFacade.CondenserConnections;\n const filters = StorageFacade.ACCFilters;\n\n React.useEffect(() => {\n if (condensor \n\t\t\t&& condensor.MaxFeeds > 0 \n\t\t\t&& filters \n\t\t\t&& connections\n\t\t\t&& (window as any).circuitsDiagram\n\t\t\t&& (window as any).circuitsDiagram.initializeCanvas){\n\n\t\t\tconst canvasId = \"circuitsDiagram\"; \n\t\t\tconst canvas = document.getElementById(canvasId);\n\t\t\tif (canvas){\n\t\t\t\tlet cirString = getCircuitsString(condensor, connections);\n\t\t\t\t//console.log(\"circuitString\", cirString);\n\t\t\t\t\t\t\t\n\t\t\t\t(window as any).circuitsDiagram.initializeCanvas(canvasId, condensor.MaxFeeds, (condensor.FansWide === 2));\n (window as any).circuitsDiagram.addCircuits(canvasId, cirString);\n\t\t\t\t(window as any).circuitsDiagram.resizeCanvas(canvasId);\n\t\t\t\t(window as any).circuitsDiagram.attachToWindowResizeEvent(canvasId);\n\t\t\t}\n }\n }, [condensor, filters, connections]);\n\n\tfunction getCircuitsString(condenser: any, connections: any){\t\t\n\t\tif (condensor.FansWide < 2){\n\t\t\tconst circuits = connections.map((x: any)=>{\n\t\t\t\treturn x.StartFeed + \",\" + x.EndFeed + \",\" + x.Guid + \",\" + x.IsSelected;\n\t\t\t});\n\t\t\treturn circuits.join(\"|\");\n\t\t}\n\t\telse{\n\t\t\tlet circuitStrings: any = [];\n\t\t\tconnections.forEach((connection:any) => {\t\t\t\t\n\t\t\t\tconst shouldSplit = shouldConnectionSplitIntoTwoCircuits(condenser, connection);\t\t\t\t\n\t\t\t\tif (shouldSplit){\n\t\t\t\t\tcircuitStrings.push(connection.StartFeed + \",\" + connection.EndFeed + \",\" + connection.Guid + \",\" + connection.IsSelected + \",\" + \"YesSplitInHalf\");\n\t\t\t\t}\n\t\t\t\telse{\n\t\t\t\t\tcircuitStrings.push(connection.StartFeed + \",\" + connection.EndFeed + \",\" + connection.Guid + \",\" + connection.IsSelected + \",\" + \"NoSplitInHalf\");\n\t\t\t\t}\t\t\t\t\n\t\t\t});\n\t\t\treturn circuitStrings.join(\"|\");\n\t\t}\n\t}\n\n\tfunction shouldConnectionSplitIntoTwoCircuits(condenser: any, connection: any){\n\t\tif (condenser.FansWide < 2) return false;\n\n\t\t// Split the circuit into two if it exceeds 60% of total available feeds (max feeds) for the selected model.\n\t\t// This rule only applies to double fan wide models.\n\t\treturn (connection.EndFeed - connection.StartFeed + 1 > Math.ceil((condenser.MaxFeeds) * 0.6));\n\t}\n\n\tfunction getRatingPerTdDisplay(imperialValue: measure) {\n\t\tconst ratingDisplay = UnitOfMeasure.getRatingDisplayValue(imperialValue);\n\t\tconst ratingPerTdDisplay = ratingDisplay === undefined ? \"\" : UnitOfMeasure.getTemperatureRelativeDisplayValue(+ratingDisplay, 3);\n\t\treturn ratingPerTdDisplay;\n\t}\n\n return(\n
\n \t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
NATIONAL REFERIGERATION AND
\n\t\t\t\t\t\t\t\t\t\t\t
AIR CONDITIONING CANADA CORP.
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t159 ROY BLVD. PO BOX 2020\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\tBRANTFORD ON\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\tCANADA N3T 5Y6\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{condensor?.PartNumber}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{condensor?.ModelType}\n\t\t\t\t\t\t\t\t\t
\n Condenser\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
PURCHASER:{filters.Company}SUBMITTED BY:{props.myName}
PROJECT:{filters.Project}DATE:{new Date().toLocaleDateString ()}
ORDER #:-A00ITEM #:0
QUOTE #:ID #:
PURCHASER'S PO#:TAGGING:
\n \n\t\t\t\t\n \n \n \n \n
\n
{translations.dESIGNDATA}
\n
\n
\n
\n

{translations.aMBIENT}

\n

{filters.AmbientTemp}

\n
\n
\n
\n
\n

{translations.aLTITUDE}

\n

{filters.Altitude}

\n
\n
\n
\n
\n

{translations.aLTITUDEFACTOR}

\n

{filters.AltitudeFactor}

\n
\n
\n
\n
\n \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n \n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
{translations.type}:{condensor.ModelType}{translations.fansLong}:{condensor.FansLong}
{translations.model}:{condensor.PartNumber}{translations.fansWide}:{condensor.FansWide}
{translations.voltage}:{condensor.SiteVoltage}Rating:{getRatingPerTdDisplay(condensor.CapacityPerDegreeTD * 1000)} {UnitOfMeasure.getRatingUnitLabel()}/{UnitOfMeasure.getTemperatureUnitLabel()}.TD
{translations.orientation}:{condensor.AirFlow}{translations.feedsAvailable}:{condensor.MaxFeeds}
{translations.motorType}:{condensor.Motor}{translations.spareFeeds}:{condensor.Spares}
  {translations.totalHeatRejected}:
\n \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\t\t{connections?.map((connection: any, i: number) => {\n\t\t\t\t\t\t\tconst key = i;\n\t\t\t\t\t\t\tconst thrPerTd = connection.THR/connection.ATD;\n\t\t\t\t\t\t\tconst thrDisplay = UnitOfMeasure.getRatingDisplayValue(thrPerTd);\n\t\t\t\t\t\t\tconst thrPerTdDisplay = thrDisplay === undefined ? \"\" : UnitOfMeasure.getTemperatureRelativeDisplayValue(+thrDisplay);\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n \n \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\t\t\t{translations.lOADCONNECTIONS}\n\t\t\t\t\t\t\t
{translations.description.toUpperCase()}{translations.sST}{UnitOfMeasure.getTemperatureUnitLabel()}{`${translations.sCT} ${UnitOfMeasure.getTemperatureUnitLabel()}`}{translations.compCapacity} {UnitOfMeasure.getRatingUnitLabel()}{translations.rEF}{`${translations.designTD} ${UnitOfMeasure.getTemperatureUnitLabel()}`}{translations.tHR} {UnitOfMeasure.getRatingUnitLabel()}{translations.tHR} {UnitOfMeasure.getRatingUnitLabel()}/{UnitOfMeasure.getTemperatureUnitLabel()}.TD# {translations.feeds}{translations.feeds}{`ACT ${UnitOfMeasure.getTemperatureUnitLabel()}`}{`TD ${UnitOfMeasure.getTemperatureUnitLabel()}`}
{connection.ID}.{connection.Description}{UnitOfMeasure.getTemperatureDisplayValue(connection.SST, 1)}{UnitOfMeasure.getTemperatureDisplayValue(connection.SCT, 1)}{UnitOfMeasure.getRatingDisplayValue(connection.CapacityRequired, 1)}{connection.RefrigerantName}{UnitOfMeasure.getTemperatureRelativeDisplayValue(connection.DesignTD, 1)}{UnitOfMeasure.getRatingDisplayValue(connection.THR, 1)}{thrPerTdDisplay === \"\" || thrPerTdDisplay === undefined ? \"\" : UnitOfMeasure.getDisplayValue(+thrPerTdDisplay, 3)}{connection.EndFeed - connection.StartFeed + 1}{connection.StartFeed} - {connection.EndFeed}{UnitOfMeasure.getTemperatureDisplayValue(connection.ACT, 1)}{UnitOfMeasure.getTemperatureRelativeDisplayValue(connection.ATD, 1)}
\t\t\t\t\n \n \n \n\t\t\t\t\t\t\t\n \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n \n
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{translations.cONNECTIONDIAGRAM}\n\t\t\t\t\t\t\t\t
\n \n
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tSST = {translations.saturatedSuctionTemperature}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tSCT = {translations.saturatedCondensingTemperature}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tACT = {translations.actualCondensingTemperature}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{translations.approvalOfThisDrawingSignifiesThatTheEquipmentIsAcceptableUnderTheProvisionOfTheJobSpecifications_AnyChangeMadeHereonByAnyPersonWhomsoeverSubjectToAcceptanceByNATIONALREFRIGERATIONAtItsHomeOffice_}\n\t\t\t\t\t\t\t
\n
\n );\n};\n\nexport default ACCDCondensor;\n","import * as React from \"react\";\n\nimport html2canvas from \"html2canvas\";\nimport jsPDF from \"jspdf\";\n\nimport StorageFacade from \"../../services/StorageFacade\";\nimport LoadCalculationService from \"../../services/LoadCalculationService\";\n\nimport IEquipmentState from \"../../models/interfaces/IEquipmentState\";\n\nimport LoadInfoEquipmentSummary from \"./LoadInfoEquipmentSummary\";\nimport ModelInfo from \"./ModelInfo\";\nimport ModelOptions from \"./ModelOptions\";\nimport ModelDrawing from \"./ModelDrawing\";\nimport ACCDCondensor from \"./ACCDCondensor\";\n\nimport useLoadingContext from \"../../hooks/useLoadingContext\";\nimport useSystemContext from \"../../hooks/useSystemContext\";\n\nimport \"./Print.css\";\n\nfunction hideElement(elementId: string) {\n const element = document.getElementById(elementId);\n if (element) element.style.display = \"none\";\n}\n\nfunction showElement(elementId: string) {\n const element = document.getElementById(elementId);\n if (element) element.style.display = \"block\";\n}\n\nconst PrintCondenserReport = () => {\n const [exportingPageNumber, setExportingPageNumber] = React.useState(0);\n const [totalPageNumber, setTotalPageNumber] = React.useState(0);\n\n const { showLoading, hideLoading } = useLoadingContext();\n const { systemState, dispatch } = useSystemContext();\n\n const pagesEquipment: Array = [];\n\n React.useEffect(() => {\n document.title = \"Print Preview\"\n }, []);\n\n function addPDFPage(\n pdf: any,\n currentPageIndex: number\n ) {\n if (currentPageIndex >= pagesEquipment.length) {\n pdf.save(\"certified_print.pdf\"); // Generated PDF\t\t\t\t\t\t\t\t\t\t\t\t\n pagesEquipment.forEach(pageId => {\n\t\t\t\tshowElement(pageId);\n\t\t\t});\n\n // showElement(\"ModelInfo\");\n // showElement(\"ModelDrawing\");\n\n setExportingPageNumber(-1);\n setTimeout(() => { setExportingPageNumber(0); }, 8000)\n\n hideLoading();\n\n return;\n }\n\n if (currentPageIndex === 1) {\n hideElement(\"ModelInfo\");\n }\n else if (currentPageIndex > 1) {\n //hideElement(\"ModelDrawing\");\n hideElement(pagesEquipment[currentPageIndex - 1]);\n }\n\n pdf.addPage();\n const dataPage2: any = document.getElementById(pagesEquipment[currentPageIndex]);\n console.log(pagesEquipment[currentPageIndex]);\n window.scrollTo(0, 0);\n setExportingPageNumber(currentPageIndex + 1);\n html2canvas(dataPage2, {\n scale: 1.25,\n scrollX: -window.scrollX,\n scrollY: -window.scrollY\n }).then(canvas2 => {\n const imgWidth = 420;\n const imgHeight = (canvas2.height * imgWidth) / canvas2.width;\n\n pdf.addImage(canvas2, \"PNG\", 12, 15, imgWidth, imgHeight, undefined, \"FAST\");\n\n addPDFPage(pdf, currentPageIndex + 1);\n });\n }\n\n function exportPDF(equipmentInfo: IEquipmentState | null) {\n if (!equipmentInfo) {\n return;\n }\n\n showLoading();\n\n pagesEquipment.length = 0;\n pagesEquipment.push(\"ModelInfo\");\n\n /*if (equipmentInfo?.selectedCondenserOptionList\n && equipmentInfo?.selectedCondenserOptionList.length > 0\n ) {\n pagesEquipment.push(\"ModelOptions\");\n }*/\n pagesEquipment.push(\"CondenserInfo\");\n pagesEquipment.push(\"ModelDrawing\");\n \n setTotalPageNumber(pagesEquipment.length);\n\n const dataPage1: any = document.getElementById(\"ModelInfo\");\n window.scrollTo(0, 0);\n setExportingPageNumber(1);\n html2canvas(dataPage1, {\n scale: 1.25,\n scrollX: -window.scrollX,\n scrollY: -window.scrollY\n }).then(canvas1 => {\n // Few necessary setting options\n const imgWidth = 420;\n const imgHeight = (canvas1.height * imgWidth) / canvas1.width;\n\n const pdf = new jsPDF({\n unit: \"px\",\n compressPdf: true\n }); // A4 size page of PDF\n\n pdf.addImage(canvas1, \"PNG\", 12, 15, imgWidth, imgHeight, undefined, \"FAST\");\n\n addPDFPage(pdf, 1);\n });\n }\n\n //const equipmentInfo = systemState.formState.actualValues.equipmentSelection;\n const divisionId = Number(StorageFacade.divisionId);\n const equipmentToPrint = StorageFacade.EquipmentToPrint; \n const options = StorageFacade.EquipmentToPrint_Options;\n const excludedOptionIds = StorageFacade.EquipmentToPrint_ExcludedOptions;\n const equipmentInfo: IEquipmentState = {\n refrigerant: 0,\n designTd: 0,\n suctionLineLoss: 0,\n condensingUnitAmbientTemperature: 0,\n\n uid: \"\",\n isEditing: false,\n isCUAmbientTempVisible: false,\n isCondensingTempVisible: false,\n equipmentTypes: [],\n refrigerants: [],\n siteLineFrequencies: [],\n equipmentType: \"\",\n interiorTemperature: 0,\n safetyFactor: 0,\n systemRunTime: 0,\n totalHourlyLoad: 0,\n hourlyLoadRequired: 0,\n capacityRequired: 0,\n siteLineFrequency: 0,\n condensingTemperature: null,\n tdPlus: 0,\n tdMinus: 0,\n condenserQuantity: 0,\n evaporatorQuantity: 0,\n condenserUnitCount: 0,\n evaporatorUnitCount: 0,\n defaultValues: null,\n isCondenserPrimary: null,\n condenserModelIdFilter: null,\n condenserClass9IdFilter: null,\n evaporatorModelIdFilter: null,\n evaporatorClass9IdFilter: null,\n selectedCondenserClass9Id: null,\n selectedCondenserCapacityPerUnit: null,\n selectedCondenserOptionList: [],\n selectedCondenserUnit: null,\n selectedEvaporatorClass9Id: null,\n selectedEvaporatorCapacityPerUnit: null,\n selectedEvaporatorOptionList: [],\n selectedEvaporator: null,\n systemBalanced: false,\n sstBalance: undefined,\n tdBalance: undefined,\n totalSystemCapacity: undefined,\n modalState: false,\n divisionId: 0,\n boxApplicationId: 0,\n boxApplicationName: \"\",\n equipmentOnly: false,\n selectedCondenserAttributes: StorageFacade.EquipmentToPrint_Attributes,\n selectedEvaporatorAttributes: StorageFacade.EquipmentToPrint_Attributes,\n isPrimaryReloaded: false,\n isMatchedReloaded: false\n };\n\n return (\n <>\n \n
\n {equipmentToPrint && (\n <>\n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n \n \n
\n \n )}\n \n );\n};\n\nexport default PrintCondenserReport;\n","import * as React from \"react\";\n\nimport useLoadingContext from \"../../hooks/useLoadingContext\";\n\nimport \"./Spinner.css\";\n\nconst Spinner = () => {\n const { loadingCount } = useLoadingContext();\n\n return (\n <>\n {loadingCount > 0 && (\n
\n
\n
\n )}\n \n );\n};\n\nexport default Spinner;\n","import * as React from \"react\";\n\nimport IMessage from \"../../models/interfaces/IMessage\";\n\ninterface FormErrorNotificationProps {\n errorMessages?: IMessage[]\n}\n\nconst FormErrorNotification: React.FunctionComponent = (\n props: FormErrorNotificationProps\n) => {\n\n const [errorMessages, setErrorMessages] = React.useState([] as IMessage[]);\n\n React.useEffect(() => {\n setErrorMessages(props.errorMessages ?? []);\n }, [props.errorMessages]);\n\n const handleClick = () => {\n setErrorMessages([]);\n };\n\n return (\n <>\n { errorMessages && errorMessages.filter(e => e.text !== \"\").length > 0 &&\n (\n
\n \n {errorMessages.filter(e => e.text !== \"\").map(e => (\n
\n {e.text}\n
\n ))}\n
\n )}\n \n )\n};\n\nexport default FormErrorNotification;","/* eslint-disable no-underscore-dangle */\nimport IFormState from \"../models/interfaces/IFormState\";\nimport IConstructionLayer from \"../models/interfaces/IConstructionLayer\";\nimport IConstructionLayerFormParams from \"../models/interfaces/IConstructionLayerFormParams\";\nimport IMessage from \"../models/interfaces/IMessage\";\n\nimport { hasValue } from \"../types/measure\";\n\nimport * as ConstructionLayer from \"../models/helpers/ConstructionLayerFormFields\";\n\nimport { SECTION_CENTRE_DISTANCE_DEFAULT, SECTION_WIDTH_DEFAULT } from \"../Constants\";\n\nimport useBoxMaterialsContext from \"./useBoxMaterialsContext\";\nimport useTranslationContext from \"./useTranslationContext\";\n\nconst useConstructionLayerForm = () => {\n\n const { getBoxMaterial, getBoxMaterialName } = useBoxMaterialsContext();\n\n const { translations } = useTranslationContext();\n\n const initialValues: IConstructionLayer = {\n name: \"\",\n materialId: \"0\",\n materialName: \"\",\n thickness: null,\n kFactor: null,\n rValuePerInch: null,\n rValueEffective: null,\n isBoundaryInteriorLayer: false,\n isBoundaryExteriorLayer: false,\n isSectional: false,\n sectionCentreDistance: SECTION_CENTRE_DISTANCE_DEFAULT,\n sectionMaterialId: \"0\",\n sectionMaterialName: \"\",\n sectionWidth: SECTION_WIDTH_DEFAULT,\n sectionKFactor: null,\n sectionRValuePerInch: null\n };\n \n const initialFormState: IFormState = {\n defaultValues: initialValues,\n actualValues: initialValues\n };\n\n const validateLayer = (\n layer: IConstructionLayer\n ): IMessage[] => {\n\n const errors: IMessage[] = [];\n\n if (!layer.isBoundaryInteriorLayer\n && !layer.isBoundaryExteriorLayer\n ) {\n if (layer.materialId === \"0\"\n && !hasValue(layer.rValueEffective)\n ) {\n errors.push({\n name: \"materialId\", \n text: translations.theMaterialMaterialTypeIsNotSelected_\n });\n } \n\n if (!hasValue(layer.thickness)) {\n errors.push({\n name: \"thickness\", \n text: translations.thicknessIsNotEntered_\n });\n }\n\n if (!hasValue(layer.kFactor)\n && !hasValue(layer.rValuePerInch)\n && !hasValue(layer.rValueEffective)\n ) {\n errors.push({\n name: \"kFactor\", \n text: translations.neitherTheKFactorNorTheR_ValueHasBeenEntered_\n });\n }\n\n if (layer.sectionMaterialId === \"0\"\n && layer.isSectional\n && !hasValue(layer.rValueEffective)\n ) {\n errors.push({\n name: \"sectionMaterialId\", \n text: translations.theDividerMaterialTypeIsNotSelected_\n });\n } \n\n if (!hasValue(layer.sectionWidth)\n && layer.isSectional\n && !hasValue(layer.rValueEffective)\n ) {\n errors.push({\n name: \"sectionWidth\", \n text: translations.thicknessIsNotEntered_\n });\n }\n\n if (!hasValue(layer.sectionKFactor)\n && layer.isSectional\n && !hasValue(layer.rValuePerInch)\n && !hasValue(layer.rValueEffective)\n ) {\n errors.push({\n name: \"sectionKFactor\", \n text: translations.neitherTheK_FactorNorTheR_ValueAreEnteredForTheDividerMaterial_\n });\n }\n }\n\n if (!hasValue(layer.rValueEffective)) {\n errors.push({\n name: \"rValueEffective\", \n text: translations.theEffectiveR_ValueIsNotCalculatedOrEntered_\n });\n }\n \n return errors;\n };\n\n const recalculateConstruction = (\n state: IFormState,\n formInput: IConstructionLayerFormParams | null\n ): IFormState => {\n\n const materialId = formInput?.materialId ?? (state.actualValues.materialId ?? state.defaultValues.materialId);\n const material = getBoxMaterial(Number(materialId));\n const materialName = getBoxMaterialName(material);\n \n const thicknessField = ConstructionLayer.getThickness(\n state,\n formInput?.thickness,\n material);\n\n const kFactorField = ConstructionLayer.getKFactor(\n state,\n formInput?.kFactor,\n formInput?.rValuePerInch,\n formInput?.rValueEffective,\n material);\n\n const rValuePerInchField = ConstructionLayer.getRValuePerInch(\n state,\n formInput?.rValuePerInch,\n formInput?.kFactor,\n formInput?.rValueEffective,\n material);\n\n const isSectional = formInput?.isSectional ?? state.actualValues.isSectional;\n\n const sectionMaterialId = isSectional\n ? formInput?.sectionMaterialId ?? (state.actualValues.sectionMaterialId ?? state.defaultValues.sectionMaterialId)\n : \"0\";\n \n const sectionMaterial = getBoxMaterial(Number(sectionMaterialId));\n const sectionMaterialName = getBoxMaterialName(sectionMaterial);\n\n const name = `${sectionMaterial ? `${sectionMaterialName} | ` : \"\"}${materialName}`\n\n const sectionCentreDistanceField = ConstructionLayer.getSectionCentreDistance(\n state,\n formInput?.sectionCentreDistance,\n isSectional);\n\n const sectionWidthField = ConstructionLayer.getSectionWidth(\n state,\n formInput?.sectionWidth,\n sectionMaterial,\n isSectional);\n\n const sectionKFactorField = ConstructionLayer.getSectionKFactor(\n state,\n formInput?.sectionKFactor,\n formInput?.sectionRValuePerInch,\n formInput?.rValueEffective,\n sectionMaterial,\n isSectional);\n\n const sectionRValuePerInchField = ConstructionLayer.getSectionRValuePerInch(\n state,\n formInput?.sectionRValuePerInch,\n formInput?.sectionKFactor,\n formInput?.rValueEffective,\n sectionMaterial,\n isSectional);\n\n const rValueEffectiveField = ConstructionLayer.getRValueEffective(\n state,\n formInput?.rValueEffective,\n thicknessField.actualValue,\n rValuePerInchField.actualValue,\n isSectional,\n sectionRValuePerInchField.actualValue,\n sectionCentreDistanceField.actualValue,\n sectionWidthField.actualValue,\n material,\n sectionMaterial\n );\n\n const defaultValues: IConstructionLayer = {\n ...state.defaultValues,\n thickness: thicknessField.defaultValue,\n kFactor: kFactorField.defaultValue,\n rValuePerInch: rValuePerInchField.defaultValue,\n sectionCentreDistance: sectionCentreDistanceField.defaultValue,\n sectionWidth: sectionWidthField.defaultValue,\n sectionKFactor: sectionKFactorField.defaultValue,\n sectionRValuePerInch: sectionRValuePerInchField.defaultValue,\n rValueEffective: rValueEffectiveField.defaultValue\n };\n\n const actualValues: IConstructionLayer = {\n ...state.actualValues,\n name,\n materialId,\n materialName,\n thickness: thicknessField.actualValue,\n kFactor: kFactorField.actualValue,\n rValuePerInch: rValuePerInchField.actualValue,\n isSectional,\n sectionMaterialId,\n sectionMaterialName,\n sectionCentreDistance: sectionCentreDistanceField.actualValue,\n sectionWidth: sectionWidthField.actualValue,\n sectionKFactor: sectionKFactorField.actualValue,\n sectionRValuePerInch: sectionRValuePerInchField.actualValue,\n rValueEffective: rValueEffectiveField.actualValue\n };\n\n const errors = validateLayer(actualValues);\n \n return {\n defaultValues,\n actualValues: {\n ...actualValues,\n errors\n }\n };\n };\n\n const resetForm = (): IFormState => {\n return initialFormState;\n };\n\n const resetFormForEdit = (\n constructionLayerToEdit: IConstructionLayer\n ): IFormState => {\n \n const defaultValues: IConstructionLayer = {\n ...initialValues\n };\n\n const actualValues = {\n ...constructionLayerToEdit\n };\n\n return recalculateConstruction({\n defaultValues,\n actualValues\n },\n null);\n };\n \n const setInitialState = (\n constructionLayerToEdit: IConstructionLayer | undefined\n ): IFormState => {\n\n if (constructionLayerToEdit === undefined) {\n return resetForm();\n }\n\n return resetFormForEdit(constructionLayerToEdit);\n };\n\n return {\n initialFormState,\n resetForm,\n resetFormForEdit,\n recalculateConstruction,\n setInitialState,\n validateLayer\n };\n};\n\nexport default useConstructionLayerForm;\n","import React from \"react\";\n\nimport IFormState from \"../models/interfaces/IFormState\";\nimport IConstructionLayer from \"../models/interfaces/IConstructionLayer\";\n\nimport useConstructionLayerForm from \"./useConstructionLayerForm\";\n\nconst useConstructionLayerReducer = () => {\n\n const constructionLayerForm = useConstructionLayerForm();\n\n const reducer = (state: IFormState, action: any) => { \n if (action.type === \"set-initial-state\") {\n return constructionLayerForm.setInitialState(action.formValues);\n }\n if (action.type === \"recalculate-form\") {\n return constructionLayerForm.recalculateConstruction(\n state,\n { [action.fieldName]: action.fieldValue });\n }\n if (action.type === \"change-value\") {\n return {\n ...state,\n actualValues: {\n ...state.actualValues,\n [action.fieldName]: action.fieldValue\n }\n };\n }\n return state;\n };\n\n const [formState, dispatch] = React.useReducer(reducer, constructionLayerForm.setInitialState(undefined));\n\n return {\n formState,\n dispatch\n };\n};\n\nexport default useConstructionLayerReducer;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport Button from \"../helpers/Button\";\nimport Checkbox from \"../helpers/Checkbox\";\nimport DropDownList from \"../helpers/DropDownList\";\nimport FormErrorNotification from \"../helpers/FormErrorNotification\";\nimport FormField from \"../helpers/FormField\";\nimport Measurement from \"../helpers/Measurement\";\nimport Modal from \"../helpers/Modal\";\n\nimport { hasValue } from \"../../types/measure\";\n\nimport IConstructionLayer from \"../../models/interfaces/IConstructionLayer\";\nimport IMessage from \"../../models/interfaces/IMessage\";\n\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\nimport MeasurementType from \"../../enums/MeasurementType\";\nimport * as MeasurementUnit from \"../../enums/MeasurementUnit\";\n\nimport useBoxMaterialsContext from \"../../hooks/useBoxMaterialsContext\";\nimport useConstructionLayerReducer from \"../../hooks/useConstructionLayerReducer\";\nimport useConstructionLayerForm from \"../../hooks/useConstructionLayerForm\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport \"./ConstructionLayerModal.css\";\n\ninterface ConstructionLayerModalProps {\n show: boolean;\n\tonOkClick: any;\n onCancelClick: any;\n layerToEdit?: IConstructionLayer;\n}\n\nconst ConstructionLayerModal: React.FunctionComponent = (\n\tprops: ConstructionLayerModalProps\n) => {\n \n const [show, setShow] = React.useState(false);\n const [errorMessages, setErrorMessages] = React.useState([] as IMessage[]);\n \n const { boxMaterials } = useBoxMaterialsContext();\n const { translations } = useTranslationContext();\n \n const { formState, dispatch } = useConstructionLayerReducer();\n const { validateLayer } = useConstructionLayerForm();\n\n const showErrors = (\n errors: IMessage[],\n currentFieldError?: IMessage\n ) => {\n let newList = [] as IMessage[];\n \n const currentList = [...errorMessages];\n currentList.forEach(c => {\n const errorText = errors.find(e => e.name === c.name)?.text ?? \"\";\n newList.push({\n name: c.name,\n text: errorText\n });\n });\n\n if (currentFieldError) {\n if (currentList.find(c => c.name === currentFieldError.name)) {\n newList = newList.map(n => {\n return {\n name: n.name,\n text: (n.name === currentFieldError.name) ? currentFieldError.text : n.text\n }\n });\n }\n else {\n newList.push(currentFieldError);\n }\n }\n \n setErrorMessages(newList);\n };\n\n const validateField = (\n fieldName: string,\n fieldValue: any\n ) => {\n\n const layer = {\n ...formState.actualValues,\n [fieldName]: fieldValue\n };\n\n const errors = validateLayer(layer);\n\n const fieldError: IMessage = {\n name: fieldName,\n text: errors.find(e => e.name === fieldName)?.text ?? \"\"\n };\n \n showErrors(errors, fieldError);\n \n return fieldError.text;\n };\n \n React.useEffect(() => { \n setShow(props.show);\n if (props.show) {\n dispatch({ type: \"set-initial-state\", formValues: props.layerToEdit });\n }\n\n if (props.layerToEdit) {\n setErrorMessages(props.layerToEdit.errors ?? []);\n }\n else {\n setErrorMessages([]);\n }\n }, [props.show]);\n\n const isAddMode = !props.layerToEdit;\n\n const handleCloseClick = () => {\n setShow(false);\n if (props.onCancelClick) {\n props.onCancelClick();\n }\n };\n\n const handleOkClick = () => {\n setShow(false);\n if (props.onOkClick) {\n if (props.layerToEdit\n && (props.layerToEdit.isBoundaryInteriorLayer \n || props.layerToEdit.isBoundaryExteriorLayer)\n ) {\n formState.actualValues = {\n ...props.layerToEdit,\n rValueEffective: formState.actualValues.rValueEffective\n };\n }\n \n props.onOkClick(formState.actualValues, isAddMode);\n }\n };\n\n const handleDropdownChange = (event: React.FormEvent) => {\n\t\tconst fieldName = event.currentTarget.name;\n const fieldValue = event.currentTarget.value;\n\n dispatch({ type: \"recalculate-form\", fieldName, fieldValue });\n\n validateField(fieldName, fieldValue);\n\t}\n\n const handleMeasurementChange = (fieldName: string, fieldValue: any) => {\n dispatch({ type: \"recalculate-form\", fieldName, fieldValue });\n };\n\n const handleCheckboxChange = (\n\t\tevent: React.ChangeEvent\n\t) => {\n const fieldName = event.currentTarget.name;\n const isChecked = event.currentTarget.checked;\n\n dispatch({ type: \"recalculate-form\", fieldName, fieldValue: isChecked });\n\n validateField(fieldName, isChecked);\n };\n\n const layerName = (formState.actualValues.isBoundaryInteriorLayer || formState.actualValues.isBoundaryExteriorLayer)\n ? formState.actualValues.name\n : translations.insulation;\n\n const isThicknessFixed = hasValue(formState.actualValues.thickness)\n && formState.defaultValues.thickness === formState.actualValues.thickness;\n\n const materialsDefaultOption = [\n { key: \"0\", value: translations.pleaseSelect }\n ];\n\n const materialsLookup = \n boxMaterials && boxMaterials\n .filter(m => m.showAsBuildingMaterial && !m.isConstruct)\n .map(m => {\n return {\n key: m.id.toString(),\n value: `${m.name}${m.example ? `, ${m.example}` : \"\"}`\n }\n });\n\n const materialsOtherOptions = [\n { key: \"-1000000\", value: \"Other\" }\n ];\n\n const materialsOptions = [\n ...materialsDefaultOption,\n ...materialsLookup,\n ...materialsOtherOptions\n ];\n\n const modalBody = (\n
\n \n
\n
{layerName}
\n {!formState.actualValues.isBoundaryInteriorLayer && !formState.actualValues.isBoundaryExteriorLayer && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n {formState.actualValues.isSectional && (\n <>\n \n \n \n
{translations.sectionDivider}
\n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n \n
\n
\n );\n\n const modalFooter = (\n <>\n \n \n \n );\n \n return (\n \n );\n};\n\nexport default ConstructionLayerModal;\n","import * as React from \"react\";\n\nimport Button from \"../helpers/Button\";\nimport ConstructionLayerModal from \"./ConstructionLayerModal\";\nimport Grid from \"../helpers/Grid\";\n\nimport IConstructionLayer from \"../../models/interfaces/IConstructionLayer\";\nimport IMessage from \"../../models/interfaces/IMessage\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\ninterface ConstructionLayersGridProps {\n layers: IConstructionLayer[],\n onGridUpdated: (layers: IConstructionLayer[]) => void;\n}\n\nconst ConstructionLayersGrid: React.FunctionComponent = (\n\tprops: ConstructionLayersGridProps\n) => {\n\n const { translations } = useTranslationContext();\n\n const [showConstructionLayerPopup, setShowConstructionLayerPopup] = React.useState(false);\n const [constructionLayers, setConstructionLayers] = React.useState(props.layers);\n const [selectedRow, setSelectedRow] = React.useState(-1);\n const [layerToEdit, setLayerToEdit] = React.useState(undefined as IConstructionLayer | undefined);\n\n const allowDeleteLayer = (selectedRow > -1) \n && constructionLayers[selectedRow] \n && !constructionLayers[selectedRow].isBoundaryInteriorLayer\n && !constructionLayers[selectedRow].isBoundaryExteriorLayer;\n\n const allowMoveUpLayer = (selectedRow > 1)\n && (selectedRow < constructionLayers.length - 1) \n && constructionLayers[selectedRow] \n && !constructionLayers[selectedRow].isBoundaryInteriorLayer\n && !constructionLayers[selectedRow].isBoundaryExteriorLayer;\n\n const allowMoveDownLayer = (selectedRow > 0) \n && (selectedRow < constructionLayers.length - 2) \n && constructionLayers[selectedRow]\n && !constructionLayers[selectedRow].isBoundaryInteriorLayer\n && !constructionLayers[selectedRow].isBoundaryExteriorLayer;\n\n React.useEffect(() => {\n setConstructionLayers(props.layers);\n }, [props.layers]);\n\n React.useEffect(() => {\n const triggerGridUpdated = () => {\n if (props.onGridUpdated) {\n props.onGridUpdated(constructionLayers);\n }\n }\n triggerGridUpdated();\n }, [constructionLayers]);\n\n const openAddLayerPopup = () => {\n setLayerToEdit(undefined);\n setShowConstructionLayerPopup(true);\n };\n\n const openEditLayerPopup = () => {\n if (selectedRow > -1) {\n const selectedLayer = constructionLayers[selectedRow];\n setLayerToEdit(selectedLayer);\n setShowConstructionLayerPopup(true);\n }\n };\n\n const addLayer = (newLayer: IConstructionLayer) => { \n setShowConstructionLayerPopup(false); \n\n const layers = constructionLayers;\n layers.splice(layers.length - 1, 0, newLayer);\n setConstructionLayers([...layers]);\n\n setSelectedRow(constructionLayers.length - 2);\n };\n\n const updateLayer = (updatedLayer: IConstructionLayer) => { \n setShowConstructionLayerPopup(false); \n\n if (selectedRow > -1 && layerToEdit) {\n const layers = constructionLayers;\n layers[selectedRow] = updatedLayer;\n setConstructionLayers([...layers]);\n }\n };\n\n const deleteLayer = () => {\n if (allowDeleteLayer) {\n const layers = constructionLayers.filter((layer, index) => index !== selectedRow);\n setConstructionLayers([...layers]);\n }\n };\n\n const moveLayer = (currentIndex: number, newIndex: number) => {\n const layers = constructionLayers;\n const layer = layers.splice(currentIndex, 1)[0];\n layers.splice(newIndex, 0, layer);\n return layers;\n };\n\n const handleRowClick = (rowIndex: number) => {\n setSelectedRow(rowIndex); \n };\n\n const handleRowDoubleClick = () => {\n openEditLayerPopup();\n };\n\n const handleAddButtonClick = () => {\n openAddLayerPopup();\n };\n\n const handleEditButtonClick = () => {\n openEditLayerPopup();\n };\n\n const handleDeleteButtonClick = () => { \n deleteLayer();\n };\n\n const handleMoveUpButtonClick = () => { \n if (allowMoveUpLayer) {\n const newPosition = selectedRow - 1;\n const layers = moveLayer(selectedRow, newPosition);\n setConstructionLayers([...layers]);\n setSelectedRow(newPosition);\n }\n };\n\n const handleMoveDownButtonClick = () => { \n if (allowMoveDownLayer) {\n const newPosition = selectedRow + 1;\n const layers = moveLayer(selectedRow, newPosition)\n setConstructionLayers([...layers]);\n setSelectedRow(newPosition);\n }\n };\n\n const handleConstructionLayerOkClick = (layer: IConstructionLayer, isNew: boolean) => {\n if (isNew) {\n addLayer(layer);\n }\n else {\n updateLayer(layer);\n }\n };\n\n const layersGridView = constructionLayers.map((layer, index) => {\n const gridData: { [key: string]: any } = {};\n gridData[translations.layer] = index + 1;\n gridData[translations.material] = layer.name;\n gridData[translations.thickness] = UnitOfMeasure.getDimensionDisplayValue(layer.thickness, 3);\n gridData[translations.r_Value] = UnitOfMeasure.getDisplayValue(layer.rValueEffective, 2);\n gridData.errors = layer.errors;\n\n return gridData;\n });\n \n return (\n <>\n
\n
\n
\n {translations.constructionLayers}\n
\n \n
\n
\n
\n \n \n \n \n \n
\n
\n
\n { setShowConstructionLayerPopup(false); }}\n show={showConstructionLayerPopup}\n layerToEdit={layerToEdit}\n />\n \n );\n};\n\nexport default ConstructionLayersGrid;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport Button from \"../helpers/Button\";\nimport ConstructionLayersGrid from \"./ConstructionLayersGrid\";\nimport FormField from \"../helpers/FormField\";\nimport Measurement from \"../helpers/Measurement\";\nimport Modal from \"../helpers/Modal\";\nimport TextBox from \"../helpers/TextBox\";\n\nimport IConstructionLayer from \"../../models/interfaces/IConstructionLayer\";\nimport IMaterial from \"../../models/interfaces/IMaterial\";\n\nimport MeasurementType from \"../../enums/MeasurementType\";\n\nimport * as ConstructionLayerCalculations from \"../../models/helpers/ConstructionLayerCalculations\";\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\nimport useApplicationConfigs from \"../../hooks/useApplicationConfigs\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport \"./ConstructionModal.css\";\n\ninterface ConstructionModalProps {\n show: boolean;\n\tonOkClick: (construction: IMaterial, isAddMode: boolean) => void;\n onCancelClick: () => void;\n constructionToEdit: IMaterial | null\n}\n\nconst ConstructionModal: React.FunctionComponent = (\n\tprops: ConstructionModalProps\n) => {\n\n const { translations } = useTranslationContext();\n const { getBoundaryConstructionLayers } = useApplicationConfigs();\n\n const initialConstruction: IMaterial = {\n id: 0,\n name: \"\",\n example: \"\",\n locked: false,\n showAsSectionType: true,\n showAsBuildingMaterial: false,\n kFactor: undefined,\n stdThickness: undefined,\n stdWidth: undefined,\n rValue: undefined,\n thickness: undefined,\n isConstruct: true,\n layerMaterials: getBoundaryConstructionLayers()\n };\n\n const constructionState = props.constructionToEdit\n ? props.constructionToEdit\n : initialConstruction;\n \n const [show, setShow] = React.useState(false);\n const [construction, setConstruction] = React.useState(constructionState);\n\n React.useEffect(() => { \n setShow(props.show);\n if (props.show) {\n setConstruction(constructionState);\n }\n }, [props.show]);\n \n const handleCloseClick = () => {\n setShow(false);\n if (props.onCancelClick) {\n props.onCancelClick();\n }\n };\n\n const isAddMode = !props.constructionToEdit;\n\n const handleOkClick = () => {\n setShow(false);\n if (props.onOkClick) {\n props.onOkClick(construction, isAddMode);\n }\n };\n\n const handleInputChange = (event: React.FormEvent) => {\n\t\tconst fieldName = event.currentTarget.name;\n const fieldValue = event.currentTarget.value;\n\n setConstruction({\n ...construction,\n [fieldName]: fieldValue\n });\n };\n\n const handleMeasurementChange = (fieldName: string, fieldValue: any) => {\n setConstruction({\n ...construction,\n [fieldName]: fieldValue\n });\n };\n\n const handleConstructionLayersGridUpdated = (layers: IConstructionLayer[]) => {\n\n const thickness = ConstructionLayerCalculations.calculateConstructionThickness(layers);\n const rValue = ConstructionLayerCalculations.calculateConstructionRValue(layers);\n const kFactor = ConstructionLayerCalculations.calculateConstructionKFactor(thickness, rValue);\n\n setConstruction({\n ...construction,\n stdThickness: thickness,\n thickness,\n rValue,\n kFactor,\n layerMaterials: layers\n });\n };\n\n const rValuePerInch = (construction.rValue && construction.thickness)\n ? (construction.rValue / construction.thickness)\n : 0;\n\n const modalBody = (\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n );\n\n const modalFooter = (\n <>\n \n \n \n );\n \n return (\n \n );\n};\n\nexport default ConstructionModal;\n","import React from \"react\";\n\nimport IFormState from \"../models/interfaces/IFormState\";\nimport ISection from \"../models/interfaces/ISection\";\n\nimport { measure } from \"../types/measure\";\n\nimport BoxLocation from \"../enums/BoxLocation\";\nimport BoxType from \"../enums/BoxType\";\nimport FloorType from \"../enums/FloorType\";\n\nimport useBoxSectionForm from \"./useBoxSectionForm\";\n\nconst useBoxSectionReducer = (\n boxLocation: BoxLocation,\n boxFloorType: FloorType,\n boxHeight: measure,\n boxDepth: measure,\n boxDepth2: measure,\n boxDepth3: measure,\n boxLength: measure,\n boxLength2: measure,\n boxLength3: measure,\n boxTypeId: BoxType,\n boxExteriorTemperature: measure,\n boxExteriorHumidity: measure,\n boxInteriorTemperature: measure,\n boxInteriorHumidity: measure\n) => {\n\n const boxSectionForm = useBoxSectionForm();\n\n const reducer = (state: IFormState, action: any) => {\n if (action.type === \"set-initial-state\") {\n return boxSectionForm.setInitialState(\n action.formValues,\n boxLocation,\n boxFloorType,\n boxHeight,\n boxDepth,\n boxDepth2,\n boxDepth3,\n boxLength,\n boxLength2,\n boxLength3,\n boxTypeId,\n boxExteriorTemperature,\n boxExteriorHumidity,\n boxInteriorTemperature,\n boxInteriorHumidity);\n }\n if (action.type === \"recalculate-form\") {\n const updatedFormState = boxSectionForm.recalculateSection(\n state,\n { [action.fieldName]: action.fieldValue },\n boxLocation,\n boxFloorType,\n boxHeight,\n boxDepth,\n boxDepth2,\n boxDepth3,\n boxLength,\n boxLength2,\n boxLength3,\n boxTypeId,\n boxExteriorTemperature,\n boxExteriorHumidity,\n boxInteriorTemperature,\n boxInteriorHumidity);\n return {\n defaultValues: {\n ...updatedFormState.defaultValues\n },\n actualValues: {\n ...updatedFormState.actualValues,\n isModified: true\n }\n };\n }\n if (action.type === \"change-value\") {\n return {\n ...state,\n actualValues: {\n ...state.actualValues,\n [action.fieldName]: action.fieldValue,\n isModified: true\n }\n };\n }\n return state;\n };\n\n const [formState, dispatch] = React.useReducer(reducer, boxSectionForm.setInitialState(\n undefined, \n boxLocation, \n boxFloorType,\n boxHeight,\n boxDepth,\n boxDepth2,\n boxDepth3,\n boxLength,\n boxLength2,\n boxLength3,\n boxTypeId,\n boxExteriorTemperature,\n boxExteriorHumidity,\n boxInteriorTemperature,\n boxInteriorHumidity));\n\n return {\n formState,\n dispatch\n };\n};\n\nexport default useBoxSectionReducer;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport Button from \"../helpers/Button\";\nimport ConstructionModal from \"../Construction/ConstructionModal\";\nimport DropDownList from \"../helpers/DropDownList\";\nimport FloorTypesButton from \"../FloorTypes/FloorTypesButton\";\nimport FormErrorNotification from \"../helpers/FormErrorNotification\";\nimport FormField from \"../helpers/FormField\";\nimport Measurement from \"../helpers/Measurement\";\nimport Modal from \"../helpers/Modal\";\nimport TextBox from \"../helpers/TextBox\";\n\nimport { measure, hasValue, getNumericValue } from \"../../types/measure\";\nimport { getCustomValue } from \"../../models/helpers/FormFields\";\nimport { getDefaultMaterialId } from \"../../models/helpers/BoxSectionFormFields\";\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\nimport BoxLocation from \"../../enums/BoxLocation\";\nimport BoxType from \"../../enums/BoxType\";\nimport FloorType from \"../../enums/FloorType\";\nimport Material from \"../../enums/Material\";\nimport MeasurementType from \"../../enums/MeasurementType\";\nimport * as MeasurementUnit from \"../../enums/MeasurementUnit\";\nimport SectionLocation from \"../../enums/SectionLocation\";\nimport SectionType from \"../../enums/SectionType\";\n\nimport IMaterial from \"../../models/interfaces/IMaterial\";\nimport IMessage from \"../../models/interfaces/IMessage\";\nimport ISection from \"../../models/interfaces/ISection\";\n\nimport useApplicationConfigs from \"../../hooks/useApplicationConfigs\";\nimport useBoxSectionForm from \"../../hooks/useBoxSectionForm\";\nimport useBoxSectionReducer from \"../../hooks/useBoxSectionReducer\";\nimport useBoxMaterialsContext from \"../../hooks/useBoxMaterialsContext\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport \"./BoxSectionModal.css\";\n\nconst isWall = (sectionType: SectionType) => {\n return sectionType === SectionType.WallPolygon\n || sectionType === SectionType.WallCustom;\n};\n\nconst isFloor = (sectionType: SectionType) => {\n return sectionType === SectionType.FloorPolygon\n || sectionType === SectionType.FloorCustom;\n};\n\nconst isCeiling = (sectionType: SectionType) => {\n return sectionType === SectionType.CeilingPolygon\n || sectionType === SectionType.CeilingCustom;\n};\n\ninterface BoxSectionModalProps {\n\tshow: boolean;\n\tonOkClick: any;\n onCancelClick: any;\n boxType: BoxType;\n height: measure;\n depth: measure;\n depth2: measure;\n depth3: measure;\n length: measure;\n length2: measure;\n length3: measure;\n isBoxFreezer: boolean;\n floorType: FloorType;\n boxLocation: BoxLocation;\n boxExteriorTemperature: measure;\n boxInteriorTemperature: measure;\n boxExteriorHumidity: measure;\n boxInteriorHumidity: measure;\n sectionToEdit?: ISection;\n}\n\nconst BoxSectionModal: React.FunctionComponent = (\n\tprops: BoxSectionModalProps\n) => {\n \n const [show, setShow] = React.useState(false);\n const [errorMessages, setErrorMessages] = React.useState([] as IMessage[]);\n const [showConstruction, setShowConstruction] = React.useState(false);\n const [constructionToEdit, setConstructionToEdit] = React.useState(null as IMaterial | null);\n\n const { getSectionTypeConfig, getSectionFloorTypeConfig } = useApplicationConfigs();\n \n const { isAddMode, isPolygonSection, formTitle, visibleSectionTypes, getMaterialsLookup, validateSection } = useBoxSectionForm();\n const { getBoxMaterial, boxMaterials, updateBoxMaterials, isMaterialLocked, isMaterialConstruct, isMaterialThicknessStandard } = useBoxMaterialsContext();\n const { translations } = useTranslationContext();\n \n const { formState, dispatch } = useBoxSectionReducer(\n props.boxLocation,\n props.floorType,\n props.height,\n props.depth,\n props.depth2,\n props.depth3,\n props.length,\n props.length2,\n props.length3,\n props.boxType,\n props.boxExteriorTemperature,\n props.boxExteriorHumidity,\n props.boxInteriorTemperature,\n props.boxInteriorHumidity);\n\n const showErrors = (\n errors: IMessage[],\n currentFieldError?: IMessage\n ) => {\n let newList = [] as IMessage[];\n \n const currentList = [...errorMessages];\n currentList.forEach(c => {\n const errorText = errors.find(e => e.name === c.name)?.text ?? \"\";\n newList.push({\n name: c.name,\n text: errorText\n });\n });\n\n if (currentFieldError) {\n if (currentList.find(c => c.name === currentFieldError.name)) {\n newList = newList.map(n => {\n return {\n name: n.name,\n text: (n.name === currentFieldError.name) ? currentFieldError.text : n.text\n }\n });\n }\n else {\n newList.push(currentFieldError);\n }\n }\n \n setErrorMessages(newList);\n };\n\n const validateField = (\n fieldName: string,\n fieldValue: any\n ) => {\n\n const section = {\n ...formState.actualValues,\n [fieldName]: fieldValue\n };\n\n const errors = validateSection(section, section.floorType, props.boxInteriorTemperature);\n\n const fieldError: IMessage = {\n name: fieldName,\n text: errors.find(e => e.name === fieldName)?.text ?? \"\"\n };\n \n showErrors(errors, fieldError);\n \n return fieldError.text;\n };\n\n React.useEffect(() => { \n setShow(props.show);\n if (props.show) {\n dispatch({ type: \"set-initial-state\", formValues: props.sectionToEdit });\n\n if (props.sectionToEdit) {\n setErrorMessages(props.sectionToEdit.errors ?? []);\n }\n else {\n setErrorMessages([]);\n }\n }\n }, [props.show]);\n\n const getActualMaterialId = () => {\n const actualMaterialId = formState.actualValues.materialId && formState.actualValues.materialId !== 0\n ? formState.actualValues.materialId\n : getDefaultMaterialId(getSectionTypeConfig(formState.actualValues.sectionType), getSectionFloorTypeConfig(formState.actualValues.floorType, props.floorType));\n return actualMaterialId;\n }\n\n const openAddConstructionPopup = () => {\n setConstructionToEdit(null);\n setShowConstruction(true);\n }\n\n const openEditConstructionPopup = () => { \n const selectedConstruction = getBoxMaterial(getActualMaterialId());\n if (selectedConstruction) {\n setConstructionToEdit(selectedConstruction);\n setShowConstruction(true);\n }\n }\n \n const handleCloseClick = () => {\n setShow(false);\n if (props.onCancelClick) {\n props.onCancelClick();\n }\n };\n\n const handleOkClick = () => {\n setShow(false);\n if (props.onOkClick) {\n const sectionCustomValues: ISection = {\n sectionType: formState.actualValues.sectionType,\n wallType: formState.actualValues.wallType,\n radians: formState.actualValues.radians,\n isCustom: formState.actualValues.isCustom,\n isModified: formState.actualValues.isModified,\n sectionName: formState.actualValues.sectionName,\n materialId: getCustomValue(formState, \"materialId\"),\n materialName: getCustomValue(formState, \"materialName\"),\n thickness: getCustomValue(formState, \"thickness\"),\n kFactor: getCustomValue(formState, \"kFactor\"),\n rValuePerInch: getCustomValue(formState, \"rValuePerInch\"),\n rValueEffective: getCustomValue(formState, \"rValueEffective\"),\n exteriorTemperature: getCustomValue(formState, \"exteriorTemperature\"),\n exteriorHumidity: getCustomValue(formState, \"exteriorHumidity\"),\n dimension1: getCustomValue(formState, \"dimension1\"),\n dimension2: getCustomValue(formState, \"dimension2\"),\n area: getCustomValue(formState, \"area\"),\n areaWithoutOpenings: formState.actualValues.areaWithoutOpenings,\n conductionLoad: getCustomValue(formState, \"conductionLoad\"),\n conductionLoadWithoutOpenings: formState.actualValues.conductionLoadWithoutOpenings,\n sectionLocation: getCustomValue(formState, \"sectionLocation\"),\n floorType: getCustomValue(formState, \"floorType\"),\n width: getCustomValue(formState, \"width\"),\n length: getCustomValue(formState, \"length\"),\n height: getCustomValue(formState, \"height\"),\n depth: getCustomValue(formState, \"depth\"),\n perimeter: getCustomValue(formState, \"perimeter\"),\n openings: formState.actualValues.openings\n };\n\n props.onOkClick(sectionCustomValues, isAddMode(props.sectionToEdit));\n }\n };\n\n const handleInputChange = (event: React.FormEvent) => {\n\t\tconst fieldName = event.currentTarget.name;\n const fieldValue = event.currentTarget.value;\n \n dispatch({ type: \"change-value\", fieldName, fieldValue });\n\n validateField(fieldName, fieldValue);\n };\n \n const handleDropdownChange = (event: React.FormEvent) => {\n\t\tconst fieldName = event.currentTarget.name;\n const fieldValue = event.currentTarget.value;\n\n switch (fieldName) {\n case \"sectionType\":\n case \"sectionLocation\":\n dispatch({ type: \"recalculate-form\", fieldName, fieldValue });\n break;\n case \"materialId\":\n if (fieldValue === Material.NewComposite.toString()) {\n openAddConstructionPopup();\n }\n else {\n dispatch({ type: \"recalculate-form\", fieldName, fieldValue: Number(fieldValue) });\n }\n break;\n default:\n dispatch({ type: \"change-value\", fieldName, fieldValue });\n break;\n }\n\n validateField(fieldName, fieldValue);\n }\n \n\tconst handleMeasurementChange = (fieldName: string, fieldValue: any) => {\n dispatch({ type: \"recalculate-form\", fieldName, fieldValue });\n };\n\n const handleFloorTypeChange = (value: FloorType) => {\n\t\tif (value === FloorType.None) {\n\t\t\tvalue = formState.defaultValues.floorType ?? FloorType.OnGrade;\n }\n dispatch({ type: \"recalculate-form\", fieldName: \"floorType\", fieldValue: value });\n\n validateField(\"floorType\", value);\n };\n\n const handleEditConstructionButtonClick= () => {\n openEditConstructionPopup();\n }\n\n const handleConstructionOkClick = (construction: IMaterial, isNewConstruction: boolean) => {\n setShowConstruction(false);\n\n let materials = [...boxMaterials];\n let constructionId = construction.id;\n\n if (isNewConstruction) {\n const hasConstruction = boxMaterials.some(m => m.id < 0);\n if (!hasConstruction) {\n constructionId = -1;\n }\n else {\n constructionId = (boxMaterials.map(m => m.id).sort((a, b) => a - b)[0]) - 1;\n }\n\n const newConstruction = {\n ...construction,\n id: constructionId\n };\n\n materials = [\n ...materials,\n newConstruction\n ];\n }\n else {\n const index = materials.findIndex(m => m.id === constructionId);\n materials = [\n ...materials.slice(0, index), \n construction, \n ...materials.slice(index + 1)\n ];\n }\n\n updateBoxMaterials(materials);\n\n dispatch({ type: \"recalculate-form\", fieldName: \"materialId\", fieldValue: constructionId });\n\n validateField(\"materialId\", constructionId);\n };\n\n const modalBody = (\n
\n \n
\n \n {\n return {\n key: s.id,\n value: s.name\n }\n })}\n disabled={isPolygonSection(props.sectionToEdit)}\n onChange={handleDropdownChange}\n />\n \n \n \n \n {isFloor(formState.actualValues.sectionType) && (\n \n \n \n )}\n {(isWall(formState.actualValues.sectionType) || isCeiling(formState.actualValues.sectionType)) && (\n \n \n \n )}\n {!isPolygonSection(props.sectionToEdit) && (\n <>\n {isWall(formState.actualValues.sectionType) && ( \n <>\n \n \n \n \n \n \n \n )}\n {(isFloor(formState.actualValues.sectionType) || isCeiling(formState.actualValues.sectionType)) && (\n <>\n \n \n \n \n \n \n \n )}\n \n \n \n {isFloor(formState.actualValues.sectionType) && (\n \n \n \n )}\n \n )}\n \n <>\n \n {formState.actualValues.materialId !== 0 && isMaterialConstruct(getActualMaterialId()) && (\n
\n \n
\n )}\n \n
\n {(formState.actualValues.materialId === 0 || formState.actualValues.materialId === Material.Other) && (\n \n <>\n \n {isMaterialConstruct(getActualMaterialId()) && (\n
\n \n
\n )}\n \n
\n )}\n {(formState.actualValues.materialId !== Material.ZoneBoundary) && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n {(isWall(formState.actualValues.sectionType) \n || isCeiling(formState.actualValues.sectionType)\n || (isFloor(formState.actualValues.sectionType) \n && getSectionFloorTypeConfig(formState.actualValues.floorType, props.floorType).id === FloorType.AboveGrade)\n ) && (\n \n \n \n )}\n \n )}\n {isWall(formState.actualValues.sectionType) && (\n \n \n \n )}\n {(formState.actualValues.materialId !== Material.ZoneBoundary) && (\n \n \n \n )}\n
\n
\n );\n\n const modalFooter = (\n <>\n \n \n \n );\n\n return (\n <>\n \n { setShowConstruction(false); }}\n show={showConstruction}\n constructionToEdit={constructionToEdit}\n />\n \n );\n};\n\nexport default BoxSectionModal;\n","import React from \"react\";\n\nimport IFormState from \"../models/interfaces/IFormState\";\nimport IOpening from \"../models/interfaces/IOpening\";\nimport ISection from \"../models/interfaces/ISection\";\n\nimport { measure } from \"../types/measure\";\n\nimport useOpeningDetailsForm from \"./useOpeningDetailsForm\";\n\nconst useOpeningDetailsReducer = (\n section: ISection,\n boxInteriorTemperature: measure,\n boxInteriorHumidity: measure\n) => {\n\n const openingDetailsForm = useOpeningDetailsForm();\n\n const reducer = (state: IFormState, action: any) => { \n if (action.type === \"set-initial-state\") {\n return openingDetailsForm.setInitialState(\n action.formValues,\n section.exteriorTemperature,\n section.exteriorHumidity,\n section.dimension1,\n section.dimension2,\n boxInteriorTemperature,\n boxInteriorHumidity);\n }\n if (action.type === \"recalculate-form\") {\n return openingDetailsForm.recalculateOpening(\n state,\n { [action.fieldName]: action.fieldValue },\n section.exteriorTemperature,\n section.exteriorHumidity,\n section.dimension1,\n section.dimension2,\n boxInteriorTemperature,\n boxInteriorHumidity);\n }\n if (action.type === \"change-value\") {\n return {\n ...state,\n actualValues: {\n ...state.actualValues,\n [action.fieldName]: action.fieldValue\n }\n };\n }\n return state;\n };\n\n const [formState, dispatch] = React.useReducer(reducer, openingDetailsForm.setInitialState(\n undefined,\n section.exteriorTemperature,\n section.exteriorHumidity,\n section.dimension1,\n section.dimension2,\n boxInteriorTemperature,\n boxInteriorHumidity));\n\n return {\n formState,\n dispatch\n };\n};\n\nexport default useOpeningDetailsReducer;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport Button from \"../helpers/Button\";\nimport DropDownList from \"../helpers/DropDownList\";\nimport FormErrorNotification from \"../helpers/FormErrorNotification\";\nimport FormField from \"../helpers/FormField\";\nimport Measurement from \"../helpers/Measurement\";\nimport Modal from \"../helpers/Modal\";\nimport TextBox from \"../helpers/TextBox\";\n\nimport OpeningType from \"../../enums/OpeningType\";\n\nimport { dictionary } from \"../../types/dictionary\";\n\nimport MeasurementType from \"../../enums/MeasurementType\";\nimport * as MeasurementUnit from \"../../enums/MeasurementUnit\";\n\nimport { measure } from \"../../types/measure\";\nimport { getCustomValue } from \"../../models/helpers/FormFields\";\n\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\nimport IMessage from \"../../models/interfaces/IMessage\";\nimport IOpening from \"../../models/interfaces/IOpening\";\nimport ISection from \"../../models/interfaces/ISection\";\n\nimport useApplicationConfigs from \"../../hooks/useApplicationConfigs\";\nimport useApplicationContext from \"../../hooks/useApplicationContext\";\nimport useOpeningDetailsReducer from \"../../hooks/useOpeningDetailsReducer\";\nimport useOpeningDetailsForm from \"../../hooks/useOpeningDetailsForm\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport \"./OpeningDetailsModal.css\";\n\ninterface OpeningDetailsModalProps {\n show: boolean;\n section: ISection;\n boxInteriorTemperature: measure;\n boxInteriorHumidity: measure;\n openingToEdit?: IOpening;\n onOkClick: any;\n onCancelClick: any;\n}\n\nconst OpeningDetailsModal: React.FunctionComponent = (\n props: OpeningDetailsModalProps\n) => {\n\n const [show, setShow] = React.useState(false);\n const [errorMessages, setErrorMessages] = React.useState([] as IMessage[]);\n \n const { curtains, getCurtain } = useApplicationContext();\n const { getOpeningTypes, getOpeningTypeConfig } = useApplicationConfigs();\n const { translations } = useTranslationContext();\n\n const { validateOpening } = useOpeningDetailsForm();\n\n const { formState, dispatch } = useOpeningDetailsReducer(\n props.section,\n props.boxInteriorTemperature,\n props.boxInteriorHumidity);\n\n React.useEffect(() => {\n setShow(props.show);\n if (props.show) {\n dispatch({ type: \"set-initial-state\", formValues: props.openingToEdit });\n }\n\n if (props.openingToEdit) {\n setErrorMessages(props.openingToEdit.errors ?? []);\n }\n else {\n setErrorMessages([]);\n }\n }, [props.show]);\n\n const isAddMode = !props.openingToEdit;\n\n const showErrors = (\n errors: IMessage[],\n currentFieldError?: IMessage\n ) => {\n let newList = [] as IMessage[];\n \n const currentList = [...errorMessages];\n currentList.forEach(c => {\n const errorText = errors.find(e => e.name === c.name)?.text ?? \"\";\n newList.push({\n name: c.name,\n text: errorText\n });\n });\n\n if (currentFieldError) {\n if (currentList.find(c => c.name === currentFieldError.name)) {\n newList = newList.map(n => {\n return {\n name: n.name,\n text: (n.name === currentFieldError.name) ? currentFieldError.text : n.text\n }\n });\n }\n else {\n newList.push(currentFieldError);\n }\n }\n \n setErrorMessages(newList);\n };\n\n const validateField = (\n fieldName: string,\n fieldValue: any\n ) => {\n\n const opening = {\n ...formState.actualValues,\n [fieldName]: fieldValue\n };\n\n const errors = validateOpening(opening, props.section.dimension1, props.section.dimension2);\n\n const fieldError: IMessage = {\n name: fieldName,\n text: errors.find(e => e.name === fieldName)?.text ?? \"\"\n };\n \n showErrors(errors, fieldError);\n \n return fieldError.text;\n };\n\n const handleCloseClick = () => {\n setShow(false);\n if (props.onCancelClick) {\n props.onCancelClick();\n }\n };\n\n const handleOkClick = () => {\n setShow(false);\n if (props.onOkClick) {\n const openingCustomValues: IOpening = {\n openingType: formState.actualValues.openingType,\n quantity: formState.actualValues.quantity,\n description: getCustomValue(formState, \"description\"),\n width: getCustomValue(formState, \"width\"),\n height: getCustomValue(formState, \"height\"),\n area: getCustomValue(formState, \"area\"),\n totalArea: getCustomValue(formState, \"totalArea\"),\n exteriorTemperature: getCustomValue(formState, \"exteriorTemperature\"),\n stripCurtainId: getCustomValue(formState, \"stripCurtainId\"),\n curtainEffectiveness: getCustomValue(formState, \"curtainEffectiveness\"),\n curtainRValue: getCustomValue(formState, \"curtainRValue\"),\n passagesPerDay: getCustomValue(formState, \"passagesPerDay\"),\n averagePassageTime: getCustomValue(formState, \"averagePassageTime\"),\n standOpenTimePerDay: getCustomValue(formState, \"standOpenTimePerDay\"),\n rValueEffective: getCustomValue(formState, \"rValueEffective\"),\n conductionLoad: getCustomValue(formState, \"conductionLoad\"),\n totalConductionLoad: formState.actualValues.totalConductionLoad,\n infiltratingAirRh: getCustomValue(formState, \"infiltratingAirRh\"),\n infiltrationLoad: getCustomValue(formState, \"infiltrationLoad\"),\n totalInfiltrationLoad: formState.actualValues.totalInfiltrationLoad\n };\n\n props.onOkClick(openingCustomValues, isAddMode);\n }\n };\n\n const handleInputChange = (event: React.FormEvent) => {\n const fieldName = event.currentTarget.name;\n const fieldValue = event.currentTarget.value;\n\n dispatch({ type: \"change-value\", fieldName, fieldValue });\n\n validateField(fieldName, fieldValue);\n };\n\n const handleDropdownChange = (event: React.FormEvent) => {\n const fieldName = event.currentTarget.name;\n const fieldValue = event.currentTarget.value;\n\n dispatch({ type: \"recalculate-form\", fieldName, fieldValue });\n\n validateField(fieldName, fieldValue);\n };\n\n const handleMeasurementChange = (fieldName: string, fieldValue: any) => {\n dispatch({ type: \"recalculate-form\", fieldName, fieldValue });\n };\n\n const openingTypesLookup: dictionary = \n getOpeningTypes()\n .map(item => {\n return {\n key: item.id,\n value: item.name\n }\n }\n );\n\n const selectedOpeningType = () => {\n const id = formState.actualValues.openingType ?? OpeningType.None;\n return getOpeningTypeConfig(id);\n };\n\n const curtainsLookup: dictionary = \n curtains\n .map(item => {\n return {\n key: item.id.toString(),\n value: item.name\n }\n }\n );\n\n const showCurtainEffectivenessField = () => {\n const id = formState.actualValues.stripCurtainId ?? \"0\";\n return getCurtain(id).effectiveness < 100;\n };\n\n const showCurtainRValueField = () => {\n const id = formState.actualValues.stripCurtainId ?? \"0\";\n return getCurtain(id).rValue > 0;\n };\n\n const modalBody = (\n
\n \n
\n
\n
\n \n <>\n \n \n {selectedOpeningType().description}\n \n \n \n {selectedOpeningType().hasQuantityField && (\n \n \n \n )}\n {selectedOpeningType().hasDescriptionField && (\n \n \n \n )}\n
\n
\n {(selectedOpeningType().hasDimensionFields || selectedOpeningType().hasExteriorTemperatureField || selectedOpeningType().hasStripCurtainsField) && (\n
{translations.cONSTRUCTIONANDDIMENSIONS}
\n )}\n {selectedOpeningType().hasDimensionFields && (\n
\n
\n \n \n \n \n \n \n
\n
\n \n \n \n {selectedOpeningType().hasExteriorTemperatureField && (\n \n \n \n )}\n
\n
\n )}\n {selectedOpeningType().hasStripCurtainsField && (\n <>\n \n \n \n {(showCurtainEffectivenessField() || showCurtainRValueField()) && (\n
\n
\n {showCurtainEffectivenessField() && (\n \n \n \n )}\n
\n
\n {showCurtainRValueField() && (\n \n \n \n )}\n
\n
\n )}\n \n )}\n {selectedOpeningType().hasDoorUsageFields && (\n <>\n
{translations.dOORUSAGE}
\n
\n
\n \n \n \n
\n
\n \n \n \n \n \n \n
\n
\n \n )}\n {(selectedOpeningType().hasRValueEffectiveField || selectedOpeningType().hasConductionLoadField) && (\n
{translations.iNSULATIONLOADPERUNIT}
\n )}\n
\n
\n {selectedOpeningType().hasRValueEffectiveField && (\n \n \n \n )}\n
\n
\n {selectedOpeningType().hasConductionLoadField && (\n \n \n \n )}\n
\n
\n {(selectedOpeningType().hasInfiltratingAirRhField || selectedOpeningType().hasInfiltrationLoadField) && (\n
{translations.iNFILTRATIONLOADPERUNIT}
\n )}\n
\n
\n {selectedOpeningType().hasInfiltratingAirRhField && (\n \n \n \n )}\n
\n
\n {selectedOpeningType().hasInfiltrationLoadField && (\n \n \n \n )}\n
\n
\n
\n
\n );\n\n const modalFooter = (\n <>\n \n \n \n );\n\n return (\n \n );\n};\n\nexport default OpeningDetailsModal;\n","import * as React from \"react\";\n\nimport Button from \"../helpers/Button\";\nimport ConfirmationMessage from \"../helpers/ConfirmationMessage\";\nimport Grid from \"../helpers/Grid\";\nimport OpeningDetailsModal from \"./OpeningDetailsModal\";\n\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\nimport useOpeningDetailsForm from \"../../hooks/useOpeningDetailsForm\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport IOpening from \"../../models/interfaces/IOpening\";\nimport ISection from \"../../models/interfaces/ISection\";\n\nimport { measure, roundOff } from \"../../types/measure\";\n\ninterface OpeningsGridProps {\n section: ISection,\n boxInteriorTemperature: measure;\n boxInteriorHumidity: measure;\n openings: IOpening[],\n onGridUpdated: (openings: IOpening[]) => void;\n}\n\nconst OpeningsGrid: React.FunctionComponent = (\n\tprops: OpeningsGridProps\n) => {\n\n const { translations } = useTranslationContext();\n\n const [showConfirmationMessage, setShowConfirmationMessage] = React.useState(false);\n const [showOpeningDetailsPopup, setShowOpeningDetailsPopup] = React.useState(false);\n const [openings, setOpenings] = React.useState(props.openings);\n const [selectedRow, setSelectedRow] = React.useState(-1);\n const [openingToEdit, setOpeningToEdit] = React.useState(undefined as IOpening | undefined);\n\n const { getDefaultOpening, recalculateOpening } = useOpeningDetailsForm();\n\n React.useEffect(() => {\n const triggerGridUpdated = () => {\n if (props.onGridUpdated) {\n props.onGridUpdated(openings);\n }\n }\n triggerGridUpdated();\n }, [openings]);\n\n const openAddOpeningPopup = () => {\n setOpeningToEdit(undefined);\n setShowOpeningDetailsPopup(true);\n };\n\n const openEditOpeningPopup = () => {\n if (selectedRow > -1) {\n const selectedOpening = openings[selectedRow];\n setOpeningToEdit(selectedOpening);\n setShowOpeningDetailsPopup(true);\n }\n };\n\n const addOpening = (newOpening: IOpening) => { \n setShowOpeningDetailsPopup(false); \n\n const openingsList = [\n ...openings,\n newOpening\n ];\n\n setOpenings(openingsList);\n\n setSelectedRow(openingsList.length - 1);\n };\n\n const updateOpening = (updatedOpening: IOpening) => { \n setShowOpeningDetailsPopup(false); \n\n if (selectedRow > -1 && openingToEdit) {\n const openingsList = [\n ...openings.slice(0, selectedRow), \n updatedOpening, \n ...openings.slice(selectedRow + 1)\n ];\n setOpenings(openingsList);\n }\n };\n\n const deleteOpening = () => {\n if (selectedRow > -1) {\n const openingsList = openings.filter((opening, index) => index !== selectedRow);\n setOpenings([...openingsList]);\n }\n };\n\n const handleRowClick = (rowIndex: number) => {\n setSelectedRow(rowIndex); \n };\n\n const handleRowDoubleClick = () => {\n openEditOpeningPopup();\n };\n\n const handleAddButtonClick = () => {\n openAddOpeningPopup();\n };\n\n const handleEditButtonClick = () => {\n openEditOpeningPopup();\n };\n\n const handleDeleteButtonClick = () => { \n setShowConfirmationMessage(true); \n };\n\n const handleOpeningDetailsOkClick = (opening: IOpening, isNew: boolean) => {\n if (isNew) {\n addOpening(opening);\n }\n else {\n updateOpening(opening);\n }\n };\n\n const deleteConfirmationMessage = {\n\t\ttitle: \"Confirmation\",\n\t\tmessage:
Are you sure you want to delete this opening?
,\n\t\tonYesClick: () => {\n deleteOpening();\n setShowConfirmationMessage(false);\n },\n\t\tonNoClick: () => {\n setShowConfirmationMessage(false);\n }\n };\n\n const openingsGridView = openings.map((opening) => {\n\n const defaultOpening = getDefaultOpening(\n opening.openingType,\n props.section.exteriorTemperature,\n props.section.exteriorHumidity,\n props.section.dimension1,\n props.section.dimension2,\n props.boxInteriorTemperature,\n props.boxInteriorHumidity);\n\n const actualOpening = recalculateOpening(\n {\n defaultValues: defaultOpening,\n actualValues: opening\n },\n null,\n props.section.exteriorTemperature,\n props.section.exteriorHumidity,\n props.section.dimension1,\n props.section.dimension2,\n props.boxInteriorTemperature,\n props.boxInteriorHumidity).actualValues;\n\n const gridData: { [key: string]: any } = {};\n gridData[translations.quantity] = roundOff(actualOpening.quantity, 0);\n gridData[translations.description] = actualOpening.description;\n gridData[`${translations.area} (${UnitOfMeasure.getAreaUnitLabel()})`] = UnitOfMeasure.getAreaDisplayValue(actualOpening.totalArea, 0);\n gridData[`${translations.conduction} (${UnitOfMeasure.getRatingUnitLabel()})`] = UnitOfMeasure.getRatingDisplayValue(actualOpening.totalConductionLoad, 0);\n gridData[`${translations.infiltration} (${UnitOfMeasure.getRatingUnitLabel()})`] = UnitOfMeasure.getRatingDisplayValue(actualOpening.totalInfiltrationLoad, 0);\n gridData.errors = actualOpening.errors;\n \n return gridData;\n });\n\n const isRowSelected = (selectedRow > -1) && openings[selectedRow];\n \n return (\n <>\n
\n
\n
\n {translations.doorsAndOpenings}\n
\n \n
\n
\n
\n \n \n \n
\n
\n
\n { setShowOpeningDetailsPopup(false); }}\n />\n \n \n );\n};\n\nexport default OpeningsGrid;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport Button from \"../helpers/Button\";\nimport Modal from \"../helpers/Modal\";\nimport OpeningsGrid from \"./OpeningsGrid\";\n\nimport { measure } from \"../../types/measure\";\n\nimport IOpening from \"../../models/interfaces/IOpening\";\nimport ISection from \"../../models/interfaces/ISection\";\n\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\ninterface OpeningsModalProps {\n show: boolean;\n section: ISection;\n boxInteriorTemperature: measure;\n boxInteriorHumidity: measure;\n\tonOkClick: (sectionOpenings: IOpening[]) => void;\n onCancelClick: () => void;\n}\n\nconst OpeningsModal: React.FunctionComponent = (\n\tprops: OpeningsModalProps\n) => {\n\n const { translations } = useTranslationContext();\n \n const [show, setShow] = React.useState(false);\n \n const [sectionOpenings, setSectionOpenings] = React.useState(props.section?.openings ?? []);\n\n React.useEffect(() => { \n setShow(props.show);\n if (props.show) {\n setSectionOpenings(props.section?.openings ?? []);\n }\n }, [props.show]);\n\n const handleOpeningsGridUpdated = (openings: IOpening[]) => {\n setSectionOpenings(openings);\n };\n \n const handleCloseClick = () => {\n setShow(false);\n if (props.onCancelClick) {\n props.onCancelClick();\n }\n };\n\n const handleOkClick = () => {\n setShow(false);\n if (props.onOkClick) {\n props.onOkClick(sectionOpenings);\n }\n };\n\n const modalBody = (\n
\n \n
\n );\n\n const modalFooter = (\n <>\n \n \n \n );\n \n return (\n \n );\n};\n\nexport default OpeningsModal;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\n\nimport BoxSectionModal from \"./BoxSectionModal\";\nimport Button from \"../helpers/Button\";\nimport ConfirmationMessage from \"../helpers/ConfirmationMessage\";\nimport Grid from \"../helpers/Grid\";\nimport OpeningsModal from \"../Openings/OpeningsModal\";\n\nimport { measure, hasValue, getNumericValue } from \"../../types/measure\";\n\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\nimport BoxLocation from \"../../enums/BoxLocation\";\nimport BoxType from \"../../enums/BoxType\";\nimport FloorType from \"../../enums/FloorType\";\nimport SectionType from \"../../enums/SectionType\";\nimport WallType from \"../../enums/WallType\";\n\nimport IOpening from \"../../models/interfaces/IOpening\";\nimport IFormState from \"../../models/interfaces/IFormState\";\nimport ISection from \"../../models/interfaces/ISection\";\n\nimport useBoxContext from \"../../hooks/useBoxContext\";\nimport useSystemContext from \"../../hooks/useSystemContext\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport \"./BoxSectionsGrid.css\";\n\nconst getSelectedSectionIndex = (\n sectionList: ISection[] | null,\n selectedRowIndex: number\n) => {\n let index = -1;\n let associatedSectionIndex = -1;\n if (sectionList) {\n sectionList.forEach((s, sIndex) => {\n index += 1;\n if (selectedRowIndex === index) {\n associatedSectionIndex = sIndex; \n }\n s.openings?.forEach(o => {\n index += 1;\n if (selectedRowIndex === index) {\n associatedSectionIndex = sIndex;\n }\n });\n });\n }\n\n return associatedSectionIndex;\n};\n\nconst getSelectedSection = (\n sectionList: ISection[] | null,\n selectedRowIndex: number\n): ISection | undefined => {\n if (!sectionList) {\n return undefined;\n }\n const sectionIndex = getSelectedSectionIndex(sectionList, selectedRowIndex);\n return sectionList[sectionIndex];\n};\n\nconst isSectionSelected = (\n sectionList: ISection[] | null,\n selectedRowIndex: number\n) => { \n return (selectedRowIndex > -1) && getSelectedSection(sectionList, selectedRowIndex);\n};\n\nconst isOpeningSelected = (\n sectionList: ISection[] | null,\n selectedRowIndex: number\n) => {\n let isOpening = false;\n let index = -1;\n if (sectionList) {\n sectionList.forEach(s => {\n index += 1; \n s.openings?.forEach(o => {\n index += 1;\n if (selectedRowIndex === index) {\n isOpening = true;\n }\n });\n });\n }\n\n return isOpening;\n};\n\nconst isCustomSectionSelected = (\n sectionList: ISection[] | null,\n selectedRowIndex: number\n) => { \n return isSectionSelected(sectionList, selectedRowIndex) && (\n getSelectedSection(sectionList, selectedRowIndex)?.sectionType === SectionType.WallCustom\n || getSelectedSection(sectionList, selectedRowIndex)?.sectionType === SectionType.FloorCustom\n || getSelectedSection(sectionList, selectedRowIndex)?.sectionType === SectionType.CeilingCustom);\n};\n\nconst isWallSectionSelected = (\n sectionList: ISection[] | null,\n selectedRowIndex: number\n) => { \n if (selectedRowIndex > -1) {\n const sectionType = getSelectedSection(sectionList, selectedRowIndex)?.sectionType ?? SectionType.Undefined;\n return sectionType === SectionType.WallCustom || sectionType === SectionType.WallPolygon;\n }\n\n return false;\n};\n\ninterface BoxSectionsGridProps {\n onSectionSelect: (sectionType: SectionType, wallType: WallType) => void;\n}\n\nconst BoxSectionsGrid: React.FunctionComponent = (\n\tprops: BoxSectionsGridProps\n) => {\n\n const [selectedRow, setSelectedRow] = React.useState(-1);\n const [sectionToEdit, setSectionToEdit] = React.useState(undefined as ISection | undefined);\n\n const [showSection, setShowSection] = React.useState(false);\n const [showOpenings, setShowOpenings] = React.useState(false);\n const [showConfirmationMessage, setShowConfirmationMessage] = React.useState(false);\n\n const { translations } = useTranslationContext();\n\n const { boxData } = useBoxContext();\n const { systemState, dispatch } = useSystemContext();\n\n const sectionsGridView = (sectionsList: ISection[]) => {\n return sectionsList.reduce((previousValue: { [key: string]: any }[], section: ISection) => {\n const sectionRow: { [key: string]: any } = {};\n sectionRow[translations.section] = section.sectionName;\n sectionRow[translations.sectionConstruction] = section.materialName;\n sectionRow[`${translations.thickness} (${UnitOfMeasure.getSmallerDimensionUnitLabel()})`] = UnitOfMeasure.getSmallerDimensionDisplayValue(section.thickness, 3);\n sectionRow[translations.kFactor] = UnitOfMeasure.getDisplayValue(section.kFactor, 2);\n sectionRow[translations.r_Value] = UnitOfMeasure.getDisplayValue(section.rValueEffective, 2);\n sectionRow[`${translations.extTemp} (${UnitOfMeasure.getTemperatureUnitLabel()})`] = section.exteriorTemperature !== null && section.exteriorTemperature !== undefined ? UnitOfMeasure.getTemperatureDisplayValue(section.exteriorTemperature, 1) : \"\";\n sectionRow[`Dim 1 (${UnitOfMeasure.getDimensionUnitLabel()})`] = UnitOfMeasure.getDimensionDisplayValue(section.dimension1, 2);\n sectionRow[`Dim 2 (${UnitOfMeasure.getDimensionUnitLabel()})`] = UnitOfMeasure.getDimensionDisplayValue(section.dimension2, 2);\n sectionRow[`${translations.area} (${UnitOfMeasure.getAreaUnitLabel()})`] = UnitOfMeasure.getAreaDisplayValue(section.areaWithoutOpenings, 0);\n sectionRow[`${translations.lOAD} (${UnitOfMeasure.getRatingUnitLabel()})`] = UnitOfMeasure.getRatingDisplayValue(section.conductionLoadWithoutOpenings, 0);\n sectionRow.errors = section.errors;\n sectionRow.rowClassName = (section.isModified ? \"is-updated section\" : \"section\");\n\n previousValue.push(sectionRow);\n\n section.openings?.forEach((opening: IOpening) => {\n const openingRow: { [key: string]: any } = {};\n openingRow[translations.section] = UnitOfMeasure.getDisplayValue(opening.quantity, 0);\n openingRow[translations.sectionConstruction] = opening.description;\n openingRow[`${translations.thickness} (${UnitOfMeasure.getSmallerDimensionUnitLabel()})`] = undefined;\n openingRow[translations.kFactor] = undefined;\n openingRow[translations.r_Value] = UnitOfMeasure.getDisplayValue(opening.rValueEffective, 2);\n openingRow[`${translations.extTemp} (${UnitOfMeasure.getTemperatureUnitLabel()})`] = opening.exteriorTemperature !== null && opening.exteriorTemperature !== undefined ? UnitOfMeasure.getTemperatureDisplayValue(opening.exteriorTemperature, 1) : \"\";\n openingRow[`Dim 1 (${UnitOfMeasure.getDimensionUnitLabel()})`] = hasValue(opening.width) ? UnitOfMeasure.getDimensionDisplayValue(UnitOfMeasure.IntoFt(getNumericValue(opening.width)), 2) : undefined;\n openingRow[`Dim 2 (${UnitOfMeasure.getDimensionUnitLabel()})`] = hasValue(opening.height) ? UnitOfMeasure.getDimensionDisplayValue(UnitOfMeasure.IntoFt(getNumericValue(opening.height)), 2) : undefined;\n openingRow[`${translations.area} (${UnitOfMeasure.getAreaUnitLabel()})`] = UnitOfMeasure.getAreaDisplayValue(opening.totalArea, 0);\n openingRow[`${translations.lOAD} (${UnitOfMeasure.getRatingUnitLabel()})`] = UnitOfMeasure.getRatingDisplayValue(opening.totalConductionLoad, 0);\n openingRow.errors = opening.errors;\n openingRow.rowClassName = \"opening\";\n\n previousValue.push(openingRow);\n });\n\n return previousValue;\n }, [] as { [key: string]: any }[]);\n };\n \n const addSection = (newSection: ISection) => { \n setShowSection(false);\n \n dispatch({ \n type: \"add-section\", \n section: newSection,\n\t\t\tupdateStore: false\n\t\t});\n\n const boxSections = systemState.formState.actualValues.wallLoad.boxSections ?? [];\n let totalRows = boxSections.length;\n boxSections.forEach(s => {\n totalRows += s.openings?.length ?? 0;\n });\n\n setSelectedRow(totalRows);\n };\n\n const updateSection = (updatedSection: ISection) => { \n setShowSection(false); \n\n if (selectedRow > -1) {\n const {boxSections} = systemState.formState.actualValues.wallLoad;\n const sectionIndex = getSelectedSectionIndex(boxSections, selectedRow);\n\n dispatch({ \n type: \"update-section\", \n index: sectionIndex,\n section: updatedSection,\n updateStore: false\n });\n }\n };\n\n const copySection = () => {\n if (selectedRow > -1) {\n const {boxSections} = systemState.formState.actualValues.wallLoad;\n const sectionIndex = getSelectedSectionIndex(boxSections, selectedRow);\n\n if (boxSections) {\n dispatch({ \n type: \"copy-section\", \n index: sectionIndex,\n updateStore: false\n });\n\n let totalRows = boxSections.length;\n boxSections.forEach(s => {\n totalRows += s.openings?.length ?? 0;\n });\n\n setSelectedRow(totalRows);\n }\n }\n };\n\n const deleteCustomSection = () => {\n if (selectedRow > -1) {\n const {boxSections} = systemState.formState.actualValues.wallLoad;\n const sectionIndex = getSelectedSectionIndex(boxSections, selectedRow);\n\n if (boxSections\n && isCustomSectionSelected(boxSections, selectedRow)\n ) {\n dispatch({ \n type: \"delete-section\", \n index: sectionIndex,\n updateStore: false\n });\n }\n }\n };\n\n const openAddSectionPopup = () => {\n setSectionToEdit(undefined);\n setShowSection(true);\n };\n\n const openEditSectionPopup = () => {\n if (selectedRow > -1) {\n const selectedSection = getSelectedSection(systemState.formState.actualValues.wallLoad.boxSections, selectedRow);\n setSectionToEdit(selectedSection);\n setShowSection(true);\n }\n };\n\n const openAddOpeningsPopup = () => {\n if (selectedRow > -1) {\n setShowOpenings(true);\n }\n };\n\n const openingsModalProps = {\n section: getSelectedSection(systemState.formState.actualValues.wallLoad.boxSections, selectedRow) ?? {} as ISection,\n onOkClick: (sectionOpenings: IOpening[]) => { \n const {boxSections} = systemState.formState.actualValues.wallLoad;\n const sectionIndex = getSelectedSectionIndex(boxSections, selectedRow);\n if (boxSections && sectionIndex > -1) {\n dispatch({ \n type: \"update-section-openings\", \n index: sectionIndex,\n openings: sectionOpenings,\n updateStore: false\n });\n }\n \n setShowOpenings(false); },\n onCancelClick: () => { \n setShowOpenings(false); \n }\n };\n\n const deleteConfirmationMessage = {\n\t\ttitle: \"Confirmation\",\n\t\tmessage:
Are you sure you want to delete this section?
,\n\t\tonYesClick: () => {\n deleteCustomSection();\n setShowConfirmationMessage(false);\n },\n\t\tonNoClick: () => {\n setShowConfirmationMessage(false);\n }\n };\n \n const handleRowClick = (rowIndex: number) => {\n setSelectedRow(rowIndex);\n if (props.onSectionSelect) {\n const selectedSection = getSelectedSection(systemState.formState.actualValues.wallLoad.boxSections, rowIndex);\n if (selectedSection) {\n props.onSectionSelect(selectedSection.sectionType, selectedSection.wallType);\n }\n }\n };\n\n const handleRowDoubleClick = () => {\n if (selectedRow > -1) {\n if (isOpeningSelected(systemState.formState.actualValues.wallLoad.boxSections, selectedRow)) {\n openAddOpeningsPopup();\n }\n else {\n openEditSectionPopup();\n }\n }\n };\n\n const handleAddButtonClick = () => {\n openAddSectionPopup();\n };\n\n const handleEditButtonClick = () => {\n openEditSectionPopup();\n };\n\n const handleDeleteButtonClick = () => { \n setShowConfirmationMessage(true); \n };\n\n const handleCopyButtonClick = () => { \n copySection(); \n };\n\n const handleAddOpeningsButtonClick = () => {\n openAddOpeningsPopup();\n };\n\n const handleBoxSectionOkClick = (section: ISection, isNew: boolean) => {\n if (isNew) {\n addSection(section);\n }\n else {\n updateSection(section);\n }\n };\n \n const content = (\n
\n
\n
\n {translations.sections}\n
\n \n
\n
\n
\n \n \n \n \n \n
\n
\n {showSection && (\n { setShowSection(false); }}\n show={showSection}\n boxType={systemState.formState.actualValues.boxType ?? BoxType.Undefined}\n height={systemState.formState.actualValues.boxHeight}\n depth={systemState.formState.actualValues.boxDepth}\n depth2={systemState.formState.actualValues.boxDepth2}\n depth3={systemState.formState.actualValues.boxDepth3}\n length={systemState.formState.actualValues.boxLength}\n length2={systemState.formState.actualValues.boxLength2}\n length3={systemState.formState.actualValues.boxLength3}\n isBoxFreezer={boxData.isBoxFreezer}\n floorType={systemState.formState.actualValues.floorType ?? FloorType.OnGrade}\n boxLocation={systemState.formState.actualValues.boxLocation ?? BoxLocation.Indoors}\n boxExteriorTemperature={systemState.formState.actualValues.exteriorTemperature}\n boxInteriorTemperature={systemState.formState.actualValues.interiorTemperature}\n boxExteriorHumidity={systemState.formState.actualValues.exteriorHumidity}\n boxInteriorHumidity={systemState.formState.actualValues.interiorHumidity}\n sectionToEdit={sectionToEdit}\n />\n )}\n {showOpenings && (\n \n )}\n {showConfirmationMessage && (\n \n )}\n
\n );\n \n return content;\n}\n\nexport default BoxSectionsGrid;","import * as React from \"react\";\n\nimport SectionType from \"../../enums/SectionType\";\nimport WallType from \"../../enums/WallType\";\n\nimport \"./RectangularBox.css\"\n\nexport interface RectangularBoxProps { \n sectionType: SectionType,\n wallType: WallType\n}\n\nconst RectangularBox: React.FunctionComponent = (\n\tprops: RectangularBoxProps\n) => {\n const isFrontSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.Front;\n }\n\n const isBackSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.Rear;\n }\n\n const isRightSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.RightEnd;\n }\n\n const isLeftSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.LeftEnd;\n }\n\n const isTopSelected = () => {\n return (props.sectionType === SectionType.CeilingCustom || props.sectionType === SectionType.CeilingPolygon);\n }\n\n const isBottomSelected = () => {\n return (props.sectionType === SectionType.FloorCustom || props.sectionType === SectionType.FloorPolygon);\n }\n\n\treturn (\n
\n
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
\n
\n\t);\n};\n\nexport default RectangularBox;\n","import * as React from \"react\";\n\nimport SectionType from \"../../enums/SectionType\";\nimport WallType from \"../../enums/WallType\";\n\nimport \"./LShapeBox.css\"\n\nexport interface LShapeBoxProps { \n sectionType: SectionType,\n wallType: WallType\n}\n\nconst LShapeBox: React.FunctionComponent = (\n\tprops: LShapeBoxProps\n) => {\n const isFrontSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.Front;\n }\n\n const isFrontCutSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.FrontCut;\n }\n\n const isBackSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.Rear;\n }\n\n const isRightSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.RightEnd;\n }\n\n const isLeftSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.LeftEnd;\n }\n\n const isLeftCutSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.LeftCut;\n }\n\n const isTopSelected = () => {\n return (props.sectionType === SectionType.CeilingCustom || props.sectionType === SectionType.CeilingPolygon);\n }\n\n const isBottomSelected = () => {\n return (props.sectionType === SectionType.FloorCustom || props.sectionType === SectionType.FloorPolygon);\n }\n\n\treturn (\n
\n
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
\n
 
\n
\n
\n
 
\n
\n
\n
\n\t);\n};\n\nexport default LShapeBox;\n","import * as React from \"react\";\n\nimport SectionType from \"../../enums/SectionType\";\nimport WallType from \"../../enums/WallType\";\n\nimport \"./UShapeBox.css\"\n\nexport interface UShapeBoxProps { \n sectionType: SectionType,\n wallType: WallType\n}\n\nconst UShapeBox: React.FunctionComponent = (\n\tprops: UShapeBoxProps\n) => {\n const isFrontSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.Front;\n }\n\n const isFrontCutSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.FrontCut;\n }\n\n const isFrontInsetSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.FrontInsetCut;\n }\n\n const isBackSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.Rear;\n }\n\n const isRightSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.RightEnd;\n }\n\n const isLeftSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.LeftEnd;\n }\n\n const isLeftCutSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.LeftCut;\n }\n\n const isLeftInsetSelected = () => {\n return (props.sectionType === SectionType.WallCustom || props.sectionType === SectionType.WallPolygon)\n && props.wallType === WallType.LeftInSetCut;\n }\n\n const isTopSelected = () => {\n return (props.sectionType === SectionType.CeilingCustom || props.sectionType === SectionType.CeilingPolygon);\n }\n\n const isBottomSelected = () => {\n return (props.sectionType === SectionType.FloorCustom || props.sectionType === SectionType.FloorPolygon);\n }\n\n\treturn (\n
\n
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
 
\n
\n
 
\n
 
\n
\n
\n
 
\n
 
\n
\n
\n
\n\t);\n};\n\nexport default UShapeBox;\n","/* eslint-disable no-underscore-dangle */\nimport * as React from \"react\";\nimport { useHistory } from \"react-router-dom\";\n\nimport BoxSectionsGrid from \"./BoxSectionsGrid\";\nimport BoxShapesModal from \"./BoxShapesModal\";\nimport Button from \"../helpers/Button\";\nimport Checkbox from \"../helpers/Checkbox\";\nimport FormField from \"../helpers/FormField\";\nimport Measurement from \"../helpers/Measurement\";\nimport RectangularBox from \"./RectangularBox\";\nimport LShapeBox from \"./LShapeBox\";\nimport UShapeBox from \"./UShapeBox\";\n\nimport BoxLocation from \"../../enums/BoxLocation\";\nimport BoxType from \"../../enums/BoxType\";\nimport MeasurementType from \"../../enums/MeasurementType\";\nimport SectionType from \"../../enums/SectionType\";\nimport WallType from \"../../enums/WallType\";\n\nimport UnitOfMeasure from \"../../models/helpers/UnitOfMeasure\";\n\nimport IMessage from \"../../models/interfaces/IMessage\";\nimport ISection from \"../../models/interfaces/ISection\";\nimport ISystem from \"../../models/interfaces/ISystem\";\n\nimport useErrorContext from \"../../hooks/useErrorContext\";\nimport useSystemContext from \"../../hooks/useSystemContext\";\nimport useSystemState from \"../../hooks/useSystemState\";\nimport useTranslationContext from \"../../hooks/useTranslationContext\";\n\nimport \"./WallLoad.css\";\n\ninterface WallLoadProps {}\n\nconst WallLoad: React.FunctionComponent = () => {\n \n const { errorMessages, showErrorList } = useErrorContext();\n const { translations } = useTranslationContext();\n\n const history = useHistory();\n\n const { systemState, dispatch } = useSystemContext();\n const { validateWallLoad } = useSystemState();\n\n const [selectedSection, setSelectedSection] = React.useState({\n sectionType: SectionType.Undefined,\n wallType: WallType.Undefined\n } as ISection);\n\n const [showShapes, setShowShapes] = React.useState(false);\n\n const showErrors = (\n errors: IMessage[],\n currentFieldError?: IMessage\n ) => {\n let newList = [] as IMessage[];\n \n const currentList = [...errorMessages];\n currentList.forEach(c => {\n const errorText = errors.find(e => e.name === c.name)?.text ?? \"\";\n newList.push({\n name: c.name,\n text: errorText\n });\n });\n\n if (currentFieldError) {\n if (currentList.find(c => c.name === currentFieldError.name)) {\n newList = newList.map(n => {\n return {\n name: n.name,\n text: (n.name === currentFieldError.name) ? currentFieldError.text : n.text\n }\n });\n }\n else {\n newList.push(currentFieldError);\n }\n }\n \n showErrorList(newList, false);\n };\n\n const validateField = (\n system: ISystem,\n fieldName: string\n ) => {\n \n const errors = validateWallLoad(system);\n\n const fieldError: IMessage = {\n name: fieldName,\n text: errors.find(e => e.name === fieldName)?.text ?? \"\"\n };\n \n showErrors(errors, fieldError);\n \n return fieldError.text;\n };\n\n const validateSystemField = (\n fieldName: string,\n fieldValue: any\n ) => {\n\n const system = {\n ...systemState.formState.actualValues,\n [fieldName]: fieldValue\n };\n\n return validateField(system, fieldName);\n };\n\n const validateWallLoadField = (\n fieldName: string,\n fieldValue: any\n ) => {\n\n const system = {\n ...systemState.formState.actualValues,\n wallLoad: {\n ...systemState.formState.actualValues.wallLoad,\n [fieldName]: fieldValue\n }\n };\n\n return validateField(system, fieldName);\n };\n \n const handleCancelButtonClick = () => {\n dispatch({ \n type: \"cancel-changes\"\n });\n };\n\n const handleOkButtonClick = () => {\n dispatch({ \n type: \"submit-changes\", \n updateStore: true\n });\n };\n\n React.useEffect(() => {\n if (systemState.action === \"submit-changes\"\n || systemState.action === \"cancel-changes\"\n ) {\n\t\t\thistory.goBack();\n\t\t}\n\t}, [systemState.action]);\n\n const handleMeasurementChange = (fieldName: string, fieldValue: any) => {\n dispatch({ \n type: \"customize-property\", \n fieldName, \n fieldValue,\n updateStore: false\n });\n };\n \n const handleWallLoadMeasurementChange = (fieldName: string, fieldValue: any) => {\n dispatch({ \n type: \"customize-wallLoad-property\", \n fieldName, \n fieldValue,\n updateStore: false\n });\n\t};\n\n const handleBoxLocationChange = (\n event: React.ChangeEvent\n ) => {\n if (event.target.checked) {\n const boxLocation = event.target.value as BoxLocation;\n dispatch({ \n\t\t\t\ttype: \"change-value\", \n\t\t\t\tfieldName: \"boxLocation\", \n\t\t\t\tfieldValue: boxLocation,\n\t\t\t\tupdateStore: false\n });\n \n validateSystemField(\"boxLocation\", boxLocation);\n }\n };\n\n const handleSectionSelected = (\n sectionType: SectionType,\n wallType: WallType\n ) => {\n const updatedSelectedSection = {\n ...selectedSection,\n sectionType,\n wallType\n };\n setSelectedSection(updatedSelectedSection);\n };\n\n const handleShapeChange = (boxType: BoxType) => {\n dispatch({ \n\t\t\ttype: \"reset-boxType\", \n\t\t\tboxType,\n\t\t\tupdateStore: false\n });\n \n validateSystemField(\"boxType\", boxType);\n\n setShowShapes(false);\n\n const updatedSelectedSection = {\n ...selectedSection,\n sectionType: SectionType.Undefined,\n wallType: WallType.Undefined\n };\n setSelectedSection(updatedSelectedSection);\n }\n\n const showDimensions1 =\n (systemState.formState.actualValues.boxType === BoxType.Rectangular\n || systemState.formState.actualValues.boxType === BoxType.LShape\n || systemState.formState.actualValues.boxType === BoxType.UShape);\n\n const showDimensions2 =\n (systemState.formState.actualValues.boxType === BoxType.LShape\n || systemState.formState.actualValues.boxType === BoxType.UShape);\n\n const showDimensions3 =\n (systemState.formState.actualValues.boxType === BoxType.UShape);\n\n const showHeight =\n (systemState.formState.actualValues.boxType !== BoxType.Custom);\n\n const lengthLabel = (showDimensions2 || showDimensions3) ? translations.rear : translations.length;\n const depthLabel = (showDimensions2 || showDimensions3) ? translations.rightEnd : translations.depth;\n\n const body = (\n
\n
\n
\n
\n
\n {systemState.formState.actualValues.boxType === BoxType.Rectangular && (\n \n )}\n {systemState.formState.actualValues.boxType === BoxType.LShape && (\n \n )}\n {systemState.formState.actualValues.boxType === BoxType.UShape && (\n \n )}\n {systemState.formState.actualValues.boxType === BoxType.Custom && (\n \n SectionList\n \n )}\n
\n
\n
\n
\n
\n {showDimensions1 && (\n \n \n \n )}\n
\n
\n {showDimensions1 && (\n \n \n \n )}\n
\n
\n {showDimensions2 && (\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n )}\n {showDimensions3 && (\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n )}\n
\n
\n {showHeight && (\n \n \n \n )}\n
\n
\n \n <>\n \n \n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n
\n {showShapes && (\n { setShowShapes(false); }}\n />\n )}\n
\n );\n\n const footer = (\n
\n
\n
\n \n
\n
\n { setShowShapes(true); }}\n />\n
\n
\n
\n
\n \n
\n
\n
\n );\n\n const modal = (\n <>\n {body}\n
\n {footer}\n \n );\n\n return modal;\n}\n\nexport default WallLoad;","import * as React from \"react\";\n\nimport ApplicationContext from \"./ApplicationContext\";\n\nimport ConfigurationService from \"../services/ConfigurationService\";\n\nimport IAirProperty from \"../models/interfaces/IAirProperty\";\nimport ICurtain from \"../models/interfaces/ICurtain\";\n\nimport useErrorContext from \"../hooks/useErrorContext\";\nimport useLoadingContext from \"../hooks/useLoadingContext\";\n\ninterface ApplicationContextProviderProps {\n children: any;\n}\n\nconst getApplicationConstantsAsync = () => {\n return new Promise((resolve, reject) => {\n try {\n ConfigurationService.getAppConstants((data: any) => {\n resolve(data);\n });\n } catch (error) {\n reject(error);\n }\n });\n};\n\nconst getAirPropertiesAsync = () => {\n return new Promise((resolve, reject) => {\n try {\n ConfigurationService.getAirProperties((data: IAirProperty[]) => {\n resolve(data);\n });\n } catch (error) {\n reject(error);\n }\n });\n};\n\nconst getCurtainsAsync = () => {\n return new Promise((resolve, reject) => {\n try {\n ConfigurationService.getCurtains((data: ICurtain[]) => {\n resolve(data);\n });\n } catch (error) {\n reject(error);\n }\n });\n};\n\nconst ApplicationContextProvider: React.FunctionComponent = ({ \n\tchildren,\n}: ApplicationContextProviderProps) => {\n\n const [appData, setAppData] = React.useState(null);\n const [airProperties, setAirProperties] = React.useState([] as IAirProperty[]);\n const [curtains, setCurtains] = React.useState([] as ICurtain[]);\n const [isAppDataLoaded, setIsAppDataLoaded] = React.useState(false);\n\n const { showLoading, hideLoading } = useLoadingContext();\n const { showError } = useErrorContext();\n\n React.useEffect(() => {\n setIsAppDataLoaded(false);\n showLoading();\n\n Promise.all([\n getApplicationConstantsAsync(),\n getAirPropertiesAsync(),\n getCurtainsAsync()\n ]).then((data: any) => {\n setAppData(data[0]);\n setAirProperties(data[1]);\n setCurtains(data[2]);\n\n setIsAppDataLoaded(true);\n hideLoading();\n }).catch((error: any) => {\n showError({\n name: \"Error\",\n text: `An error was encountered. ${error.message ?? \"\"}`\n });\n hideLoading();\n });\n }, []);\n \n const contextValue = {\n appData,\n airProperties,\n curtains,\n isAppDataLoaded\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport default ApplicationContextProvider;","import * as React from \"react\";\n\nimport IConstructionLayer from \"../models/interfaces/IConstructionLayer\";\nimport IMaterial from \"../models/interfaces/IMaterial\";\n\nimport BoxMaterialsContext from \"./BoxMaterialsContext\";\n\nimport ConfigurationService from \"../services/ConfigurationService\";\nimport StorageFacade from \"../services/StorageFacade\";\n\nimport useApplicationConfigs from \"../hooks/useApplicationConfigs\";\nimport useConstructionLayerForm from \"../hooks/useConstructionLayerForm\";\nimport useErrorContext from \"../hooks/useErrorContext\";\nimport useLoadingContext from \"../hooks/useLoadingContext\";\n\nimport * as ConstructionLayerCalculations from \"../models/helpers/ConstructionLayerCalculations\";\n\ninterface BoxMaterialsContextProviderProps {\n\tchildren: any;\n}\n\nconst BoxMaterialsContextProvider: React.FunctionComponent = ({\n\tchildren,\n}: BoxMaterialsContextProviderProps) => {\n\n const [boxMaterials, setBoxMaterials] = React.useState([] as IMaterial[]);\n const [isMaterialListLoaded, setIsMaterialListLoaded] = React.useState(false);\n\n const { showLoading, hideLoading } = useLoadingContext();\n const { showError } = useErrorContext();\n\n const { getBoundaryConstructionLayers } = useApplicationConfigs();\n const { initialFormState } = useConstructionLayerForm();\n\n React.useEffect(() => {\n setIsMaterialListLoaded(false);\n\n showLoading();\n\n try {\n ConfigurationService.getBoxMaterials((data) => {\n\n let materials = data.map(material => {\n if (material.isConstruct && material.layerMaterials) {\n if (typeof material.layerMaterials === \"string\") {\n const layersConfig = (material.layerMaterials as string).split(\"|\");\n if (layersConfig.length > 0) {\n // sample LayerMaterials string value: \"1|7000;4|1400;6|0\"\n\n const constructionLayers = [] as IConstructionLayer[];\n \n const interiorLayerConfig = layersConfig[0];\n if (interiorLayerConfig === \"0\") {\n const interiorLayer = getBoundaryConstructionLayers()[0];\n interiorLayer.rValueEffective = 0;\n constructionLayers.push(interiorLayer);\n }\n else if (interiorLayerConfig === \"1\") {\n const interiorLayer = getBoundaryConstructionLayers()[0];\n constructionLayers.push(interiorLayer);\n }\n\n layersConfig.forEach((\n layerConfig: string, \n index: number\n ) => {\n if (index > 0 && index < layersConfig.length - 1) {\n const attributes = layerConfig.split(\";\");\n if (attributes.length === 2) {\n const materialId = attributes[0].toString();\n const thickness = parseInt(attributes[1], 10);\n\n const layer: IConstructionLayer = {\n ...initialFormState.defaultValues,\n materialId,\n thickness\n };\n\n constructionLayers.push(layer);\n }\n }\n });\n\n const exteriorLayerConfig = layersConfig[layersConfig.length - 1];\n if (exteriorLayerConfig === \"0\") {\n const exteriorLayer = getBoundaryConstructionLayers()[1];\n exteriorLayer.rValueEffective = 0;\n constructionLayers.push(exteriorLayer);\n }\n else if (exteriorLayerConfig === \"1\") {\n const exteriorLayer = getBoundaryConstructionLayers()[1];\n constructionLayers.push(exteriorLayer);\n }\n\n material.layerMaterials = constructionLayers;\n material.stdThickness = ConstructionLayerCalculations.calculateConstructionThickness(constructionLayers);\n material.rValue = ConstructionLayerCalculations.calculateConstructionRValue(constructionLayers);\n material.kFactor = ConstructionLayerCalculations.calculateConstructionKFactor(material.stdThickness, material.rValue);\n }\n }\n }\n return material;\n })\n \n if (StorageFacade.loadCalcSystem?.wallLoad?.constructions\n && StorageFacade.loadCalcSystem.wallLoad.constructions.length > 0\n ) {\n materials = [\n ...data,\n ...StorageFacade.loadCalcSystem.wallLoad.constructions\n ];\n }\n\n setBoxMaterials(materials);\n setIsMaterialListLoaded(true);\n hideLoading();\n });\n } catch (error: any) {\n showError({\n name: \"Error\",\n text: `An error was encountered. ${error.message ?? \"\"}`\n });\n hideLoading();\n }\n }, [getBoundaryConstructionLayers]);\n\n const updateBoxMaterials = React.useCallback((materials: IMaterial[]): void => {\n setBoxMaterials(materials);\n }, []);\n \n const contextValue = {\n boxMaterials,\n isMaterialListLoaded,\n updateBoxMaterials\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport default BoxMaterialsContextProvider;","import * as React from \"react\";\nimport ErrorContext from \"./ErrorContext\";\nimport IMessage from \"../models/interfaces/IMessage\";\n\ninterface ErrorContextProviderProps {\n\tchildren: any;\n}\n\nconst ErrorContextProvider: React.FunctionComponent = ({\n\tchildren,\n}: ErrorContextProviderProps) => {\n const [errorMessages, setErrorMessages] = React.useState([] as IMessage[]);\n\n const showError = (message: IMessage) => {\n let currentList = [...errorMessages];\n\n if (message.name === null || message.name === undefined) {\n return;\n }\n\n const error = currentList.find(e => e.name === message.name);\n\n\t\t// If error message already exists for the key\n if (error !== null &&\n error !== undefined\n ) {\n // Clear the error message if the message is empty\n if (message.text == null || message.text.length <= 0) {\n currentList = currentList.filter(e => e.name !== message.name);\n }\n else if (error.text !== message.text) {\n // replace the message if it is a new message\n currentList = currentList.map(e => {\n return {\n name: e.name,\n text: (e.name === message.name) ? message.text : e.text\n }\n });\n }\n } else if (message.text !== null && message.text.length > 0) {\n // If error message doesn't exist, add it\n currentList = [\n ...currentList,\n message\n ];\n }\n \n setErrorMessages(currentList);\n };\n\n const showErrorList = (\n messages: IMessage[],\n reset: boolean\n ) => {\n let currentList = reset \n ? [] \n : [...errorMessages];\n\n messages.forEach(message => {\n if (message.name !== null && message.name !== undefined) { \n const error = currentList.find(e => e.name === message.name);\n \n // If error message already exists for the key\n if (error !== null &&\n error !== undefined) {\n // Clear the error message if the message is empty\n if (message.text == null || message.text.length <= 0) {\n currentList = currentList.filter(e => e.name !== message.name);\n }\n else if (error.text !== message.text) {\n // replace the message if it is a new message\n currentList = currentList.map(e => {\n return {\n name: e.name,\n text: (e.name === message.name) ? message.text : e.text\n }\n });\n }\n } else if (message.text !== null && message.text.length > 0) {\n // If error message doesn't exist, add it\n currentList = [\n ...currentList,\n message\n ];\n }\n }\n });\n \n setErrorMessages(currentList);\n };\n\n const hideError = () => {\n setErrorMessages([]);\n };\n\n const contextValue = {\n errorMessages,\n showError: (message: IMessage) => showError(message),\n showErrorList: (messages: IMessage[], reset: boolean) => showErrorList(messages, reset),\n hideError: () => hideError()\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport default ErrorContextProvider;","/* eslint-disable no-use-before-define */\nimport React, { useState } from \"react\"\nimport LoadingContext from \"./LoadingContext\"\n\ninterface LoadingContextProviderProps {\n\tchildren: any;\n}\n\nconst LoadingContextProvider: React.FunctionComponent = ({\n\tchildren,\n}: LoadingContextProviderProps) => {\n \n const showLoading = () => {\n toggleLoading(prevState => {\n return {\n ...prevState,\n loadingCount: prevState.loadingCount + 1\n }\n })\n };\n\n const hideLoading = () => {\n toggleLoading(prevState => {\n return {\n ...prevState,\n loadingCount:\n prevState.loadingCount > 0 ? prevState.loadingCount - 1 : 0\n }\n })\n };\n\n const loadingState = {\n loadingCount: 0,\n showLoading,\n hideLoading\n };\n\n const [loading, toggleLoading] = useState(loadingState);\n\n return (\n \n {children}\n \n )\n}\n\nexport default LoadingContextProvider","import * as React from \"react\";\n\nimport TranslationContext from \"./TranslationContext\";\nimport TranslationService, {LocaleStrings} from \"../services/translations/TranslationService\";\n\ninterface TranslationContextProviderProps {\n\tchildren: any;\n}\n\nconst TranslationContextProvider: React.FunctionComponent = ({\n\tchildren,\n}: TranslationContextProviderProps) => {\n\n const [translations] = React.useState(TranslationService.getTranslations());\n \n const contextValue = {\n translations\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport default TranslationContextProvider;","import * as React from \"react\";\n\nimport BoxContext from \"./BoxContext\";\n\nimport ConfigurationService from \"../services/ConfigurationService\";\n\nimport useErrorContext from \"../hooks/useErrorContext\";\nimport useLoadingContext from \"../hooks/useLoadingContext\";\n\ninterface BoxContextProviderProps {\n\tchildren: any;\n}\n\nconst BoxContextProvider: React.FunctionComponent = ({\n\tchildren,\n}: BoxContextProviderProps) => {\n\n const [boxId, setBoxId] = React.useState(null as number | null);\n const [boxData, setBoxData] = React.useState(null);\n const [isBoxDataLoaded, setIsBoxDataLoaded] = React.useState(false);\n\n const { showLoading, hideLoading } = useLoadingContext();\n const { showError } = useErrorContext();\n\n React.useEffect(() => {\n setIsBoxDataLoaded(false);\n\n if (boxId) {\n showLoading();\n\n try {\n ConfigurationService.getApplicationById(boxId.toString(), (data: any) => {\n if (data) {\n data.isBoxFreezer = data.isFreezer === \"Y\";\n }\n\n setBoxData(data);\n setIsBoxDataLoaded(true);\n hideLoading();\n });\n } catch (error: any) {\n showError({\n name: \"Error\",\n text: `An error was encountered. ${error.message ?? \"\"}`\n });\n hideLoading();\n }\n }\n }, [boxId]);\n\n const loadBox = (id: number) => {\n setBoxId(id);\n };\n\n const contextValue = {\n boxId,\n boxData,\n isBoxDataLoaded,\n loadBox\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport default BoxContextProvider;","import * as React from \"react\";\n\nimport ISystemState from \"../models/interfaces/ISystemState\";\n\nimport useSystemState from \"./useSystemState\";\n\nconst useSystemReducer = () => {\n\n const { \n emptySystemState,\n recalculateLoads,\n setInitialState,\n resetState,\n changeValue,\n customizeMeasureProperty,\n customizeWallLoadMeasureProperty,\n resetBoxType,\n clearEquipmentSelections,\n setSelectedCondenser,\n setSelectedEvaporator,\n setEquipmentBalance,\n addSection,\n updateSection,\n copySection,\n deleteSection,\n updateSectionOpenings\n } = useSystemState();\n\n const [updateStoreFlag, setUpdateStoreFlag] = React.useState(false);\n\n const reducer = (state: ISystemState, action: any) => {\n\n setUpdateStoreFlag(action.updateStore);\n \n if (action.type === \"set-initial-state\") {\n return setInitialState();\n }\n if (action.type === \"submit-changes\") {\n return {\n ...state,\n action: action.type\n };\n }\n if (action.type === \"cancel-changes\") {\n return {\n ...setInitialState(),\n action: action.type\n };\n }\n if (action.type === \"reset-state\") {\n if (action.boxApplicationId) {\n return resetState(\n state,\n action.boxApplicationId,\n action.isEquipmentOnly,\n action.requireAwef);\n }\n }\n if (action.type === \"change-value\") {\n return changeValue(\n state,\n false,\n action.fieldName,\n action.fieldValue);\n }\n if (action.type === \"customize-property\") {\n return customizeMeasureProperty(\n state,\n false,\n action.fieldName,\n action.fieldValue);\n }\n if (action.type === \"customize-wallLoad-property\") {\n return customizeWallLoadMeasureProperty(\n state,\n action.fieldName,\n action.fieldValue);\n }\n if (action.type === \"recalculate-loads\") {\n return recalculateLoads(\n state,\n action.totalMiscLoad, \n action.totalInfiltrationLoad, \n action.totalProductLoad,\n action.miscLoadItems,\n action.infiltrationLoadItems,\n action.productLoadItems\n );\n }\n if (action.type === \"reset-boxType\") {\n if (action.boxType) {\n return resetBoxType(\n state,\n action.boxType);\n }\n }\n if (action.type === \"change-equipment-value\") {\n return changeValue(\n state,\n true,\n action.fieldName,\n action.fieldValue);\n }\n if (action.type === \"customize-equipment-property\") {\n return customizeMeasureProperty(\n state,\n true,\n action.fieldName,\n action.fieldValue);\n }\n if (action.type === \"clear-equipment-units\") {\n return clearEquipmentSelections(state);\n }\n if (action.type === \"set-selected-condenser\") {\n return setSelectedCondenser(\n state,\n action.equipment,\n action.selectedOptions);\n }\n if (action.type === \"set-selected-evaporator\") {\n return setSelectedEvaporator(\n state,\n action.equipment,\n action.selectedOptions);\n }\n if (action.type === \"set-equipment-balance\") {\n return setEquipmentBalance(\n state,\n action.systemBalanced,\n action.sstBalance,\n action.tdBalance,\n action.totalSystemCapacity);\n }\n if (action.type === \"add-section\") {\n return addSection(\n state,\n action.section);\n }\n if (action.type === \"update-section\") {\n return updateSection(\n state,\n action.index,\n action.section);\n }\n if (action.type === \"copy-section\") {\n return copySection(\n state,\n action.index);\n }\n if (action.type === \"delete-section\") {\n return deleteSection(\n state,\n action.index);\n }\n if (action.type === \"update-section-openings\") {\n return updateSectionOpenings(\n state,\n action.index,\n action.openings);\n }\n\n return state;\n };\n\n const [systemState, dispatch] = React.useReducer(reducer, emptySystemState);\n\n return {\n emptySystemState,\n systemState,\n dispatch,\n updateStoreFlag, \n setUpdateStoreFlag\n };\n};\n\nexport default useSystemReducer;\n","import * as React from \"react\";\n\nimport ISystem from \"../models/interfaces/ISystem\";\n\nimport SystemContext from \"./SystemContext\";\n\nimport ConfigurationService from \"../services/ConfigurationService\";\nimport UnitOfMeasure from \"../models/helpers/UnitOfMeasure\";\nimport EquipmentByIdRequest from \"../services/requests/EquipmentByIdRequest\";\nimport ModelSelectionService from \"../services/ModelSelectionService\";\nimport StorageFacade from \"../services/StorageFacade\";\n\nimport useApplicationContext from \"../hooks/useApplicationContext\";\nimport useBoxContext from \"../hooks/useBoxContext\";\nimport useBoxMaterialsContext from \"../hooks/useBoxMaterialsContext\";\nimport useSystemReducer from \"../hooks/useSystemReducer\";\n\ninterface SystemContextProviderProps {\n\tchildren: any;\n}\n\nconst SystemContextProvider: React.FunctionComponent = ({\n\tchildren,\n}: SystemContextProviderProps) => {\n\n const { isAppDataLoaded, appData } = useApplicationContext();\n const { loadBox, isBoxDataLoaded } = useBoxContext();\n const { isMaterialListLoaded } = useBoxMaterialsContext();\n const { systemState, dispatch, updateStoreFlag, setUpdateStoreFlag } = useSystemReducer();\n \n React.useEffect(() => {\n const storeBoxId = StorageFacade.loadCalcSystem?.boxApplicationId;\n if (storeBoxId) {\n loadBox(storeBoxId);\n }\n }, []);\n\n React.useEffect(() => {\n if (isAppDataLoaded \n && isBoxDataLoaded\n && isMaterialListLoaded\n ) {\n\n const getEquipmentDetails = async () => {\n let storeSystem = StorageFacade.loadCalcSystem;\n\n const boxApplicationData = await ConfigurationService.getApplicationByIdAsync(storeSystem?.boxApplicationId ?? 0);\n boxApplicationData.isBoxFreezer = boxApplicationData.isFreezer === \"Y\";\n \n // get default equipment parameters\n const defaultCondensingUnitAmbientTemperature = appData.EQUIPMENT?.CondensorAmbient?.value;\n const defaultSuctionLineLoss = appData.EQUIPMENT?.LineLoss?.Default?.value;\n const defaultDesignTd = (boxApplicationData.rH_TD < 0)\n ? 0 - boxApplicationData.rH_TD\n : UnitOfMeasure.TDatRH(boxApplicationData.rH_TD);\n\n if (storeSystem?.equipmentSelection.selectedCondenserUnit?.class9ID) {\n // get condensing equipment details\n const request: EquipmentByIdRequest = {\n divisionId: +StorageFacade.divisionId,\n interiorTemp: storeSystem.equipmentSelection.interiorTemperature,\n refrigerantFluidId: storeSystem.equipmentSelection.refrigerant ?? 0,\n ambientTemp: storeSystem.equipmentSelection.condensingUnitAmbientTemperature ?? defaultCondensingUnitAmbientTemperature,\n suctionLineLoss: storeSystem.equipmentSelection.suctionLineLoss ?? defaultSuctionLineLoss,\n td: storeSystem.equipmentSelection.designTd ?? defaultDesignTd,\n selectedOptions: storeSystem.equipmentSelection.selectedCondenserOptionList.map(o => o.id).join(\",\")\n };\n \n const equipmentDetails = await ModelSelectionService.getEquipmentByIdAsync(\n storeSystem.equipmentSelection.selectedCondenserUnit.class9ID,\n request);\n \n const equipmentUnit = {\n ...storeSystem.equipmentSelection.selectedCondenserUnit,\n capacityPerUnit: equipmentDetails.capacityPerUnit,\n description: equipmentDetails.description,\n features: equipmentDetails.features,\n requiredOptions: equipmentDetails.requiredOptions,\n class0ID: equipmentDetails.class0ID,\n class8ID: equipmentDetails.class8ID,\n class9ID: equipmentDetails.class9ID,\n awefCompliant: equipmentDetails.awefCompliant,\n warnings: [...equipmentDetails.warnings ?? []]\n }\n \n storeSystem = {\n ...storeSystem,\n equipmentSelection: {\n ...storeSystem.equipmentSelection,\n selectedCondenserUnit: equipmentUnit\n }\n };\n }\n\n if (storeSystem?.equipmentSelection.selectedEvaporator?.class9ID) {\n // get evaporator equipment details\n const request: EquipmentByIdRequest = {\n divisionId: +StorageFacade.divisionId,\n interiorTemp: storeSystem.equipmentSelection.interiorTemperature,\n refrigerantFluidId: storeSystem.equipmentSelection.refrigerant ?? 0,\n ambientTemp: storeSystem.equipmentSelection.condensingUnitAmbientTemperature ?? defaultCondensingUnitAmbientTemperature,\n suctionLineLoss: storeSystem.equipmentSelection.suctionLineLoss ?? defaultSuctionLineLoss,\n td: storeSystem.equipmentSelection.designTd ?? defaultDesignTd,\n selectedOptions: storeSystem.equipmentSelection.selectedEvaporatorOptionList.map(o => o.id).join(\",\")\n };\n \n const equipmentDetails = await ModelSelectionService.getEquipmentByIdAsync(\n storeSystem.equipmentSelection.selectedEvaporator.class9ID,\n request);\n \n const equipmentUnit = {\n ...storeSystem.equipmentSelection.selectedEvaporator,\n capacityPerUnit: equipmentDetails.capacityPerUnit,\n description: equipmentDetails.description,\n features: equipmentDetails.features,\n requiredOptions: equipmentDetails.requiredOptions,\n class0ID: equipmentDetails.class0ID,\n class8ID: equipmentDetails.class8ID,\n class9ID: equipmentDetails.class9ID,\n awefCompliant: equipmentDetails.awefCompliant,\n warnings: [...equipmentDetails.warnings ?? []]\n }\n \n storeSystem = {\n ...storeSystem,\n equipmentSelection: {\n ...storeSystem.equipmentSelection,\n selectedEvaporator: equipmentUnit\n }\n };\n }\n\n StorageFacade.loadCalcSystem = storeSystem;\n\n dispatch({ \n type: \"set-initial-state\" \n });\n }\n\n getEquipmentDetails();\n }\n }, [\n isAppDataLoaded,\n isBoxDataLoaded,\n isMaterialListLoaded\n ]);\n\n const updateStore = (system: ISystem) => {\n StorageFacade.loadCalcSystem = system;\n }\n\n React.useEffect(() => {\n if (updateStoreFlag) {\n updateStore(systemState.store);\n setUpdateStoreFlag(false);\n }\n }, [\n systemState.store,\n updateStoreFlag\n ]);\n \n const contextValue = {\n systemState,\n dispatch\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport default SystemContextProvider;\n","/* eslint-disable prefer-template */\nimport * as React from \"react\";\nimport createPersistedState from \"use-persisted-state\";\n\nconst STORAGE_KEY = \"APP_VERSION\";\n\nconst defaultProps = {\n\tauto: false,\n\tstorageKey: STORAGE_KEY,\n\tbasePath: \"\",\n};\n\ntype OwnProps = {\n\tchildren?: any;\n} & typeof defaultProps;\n\nconst useClearCache = (props?: OwnProps) => {\n\tconst { auto, storageKey, basePath } = {\n\t\t...defaultProps,\n\t\t...props,\n\t};\n\tconst [loading, setLoading] = React.useState(true);\n\tconst useAppVersionState = createPersistedState(storageKey);\n\tconst [appVersion, setAppVersion] = useAppVersionState(\"\");\n\tconst [isLatestVersion, setIsLatestVersion] = React.useState(true);\n\tconst [latestVersion, setLatestVersion] = React.useState(appVersion);\n\n\tasync function setVersion(version: string) {\n\t\tawait setAppVersion(version);\n\t}\n\n\tconst emptyCacheStorage = async (version?: string) => {\n\t\tif (\"caches\" in window) {\n\t\t\t// Service worker cache should be cleared with caches.delete()\n\t\t\tcaches.keys().then(names => {\n\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\tfor (const name of names) caches.delete(name);\n\t\t\t});\n\t\t}\n\n\t\t// clear browser cache and reload page\n\t\tawait setVersion(version || latestVersion).then(() =>\n\t\t\twindow.location.reload()\n\t\t);\n\t};\n\n\t// Replace any last slash with an empty space\n\tconst baseUrl = basePath.replace(/\\/+$/, \"\") + \"/meta.json\";\n\n\tfunction fetchMeta() {\n\t\ttry {\n\t\t\tfetch(baseUrl, {\n\t\t\t\tcache: \"no-store\",\n\t\t\t})\n\t\t\t\t.then(response => response.json())\n\t\t\t\t.then(meta => {\n\t\t\t\t\tconst newVersion = meta.version;\n\t\t\t\t\tconst currentVersion = appVersion;\n\t\t\t\t\tconst isUpdated = newVersion === currentVersion;\n\t\t\t\t\tif (!isUpdated && !auto) {\n\t\t\t\t\t\tsetLatestVersion(newVersion);\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\tif (appVersion) {\n\t\t\t\t\t\t\tsetIsLatestVersion(false);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetVersion(newVersion);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (!isUpdated && auto) {\n\t\t\t\t\t\temptyCacheStorage(newVersion);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetIsLatestVersion(true);\n\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t}\n\t\t\t\t\tconsole.log(\"Is app updated?\", isUpdated);\n\t\t\t\t});\n\t\t} catch (err) {\n\t\t\tconsole.error(err);\n\t\t}\n\t}\n\n\tReact.useEffect(() => {\n\t\tconsole.log(\"Checking if app is updated...\", new Date());\n\t\tfetchMeta();\n\t}, []);\n\n\treturn {\n\t\tloading,\n\t\tisLatestVersion,\n\t\temptyCacheStorage,\n\t\tlatestVersion,\n\t};\n};\n\nexport default useClearCache;\n","import React, { useEffect } from 'react';\n\nfunction KeepSessionAlive() {\n useEffect(() => {\n const intervalId = setInterval(() => {\n fetch('/account/keepalive', {\n credentials: 'include', // Ensure cookies are included with the request\n redirect: 'manual', // Prevent automatic following of redirects\n method: 'GET'\n })\n .then(response => {\n if (!response.ok) {\n throw new Error('Session keep alive failed');\n }\n return response.text();\n })\n .then(data => {\n console.log(data); // Log the server response\n })\n .catch(error => {\n console.error('Error keeping session alive:', error);\n // Optionally handle session expiration (e.g., redirect to login)\n });\n }, 1200000); // Every 20 minutes\n\n return () => clearInterval(intervalId); // Cleanup on component unmount\n }, []);\n\n return null;\n}\n\nexport default KeepSessionAlive;\n","/* eslint-disable jsx-a11y/anchor-is-valid */\nimport * as React from \"react\";\nimport { Route, Switch, Redirect } from \"react-router-dom\";\n\nimport SelectNewBoxApplication from \"./components/BoxApplications/SelectNewBoxApplication\";\nimport Equipment from \"./components/Equipment/Equipment\";\nimport EquipmentOptions from \"./components/EquipmentOptions/EquipmentOptions\";\nimport ErrorNotification from \"./components/helpers/ErrorNotification\";\nimport Layout from \"./components/Layout\";\nimport LoadCalculator from \"./components/LoadCalculator/LoadCalculator\";\nimport PrintReport from \"./components/Print/Print\";\nimport PrintMultipleReport from \"./components/Print/PrintMultiple\";\nimport PrintSingleReport from \"./components/Print/PrintSingle\";\nimport PrintCondenserReport from \"./components/Print/PrintCondenser\";\nimport Spinner from \"./components/helpers/Spinner\";\nimport WallLoad from \"./components/WallLoad/WallLoad\";\n\nimport ApplicationContextProvider from \"./context/ApplicationContextProvider\";\nimport BoxMaterialsContextProvider from \"./context/BoxMaterialsContextProvider\";\nimport ErrorContextProvider from \"./context/ErrorContextProvider\";\nimport LoadingContextProvider from \"./context/LoadingContextProvider\";\nimport TranslationContextProvider from \"./context/TranslationContextProvider\";\nimport BoxContextProvider from \"./context/BoxContextProvider\";\nimport SystemContextProvider from \"./context/SystemContextProvider\";\n\nimport useClearCache from \"./hooks/useClearCache\";\n\nimport \"./App.css\";\nimport KeepSessionAlive from \"./components/helpers/KeepSessionAlive\";\n\nconst App = () => {\n\tconst { isLatestVersion, emptyCacheStorage } = useClearCache({\n\t\tauto: !process.env.REACT_APP_AUTO_CLEAR_CACHE || process.env.REACT_APP_AUTO_CLEAR_CACHE === \"true\",\n\t\tstorageKey: !process.env.REACT_APP_VERSION_KEY ? \"APP_VERSION\" : process.env.REACT_APP_VERSION_KEY,\n\t\tbasePath: \"\"\n\t});\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t{!isLatestVersion && (\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tA new version of the application is available! \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\temptyCacheStorage();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tClick here to download updates.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default App;\n","import * as React from \"react\";\nimport StorageFacade from \"../../services/StorageFacade\";\n\nconst BallyTheme = React.lazy(() => import(\"./BallyTheme\"));\nconst KeepRiteTheme = React.lazy(() => import(\"./KeepRiteTheme\"));\nconst TrentonTheme = React.lazy(() => import(\"./TrentonTheme\"));;\n\ninterface ThemeSelectorProps {\n\tchildren: any;\n}\n\nconst ThemeSelector: React.FunctionComponent = (\n\tprops: ThemeSelectorProps\n) => {\n\n const brand = StorageFacade.brand?.toLowerCase();\n \n return (\n <>\n }>\n {(brand === \"bally\") && }\n {(brand === \"keeprite\" || !brand || brand === \"\") && }\n {(brand === \"trenton\") && }\n \n {props.children}\n \n );\n};\n\nexport default ThemeSelector;\n","import * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { BrowserRouter } from \"react-router-dom\";\nimport * as serviceWorker from \"./registerServiceWorker\";\nimport \"react-bulma-components/dist/react-bulma-components.min.css\";\n\nimport App from \"./App\";\nimport ThemeSelector from \"./components/Themes/ThemeSelector\";\n\n// expose the following to Blazor\nimport EquipmentOptions from \"./components/EquipmentOptions/EquipmentOptions\";\nimport * as OptionUtils from \"./components/EquipmentOptions/EquipmentOptions.utils\";\nimport IEquipmentOption from \"./models/interfaces/IEquipmentOption\";\nimport IOption from \"./models/interfaces/IOption\";\n\nconst rootElement = document.getElementById(\"root\");\n\nReactDOM.render(\n\t\n\t\t\n\t\t\t\n\t\t\n\t,\n\trootElement\n);\n\n(window as any).componentsRenderer = {\n clearReactDomNode: () => {\n if (rootElement) {\n ReactDOM.unmountComponentAtNode(rootElement);\n }\n },\n renderEquipmentOptions: async (instance: any,\n modelId: number,\n divisionId: number,\n popupTitle: string,\n selectedOptions: IEquipmentOption[],\n excludedOptionIds: string | null,\n onOkClick: any,\n onCancelClick: any\n ) => {\n const okClick = (options: IEquipmentOption[]) => { \n (window as any).componentsRenderer.clearReactDomNode();\n instance.invokeMethodAsync(onOkClick, options);\n };\n const cancelClick = () => {\n (window as any).componentsRenderer.clearReactDomNode();\n instance.invokeMethodAsync(onCancelClick);\n };\n let defaultAndSelectedOptions = [] as IOption[];\n const optionsData = await OptionUtils.loadOptions(\n modelId,\n divisionId,\n selectedOptions ?? [],\n excludedOptionIds\n );\n defaultAndSelectedOptions = optionsData.selected;\n const selectedOptionQuantities = OptionUtils.getSelectedOptionQuantities(defaultAndSelectedOptions);\n ReactDOM.render(, rootElement);\n }\n}\n\nserviceWorker.unregister();\n\n"],"sourceRoot":""}