{"version":3,"sources":["type/SignupType.tsx","type/ClickThroughRateType.tsx","type/DealerShipAnalyticType.tsx","type/AdvancedInventoryMetricsType.tsx","util/permission.ts","action/AuthenticationAction.tsx","type/AuthenticationType.tsx","action/AccountDetailsAction.tsx","thunk/AuthenticationThunk.tsx","type/AppraisalTypes.tsx","component/UiComponents/EmCard.tsx","component/UiComponents/EmLayout.tsx","component/UiComponents/EmPopover.tsx","util/account.ts","thunk/IasMarketThunk.tsx","util/appraisal.tsx","util/index.tsx","component/UiComponents/Styles.tsx","component/UiComponents/SharedLayouts.tsx","component/UiComponents/index.tsx","component/AppLayout/asset/google-play-logo.png","component/AppLayout/asset/apple-store-logo.png","component/AppLayout/asset/default-profile.jpg","type/InventoryType.tsx","type/UsersType.tsx","component/AppLayout/asset/rumbleon-logo-white.svg","component/AppLayout/AppFooter.tsx","component/AppLayout/asset/rumbleon-logo-dark-grey.svg","component/AppLayout/AppHeader.tsx","component/AppLayout/AppLayout.tsx","container/AppLayoutContainer.tsx","component/ScrollToTop/ScrollToTop.tsx","App.tsx","serviceWorker.ts","index.tsx","type/CreateCashOfferType.tsx","type/VinDecodeTypes.tsx","type/LeadType.tsx","type/AccountDetailsType.tsx","reducer/AuthenticationReducer.tsx","reducer/CreateCashOfferByTypeReducer.tsx","reducer/CombineCashOfferReducer.jsx","reducer/IasMarketReducer.tsx","reducer/SignupReducer.tsx","reducer/AcceptOfferReducer.tsx","reducer/VinDecodeReducer.tsx","reducer/AppraisalReducer.tsx","reducer/DealershipAnalyticReducer.tsx","reducer/ClickThroughRateReducer.tsx","reducer/InventoryReducer.tsx","reducer/InventoryMetricReducer.tsx","reducer/AdvancedInventoryMetricsReducer.tsx","reducer/AccountDetailsReducer.tsx","reducer/LeadReducer.tsx","reducer/UsersReducer.tsx","reducer/CycleProReducer.tsx","type/CycleProType.tsx","reducer/index.jsx","type/IasMarketType.tsx","type/AcceptCashOfferType.tsx","action/IasMarketAction.tsx","action/DealershipAnalyticAction.tsx","type/InventoryMetricType.tsx","constant/index.tsx","component/UiComponents/EmButton.tsx"],"names":["SET_SIGNUP_SUCCESS","SET_SIGNUP_LOADING","SET_SIGNUP_FAILED_MESSAGE","RESET_SIGNUP_STATE","SET_CTR_DATA_LOADING","SET_CTR_DATA_FAILED","SET_CTR_ALL_TIME_COUNT_SUCCESS","SET_CTR_DATA_SUCCESS","SET_DEALERSHIP_DATA_LOADING","SET_DEALERSHIP_DATA_FAILED_MESSAGE","SET_DEALERSHIP_DEAL_SUCCESS","SET_DEALERSHIP_IMPRESSION_SUCCESS","SET_DEALERSHIP_DETAIL_PAGE_VIEW_SUCCESS","SET_DEALERSHIP_CUSTOMER_ACTIVITY_SUCCESS","SET_USER_ACTIVITY_COUNT_SUCCESS","SET_CTR_SUMMARY_LOADING","SET_CTR_SUMMARY_FAILED_MESSAGE","SET_CTR_SUMMARY_SUCCESS","SET_INVENTORY_SUMMARY_LOADING","SET_INVENTORY_SUMMARY_FAILED_MESSAGE","SET_INVENTORY_SUMMARY_SUCCESS","SET_DEALERSHIP_ACCOUNTS_LOADING","SET_DEALERSHIP_ACCOUNTS_SUCCESS","SET_DEALERSHIP_ACCOUNTS_FAILED","SET_SELECTED_DEALERS_FOR_ANALYTICS","SET_SELECTED_DEALERS_FOR_INVENTORY","SET_ADV_INV_METRICS_LOADING","SET_ADV_INV_METRICS_FAILED","SET_ADV_INV_METRICS_DATA_SUCCESS","PERMISSIONS","RO_LISTING","FINANCE","CASH_OFFER","DD_BUY_BID","hasPermission","type","store","getState","auth","dealers","selectedDealerAccountId","length","accountFeatureIds","forEach","dealer","AccountId","AccountFeatureIds","indexOf","setAuthenticaionLoading","payload","SET_AUTHENTICATION_LOADING","setAuthenticationFailed","SET_AUTHENTICATION_FAILED","resetAuthenticationErrorMessage","RESET_AUTHENTICATION_ERROR_MESSAGE","setAuthenticationSuccess","SET_AUTHENTICATION_SUCCESS","setDealerDetailList","SET_DEALER_DETAILS_LIST","SetIsInternalDealer","SET_IS_INTERNAL_DEALER","setAuthenticationLogOut","SET_AUTHENTICATION_LOG_OUT","setForgetPasswordEmailValidationSuccess","SET_FORGET_PASSWORD_EMAIL_VALIDATION_SUCCESS","setForgetPasswordEmailValidationError","SET_FORGET_PASSWORD_EMAIL_VALIDATION_ERROR_MESSAGE","resetForgetPasswordStatus","RESET_FORGET_PASSWORD_STATUS","setSelectedDealer","SET_SELECTED_DEALER","setElasticInfo","SET_ELASTIC_INFO","setResetPasswordSuccess","SET_RESET_PASSWORD_SUCCESS","setResetPasswordFailed","SET_RESET_PASSWORD_FAILED","setAccountFeatures","SET_ACCOUNT_FEATURES","setAccountDetailsLoading","loading","SET_ACCOUNT_DETAILS_LOADING","setAccountDetailsSuccess","accountDetails","SET_ACCOUNT_DETAILS_SUCCESS","setAccountDetailsFailed","error","SET_ACCOUNT_DETAILS_FAILED","setSelectedAccountForAccountDetails","accountId","SET_SELECTED_ACCOUNT_FOR_ACCOUNT_DETAILS","env","environmentVariableList","forgetPasswordEmailValidationThunkAction","email","dispatch","a","async","endPoint","URL","REACT_APP_AUTHENTICATION_END_POINT","queryParams","URLSearchParams","site","search","toString","fetch","ok","Error","console","loginThunkAction","password","method","headers","Accept","body","JSON","stringify","ClientId","Username","Password","GetJWTToken","response","json","window","localStorage","setItem","moment","Date","now","add","TokenValidPeriod","format","undefined","resetPasswordThunkAction","code","userUuid","fixUrlIssue","split","join","UserUuid","ConfirmPassword","Code","Success","Message","ErrorDetails","refreshAuthThunkAction","state","Uuid","esCredResp","esCredRespJson","atob","REACT_APP_DEALER_LIST_END_POINT","dealerResponse","dealerJson","i","IsInternalDealer","getAccountFeaturesThunk","REACT_APP_INVENTORY_END_POINT","result","AccountFeatures","SET_APPRAISAL_IS_SUBMITTING","SET_APPRAISAL_CURRENT_STEP","SET_APPRAISAL_COMPLETED_STEPS","SET_APPRAISAL_ERROR_MESSAGE","RESET_APPRAISAL_ERROR_MESSAGE","ADD_APPRAISAL_SUBMITTED_FORMS","SET_APPRAISAL_CURRENT_FORM","ADD_APPRAISAL_ATTACHMENTS","REMOVE_APPRAISAL_ATTACHMENTS","RESET_APPRAISAL_STATE","ADD_CREATED_APPRAISAL","ADD_CREATED_APPRAISAL_VINLESS","REMOVE_CREATED_APPRAISAL","SET_APPRAISAL_CREATE_REQUEST","SET_APPRAISAL_UPDATE_REQUEST","SET_APPRAISAL_IMAGE_UPLOAD_REQUEST","SET_APPRAISAL_DEALER_EMAIL_REQUEST","SET_APPRAISAL_ASSIGN_REQUEST","SET_APPRAISAL_UPLOADED_IMAGES","SET_APPRAISAL_DEALER_EMAIL","SET_ISVINLESS","MOTORCYCLE_STEP_FIELDS","2","3","4","MOTORCYCLE_VINLESSSTEP_FIELDS","CAR_STEP_FIELDS","MARINES_STEP_FIELDS","APPRAISAL_STATUS_ID","APPRAISAL_SOURCE_TYPE_ID","APPRAISAL_ATTACHMENT_TYPE_ID","1","EmCard","children","props","bordered","boxShadow","headStyle","border","padding","bodyStyle","style","EmLayout","idTag","background","id","overflowX","EmPopover","bttnColor","onConfirm","okText","cancelText","placement","title","useState","visible","setVisible","content","span","size","onClick","offset","e","trigger","onVisibleChange","getSelectedOrDefaultDealerAccounts","selectedDealerAccounts","dealershipAnalytic","accountIds","parentAccounts","getParentChildDealerList","childrenIds","setSelectedDealerForAnalytics","accounts","parents","parentsChildren","item","ParentAccountId","AccountName","push","ParentAccountName","Object","entries","value","newParent","map","iasMarketLoginThunkAction","redirectUrl","resetIasMarketError","setIasLoggingIn","userId","dealerJWTToken","baseUrl","REACT_APP_IAS_MARKET_PLACE","userAgentString","navigator","userAgent","chromeAgent","safariAgent","includes","url","location","replace","UserId","iasLoginResponse","resJson","Token","refreshToken","RefreshToken","setIasLoginFailed","checkExpiration","createdAt","TTL","Math","round","getTime","removePropFromObj","obj","key","keys","reduce","acc","cur","formatDate","date","toLocaleDateString","formatCurrency","Intl","NumberFormat","currency","minimumFractionDigits","offerStatusMapper","status","offerStatusReverseMapper","breakpoints","color","textBlack","textWhite","logoDark","borderDark","bgDark","minMedia","bp","maxMedia","CenterLayout","emCss","gutter","css","xs","sm","md","lg","xl","xxl","GuestPageLayout","module","exports","SET_GET_INVENTORY_LOADING","SET_GET_INVENTORY_FAILED","SET_GET_INVENTORY_SUCCESS","SET_UPDATE_INVENTORY_LOADING","SET_UPDATE_INVENTORY_FAILED","SET_UPDATE_INVENTORY_SUCCESS","SET_VEHICLE_DELETE_LOADING","SET_VEHICLE_DELETE_FAILED","SET_ADD_INVENTORY_LOADING","SET_ADD_INVENTORY_SUCCESS","SET_ADD_INVENTORY_FAILED","SET_CLEAR_INVENTORY_MESSAGES","SET_INVENTORY_EDITED_IMG_UPLOADING","SET_INVENTORY_EDITED_IMG_UPLOAD_SUCCESS","SET_INVENTORY_EDITED_IMG_UPLOAD_FAILED","SET_CLEAN_USER_MESSAGES","SET_USER_LOADING","SET_GET_USER_LIST_FAILED","SET_GET_USER_LIST_SUCCESS","SET_UPDATE_USER_FAILED","SET_UPDATE_USER_SUCCESS","SET_ADD_USER_FAILED","SET_ADD_USER_SUCCESS","SET_DELETE_USER_FAILED","SET_DELETE_USER_SUCCESS","SET_GET_USER_TYPE_LIST_FAILED","SET_GET_USER_TYPE_LIST_SUCCESS","SET_GET_USER_STATUS_LIST_FAILED","SET_GET_USER_STATUS_LIST_SUCCESS","_extends","assign","target","arguments","source","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","createElement","className","d","_ref","svgRef","viewBox","ref","ForwardRef","forwardRef","Footer","flexSharedCss","footerCss","rowSpecial","bottomCss","AppFooter","width","href","margin","paddingLeft","src","appleLogo","alt","googleLogo","rel","lineHeight","to","justify","envList","Header","SubMenu","Item","justifyRight","logoCss","fontSizeCss","profileIconCss","menuCss","loginCss","hMenuCss","subMenuCss","profileCss","DrawerMenuCss","navIconCss","MenuDrawer","handleCancel","handleIasLogin","handleLogout","shouldHideDealerDropDown","shouldDisableDealerMenu","handleSelectDealer","handleSelectDealerForAnalytics","dealerList","isAuthorized","history","useHistory","height","closable","onClose","block","fontSize","mode","SIGN_UP_SF_LINK","NavMenu","handleOnclick","useDispatch","useLocation","useSelector","selectedDealerAccountsForInventory","selectedAccountForAccountDetails","selectDealerForAnalytics","parentChildDealers","foundedLocation","pathname","selectedKeys","keySuffix","disabled","RIDENOW_AUCTIONS_LINK","parent","paddingRight","setSelectedDealerForInventory","child","from","Tab","AppHeader","userDealerList","logout","toggleMobileMenu","align","profileLogo","Content","withRouter","isIasMarketLoginFailed","isIasMarketLogginIn","resetIasError","useEffect","spinning","minHeight","notification","message","description","mapDispatchToProps","connect","isLoggedIn","iasMarket","isLoggingIn","isFailed","AppLayout","ScrollToTop","prevProps","scrollTo","React","Component","AsyncAccountPage","lazy","AsyncUsersPage","AsyncPrivacyPolicyPage","AsyncLeadPage","AsyncHelpPage","AsyncInventoryPage","AsyncHomePage","AsyncLoginPage","AsyncSignupPage","AsyncForgetPasswordPage","AsyncResetPasswordPage","AsyncSellPage","AsyncCarOfferPage","AsyncBoatOfferPage","AsyncCycleProSearchPage","AsyncMotorcycleOfferPage","AsyncAboutUsPage","AsyncTermsPage","AsyncPortalPage","AsyncAuthVerify","AsyncNadaDecoder","AsyncYearAndModel","AsyncSelectOptions","root","document","getElementById","PrivateRoute","path","exact","component","App","persistor","AppLayoutContainer","fallback","indicator","spin","Boolean","hostname","match","ReactDOM","render","serviceWorker","ready","then","registration","unregister","SET_CASH_OFFER_PAGE_LOADING","SET_VIN_DECODE_RESULT","SET_CREATE_CASH_OFFER_HAS_ERROR","RESET_CREATE_CASH_OFFER_ERROR","SET_CASH_OFFER_CREATED_SUCCESSFULLY","RESET_CASH_OFFER_STATUS","SET_CASH_OFFER_EDITED_IMG_UPLOADING","SET_CASH_OFFER_EDITED_IMG_UPLOAD_SUCCESS","SET_CASH_OFFER_EDITED_IMG_UPLOAD_ERROR","SET_IMAGES_CHANGED","SET_VIN_DECODE_IS_FETCHING","SET_VIN_DECODE_DECODED_VIN","SET_VIN_DECODE_RESET_STATUS","SET_VIN_DECODE_ERROR","RESET_VIN_DECODE_ERROR","ADD_TO_DECODED_VIN_LIST","REMOVE_FROM_DECODED_VIN_LIST","RESET_VIN_DECODE_STATE","SET_MODELLIST","SET_PAYLOAD","SET_CLEAR_LEAD_MESSAGES","SET_GET_LEAD_LOADING","SET_GET_LEAD_FAILED","SET_GET_LEAD_SUCCESS","SET_NO_DATA_FOR_LEAD","SET_GET_LEAD_LIST_LOADING","SET_GET_LEAD_LIST_FAILED","SET_GET_LEAD_LIST_SUCCESS","SET_SELL_TO_RUMBLEON_LOADING","SET_SELL_TO_RUMBLEON_FAILED","initialState","isLoading","esCred","forgetPasswordEmailValidationSuccess","forgetPasswordEmailValidationError","resetPasswordSuccess","resetPasswordError","accountFeatures","authenticationReducer","action","failedErrorMessage","userTypeId","UserTypeId","sessionToken","DealerJWTToken","userEmail","Email","userFirstname","FirstName","userLastName","LastName","city","City","State","zip","Zip","CreateCashOfferByTypeReducer","isPageLoading","imagesChanged","vinDecodeResult","errorMessage","isOfferCreatedSuccessfully","editedImageUploading","uploading","editedImage","updatedFile","editedImageUploadError","CreateCashOfferReducer","reducer","reducerName","isInitialization","vehicleType","combinedCreateCashOfferReducer","combineReducers","car","motorcycle","boat","iasMarketReducer","SET_IAS_MARKET_LOGGING_IN","SET_IAS_MARKET_LOGIN_FAILED","RESET_IAS_MARKET_ERROR","isSignupSuccess","isSignupLoading","signupFailedMessage","signupReducer","isAcceptOfferLoading","getDealerOfferDetailFailedErrorMessage","acceptOfferReducer","SET_ACCEPT_OFFER_LOADING_ACTION","SET_DEALER_OFFER_DETAIL_ACTION","dealerOfferDeail","SET_GET_DEALER_OFFER_DETAIL_FAILED_ERROR_MESSAGE_ACTION","SET_GET_DEALER_OFFER_DETAIL_SUCCESS_ACTION","isGetDealerOfferDetailSuccess","SET_OFFER_ACCEPT_FAILED_MESSAGE_ACTION","acceptOfferFailedMessage","SET_OFFER_ACCEPT_SUCCESS_ACTION","isOfferAcceptSuccess","RESET_ACCEPT_OFFER_STATUS_ACTION","decodedVins","decodedVin","isFetching","resetStatus","modellist","payloadData","genericVinDecoderReducer","filter","VIN","currentStep","completedSteps","dealerEmail","createdAppraisals","currentForm","attachments","submittedForms","uploadedImages","isSubmitting","createRequest","updateRequest","imageUploadRequest","dealerEmailRequest","assignRequest","Vinless","AppraisalReducer","uid","vin","appraisalRefNo","AppraisalRefNo","dealershipErrorMessage","isDealershipLoading","dealChartData","impressionChartData","detailPageViewChartData","customerActivityChartData","data","ctrSummaryErrorMessage","isCTRSummaryLoading","ctrSummary","impressionsCount","clicksCount","inventorySummaryErrorMessage","isInventorySummaryLoading","inventorySummary","usedCount","newCount","userActivityCount","dealershipAccounts","isLoadingDealershipAccounts","dealershipAccountsErrorMessage","iasDealershipReducer","allTimeCount","impressions","clicks","ClickThroughRateReducer","loadingInventory","inventoryErrorMessage","inventories","updateInventorySuccessMessage","updateInventoryErrorMessage","updateInventoryLoading","deleteVehicleLoading","deleteVehicleErrorMessage","addInventoryLoading","addInventoryStatus","inventoryReducer","impressionsVsInventories","clicksVsInventories","conditionImpression","xLabels","dataLabels","download","conditionClick","InventoryMetricReducer","SET_INVENTORY_METRIC_LOADING","SET_INVENTORY_METRIC_FAILED","SET_GET_INVENTORY_METRIC_SUCCESS","SET_GET_INVENTORY_CLICK_SUCCESS","SET_CONDITIONAL_IMPRESSIONS_SUCCESS","SET_CONDITIONAL_CLICKS_SUCCESS","AdvancedInventoryMetricsReducer","loadingAccountDetails","dealershipInfo","logo","name","parentAccountId","parentAccountName","address1","address2","country","phone","website","videoUrl","ownerInfo","itInfo","billingInfo","financialAndAccountingInfo","financePortalUrl","accountingPortalUrl","accountDetailsReducer","leadList","leadListLoading","leadListError","lead","leadLoading","leadError","leadNoData","sellToRubmleonLoading","sellToRubmleonError","leadReducer","userList","userListError","updateUserSuccess","updateUserError","deleteUserSuccess","deleteUserError","addUserSuccess","addUserError","userTypeList","userTypeListError","userStatusTypeList","userStatusTypeListError","usersReducer","cycleProReducer","rootReducer","cashOffer","signup","acceptCashOffer","vinDecode","VinDecodeReducer","appraisal","DealershipAnalyticReducer","clickThroughRate","advancedInventoryMetrics","inventory","InventoryReducer","inventoryMetric","users","useReducer","accountinfo","persistConfig","storage","blacklist","persistedReducer","persistReducer","createStore","applyMiddleware","thunkMiddleware","persistStore","setDealershipAccountsLoading","setDealershipAccountsSuccess","setDealershipLoading","setDealershipFailed","setDealershipImpressionSuccess","setDealershipDealsSuccess","setDealershipDetailPageViewSuccess","setDealershipCustomerActivitySuccess","setCTRSummaryLoading","setCTRSummaryFailed","setCTRSummarySuccess","setInventorySummaryLoading","setInventorySummaryFailed","setInventorySummarySuccess","setDealershipUserActivityCountSuccess","exteriorColorList","interiorColorList","mid","REACT_APP_INV_END_POINT","REACT_APP_INV_INDEX_NAME","REACT_APP_INV_APP_NAME","REACT_APP_VIN_DECODE_END_POINT","REACT_APP_CASH_OFFER_END_POINT","REACT_APP_IAS_LOOKUP_END_POINT","REACT_APP_S3_LINK","COMPANY_LOGO_S3_BUCKET","REACT_APP_ACCOUNT_DETAILS_END_POINT","REACT_APP_INVENTORY_DEV_TEAM_END_POINT","REACT_APP_INVENTORY_API_KEY","TEAM_PORTAL_UPLOAD_LINK","P2_INVENTORY_LINK","OMNISTORE_ES_URL","OMNISTORE_ES_BASIC","process","REACT_APP_DEV_ENV","shared","defaultType","EmButton"],"mappings":"0IAmCA,wIAAO,IAAMA,EAAqB,qBACrBC,EAAqB,qBACrBC,EAA4B,4BAC5BC,EAAqB,sB,iCClBlC,wIAAO,IAAMC,EAAuB,uBACvBC,EAAsB,sBAEtBC,EAAiC,iCACjCC,EAAuB,wB,gCCoCpC,omBAAO,IAAMC,EAA8B,8BAC9BC,EACX,qCAEWC,EAA8B,8BAC9BC,EACX,oCACWC,EACX,0CACWC,EACX,2CACWC,EACX,kCAEWC,EAA0B,0BAC1BC,EAAiC,iCACjCC,EAA0B,0BAE1BC,EAAgC,gCAChCC,EACX,uCACWC,EAAgC,gCAEhCC,EACX,kCACWC,EACX,kCACWC,EAAiC,iCACjCC,EAAqC,qCACrCC,EAAqC,sC,iCClFlD,sGAAO,IAAMC,EAA8B,8BAC9BC,EAA6B,6BAE7BC,EACX,oC,iCCXF,8CAOMC,EAA8B,CAClCC,WAAY,EACZC,QAAS,EACTC,WAAY,EACZC,WAAY,GAGP,SAASC,EAAcC,GAC5B,IAD4D,EAC9CC,IAAMC,WAC+BC,KAA3CC,EAFoD,EAEpDA,QAASC,EAF2C,EAE3CA,wBACjB,GAAID,GAAWA,EAAQE,QAAUD,EAAyB,CACxD,IAAIE,EAA8B,GAUlC,GATAH,EAAQI,SAAQ,SAACC,GAEbA,EAAOC,YAAcL,GACrBI,EAAOE,oBAEPJ,EAAoBE,EAAOE,sBAI3BJ,EAAkBK,QAAQlB,EAAYM,KAAU,EAClD,OAAO,EAGX,OAAO,I,gCChCT,0gBAsBaa,EAA0B,SACrCC,GADqC,MAEN,CAC/Bd,KAAMe,IACND,QAASA,IAGEE,EAA0B,SACrCF,GADqC,MAEN,CAC/Bd,KAAMiB,IACNH,QAASA,IAGEI,EAAkC,iBAAkC,CAC/ElB,KAAMmB,MAGKC,EAA2B,SACtCN,GADsC,MAEP,CAC/Bd,KAAMqB,IACNP,QAASA,IAGEQ,EAAsB,SACjCR,GADiC,MAEF,CAC/Bd,KAAMuB,IACNT,QAASA,IAGEU,EAAsB,SACjCV,GADiC,MAEF,CAC/Bd,KAAMyB,IACNX,QAASA,IAGEY,EAA0B,iBAAkC,CACvE1B,KAAM2B,MAGKC,EAA0C,SACrDd,GADqD,MAEtB,CAC/Bd,KAAM6B,IACNf,QAASA,IAGEgB,EAAwC,SACnDhB,GADmD,MAEpB,CAC/Bd,KAAM+B,IACNjB,QAASA,IAGEkB,EAA4B,iBAAkC,CACzEhC,KAAMiC,MAGKC,EAAoB,SAC/BpB,GAD+B,MAEA,CAC/Bd,KAAMmC,IACNrB,QAASA,IAGEsB,EAAiB,SAACtB,GAAD,MAAiD,CAC7Ed,KAAMqC,IACNvB,QAASA,IAGEwB,EAA0B,SACrCxB,GADqC,MAEN,CAC/Bd,KAAMuC,IACNzB,QAASA,IAGE0B,EAAyB,SACpC1B,GADoC,MAEL,CAC/Bd,KAAMyC,IACN3B,QAASA,IAEE4B,EAAqB,SAChC5B,GADgC,MAED,CAC/Bd,KAAM2C,IACN7B,QAASA,K,gCChHX,8fAgGO,IAAMC,EACX,yCACWE,EAA4B,4BAC5BE,EACX,qCACWE,EAA6B,6BAC7BE,EAA0B,0BAC1BI,EAA6B,6BAC7BE,EACX,+CACWE,EACX,qDACWE,EAA+B,+BAC/BE,EAAsB,sBACtBE,EAAmB,mBACnBZ,EAAyB,yBAEzBc,EAA6B,6BAC7BE,EAA4B,4BAC5BE,EAAuB,wB,iCCnHpC,oJASaC,EAA2B,SACtCC,GADsC,MAEZ,CAC1B7C,KAAM8C,IACNhC,QAAS+B,IAGEE,EAA2B,SACtCC,GADsC,MAEZ,CAC1BhD,KAAMiD,IACNnC,QAASkC,IAGEE,EAA0B,SACrCC,GADqC,MAEX,CAC1BnD,KAAMoD,IACNtC,QAASqC,IAGEE,EAAsC,SACjDC,GADiD,MAEvB,CAC1BtD,KAAMuD,IACNzC,QAASwC,K,kQCZLE,EAAMC,cAECC,EAA2C,SACtDC,GADsD,OAEL,SAAMC,GAAN,iBAAAC,EAAAC,OAAA,uDACjDF,EAAS/C,aAAwB,IACjC+C,EAAS9B,YAAsC,KAFE,SAIzCiC,EAAW,IAAIC,IAAJ,UACZR,EAAIS,mCADQ,uCAGXC,EAAc,IAAIC,gBAAgB,CACtCR,MAAOA,EACPS,KAAM,WAERL,EAASM,OAASH,EAAYI,WAXiB,WAAAT,EAAA,MAYxBU,MAAMR,EAASO,aAZS,kBAalCE,GAbkC,iBAe7CZ,EAAS9B,YAAsC,KAC/C8B,EAAShC,aAAwC,IAhBJ,8BAkBvC,IAAI6C,MAAM,iBAlB6B,0DAqB/CC,QAAQvB,MAAM,4BAAd,MACAS,EAAShC,aAAwC,IACjDgC,EAAS9B,YAAsC,kBAvBA,QAyBjD8B,EAAS/C,aAAwB,IAzBgB,2DA4BtC8D,EAAmB,SAC9BhB,EACAiB,GAF8B,OAGmB,SAAMhB,GAAN,iBAAAC,EAAAC,OAAA,uDACjDF,EAAS1C,eACT0C,EAAS/C,aAAwB,IAFgB,oBAAAgD,EAAA,MAIxBU,MAAM,GAAD,OACvBf,EAAIS,mCADmB,6BAE1B,CACEY,OAAQ,OACRC,QAAS,CACPC,OAAQ,mBACR,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBC,SAAU,oBACVC,SAAUzB,EACV0B,SAAUT,EACVU,aAAa,OAhB4B,cAIzCC,EAJyC,kBAAA1B,EAAA,MAoB5B0B,EAASC,QApBmB,OAoBzCA,EApByC,OAqB3CD,EAASf,IACXiB,OAAOC,aAAaC,QAAQ,OAAQV,KAAKC,UAAUM,IACnDC,OAAOC,aAAaC,QAAQ,aAAcC,IAAOC,KAAKC,OAAOC,IAAIP,EAAKQ,iBAAkB,UAAUC,OAAO,UACzGrC,EAASxC,YAAyBoE,IAClC5B,EAAS1B,iBAAkBgE,KAE3BtC,EAAS5C,YAAwBwE,IA3BY,kDA8B/Cd,QAAQvB,MAAM,4BAAd,MA9B+C,QAgCjDS,EAAS/C,aAAwB,IAhCgB,2DAmCtCsF,EAA2B,SACtCvB,EACAwB,EACAC,GAHsC,OAIW,SAAMzC,GAAN,mBAAAC,EAAAC,OAAA,uDACjDF,EAAS1C,eACT0C,EAAS/C,aAAwB,IAC3ByF,EAAcF,EAAKG,MAAM,KAAKC,KAAK,KAHQ,oBAAA3C,EAAA,MAKxBU,MAAM,GAAD,OACvBf,EAAIS,mCADmB,qCAE1B,CACEY,OAAQ,OACRC,QAAS,CACPC,OAAQ,mBACR,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBuB,SAAUJ,EACVhB,SAAUT,EACV8B,gBAAiB9B,EACjB+B,KAAML,OAjBmC,cAKzCf,EALyC,kBAAA1B,EAAA,MAqB5B0B,EAASC,QArBmB,OAqBzCA,EArByC,OAsB3CD,EAASf,IAAMgB,EAAKoB,QACtBhD,EAAStB,YAAwBkD,EAAKqB,UAEtCjD,EAASpB,YAAuBgD,EAAKsB,cAAgB,oBAzBR,kDA4B/CpC,QAAQvB,MAAM,4BAAd,MACAS,EAASpB,YAAuB,yBA7Be,QA+BjDoB,EAAS/C,aAAwB,IA/BgB,2DAkCtCkG,EAAyB,kBAKjC,SAAOnD,EAAU1D,GAAjB,2BAAA2D,EAAAC,OAAA,gEAEKkD,EAAQ9G,IACRmG,EAAWW,EAAM7G,KAAKkG,SAC5BzC,EAAS/C,aAAwB,IAJhC,WAAAgD,EAAA,MAKwBU,MAAM,GAAD,OACzBf,EAAIS,mCADqB,6CAE5B,CACEY,OAAQ,OACRC,QAAS,CACPC,OAAQ,mBACR,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnB+B,KAAMZ,OAdX,cAKKa,EALL,kBAAArD,EAAA,MAkB4BqD,EAAW1B,QAlBvC,cAkBK2B,EAlBL,OAmBDvD,EAASxB,YAAeqD,OAAO2B,KAAKD,KAnBnC,YAAAtD,EAAA,MAsB4BU,MAAM,GAAD,OAC7Bf,EAAI6D,gCADyB,+CAEhC,CACExC,OAAQ,OACRC,QAAS,CACPC,OAAQ,mBACR,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBuB,SAAUJ,OA/Bf,eAsBKiB,EAtBL,mBAAAzD,EAAA,MAmCwByD,EAAe9B,QAnCvC,WAmCK+B,EAnCL,OAoCD3D,EAAStC,YAAoBiG,IAGzBA,GAAcA,EAAW,IAAMA,EAAW,GAAG7G,WAC/CkD,EAAS1B,YAAkBqF,EAAW,GAAG7G,cAEvC6G,GAAcA,EAAWjH,OAAS,GA1CrC,iBA2CUkH,EAAI,EA3Cd,aA2CiBA,EAAID,EAAWjH,QA3ChC,qBA4C0C,IAAnCiH,EAAWC,GAAGC,iBA5CrB,wBA6CK7D,EAASpC,aAAoB,IA7ClC,6BA2CwCgG,IA3CxC,wBAmDD5D,EAAS/C,aAAwB,IAnDhC,kDAqDD+C,EAAS/C,aAAwB,IACjC6D,QAAQvB,MAAM,gCAAd,MAtDC,2DA0DQuE,EAA0B,kBAKlC,SAAO9D,EAAU1D,GAAjB,qBAAA2D,EAAAC,OAAA,gEAEKkD,EAAQ9G,IACNmG,EAAaW,EAAM7G,KAAnBkG,SAHP,WAAAxC,EAAA,MAIsBU,MAAM,GAAD,OACvBf,EAAImE,8BADmB,oDAE1B,CACE9C,OAAQ,OACRC,QAAS,CACPC,OAAQ,mBACR,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBxE,UAAW,IACX+F,SAAUJ,OAdf,cAIKd,EAJL,kBAAA1B,EAAA,MAkBoB0B,EAASC,QAlB7B,QAkBKoC,EAlBL,SAmBaA,EAAOC,gBACnBjE,EAASlB,YAAmBkF,EAAOC,kBAEnCjE,EAASlB,YAAmB,KAtB7B,kDAyBDkB,EAASlB,YAAmB,KAzB3B,4D,gCCpML,w7BAAO,IAAMoF,EAA8B,8BACzCC,EAA6B,6BAC7BC,EAAgC,gCAChCC,EAA8B,8BAC9BC,EAAgC,8BAChCC,EAAgC,gCAChCC,EAA6B,6BAC7BC,EAA4B,4BAC5BC,EAA+B,+BAC/BC,EAAwB,wBACxBC,EAAwB,wBACxBC,EAAgC,gCAChCC,EAA2B,2BAC3BC,EAA+B,+BAC/BC,EAA+B,+BAC/BC,EAAqC,qCACrCC,EAAqC,qCACrCC,EAA+B,+BAC/BC,EAAgC,gCAChCC,EAA6B,6BAC7BC,EAAgB,gBAMLC,EAAsD,CACjEC,EAAG,CAAC,WAAY,OAAQ,SACxBC,EAAG,CACD,UACA,UACA,QACA,YACA,UACA,oBACA,iBACA,kBACA,UACA,qBACA,gBACA,eAEFC,EAAG,CACD,sBACA,qBACA,kBACA,oBAGSC,EAA6D,CACxEH,EAAG,CAAC,WAAY,WAAY,aAC5BC,EAAG,CACD,UACA,UACA,QACA,YACA,UACA,oBACA,iBACA,kBACA,UACA,qBACA,gBACA,eAEFC,EAAG,CACD,sBACA,qBACA,kBACA,oBAGSE,EAA+C,CAC1DJ,EAAG,CAAC,WAAY,OAAQ,QAAS,QACjCC,EAAG,CACD,UACA,UACA,gBACA,gBACA,cACA,YACA,UACA,UACA,oBACA,iBACA,kBACA,iBACA,sBACA,wBACA,kBACA,gBACA,eAEFC,EAAG,CACD,sBACA,qBACA,kBACA,oBAGSG,EAAmD,CAC9DL,EAAG,CAAC,WAAY,OAAQ,QAAS,UACjCC,EAAG,CACD,UACA,QACA,QACA,YACA,UACA,kBACA,UACA,UACA,oBACA,iBACA,qBACA,gBACA,cACA,aACA,cACA,cACA,iBAEFC,EAAG,CACD,sBACA,qBACA,kBACA,oBAISI,EAAsB,EACtBC,EAA2B,EAC3BC,EAAoE,CAC/EC,EAAG,GACHT,EAAG,KACHC,EAAG,O,6GCjIQS,EAAkB,SAAC,GAA4B,IAA1BC,EAAyB,EAAzBA,SAAaC,EAAY,8BACTA,EAAxCC,gBADiD,WACTD,EAAvBE,iBADgC,MACpB,OADoB,EAGzD,OACE,iBACEC,UAAW,CAAEC,OAAQ,MAAOC,QAAS,aACrCC,UAAW,CAAED,QAAS,oBACtBE,MAAO,CACLL,aAEFD,SAAUA,GAETF,K,4GCZMS,EAAoB,SAAC,GAA4B,IAA1BT,EAAyB,EAAzBA,SAAaC,EAAY,4BAEzDS,EAEET,EAFFS,MACAC,EACEV,EADFU,WAGF,OACE,iBACEC,GAAIF,EACJF,MAAO,CACLK,UAAW,SACXP,QAAS,QACTK,WAAYA,GAAc,UAG3BX,K,qJCjBMc,EAAqB,SAAC,GAA8E,IAA5EC,EAA2E,EAA3EA,UAAWC,EAAgE,EAAhEA,UAAWC,EAAqD,EAArDA,OAAQC,EAA6C,EAA7CA,WAAYC,EAAiC,EAAjCA,UAAWC,EAAsB,EAAtBA,MAAOpB,EAAe,EAAfA,SAAe,EAEhFqB,oBAAS,GAFuE,mBAEvGC,EAFuG,KAE9FC,EAF8F,KAS9G,OACE,iBACEC,QACE,YAAC,WAAD,KACE,qBAAK,qBAAIJ,IACT,qBACE,iBAAKK,KAAM,IACT,YAAC,IAAD,CAAUC,KAAK,QAAQX,UAAWA,EAAWY,QAAS,kBAAMJ,GAAW,KAASL,IAElF,iBAAKO,KAAM,GAAIG,OAAQ,GACrB,YAAC,IAAD,CAAUF,KAAK,QAAQzL,KAAK,UAAU8K,UAAWA,EAAWY,QAftD,SAACE,GACjBb,EAAUa,GACVN,GAAW,KAagFN,MAKzFa,QAAQ,QACRR,QAASA,EACTH,UAAWA,EACXY,gBAAiB,kBAAMR,GAAYD,KAElCtB,K,gJCnBA,SAASgC,IACd,IAAM/E,EAAQ/G,IAAMC,WAEZ8L,EAA2BhF,EAAMiF,mBAAjCD,uBACA5L,EAAY4G,EAAM7G,KAAlBC,QAEJ8L,EAAaF,EACjB,GAAsC,IAAlCA,EAAuB1L,OAAc,CACvC,IAAM6L,EAAiBC,EAAyBhM,GAC5C+L,EAAe,KACjBD,EAAaC,EAAe,GAAGE,YAC/BpM,IAAM2D,SAAS0I,YAA8BJ,KAGjD,OAAOA,EAEF,SAASE,EACdG,GAEA,IAAMC,EAAsB,GACtBC,EAAuC,GAE7CF,EAAS/L,SAAQ,SAAAkM,GACf,GAA6B,OAAzBA,EAAKC,gBAA0B,CACjC,IAAI5C,EAAiC,CAAC2C,GAClCF,EAAQE,EAAKhM,aACfqJ,EAAQ,sBAAOA,GAAP,YAAoByC,EAAQE,EAAKhM,WAAWqJ,YAGtDyC,EAAQ,GAAD,OAAIE,EAAKhM,YAAe,CAC7BkM,YAAaF,EAAKE,YAClBlM,UAAWgM,EAAKhM,UAChBqJ,iBAGEyC,EAAQE,EAAKC,iBACfH,EAAQE,EAAKC,iBAAiB5C,SAAS8C,KAAKH,GAExCA,EAAKI,mBAAqBJ,EAAKC,kBACjCH,EAAQE,EAAKC,iBAAmB,CAC9BC,YAAaF,EAAKI,kBAClBpM,UAAWgM,EAAKC,gBAChB5C,SAAU,CAAC2C,QAOrB,cAA2BK,OAAOC,QAAQR,GAA1C,eAAoD,CAAC,IAAD,0BAAnCS,GAAmC,WAC5CC,EAAS,eACVD,EADU,CAEbZ,YAAaY,EAAMlD,SAASoD,KAAI,SAAAT,GAAI,OAAIA,EAAKhM,eAE/C+L,EAAgBI,KAAKK,GAGvB,OAAOT,I,wGC9DHjJ,EAAMC,cAEC2J,EAA4B,0EAEvCC,EAFuC,uDAEzB,GAFyB,OAGU,SACjDzJ,EACA1D,GAFiD,2CAAA2D,EAAAC,OAAA,uDAIjDF,EAAS0J,eACT1J,EAAS2J,aAAgB,IALwB,SAOzCvG,EAAQ9G,IAPiC,EAQF8G,EAAM7G,KAA3CqN,EARuC,EAQvCA,OAAQnH,EAR+B,EAQ/BA,SAAUoH,EARqB,EAQrBA,eACtBC,EAAUlK,EAAImK,2BAEZC,EAAkBC,UAAUC,UAC5BC,EAAcH,EAAgBhN,QAAQ,WAAa,EACrDoN,EAAcJ,EAAgBhN,QAAQ,WAAa,EACnDmN,GAAeC,IACjBA,GAAc,GAGZX,IACGA,EAAYY,SAAS,iBAGlBC,EADD,UACUb,GADV,OAEHA,EAAaY,SAAS,KAAO,IAAM,IAFhC,gBAGGR,GAGNhI,OAAO0I,SAASC,QAAQF,IAP1BR,EAAUL,GApBiC,YAAAxJ,EAAA,MAkChBU,MAAM,GAAD,OAC/Bf,EAAIS,mCAD2B,yCAElC,CACEY,OAAQ,OACRC,QAAS,CACPC,OAAQ,mBACR,eAAgB,oBAElBC,KAAMC,KAAKC,UAAU,CACnBmJ,OAAQb,EACR/G,SAAUJ,OA5C+B,eAkCzCiI,EAlCyC,mBAAAzK,EAAA,MAgDzByK,EAAiB9I,QAhDQ,SAgDzC+I,EAhDyC,QAiDnC3H,SACF4H,EAAsCD,EAAtCC,MAAqBC,EAAiBF,EAA/BG,aACTR,EAFa,UAEJR,EAFI,mBAEcc,EAFd,yBAEoCC,EAFpC,wBAKjBhJ,OAAO0I,SAASC,QAAQF,IAO1BtK,EAAS+K,eA7DoC,kDAgE/CjK,QAAQvB,MAAM,0BAAd,MACAS,EAAS+K,eAjEsC,QAmEjD/K,EAAS2J,aAAgB,IAnEwB,4D,4CCLtCqB,EAAkB,SAACC,EAAmBC,GACjD,IAAMhJ,EAAM,IAAID,KAChB,OAAOkJ,KAAKC,MAAMlJ,EAAImJ,UAAYJ,GAAa,IAAOC,GAgB3CI,EAAoB,SAACC,EAAsBC,GAAvB,OAAuCrC,OAAOsC,KAAKF,GAAKG,QAAO,SAACC,EAAsBC,GAIrH,OAHIA,IAAQJ,IACVG,EAAIC,GAAOL,EAAIK,IAEVD,IACN,KCjCH,4MAcO,IAAME,EAAa,SAACC,GAEzB,OADe,IAAI7J,KAAK6J,GACVC,mBAAmB,UAGtBC,EAAiB,SAAC3C,GAC7B,OAAO,IAAI4C,KAAKC,aAAa,QAAS,CACpCvF,MAAO,WACPwF,SAAU,MACVC,sBAAuB,IACtB/J,OAAOgH,IAGCgD,EAAoB,SAACC,GAChC,OAAQA,GACN,KAAK,EACH,MAAO,UACT,KAAK,EACH,MAAO,MACT,KAAK,EACH,MAAO,SACT,KAAK,EACH,MAAO,WACT,KAAK,EACH,MAAO,UACT,KAAK,EACH,MAAO,aACT,KAAK,EACH,MAAO,YACT,KAAK,EACH,MAAO,SACT,QACE,MAAO,YAIAC,EAA2B,SAACD,GACvC,OAAQA,GACN,IAAK,UACH,OAAO,EACT,IAAK,MACH,OAAO,EACT,IAAK,SACH,OAAO,EACT,IAAK,WACH,OAAO,EACT,IAAK,UACH,OAAO,EACT,IAAK,aACH,OAAO,EACT,IAAK,YACH,OAAO,EACT,IAAK,SACH,OAAO,EACT,QACE,MAAO,M,gCCnEb,IAAME,EAAc,CAAC,IAAK,IAAK,IAAK,KAAM,MAE7BC,EAAQ,CACnBC,UAAW,UACXC,UAAW,QACXC,SAAU,UACVC,WAAY,UACZC,OAAQ,sBAGGC,EAAWP,EAAYjD,KAClC,SAAAyD,GAAE,mCAA0BA,EAA1B,UAGSC,EAAWT,EAAYjD,KAClC,SAAAyD,GAAE,mCAA0BA,EAA1B,U,8DCTSE,EAAwB,SAAC,GAAD,IAAG/G,EAAH,EAAGA,SAAUgH,EAAb,EAAaA,MAAU/G,EAAvB,2CAEnC,6BACEhK,KAAK,OACLgR,OAAQ,IACJhH,EAHN,CAIEiH,IAAKF,IAEL,iBACEG,GAAI,CAAE1F,KAAM,IACZ2F,GAAI,CAAE3F,KAAM,GAAIG,OAAQ,GACxByF,GAAI,CAAE5F,KAAM,GAAIG,OAAQ,GACxB0F,GAAI,CAAE7F,KAAM,GAAIG,OAAQ,GACxB2F,GAAI,CAAE9F,KAAM,GAAIG,OAAQ,GACxB4F,IAAK,CAAE/F,KAAM,GAAIG,OAAQ,IAExB5B,KAKMyH,EAA2B,SAAC,GAAD,IAAGzH,EAAH,EAAGA,SAAUgH,EAAb,EAAaA,MAAU/G,EAAvB,2CAEtC,6BACEhK,KAAK,OACLgR,OAAQ,IACJhH,EAHN,CAIEiH,IAAKF,IAEL,iBACEG,GAAI,CAAE1F,KAAM,IACZ2F,GAAI,CAAE3F,KAAM,GAAIG,OAAQ,GACxByF,GAAI,CAAE5F,KAAM,GAAIG,OAAQ,GACxB0F,GAAI,CAAE7F,KAAM,GAAIG,OAAQ,GACxB2F,GAAI,CAAE9F,KAAM,GAAIG,OAAQ,GACxB4F,IAAK,CAAE/F,KAAM,GAAIG,OAAQ,IAExB5B,K,6BC7CP,+M,oBCAA0H,EAAOC,QAAU,IAA0B,8C,oBCA3CD,EAAOC,QAAU,IAA0B,8C,oBCA3CD,EAAOC,QAAU,IAA0B,6C,sECiE3C,8fAAO,IAAMC,EAA4B,4BAC5BC,EAA2B,2BAC3BC,EAA4B,4BAE5BC,EAA+B,+BAC/BC,EAA8B,8BAC9BC,EAA+B,+BAE/BC,EAA6B,6BAC7BC,EAA4B,4BAE5BC,EAA4B,4BAC5BC,EAA4B,4BAC5BC,EAA2B,2BAC3BC,EAA+B,+BAE/BC,EACX,qCACWC,EACX,0CACWC,EACX,0C,gCCzBF,4dAAO,IAAMC,EAA0B,0BAE1BC,EAAmB,mBAEnBC,EAA2B,2BAC3BC,EAA4B,4BAE5BC,EAAyB,yBACzBC,EAA0B,0BAE1BC,EAAsB,sBACtBC,EAAuB,uBAEvBC,EAAyB,yBACzBC,EAA0B,0BAE1BC,EAAgC,gCAChCC,EAAiC,iCAEjCC,EAAkC,kCAClCC,EAAmC,oC,2QCjFhD,SAASC,IAA2Q,OAA9PA,EAAWzG,OAAO0G,QAAU,SAAUC,GAAU,IAAK,IAAIlM,EAAI,EAAGA,EAAImM,UAAUrT,OAAQkH,IAAK,CAAE,IAAIoM,EAASD,UAAUnM,GAAI,IAAK,IAAI4H,KAAOwE,EAAc7G,OAAO8G,UAAUC,eAAeC,KAAKH,EAAQxE,KAAQsE,EAAOtE,GAAOwE,EAAOxE,IAAY,OAAOsE,IAA2BM,MAAMC,KAAMN,WAEhT,SAASO,EAAyBN,EAAQO,GAAY,GAAc,MAAVP,EAAgB,MAAO,GAAI,IAAkExE,EAAK5H,EAAnEkM,EAEzF,SAAuCE,EAAQO,GAAY,GAAc,MAAVP,EAAgB,MAAO,GAAI,IAA2DxE,EAAK5H,EAA5DkM,EAAS,GAAQU,EAAarH,OAAOsC,KAAKuE,GAAqB,IAAKpM,EAAI,EAAGA,EAAI4M,EAAW9T,OAAQkH,IAAO4H,EAAMgF,EAAW5M,GAAQ2M,EAASvT,QAAQwO,IAAQ,IAAasE,EAAOtE,GAAOwE,EAAOxE,IAAQ,OAAOsE,EAFxMW,CAA8BT,EAAQO,GAAuB,GAAIpH,OAAOuH,sBAAuB,CAAE,IAAIC,EAAmBxH,OAAOuH,sBAAsBV,GAAS,IAAKpM,EAAI,EAAGA,EAAI+M,EAAiBjU,OAAQkH,IAAO4H,EAAMmF,EAAiB/M,GAAQ2M,EAASvT,QAAQwO,IAAQ,GAAkBrC,OAAO8G,UAAUW,qBAAqBT,KAAKH,EAAQxE,KAAgBsE,EAAOtE,GAAOwE,EAAOxE,IAAU,OAAOsE,EAMne,IAAI,EAEJ,IAAMe,cAAc,OAAQ,KAAM,IAAMA,cAAc,QAAS,KAAM,4CAEjE,EAEJ,IAAMA,cAAc,QAAS,KAAM,uBAE/B,EAEJ,IAAMA,cAAc,IAAK,CACvB9J,GAAI,UACJ,YAAa,WACZ,IAAM8J,cAAc,IAAK,CAC1B9J,GAAI,YACJ,YAAa,WACZ,IAAM8J,cAAc,OAAQ,CAC7BC,UAAW,QACXC,EAAG,uQACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,QACXC,EAAG,0TACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,QACXC,EAAG,gLACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,QACXC,EAAG,iRACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,QACXC,EAAG,kRACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,QACXC,EAAG,gNACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,QACXC,EAAG,sTACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,QACXC,EAAG,wTAGD,EAAuB,SAA8BC,GACvD,IAAIC,EAASD,EAAKC,OACd1J,EAAQyJ,EAAKzJ,MACbnB,EAAQkK,EAAyBU,EAAM,CAAC,SAAU,UAEtD,OAAO,IAAMH,cAAc,MAAOjB,EAAS,CACzCsB,QAAS,eACTC,IAAKF,GACJ7K,GAAQ,OAAiB9D,IAAViF,EAAsB,EAAQA,EAAQ,IAAMsJ,cAAc,QAAS,KAAMtJ,GAAS,KAAM,IAGxG6J,EAAa,IAAMC,YAAW,SAAUjL,EAAO+K,GACjD,OAAO,IAAMN,cAAc,EAAsBjB,EAAS,CACxDqB,OAAQE,GACP/K,O,GAEU,I,2CCtDTkL,EAAS,IAAOA,OAEhBC,EAAgBlE,YAAH,uCAGfN,IAAS,GAHM,iDAQbyE,EAAYnE,YAAH,SACJZ,IAAME,UADF,eAECF,IAAMG,SAFP,uCAMFH,IAAME,UANJ,2BAUT8E,EAAapE,YACfkE,EADY,IAEZtE,IAAS,GAFG,oEAKgBR,IAAMI,WALtB,4BASV6E,EAAYrE,YAAH,wBACWZ,IAAMI,WADjB,uCAIXE,IAAS,GAJE,0CAyMA4E,EAhMY,WAIzB,OACE,YAACL,EAAD,CAAQjE,IAAKmE,GACX,iBAAKpV,KAAK,QACR,iBAAKkR,GAAI,CAAE1F,KAAM,IAAM4F,GAAI,CAAE5F,KAAM,GAAK6F,GAAI,CAAE7F,KAAM,IAClD,iBAAKyF,IAAKkE,GACR,YAAC,EAAD,CAAiB5K,MAAO,CAAEiL,MAAO,YAEnC,iBAAKvE,IAAKkE,GACR,iBACEnV,KAAK,OACLyV,KAAK,sEACLlL,MAAO,CAAEmL,OAAQ,SAAUC,YAAa,QAExC,mBACEC,IAAKC,IACLC,IAAI,cACJvL,MAAO,CAAEiL,MAAO,YAGpB,iBACExV,KAAK,OACLyV,KAAK,iEACLlL,MAAO,CAAEmL,OAAQ,SAAUC,YAAa,QAExC,mBACEC,IAAKG,IACLD,IAAI,cACJvL,MAAO,CAAEiL,MAAO,cAKxB,iBACEtE,GAAI,CAAE1F,KAAM,GACZ4F,GAAI,CAAE5F,KAAM,EAAGG,OAAQ,GACvB0F,GAAI,CAAE7F,KAAM,EAAGG,OAAQ,IAEvB,qBAEE,iBAAQ3L,KAAK,OAAOuK,MAAO,CAAEoL,YAAa,QACxC,iBACEK,IAAI,sBACJtC,OAAO,SACP+B,KAAK,uCAHP,0BAUJ,qBACE,iBAAQzV,KAAK,OAAOuK,MAAO,CAAEoL,YAAa,QACxC,iBACEK,IAAI,sBACJtC,OAAO,SACP+B,KAAK,oCAHP,oBAUJ,qBACE,oBAAMlL,MAAO,CAAE0L,WAAY,SAA3B,YAEF,qBACE,iBACEjW,KAAK,OACLyV,KAAK,mBACLlL,MAAO,CAAEoL,YAAa,QAEtB,iBAAM3V,KAAK,UALb,oBAUJ,iBACEkR,GAAI,CAAE1F,KAAM,IACZ4F,GAAI,CAAE5F,KAAM,EAAGG,OAAQ,GACvB0F,GAAI,CAAE7F,KAAM,EAAGG,OAAQ,GACvB2F,GAAI,CAAE9F,KAAM,EAAGG,OAAQ,IAEvB,iBAAKsF,IAAKoE,GACR,qBACE,iBAAKnE,GAAI,CAAE1F,KAAM,IAAM4F,GAAI,CAAE5F,KAAM,IACjC,iBAAQxL,KAAK,OAAOyV,KAAK,oBACvB,iBAAMzV,KAAK,UADb,oBAOJ,qBACE,iBAAKkR,GAAI,CAAE1F,KAAM,IAAM4F,GAAI,CAAE5F,KAAM,IACjC,iBAAQxL,KAAK,QACX,iBACEgW,IAAI,sBACJtC,OAAO,SACP+B,KAAK,iDAHP,2BAWN,qBACE,iBAAKvE,GAAI,CAAE1F,KAAM,IAAM4F,GAAI,CAAE5F,KAAM,IACjC,iBAAQxL,KAAK,QACX,iBACEgW,IAAI,sBACJtC,OAAO,SACP+B,KAAK,iDAHP,qBAWN,qBACE,YAAC,IAAD,CAAMS,GAAG,UACP,iBAAQlW,KAAK,QAAb,WAGJ,qBACE,iBACEA,KAAK,OACL0T,OAAO,SACPsC,IAAI,sBACJP,KAAK,iDAJP,WASF,qBACE,iBACEzV,KAAK,OACLgW,IAAI,sBACJP,KAAK,mCAHP,4BASJ,iBAAKxE,IAAKkE,GACR,iBACEnV,KAAK,OACL0T,OAAO,SACPsC,IAAI,sBACJP,KAAK,8CAEL,iBAAMzV,KAAK,cAEb,iBACEA,KAAK,OACL0T,OAAO,SACPsC,IAAI,sBACJP,KAAK,iCAEL,iBAAMzV,KAAK,aAEb,iBACEA,KAAK,OACL0T,OAAO,SACPsC,IAAI,sBACJP,KAAK,gDAEL,iBAAMzV,KAAK,eAEb,iBACEA,KAAK,OACL0T,OAAO,SACPsC,IAAI,sBACJP,KAAK,4DAEL,iBAAMzV,KAAK,gBAKnB,iBAAKA,KAAK,OAAOmW,QAAQ,SAASlF,IAAKqE,GACrC,oE,+EC5OR,SAAS,IAA2Q,OAA9P,EAAWvI,OAAO0G,QAAU,SAAUC,GAAU,IAAK,IAAIlM,EAAI,EAAGA,EAAImM,UAAUrT,OAAQkH,IAAK,CAAE,IAAIoM,EAASD,UAAUnM,GAAI,IAAK,IAAI4H,KAAOwE,EAAc7G,OAAO8G,UAAUC,eAAeC,KAAKH,EAAQxE,KAAQsE,EAAOtE,GAAOwE,EAAOxE,IAAY,OAAOsE,IAA2BM,MAAMC,KAAMN,WAEhT,SAAS,EAAyBC,EAAQO,GAAY,GAAc,MAAVP,EAAgB,MAAO,GAAI,IAAkExE,EAAK5H,EAAnEkM,EAEzF,SAAuCE,EAAQO,GAAY,GAAc,MAAVP,EAAgB,MAAO,GAAI,IAA2DxE,EAAK5H,EAA5DkM,EAAS,GAAQU,EAAarH,OAAOsC,KAAKuE,GAAqB,IAAKpM,EAAI,EAAGA,EAAI4M,EAAW9T,OAAQkH,IAAO4H,EAAMgF,EAAW5M,GAAQ2M,EAASvT,QAAQwO,IAAQ,IAAasE,EAAOtE,GAAOwE,EAAOxE,IAAQ,OAAOsE,EAFxM,CAA8BE,EAAQO,GAAuB,GAAIpH,OAAOuH,sBAAuB,CAAE,IAAIC,EAAmBxH,OAAOuH,sBAAsBV,GAAS,IAAKpM,EAAI,EAAGA,EAAI+M,EAAiBjU,OAAQkH,IAAO4H,EAAMmF,EAAiB/M,GAAQ2M,EAASvT,QAAQwO,IAAQ,GAAkBrC,OAAO8G,UAAUW,qBAAqBT,KAAKH,EAAQxE,KAAgBsE,EAAOtE,GAAOwE,EAAOxE,IAAU,OAAOsE,EAMne,IAAI,EAEJ,IAAMe,cAAc,OAAQ,KAAM,IAAMA,cAAc,QAAS,KAAM,gDAEjE,EAEJ,IAAMA,cAAc,QAAS,KAAM,sBAE/B,EAEJ,IAAMA,cAAc,IAAK,CACvB9J,GAAI,UACJ,YAAa,WACZ,IAAM8J,cAAc,IAAK,CAC1B9J,GAAI,YACJ,YAAa,WACZ,IAAM8J,cAAc,OAAQ,CAC7BC,UAAW,SACXC,EAAG,uQACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,SACXC,EAAG,0TACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,SACXC,EAAG,gLACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,SACXC,EAAG,iRACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,QACXC,EAAG,kRACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,QACXC,EAAG,gNACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,SACXC,EAAG,sTACD,IAAMF,cAAc,OAAQ,CAC9BC,UAAW,SACXC,EAAG,wTAGD,EAA0B,SAAiCC,GAC7D,IAAIC,EAASD,EAAKC,OACd1J,EAAQyJ,EAAKzJ,MACbnB,EAAQ,EAAyB4K,EAAM,CAAC,SAAU,UAEtD,OAAO,IAAMH,cAAc,MAAO,EAAS,CACzCK,QAAS,eACTC,IAAKF,GACJ7K,GAAQ,OAAiB9D,IAAViF,EAAsB,EAAQA,EAAQ,IAAMsJ,cAAc,QAAS,KAAMtJ,GAAS,KAAM,IAGxG,EAAa,IAAM8J,YAAW,SAAUjL,EAAO+K,GACjD,OAAO,IAAMN,cAAc,EAAyB,EAAS,CAC3DI,OAAQE,GACP/K,O,GAEU,I,kECrCf,IAAMoM,GAAU3S,cAEV4S,GAAS,IAAOA,OACdC,G,IAAAA,QAASC,G,IAAAA,KAEXC,GAAY,oGAKZC,GAAUxF,YAAH,eAGTN,IAAS,GAHA,uCAQP+F,GAAczF,YAAH,mBAEbN,IAAS,GAFI,sBAKbA,IAAS,GALI,4CAUXgG,GAAc,+EAIdC,GAAO,iKAQPC,GAAW5F,YACb2F,GADU,IAEVF,GAFU,IAGVF,GAHU,yBAMRM,GAAW7F,YACb2F,GADU,IAEVF,GAFU,IAGV/F,IAAS,GAHC,0KAmBVA,IAAS,GAnBC,iFA4BRoG,GAAa9F,YACf2F,GADY,0EAOVI,GAAa/F,YACfN,IAAS,GADG,IAEV6F,GAFU,0BAKVS,GAAgBhG,YAClB2F,GADe,yBAIbM,GAAU,8G,gGAsIVC,GAAsB,SAAC,GAYtB,IAXL9L,EAWI,EAXJA,QACA0F,EAUI,EAVJA,MACAqG,EASI,EATJA,aACAC,EAQI,EARJA,eACAC,EAOI,EAPJA,aACAC,EAMI,EANJA,yBACAC,EAKI,EALJA,wBACAC,EAII,EAJJA,mBACAC,EAGI,EAHJA,+BACAC,EAEI,EAFJA,WACAC,EACI,EADJA,aAEMC,EAAUC,cAOhB,OACE,iBACE5M,UAAU,QACV6M,OAAO,OACPC,UAAU,EACVC,QAASb,EACT/L,QAASA,EACTf,UAAW,CAAED,QAAS,SAAUO,UAAW,WAE3C,qBACE,qBACE,iBACE5K,KAAK,OACLkY,OAAO,EACPxM,QAAS0L,EACTnG,IAAKA,YACDiG,GADD,8CAKH,iBACElX,KAAK,cACLuK,MAAO,CAAE8F,MAAOA,IAAMC,UAAW6H,SAAU,eAKnD,iBACElH,IAAG,IAOH,qBACE,iBAAS1G,MAAO,CAAEmL,OAAQ,UACzBkC,EACC,YAAC,WAAD,KACE,YAAC,GAAD,CACEQ,KAAK,SACLrH,MAAOA,EACPsG,eAAgBA,EAChBE,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,mBAAoBA,EACpBC,+BAAgCA,EAChCC,WAAYA,EACZjM,QAAS0L,IAEX,iBAAS7M,MAAO,CAAEmL,OAAQ,WAE1B,KACHkC,EACC,iBAAM3G,IAAKF,EAAOqH,KAAK,UACrB,YAAC7B,GAAD,CAAM7K,QA7DH,WACb4L,IACAF,IACAS,EAAQhL,KAAK,OA0DH,YAGF,iBAAMoE,IAAKF,EAAOqH,KAAK,UACrB,YAAC7B,GAAD,CAAM7K,QAAS0L,GACb,iBAAG3B,KAAI,UAAKW,GAAQiC,kBAApB,YAEF,YAAC9B,GAAD,CAAM7K,QAAS0L,GACb,YAAC,IAAD,CAAMlB,GAAG,UAAT,gBAUVoC,GAAmB,SAAC,GAUnB,IAAD,IATJF,YASI,MATG,aASH,EARJrH,EAQI,EARJA,MAEA0G,GAMI,EAPJJ,eAOI,EANJI,oBACAF,EAKI,EALJA,yBACAG,EAII,EAJJA,+BACAF,EAGI,EAHJA,wBACAG,EAEI,EAFJA,WACAjM,EACI,EADJA,QAEM6M,EAAgB,WACf7M,GACLA,KAmBI9H,EAAW4U,cACXrK,EAAWsK,cAEXzM,GADU8L,cACeY,aAC7B,SAAC1R,GAAD,OAAwBA,EAAMiF,mBAAmBD,2BAE7C2M,EAAqCD,aACzC,SAAC1R,GAAD,OACEA,EAAMiF,mBAAmB0M,sCAGvBtY,EAA0BqY,aAC9B,SAAC1R,GAAD,OAAwBA,EAAM7G,KAAKE,2BAE/BuY,EAAmCF,aACvC,SAAC1R,GAAD,OACEA,EAAMhE,eAAe4V,oCAEnBnR,EAAmBiR,aACvB,SAAC1R,GAAD,OAAwBA,EAAM7G,KAAKsH,oBAC/BoR,EAA2B,SAAC3M,GAChCwL,EAA+BxL,GAC/BqM,KAQIO,EAAqB1M,YAAyBuL,GAC9CoB,EA/CkB,CACtB,QAAS,OACT,2BAA4B,QAC5B,oBAAqB,QACrB,QAAS,OACT,WAAY,UACZ,aAAc,YACd,wBAAyB,YACzB,gCAAiC,YACjC,8BAA+B,YAC/B,uCAAwC,YACxC,aAAc,YACd,SAAU,QACV,SAAU,SAkCuB5K,EAAS6K,UACxCC,EAAeF,EAAkB,CAACA,QAAmB7S,EAEzD,GAAwB,cAApB6S,GAAuD,UAApBA,EAA6B,CAClE,IAAIG,EAAYlN,EAAuBxF,KAAK,MACvCwF,EAAuB1L,QAAUwY,EAAmBxY,SACvD4Y,EAAYJ,EAAmB,GAAGzM,YAAY7F,KAAK,MAErDyS,EAAe,CAAC,GAAD,OAAIF,EAAJ,YAAuBG,IAGxC,GAAwB,cAApBH,EAAiC,CACnC,IAAMG,EAAYP,EAAmCnS,KAAK,KAC1DyS,EAAe,CAAC,aAAD,OAAcC,IAS/B,MANwB,YAApBH,IACFE,EAAe,CAAC,WAAD,OAAYL,KAEL,UAApBG,IACFE,EAAe,CAAC,SAAD,OAAUL,KAGzB,iBAAMR,KAAMA,EAAMnH,IAAKF,EAAOkI,aAAcA,GAC1C,YAAC1C,GAAD,CAAMnH,IAAI,OAAO1D,QAAS6M,GACxB,YAAC,IAAD,CAAMrC,GAAG,SAAT,SAGDqB,EAA2B,KAC1B,YAACjB,GAAD,CAASnL,MAAM,gBAAgBgO,SAAU3B,GACtCG,GACCA,EAAWxK,KAAI,SAAC1M,EAAa+G,GAAd,OACb,YAAC+O,GAAD,CACEnH,IAAK5H,EACLkN,UAAU,SACVhJ,QAAS,kBAAM+L,EAAmBhX,EAAOC,aAExCD,EAAOC,YAAcL,EACpB,yBAAKI,EAAOmM,YAAZ,KAEAnM,EAAOmM,iBAOjB,YAAC2J,GAAD,KACA,iBAAG7C,OAAO,SAAS+B,KAAI,UAAKW,GAAQgD,wBAApC,aAMF,YAAC9C,GAAD,CACElH,IAAI,QACJjE,MAAM,eACNgO,SAAU3B,GAEV,YAACjB,GAAD,CAAMnH,IAAI,2BAA2B1D,QAAS6M,GAC5C,YAAC,IAAD,CAAMrC,GAAG,4BAAT,eAEF,YAACK,GAAD,CAAM7K,QAAS6M,GACb,YAAC,IAAD,CAAMrC,GAAG,sBAAT,SAEF,YAACK,GAAD,CAAM7K,QAAS6M,GACb,YAAC,IAAD,CAAMrC,GAAG,qBAAT,SAIJ,YAACK,GAAD,CAAMnH,IAAI,OAAO1D,QAAS6M,GACxB,YAAC,IAAD,CAAMrC,GAAG,SAAT,cA4CDnW,aAAc,cACb,YAACuW,GAAD,CACElH,IAAI,YACJjE,MAAM,YACNgO,SAAwC,IAA9BL,EAAmBxY,QAE5BwY,EAAmB3L,KAAI,SAAAkM,GACtB,OACE,YAAC/C,GAAD,CACElH,IAAG,2BAAsBiK,EAAO3Y,WAChCyK,MACE,oBAAMZ,MAAO,CAAE+O,aAAc,KAC1B,IACAD,EAAOzM,YAAa,MAIzB,YAAC2J,GAAD,CACEnH,IAAG,oBAAeiK,EAAOhN,YAAY7F,KAAK,MAC1CkF,QAAS,kBACP9H,EAAS2V,aAA8BF,EAAOhN,gBAGhD,YAAC,IAAD,CAAM6J,GAAG,cAAT,oBAEDmD,EAAOtP,SAASzJ,OAAS,GACxB+Y,EAAOtP,SAASoD,KAAI,SAAAqM,GAClB,OACE,YAACjD,GAAD,CACEnH,IAAG,oBAAeoK,EAAM9Y,WACxBgL,QAAS,kBACP9H,EACE2V,aAA8B,CAACC,EAAM9Y,eAIzC,YAAC,IAAD,CAAMwV,GAAG,cAAT,IAAwBsD,EAAM5M,sBAQ5C,KACH7M,aAAc,cACb,YAACuW,GAAD,CACElH,IAAI,QACJjE,MAAM,QACNgO,SAAwC,IAA9BL,EAAmBxY,QAE5BwY,EAAmB3L,KAAI,SAAAkM,GACtB,OACE,YAAC/C,GAAD,CACElH,IAAG,uBAAkBiK,EAAO3Y,WAC5ByK,MACE,oBAAMZ,MAAO,CAAE+O,aAAc,KAC1B,IACAD,EAAOzM,YAAa,MAIzB,YAAC2J,GAAD,CACEnH,IAAG,gBAAWiK,EAAOhN,YAAY7F,KAAK,MACtCkF,QAAS,kBAAMmN,EAAyBQ,EAAOhN,eAE/C,YAAC,IAAD,CAAM6J,GAAG,UAAT,mBAEDmD,EAAOtP,SAASzJ,OAAS,GACxB+Y,EAAOtP,SAASoD,KAAI,SAAAqM,GAClB,OACE,YAACjD,GAAD,CACEnH,IAAG,gBAAWoK,EAAM9Y,WACpBgL,QAAS,kBACPmN,EAAyB,CAACW,EAAM9Y,cAGlC,YAAC,IAAD,CAAMwV,GAAG,UAAT,IAAoBsD,EAAM5M,sBAQxC,KACJ,YAAC0J,GAAD,CACElH,IAAI,QACJjE,MAAM,QACNgO,SAAwC,IAA9BL,EAAmBxY,QAE5BwY,EAAmB3L,KAAI,SAAAkM,GACtB,OACE,YAAC/C,GAAD,CACElH,IAAG,uBAAkBiK,EAAO3Y,WAC5ByK,MACE,oBAAMZ,MAAO,CAAE+O,aAAc,KAAOD,EAAOzM,YAA3C,MAGDyM,EAAOtP,SAASoD,KAAI,SAAAqM,GACnB,OACE,YAACjD,GAAD,CACEnH,IAAG,gBAAWoK,EAAM9Y,WACpBgL,QAAS,kBACP9H,EACEP,aAAoCmW,EAAM9Y,cAI9C,YAAC,IAAD,CAAMwV,GAAG,UAAT,IAAoBsD,EAAM5M,sBAQxC,YAAC0J,GAAD,CACElH,IAAI,UACJjE,MAAM,UACNgO,SAAwC,IAA9BL,EAAmBxY,QAE5BwY,EAAmB3L,KAAI,SAAAkM,GACtB,OACE,YAAC/C,GAAD,CACElH,IAAG,yBAAoBiK,EAAO3Y,WAC9ByK,MACE,oBAAMZ,MAAO,CAAE+O,aAAc,KAAOD,EAAOzM,YAA3C,MAGDyM,EAAOtP,SAASoD,KAAI,SAAAqM,GACnB,OACE,YAACjD,GAAD,CACEnH,IAAG,kBAAaoK,EAAM9Y,WACtBgL,QAAS,kBACP9H,EACEP,aAAoCmW,EAAM9Y,cAI9C,YAAC,IAAD,CAAMwV,GAAG,YAAT,IAAsBsD,EAAM5M,sBAQvCnF,GAAoB,YAAC8O,GAAD,KACnB,YAAC,IAAD,CAAML,GAAG,gBAAT,mBAEHzO,GACC,YAAC6O,GAAD,CACElH,IAAI,WACJjE,MAAM,cAEN,YAACoL,GAAD,CAAMnH,IAAI,kBAAkB1D,QAAS6M,GACnC,YAAC,IAAD,CACErC,GAAI,CACF8C,SAAU,kBACVhS,MAAO,CACLyS,KAAM,OACNC,IAAK,OALX,WASF,YAACnD,GAAD,CAAMnH,IAAI,mBAAmB1D,QAAS6M,GACpC,YAAC,IAAD,CAAMrC,GAAI,CACR8C,SAAU,kBACVhS,MAAO,CACLyS,KAAM,OACNC,IAAK,OAJT,eAaGC,GAzjBc,SAAC,GAQvB,IAPL/B,EAOI,EAPJA,aACAD,EAMI,EANJA,WACAiC,EAKI,EALJA,eACAC,EAII,EAJJA,OACAxC,EAGI,EAHJA,eACAI,EAEI,EAFJA,mBACAC,EACI,EADJA,+BAGMG,EAAUC,cAFZ,EAG0B1M,oBAAS,GAHnC,mBAGGC,EAHH,KAGYC,EAHZ,KAIEwO,EAAmB,kBAAMxO,GAAYD,IAErCmM,EAA0BoC,GAA4C,IAA1BA,EAAetZ,OAC3DiX,EAA2BqC,GAAkBA,EAAetZ,QAAU,EAE5E,OACE,YAAC,WAAD,KACE,YAAC+V,GAAD,CAAQ9L,MAAO,CAAEF,QAAS,YAAaK,WAAY,UACjD,iBAAK1K,KAAK,OAAO+Z,MAAM,UACrB,iBAAK7I,GAAI,CAAE1F,KAAM,IAAM4F,GAAI,CAAE5F,KAAM,GAAK6F,GAAI,CAAE7F,KAAM,IAClD,YAAC,IAAD,CAAM0K,GAAG,KACP,YAAC,EAAD,CAAgBjF,IAAKwF,OAGxBmB,EACC,YAAC,WAAD,KACE,iBACE1G,GAAI,CAAE1F,KAAM,GACZ4F,GAAI,CAAE5F,KAAM,GAAIG,OAAQ,GACxB0F,GAAI,CAAE7F,KAAM,GAAIG,OAAQ,GACxB2F,GAAI,CAAE9F,KAAM,GAAIG,OAAQ,IAExB,YAAC,GAAD,CACEoF,MAAO+F,GACPO,eAAgBA,EAChBI,mBAAoBA,EACpBC,+BACEA,EAEFH,yBAA0BA,EAC1BC,wBAAyBA,EACzBG,WAAYA,KAGhB,iBACEzG,GAAI,CAAE1F,KAAM,GACZ4F,GAAI,CAAE5F,KAAM,GACZ6F,GAAI,CAAE7F,KAAM,EAAGG,OAAQ,GACvB2F,GAAI,CAAE9F,KAAM,GACZyF,IAAK+F,IAEL,iBACEoB,KAAK,aACLnH,IAAK8F,GACLkC,aA/Ca,IAiDb,YAAC3C,GAAD,CACErF,IAAK0F,GACLxL,MAAO,iBAAQyK,IAAKoE,KAAavO,KAAK,WAEtC,YAAC8K,GAAD,CACE7K,QAAS,WACPmO,IACAhC,EAAQhL,KAAK,OAHjB,cAaR,iBAAKqE,GAAI,CAAE1F,KAAM,GAAK4F,GAAI,CAAE5F,KAAM,EAAGG,OAAQ,KAC3C,iBAAMsF,IAAK4F,GAAUuB,KAAK,cACxB,YAAC7B,GAAD,KACE,YAAC,IAAD,CAAML,GAAG,UAAT,WAEF,YAACK,GAAD,KACE,iBAAGd,KAAI,UAAKW,GAAQiC,kBAApB,cAKR,iBAAKnH,GAAI,CAAE1F,KAAM,EAAGqB,KAAM,GAAKuE,GAAI,CAAE5F,KAAM,IACzC,iBACExL,KAAK,OACLiR,IAAKiG,GACLgB,OAAO,EACPxM,QAASoO,GAET,iBACE9Z,KAAK,YACLuK,MAAO,CAAE8F,MAAOA,IAAMC,UAAW6H,SAAU,gBAMrD,YAAC,GAAD,CACEP,aAAcA,EACdvM,QAASA,EACT0F,MAAOkG,GACPG,aAAc0C,EACdzC,eAAgBA,EAChBC,aAAcuC,EACdpC,mBAAoBA,EACpBC,+BAAgCA,EAChCH,yBAA0BA,EAC1BC,wBAAyBA,EACzBG,WAAYA,M,UC5OpB,IAAMsC,GAAU,IAAOA,Q,iGAkFRC,gBAjEoB,SAAC,GAc7B,IAbLnQ,EAaI,EAbJA,SACA6N,EAYI,EAZJA,aACAD,EAWI,EAXJA,WACAkC,EAUI,EAVJA,OACAD,EASI,EATJA,eAEAO,EAOI,EAPJA,uBACAC,EAMI,EANJA,oBACAC,EAKI,EALJA,cACAhD,EAII,EAJJA,eACAI,EAGI,EAHJA,mBACAC,EAEI,EAFJA,+BACAvJ,EACI,EADJA,SAEMvK,EAAW4U,cAKjB,OAJA8B,qBAAU,WACR1W,EAAS8D,kBACR,CAAC9D,IAEAuK,EAAS6K,SAAS/K,SAAS,WACtB,YAAC,WAAD,KAAWlE,GAIlB,iBAAMwQ,SAAUH,GACd,iBAAQ7P,MAAO,CAAEiQ,UAAW,QAAS5P,UAAW,WAC9C,YAAC,GAAD,CACEgN,aAAcA,EACdD,WAAYA,EACZkC,OAAQA,EACRD,eAAgBA,EAChBvC,eAAgBA,EAChBI,mBAAoBA,EACpBC,+BAAgCA,IAElC,YAACuC,GAAD,CACEhJ,IAAG,IAaFlH,GAEH,YAAC,EAAD,MACCoQ,GACCM,EAAA,EAAatX,MAAM,CACjBuX,QAAS,kBACTC,YACE,oEACF1C,QAASoC,S,UCpEfO,GAAqB,CACzBf,OAAQnY,IACR2Y,cAAe/M,IACf+J,eAAgBjK,KAChBqK,mBAAoBvV,IACpBwV,+BAAgCpL,MAGnBuO,gBAhBS,SAAC7T,GAAD,MAAyB,CAC/C2Q,WAAY3Q,EAAM7G,KAAKC,QACvBwX,aAAc5Q,EAAM7G,KAAK2a,WACzBlB,eAAgB5S,EAAM7G,KAAKC,QAC3Bga,oBAAqBpT,EAAM+T,UAAUC,YACrCb,uBAAwBnT,EAAM+T,UAAUE,YAaxCL,GAFaC,CAGbK,I,kDC1BIC,G,gMACeC,GAEfnH,KAAKjK,MAAMmE,SAAS6K,WAAaoC,EAAUjN,SAAS6K,UACnD/E,KAAKjK,MAAMmE,SAAS6K,SAAS/K,SAAS,UAEvCxI,OAAO4V,SAAS,EAAG,K,+BAIrB,OAAOpH,KAAKjK,MAAMD,a,GAVIuR,IAAMC,WAcjBrB,eAAWiB,I,cCC1B,IAAMK,GAAmBC,gBAAK,kBAAM,8EAC9BC,GAAiBD,gBAAK,kBAAM,8EAC5BE,GAAyBF,gBAAK,kBAAM,mCACpCG,GAAgBH,gBAAK,kBAAM,8EAC3BI,GAAgBJ,gBAAK,kBAAM,mCAC3BK,GAAqBL,gBAAK,kBAAM,8EAChCM,GAAgBN,gBAAK,kBAAM,mCAC3BO,GAAiBP,gBAAK,kBAAM,+EAC5BQ,GAAkBR,gBAAK,kBAAM,8EAC7BS,GAA0BT,gBAAK,kBAAM,8EACrCU,GAAyBV,gBAAK,kBAAM,+EACpCW,GAAgBX,gBAAK,kBAAM,8EAC3BY,GAAoBZ,gBAAK,kBAAM,8EAC/Ba,GAAqBb,gBAAK,kBAAM,8EAChCc,GAA0Bd,gBAAK,kBAAM,8EACrCe,GAA2Bf,gBAAK,kBACpC,8EAEIgB,GAAmBhB,gBAAK,kBAAM,iEAC9BiB,GAAiBjB,gBAAK,kBAAM,mCAC5BkB,GAAkBlB,gBAAK,kBAAM,8EAE7BmB,IADqBnB,gBAAK,kBAAM,+EACdA,gBAAK,kBAAM,oCAC7BoB,GAAmBpB,gBAAK,kBAAM,8EAC9BqB,GAAoBrB,gBAAK,kBAAM,0DAC/BsB,GAAqBtB,gBAAK,kBAAM,6EAGhCuB,GAA2BC,SAASC,eAAe,QACrDF,KACFA,GAAKzS,MAAMwN,OAAS,QAGtB,IAAMoF,GAID,SAAAnT,GAEH,OADmB0O,aAAY,SAAC1R,GAAD,OAAwBA,EAAM7G,KAAK2a,cAEhE,YAAC,IAAD,CAAOsC,KAAMpT,EAAMoT,KAAMC,MAAOrT,EAAMqT,MAAOC,UAAWtT,EAAMsT,YAE9D,YAAC,IAAD,CAAUpH,GAAG,O,sHAqIFqH,GAjIO,WACpB,OACE,YAAC,IAAD,KACE,YAAC,IAAD,CAAUtd,MAAOA,KACf,YAAC,IAAD,CAAaud,UAAWA,KACtB,YAAC,GAAD,KACE,YAACC,GAAD,KACE,YAAC,WAAD,CACEC,SACE,mBACEzM,IAAG,IAOH,iBACEsJ,UAAQ,EACR9O,KAAK,QACLkS,UAAW,iBAAM3d,KAAK,qBAAqB4d,MAAI,QAKrD,YAAC,IAAD,KACE,YAAC,IAAD,CAAOR,KAAK,IAAIC,OAAK,EAACC,UAAWvB,KAEjC,YAAC,IAAD,CAAOqB,KAAK,gBAAgBE,UAAWtB,KACvC,YAAC,IAAD,CACEoB,KAAK,uBACLE,UAAWnB,KAGb,YAAC,IAAD,CAAOiB,KAAK,SAASE,UAAWtB,KAChC,YAAC,IAAD,CAAOoB,KAAK,UAAUE,UAAWrB,KACjC,YAAC,IAAD,CACEmB,KAAK,kBACLE,UAAWpB,KAEb,YAAC,IAAD,CAAOkB,KAAK,QAAQE,UAAWlB,KAC/B,YAAC,IAAD,CACEgB,KAAK,kBACLE,UAAWf,KAEb,YAAC,IAAD,CACEa,KAAK,oBACLE,UAAWjB,KAEb,YAAC,IAAD,CACEe,KAAK,qBACLE,UAAWhB,KAEb,YAAC,IAAD,CACEc,KAAK,2BACLE,UAAWd,KAEb,YAAC,IAAD,CAAOY,KAAK,SAASE,UAAWb,KAChC,YAAC,IAAD,CAAOW,KAAK,SAASE,UAAWZ,KAChC,YAAC,IAAD,CACEU,KAAK,yBACLE,UAAW3B,KAMb,YAAC,GAAD,CACEyB,KAAK,iBACLE,UAAW1B,KAGb,YAAC,GAAD,CAAcwB,KAAK,SAASE,UAAW5B,KAEvC,YAAC,GAAD,CAAc0B,KAAK,SAASE,UAAW1B,KAEvC,YAAC,GAAD,CAAcwB,KAAK,QAAQE,UAAWzB,KACtC,YAAC,GAAD,CACEuB,KAAK,aACLE,UAAWxB,KAEb,YAAC,GAAD,CAAcsB,KAAK,WAAWE,UAAW9B,KAiBzC,YAAC,IAAD,CACE4B,KAAK,qCACLE,UAAWX,KAEb,YAAC,IAAD,CACES,KAAK,gCACLE,UAAWX,KAEb,YAAC,IAAD,CACES,KAAK,eACLE,UAAWT,KAEb,YAAC,IAAD,CACEO,KAAK,2DACLE,UAAWR,KAEb,YAAC,IAAD,CACEM,KAAK,4DACLE,UAAWP,MAGf,YAACH,GAAD,aC3KIiB,QACW,cAA7BpY,OAAO0I,SAAS2P,UAEe,UAA7BrY,OAAO0I,SAAS2P,UAEhBrY,OAAO0I,SAAS2P,SAASC,MACvB,2DCZNC,IAASC,OAAO,YAAC,GAAD,MAAShB,SAASC,eAAe,SDmI3C,kBAAmBrP,WACrBA,UAAUqQ,cAAcC,MAAMC,MAAK,SAAAC,GACjCA,EAAaC,iB,gCEqBnB,oVAAO,IAAMC,EAA8B,+BAC9BC,EAAwB,wBACxBC,EACX,kCACWC,EAAgC,gCAChCC,EACX,sCACWC,EAA0B,0BAC1BC,EACX,sCACWC,EACX,2CACWC,EACX,yCACWC,EAAqB,sB,gCC5KlC,oVA8EO,IAAMC,EAA6B,6BACxCC,EAA6B,6BAC7BC,EAA8B,8BAC9BC,EAAuB,uBACvBC,EAAyB,yBACzBC,EAA0B,0BAC1BC,EAA+B,+BAC/BC,EAAyB,yBACzBC,EAAgB,gBAChBC,EAAc,e,gCCjDhB,oVAAO,IAAMC,EAA0B,0BAE1BC,EAAuB,uBACvBC,EAAsB,sBACtBC,EAAuB,uBACvBC,EAAuB,uBAEvBC,EAA4B,4BAC5BC,EAA2B,2BAC3BC,EAA4B,4BAE5BC,EAA+B,+BAC/BC,EAA8B,+B,gCCP3C,wIAAO,IAAMtd,EAA8B,8BAC9BM,EAA6B,6BAC7BH,EAA8B,8BAC9BM,EACX,4C,wGC7BI8c,EAAoC,CACxCC,WAAW,EACXxF,YAAY,EACZyF,OAAQ,GACRC,sCAAsC,EACtCC,mCAAoC,GACpCrgB,QAAS,GACTsgB,qBAAsB,KACtBC,mBAAoB,KACpBC,gBAAiB,GACjBnZ,kBAAkB,GA4GLoZ,EAzGe,WAGH,IAFzB7Z,EAEwB,uDAFhBqZ,EACRS,EACwB,uCACxB,OAAQA,EAAO9gB,MACb,KAAKe,IACH,OAAO,eACFiG,EADL,CAEEsZ,UAAWQ,EAAOhgB,UAEtB,KAAK2B,IACH,OAAO,eAAKuE,EAAZ,CAAmB2Z,mBAAoBG,EAAOhgB,UAChD,KAAKyB,IACH,OAAO,eAAKyE,EAAZ,CAAmB0Z,qBAAsBI,EAAOhgB,UAClD,KAAKW,IACH,OAAO,eAAKuF,EAAZ,CAAmBS,iBAAkBqZ,EAAOhgB,UAC9C,KAAKG,IACH,OAAO,eACF+F,EADL,CAEEsZ,WAAW,EACXxF,WAAYgG,EAAOhgB,QAAQ8F,QAC3Bma,mBAAoBD,EAAOhgB,QAAQ+F,UAEvC,KAAK1F,IACH,OAAO,eACF6F,EADL,CAEE0Z,qBAAsB,KACtBC,mBAAoB,KACpBI,wBAAoB7a,IAExB,KAAK7E,IACH,OAAO,eACF2F,EADL,CAEEsZ,WAAW,EACXxF,YAAY,EACZiG,wBAAoB7a,EACpBG,SAAUya,EAAOhgB,QAAQmG,KACzBuG,OAAQsT,EAAOhgB,QAAQuN,OACvB2S,WAAYF,EAAOhgB,QAAQmgB,WAC3BC,aAAcJ,EAAOhgB,QAAQ0N,MAC7Bf,eAAgBqT,EAAOhgB,QAAQqgB,eAC/BC,UAAWN,EAAOhgB,QAAQugB,MAC1BC,cAAeR,EAAOhgB,QAAQygB,UAC9BC,aAAcV,EAAOhgB,QAAQ2gB,SAC7BC,KAAMZ,EAAOhgB,QAAQ6gB,KACrB3a,MAAO8Z,EAAOhgB,QAAQ8gB,MACtBC,IAAKf,EAAOhgB,QAAQghB,MAExB,KAAKvgB,IACH,OAAO,eACFyF,EADL,CAEE5G,QAAS0gB,EAAOhgB,UAEpB,KAAKa,IACH,OAAO,eACFqF,EADL,CAEEsZ,WAAW,EACXxF,YAAY,EACZiG,wBAAoB7a,EACpBG,cAAUH,EACVsH,YAAQtH,EACR8a,gBAAY9a,EACZgb,kBAAchb,EACdkb,eAAWlb,EACXob,mBAAepb,EACfsb,kBAActb,EACd9F,QAAS,KAEb,KAAKyB,IACH,OAAO,eACFmF,EADL,CAEEwZ,qCAAsCM,EAAOhgB,UAEjD,KAAKiB,IACH,OAAO,eACFiF,EADL,CAEEyZ,mCAAoCK,EAAOhgB,UAE/C,KAAKmB,IACH,OAAO,eACF+E,EADL,CAEEyZ,mCAAoC,GACpCD,sCAAsC,IAE1C,KAAKre,IACH,OAAO,eACF6E,EADL,CAEE3G,wBAAyBygB,EAAOhgB,UAEpC,KAAKuB,IACH,OAAO,eACF2E,EADL,CAEEuZ,OAAQO,EAAOhgB,UAEnB,KAAK6B,IACH,OAAO,eACFqE,EADL,CAEE4Z,gBAAiBE,EAAOhgB,UAG5B,QACE,OAAOkG,I,QCrHA+a,EAA+B,SAC1C/a,EACA8Z,GAEA,OAAQA,EAAO9gB,MACb,KAAKue,IACH,OAAO,eACFvX,EADL,CAEEgb,cAAelB,EAAOhgB,UAE1B,KAAKke,IACH,OAAO,eACFhY,EADL,CAEEib,cAAenB,EAAOhgB,UAE1B,KAAK0d,IACH,OAAO,eACFxX,EADL,CAEEkb,gBAAiBpB,EAAOhgB,UAE5B,KAAK2d,IACH,OAAO,eACFzX,EADL,CAEEmb,aAAcrB,EAAOhgB,UAEzB,KAAK4d,IACH,OAAO,eACF1X,EADL,CAEEmb,aAAc,KAElB,KAAKxD,IACH,OAAO,eACF3X,EADL,CAEEob,4BAA4B,IAEhC,KAAKxD,IACH,OAAO,eACF5X,EADL,CAEEgb,eAAe,EACfE,qBAAiBhc,EACjBic,aAAc,GACdC,4BAA4B,IAEhC,KAAKvD,IACH,OAAO,eACF7X,EADL,CAEEqb,qBAAsBvB,EAAOwB,YAEjC,KAAKxD,IACH,OAAO,eACF9X,EADL,CAEEub,YAAazB,EAAO0B,cAExB,KAAKzD,IACH,OAAO,eACF/X,EADL,CAEEyb,uBAAwB3B,EAAOqB,eAEnC,QACE,OAAOnb,IA6BE0b,EAzBgB,SAACC,EAAkBC,GAAnB,OAAgD,SAC7E5b,EACA8Z,GACI,IAEE+B,OAA6B3c,IAAVc,EACzB,OAFwB8Z,EAAhBgC,cAEYF,GAAgBC,EAc3BF,EAXLE,EACmB,CACnBC,YAAaF,EACbZ,eAAe,EACfI,4BAA4B,EAC5BD,aAAc,GACdE,sBAAsB,EACtBE,YAAa,KACbE,uBAAwB,KACxBR,eAAe,GAIJjb,EAFgB8Z,GAbtB9Z,IC3EI+b,EANwBC,0BAAgB,CACrDC,IAAKP,EAAuBX,EAA8B,OACxDmB,WAAYR,EAAuBX,EAA8B,cACnEoB,KAAMT,EAAuBX,EAA8B,U,QCDvD1B,EAA+B,CACnCpF,UAAU,EACVD,aAAa,GA0BAoI,EAvBU,WAGH,IAFpBpc,EAEmB,uDAFXqZ,EACRS,EACmB,uCACnB,OAAQA,EAAO9gB,MACb,KAAKqjB,IACH,OAAO,eACFrc,EADL,CAEEgU,YAAa8F,EAAOhgB,UAExB,KAAKwiB,IACH,OAAO,eACFtc,EADL,CAEEgU,aAAa,EACbC,UAAU,IAEd,KAAKsI,IACH,OAAOlD,EACT,QACE,OAAOrZ,I,SCvBPqZ,EAA4B,CAChCmD,iBAAiB,EACjBC,iBAAiB,EACjBC,oBAAqB,IA+BRC,EA5BO,WAGH,IAFjB3c,EAEgB,uDAFRqZ,EACRS,EACgB,uCAChB,OAAQA,EAAO9gB,MACb,KAAKnC,IACH,OAAO,eACFmJ,EADL,CAEEwc,gBAAiB1C,EAAOhgB,UAE5B,KAAKhD,IACH,OAAO,eACFkJ,EADL,CAEEyc,gBAAiB3C,EAAOhgB,UAE5B,KAAK/C,IACH,OAAO,eACFiJ,EADL,CAEEwc,iBAAiB,EACjBE,oBAAqB5C,EAAOhgB,UAEhC,KAAK9C,IACH,OAAOqiB,EACT,QACE,OAAOrZ,I,QC3BPqZ,EAAqC,CACzCuD,sBAAsB,EACtBC,uCAAwC,IA6C3BC,EA1CY,WAGC,IAF1B9c,EAEyB,uDAFjBqZ,EACRS,EACyB,uCACzB,OAAQA,EAAO9gB,MACb,KAAK+jB,IACH,OAAO,eACF/c,EADL,CAEE4c,qBAAsB9C,EAAOhgB,UAEjC,KAAKkjB,IACH,OAAO,eACFhd,EADL,CAEEid,iBAAkBnD,EAAOhgB,UAE7B,KAAKojB,IACH,OAAO,eACFld,EADL,CAEE6c,uCAAwC/C,EAAOhgB,UAEnD,KAAKqjB,IACH,OAAO,eACFnd,EADL,CAEEod,8BAA+BtD,EAAOhgB,UAE1C,KAAKujB,IACH,OAAO,eACFrd,EADL,CAEEsd,yBAA0BxD,EAAOhgB,UAErC,KAAKyjB,IACH,OAAO,eACFvd,EADL,CAEEwd,qBAAsB1D,EAAOhgB,UAEjC,KAAK2jB,IACH,OAAOpE,EACT,QACE,OAAOrZ,I,gBCpCPqZ,EAAsC,CAC1CqE,YAAa,GACbC,WAAY,KACZC,YAAY,EACZC,YAAa,UACb1C,aAAc,GACd2C,UAAW,GACXC,YAAa,IA2EAC,EAvE2B,WAGpC,IAFJhe,EAEG,uDAFKqZ,EACRS,EACG,uCACK9gB,EAAkB8gB,EAAlB9gB,KAAMc,EAAYggB,EAAZhgB,QAId,OAAQd,GACN,KAAKif,IACH,OAAO,eACFjY,EADL,CAEE4d,WAAY9jB,IAEhB,KAAKoe,IACH,OAAO,eACFlY,EADL,CAEE2d,WAAY7jB,IAGhB,KAAKqe,IACH,OAAO,eACFnY,EADL,CAEE6d,YAAa/jB,IAGjB,KAAKse,IACH,OAAO,eACFpY,EADL,CAEEmb,aAAcrhB,IAGlB,KAAKue,IACH,OAAO,eACFrY,EADL,CAEEmb,aAAc,KAGlB,KAAK7C,IACH,OAAO,eACFtY,EADL,CAEE0d,YAAY,GAAD,mBAAM1d,EAAM0d,aAAZ,CAAyB5jB,MAGxC,KAAKye,IACH,OAAO,eACFvY,EADL,CAEE0d,YAAa1d,EAAM0d,YAAYO,QAAO,SAACzd,GAAD,OAAYA,EAAE0d,MAAQpkB,OAEhE,KAAK0e,IACH,OAAO,eACFa,EADL,CAEEqE,YAAa1d,EAAM0d,cAEvB,KAAKjF,IACH,OAAO,eACFzY,EADL,CAEE8d,UAAU,GAAD,mBAAM9d,EAAM8d,WAAZ,CAAuBhkB,MAEpC,KAAK4e,IACH,OAAO,eACF1Y,EADL,CAEE+d,YAAY,GAAD,mBAAM/d,EAAM+d,aAAZ,CAAyBjkB,MAGxC,QACE,OAAOkG,I,0BCIPqZ,EAA+B,CACnC8E,YAAa,EACbC,eAAgB,GAChBC,YAAa,KACbC,kBAAmB,GACnBC,YAAa,GACbC,YAAa,GACbC,eAAgB,GAChBC,eAAgB,GAChBC,cAAc,EACdC,cAAe,UACfC,cAAe,UACfC,mBAAoB,UACpBC,mBAAoB,UACpBC,cAAe,UACf7D,aAAc,GACd8D,QAAS,MAkJIC,EA/ImB,WAG5B,IAFJlf,EAEG,uDAFqBqZ,EACxBS,EACG,uCACK9gB,EAAkB8gB,EAAlB9gB,KAAMc,EAAYggB,EAAZhgB,QAOd,OAAQd,GACN,KAAK8H,IACH,OAAO,eACFd,EADL,CAEE2e,aAAc7kB,IAElB,KAAKoI,IACH,OAAO,eACFlC,EADL,CAEEif,QAASnlB,IAEb,KAAKiH,IACH,OAAO,eACFf,EADL,CAEEme,YAAarkB,IAEjB,KAAKkH,IACH,OAAO,eACFhB,EADL,CAEEoe,eAAgBtkB,IAEpB,KAAKmH,IACH,OAAO,eACFjB,EADL,CAEEmb,aAAcrhB,IAElB,KAAKoH,IACH,OAAO,eACFlB,EADL,CAEEmb,aAAc,KAElB,KAAK9Z,IACH,OAAO,eACFrB,EADL,CAEEwe,YAAY,GAAD,mBAAMxe,EAAMwe,aAAZ,CAAyB1kB,MAExC,KAAKwH,IACH,OAAO,eACFtB,EADL,CAEEwe,YAAaxe,EAAMwe,YAAYP,QAC7B,SAACzd,GAAD,OAAYA,EAAE2e,MAAQrlB,EAAQqlB,SAGpC,KAAK/d,IACH,OAAO,eACFpB,EADL,CAEEue,YAAazkB,IAGjB,KAAKqH,IACH,OAAO,eACFnB,EADL,CAEEye,eAAe,eAAMze,EAAMye,eAAb,CAA6B3kB,cAG/C,KAAKyH,IACH,OAAO,eACF8X,EADL,CAEEoF,eAAgBze,EAAMye,eACtBH,kBAAmBte,EAAMse,oBAG7B,KAAK9c,IACH,OAAO,eACFxB,EADL,CAEEse,kBAAkB,eACbte,EAAMse,kBADM,eAEdxkB,EAAQslB,IAAMtlB,EAAQulB,mBAG7B,KAAK5d,IACH,OAAO,eACFzB,EADL,CAEEse,kBAAkB,eACbte,EAAMse,kBADM,CAEfgB,eAAgBxlB,EAAQulB,mBAI9B,KAAK3d,IACH,OAAO,eACF1B,EADL,CAEEse,kBAAmBpW,YAAkBlI,EAAMse,kBAAmBxkB,KAGlE,KAAK6H,IACH,OAAO,eACF3B,EADL,CAEE4e,cAAe9kB,IAGnB,KAAK8H,IACH,OAAO,eACF5B,EADL,CAEE6e,cAAe/kB,IAGnB,KAAK+H,IACH,OAAO,eACF7B,EADL,CAEE8e,mBAAoBhlB,IAGxB,KAAKgI,IACH,OAAO,eACF9B,EADL,CAEE+e,mBAAoBjlB,IAGxB,KAAKiI,IACH,OAAO,eACF/B,EADL,CAEEgf,cAAellB,IAGnB,KAAKkI,IACH,OAAO,eACFhC,EADL,CAEE0e,eAAgB5kB,IAGpB,KAAKmI,IACH,OAAO,eACFjC,EADL,CAEEqe,YAAavkB,IAGjB,QACE,OAAOkG,I,QC3OPqZ,EAAwC,CAC5CkG,uBAAwB,KACxBC,qBAAqB,EACrBxa,uBAAwB,GACxB2M,mCAAoC,GACpC8N,cAAe,GACfC,oBAAqB,GACrBC,wBAAyB,GACzBC,0BAA2B,CACzBvX,KAAM,GACNwX,KAAM,IAGRC,uBAAwB,KACxBC,qBAAqB,EACrBC,WAAY,CACVC,iBAAkB,KAClBC,YAAa,MAGfC,6BAA8B,KAC9BC,2BAA2B,EAC3BC,iBAAkB,CAChBC,UAAW,KACXC,SAAU,MAGZC,kBAAmB,GAEnBC,mBAAoB,GACpBC,6BAA6B,EAC7BC,+BAAgC,MA+DnBC,EA5Dc,WAGE,IAF7B5gB,EAE4B,uDAFpBqZ,EACRS,EAC4B,uCAC5B,OAAQA,EAAO9gB,MACb,KAAKxB,IACH,OAAO,eAAKwI,EAAZ,CAAmB0f,oBAAqB5F,EAAOhgB,UACjD,KAAKvC,IACH,OAAO,eAAKyI,EAAZ,CAAmByf,cAAe3F,EAAOhgB,UAC3C,KAAKrC,IACH,OAAO,eAAKuI,EAAZ,CAAmB2f,wBAAyB7F,EAAOhgB,UACrD,KAAKpC,IACH,OAAO,eAAKsI,EAAZ,CAAmB4f,0BAA2B9F,EAAOhgB,UACvD,KAAKnC,IACH,OAAO,eAAKqI,EAAZ,CAAmBwgB,kBAAmB1G,EAAOhgB,UAC/C,KAAKzC,IACH,OAAO,eAAK2I,EAAZ,CAAmBwf,oBAAqB1F,EAAOhgB,UACjD,KAAKxC,IACH,OAAO,eAAK0I,EAAZ,CAAmBuf,uBAAwBzF,EAAOhgB,UACpD,KAAKlC,IACH,OAAO,eAAKoI,EAAZ,CAAmB+f,oBAAqBjG,EAAOhgB,UACjD,KAAKjC,IACH,OAAO,eAAKmI,EAAZ,CAAmB8f,uBAAwBhG,EAAOhgB,UACpD,KAAKhC,IACH,OAAO,eACFkI,EADL,CAEEggB,WAAW,eAAMlG,EAAOhgB,SACxBgmB,uBAAwB,OAE5B,KAAK/nB,IACH,OAAO,eACFiI,EADL,CAEEogB,0BAA2BtG,EAAOhgB,QAClCqmB,6BAA8B,OAElC,KAAKnoB,IACH,OAAO,eAAKgI,EAAZ,CAAmBmgB,6BAA8BrG,EAAOhgB,UAC1D,KAAK7B,IACH,OAAO,eACF+H,EADL,CAEEqgB,iBAAiB,eAAMvG,EAAOhgB,SAC9BqmB,6BAA8B,OAGlC,KAAKjoB,IACH,OAAO,eAAK8H,EAAZ,CAAmBwf,oBAAqB1F,EAAOhgB,UACjD,KAAK3B,IACH,OAAO,eAAK6H,EAAZ,CAAmBygB,mBAAoB3G,EAAOhgB,UAChD,KAAK1B,IACH,OAAO,eAAK4H,EAAZ,CAAmB2gB,+BAAgC7G,EAAOhgB,UAE5D,KAAKzB,IACH,OAAO,eAAK2H,EAAZ,CAAmBgF,uBAAwB8U,EAAOhgB,UACpD,KAAKxB,IACH,OAAO,eAAK0H,EAAZ,CAAmB2R,mCAAoCmI,EAAOhgB,UAChE,QACE,OAAOkG,I,SCxGPqZ,EAAsC,CAC1CC,WAAW,EACX6B,aAAc,KAEd0F,aAAc,CACZC,YAAa,KACbC,OAAQ,MAGVlB,KAAM,IAyBOmB,EAtBiB,WAG1B,IAFJhhB,EAEG,uDAF4BqZ,EAC/BS,EACG,uCACH,OAAQA,EAAO9gB,MACb,KAAK/B,IACH,OAAO,eAAK+I,EAAZ,CAAmBsZ,UAAWQ,EAAOhgB,QAASqhB,aAAc,OAC9D,KAAKjkB,IACH,OAAO,eAAK8I,EAAZ,CAAmBsZ,WAAW,EAAO6B,aAAcrB,EAAOhgB,UAC5D,KAAK3C,IACH,OAAO,eACF6I,EADL,CAEEsZ,WAAW,EACXuH,aAAa,eAAM/G,EAAOhgB,WAE9B,KAAK1C,IACH,OAAO,eAAK4I,EAAZ,CAAmBsZ,WAAW,EAAOuG,KAAK,YAAK/F,EAAOhgB,WACxD,QACE,OAAOkG,I,QCnBPqZ,EAA+B,CACnC4H,kBAAkB,EAClBC,sBAAuB,KACvBC,YAAa,GACbC,8BAA+B,KAC/BC,4BAA6B,KAC7BC,wBAAwB,EACxBC,sBAAsB,EACtBC,0BAA2B,KAC3BC,qBAAqB,EACrBC,oBAAoB,EACpBrG,sBAAsB,EACtBE,YAAa,KACbE,uBAAwB,MAiGXkG,EA9FU,WAGH,IAFpB3hB,EAEmB,uDAFXqZ,EACRS,EACmB,uCACnB,OAAQA,EAAO9gB,MACb,KAAKsS,IACH,OAAO,eACFtL,EADL,CAEEkhB,sBAAuB,KACvBM,0BAA2B,KAC3BH,4BAA6B,KAC7BD,8BAA+B,KAC/B3F,uBAAwB,OAE5B,KAAKvQ,IACH,OAAO,eACFlL,EADL,CAEEuhB,sBAAsB,EACtBC,0BAA2B1H,EAAOhgB,UAEtC,KAAKmR,IACH,OAAO,eACFjL,EADL,CAEEuhB,qBAAsBzH,EAAOhgB,UAEjC,KAAK6Q,IACH,OAAO,eACF3K,EADL,CAEEihB,iBAAkBnH,EAAOhgB,QACzBonB,sBAAuB,KACvBM,0BAA2B,OAE/B,KAAK5W,IACH,OAAO,eACF5K,EADL,CAEEihB,kBAAkB,EAClBC,sBAAuBpH,EAAOhgB,UAElC,KAAK+Q,IACH,OAAO,eAAK7K,EAAZ,CAAmBihB,kBAAkB,EAAOE,YAAarH,EAAOhgB,UAClE,KAAKgR,IACH,OAAO,eACF9K,EADL,CAEEshB,uBAAwBxH,EAAOhgB,UAEnC,KAAKiR,IACH,OAAO,eACF/K,EADL,CAEEqhB,4BAA6BvH,EAAOhgB,QACpCwnB,wBAAwB,IAG5B,KAAKtW,IACH,OAAO,eACFhL,EADL,CAEEohB,8BAA+BtH,EAAOhgB,QACtCwnB,wBAAwB,IAE5B,KAAKnW,IACH,OAAO,eACFnL,EADL,CAEEyhB,oBAAqB3H,EAAOhgB,UAEhC,KAAKsR,IAKL,KAAKC,IACH,OAAO,eACFrL,EADL,CAEE0hB,mBAAoB5H,EAAOhgB,UAE/B,KAAKyR,IACH,OAAO,eACFvL,EADL,CAEEqb,qBAAsBvB,EAAOwB,YAEjC,KAAK9P,IACH,OAAO,eACFxL,EADL,CAEEub,YAAazB,EAAO0B,cAExB,KAAK/P,IACH,OAAO,eACFzL,EADL,CAEEyb,uBAAwB3B,EAAOqB,eAGnC,QACE,OAAOnb,I,QCnHPqZ,EAAqC,CACzCC,WAAW,EACX6B,aAAc,KACdyG,yBAA0B,GAC1BC,oBAAqB,GACrBC,oBAAqB,CACnBC,QAAS,GACTC,WAAY,GACZnC,KAAM,GACNoC,SAAU,IAEZC,eAAgB,CACdH,QAAS,GACTC,WAAY,GACZnC,KAAM,GACNoC,SAAU,KA0BCE,EAtBgB,WAGzB,IAFJniB,EAEG,uDAF2BqZ,EAC9BS,EACG,uCACH,OAAQA,EAAO9gB,MACb,KAAKopB,IACH,OAAO,eAAKpiB,EAAZ,CAAmBsZ,WAAW,IAChC,KAAK+I,IACH,OAAO,eAAKriB,EAAZ,CAAmBmb,cAAc,IACnC,KAAKmH,IACH,OAAO,eAAKtiB,EAAZ,CAAmB4hB,yBAA0B9H,EAAOhgB,UACtD,KAAKyoB,IACH,OAAO,eAAKviB,EAAZ,CAAmB6hB,oBAAqB/H,EAAOhgB,UACjD,KAAK0oB,IACH,OAAO,eAAKxiB,EAAZ,CAAmB8hB,oBAAqBhI,EAAOhgB,UACjD,KAAK2oB,IACH,OAAO,eAAKziB,EAAZ,CAAmBkiB,eAAgBpI,EAAOhgB,UAC5C,QACE,OAAOkG,I,SCxCPqZ,EAA8C,CAClDC,WAAW,EACX6B,aAAc,KAEd0E,KAAM,IAmBO6C,EAhByB,WAGlC,IAFJ1iB,EAEG,uDAFoCqZ,EACvCS,EACG,uCACH,OAAQA,EAAO9gB,MACb,KAAKT,IACH,OAAO,eAAKyH,EAAZ,CAAmBsZ,UAAWQ,EAAOhgB,QAASqhB,aAAc,OAC9D,KAAK3iB,IACH,OAAO,eAAKwH,EAAZ,CAAmBsZ,WAAW,EAAO6B,aAAcrB,EAAOhgB,UAC5D,KAAKrB,IACH,OAAO,eAAKuH,EAAZ,CAAmBsZ,WAAW,EAAOuG,KAAK,YAAK/F,EAAOhgB,WACxD,QACE,OAAOkG,I,QClBPqZ,EAAoC,CACxCsJ,uBAAuB,EACvBxmB,MAAO,KACPyV,iCAAkC,KAClCgR,eAAgB,CACdC,KAAM,KACNC,KAAM,KACNC,gBAAiB,KACjBC,kBAAmB,KACnBC,SAAU,KACVC,SAAU,KACVxI,KAAM,KACN1a,MAAO,KACP6a,IAAK,KACLsI,QAAS,KACTC,MAAO,KACPzmB,MAAO,KACPuK,IAAK,KACLmc,QAAS,KACTC,SAAU,KACV5P,QAAS,MAEX6P,UAAW,CACTT,KAAM,KACNM,MAAO,KACPzmB,MAAO,MAET6mB,OAAQ,CACNV,KAAM,KACNM,MAAO,KACPzmB,MAAO,MAET8mB,YAAa,CACXX,KAAM,KACNM,MAAO,KACPzmB,MAAO,MAET+mB,2BAA4B,CAC1BC,iBAAkB,KAClBC,oBAAqB,OAqCVC,EAjCe,WAGH,IAFzB7jB,EAEwB,uDAFhBqZ,EACRS,EACwB,uCACxB,OAAQA,EAAO9gB,MACb,KAAK8C,IACH,OAAO,eACFkE,EADL,CAEE2iB,sBAAuB7I,EAAOhgB,UAElC,KAAKmC,IACH,OAAO,eACF+D,EADL,CAEE4iB,eAAe,eAAM9I,EAAOhgB,QAAQ8oB,gBACpCW,UAAU,eAAMzJ,EAAOhgB,QAAQypB,WAC/BC,OAAO,eAAM1J,EAAOhgB,QAAQ0pB,QAC5BC,YAAY,eAAM3J,EAAOhgB,QAAQ2pB,aACjCC,2BAA2B,eACtB5J,EAAOhgB,QAAQ4pB,8BAGxB,KAAKtnB,IACH,OAAO,eACF4D,EADL,CAEE7D,MAAO2d,EAAOhgB,UAElB,KAAKyC,IACH,OAAO,eAAKyD,EAAZ,CAAmB4R,iCAAkCkI,EAAOhgB,UAC9D,QACE,OAAOkG,I,QClEPqZ,EAA0B,CAC9ByK,SAAU,GACVC,iBAAiB,EACjBC,cAAe,KAEfC,KAAM,KACNC,aAAa,EACbC,UAAW,KACXC,YAAY,EAEZC,uBAAuB,EACvBC,oBAAqB,MAwCRC,GArCK,WAA0D,IAAzDvkB,EAAwD,uDAAhDqZ,EAAcS,EAAkC,uCAC3E,OAAQA,EAAO9gB,MACb,KAAK2f,IACH,OAAO,eACF3Y,EADL,CAEEgkB,cAAe,KACfG,UAAW,KACXC,YAAY,EACZE,oBAAqB,OAGzB,KAAK1L,IACH,OAAO,eAAK5Y,EAAZ,CAAmBkkB,YAAapK,EAAOhgB,UACzC,KAAK+e,IACH,OAAO,eAAK7Y,EAAZ,CAAmBmkB,UAAWrK,EAAOhgB,UACvC,KAAKgf,IACH,OAAO,eAAK9Y,EAAZ,CAAmBikB,KAAMnK,EAAOhgB,UAClC,KAAKif,IACH,OAAO,eAAK/Y,EAAZ,CAAmBokB,WAAYtK,EAAOhgB,UAExC,KAAKkf,IACH,OAAO,eAAKhZ,EAAZ,CAAmB+jB,gBAAiBjK,EAAOhgB,UAC7C,KAAKmf,IACH,OAAO,eAAKjZ,EAAZ,CAAmBgkB,cAAelK,EAAOhgB,UAC3C,KAAKof,IACH,OAAO,eAAKlZ,EAAZ,CAAmB8jB,SAAUhK,EAAOhgB,UAEtC,KAAKqf,IACH,OAAO,eAAKnZ,EAAZ,CAAmBqkB,sBAAuBvK,EAAOhgB,UACnD,KAAKsf,IACH,OAAO,eAAKpZ,EAAZ,CAAmBskB,oBAAqBxK,EAAOhgB,UAEjD,QACE,OAAOkG,I,SC3CPqZ,GAA2B,CAC/Bxd,SAAS,EAET2oB,SAAU,GACVC,cAAe,KAEfC,kBAAmB,KACnBC,gBAAiB,KAEjBC,kBAAmB,KACnBC,gBAAiB,KAEjBC,eAAgB,KAChBC,aAAc,KAEdC,aAAc,GACdC,kBAAmB,KAEnBC,mBAAoB,GACpBC,wBAAyB,MA4DZC,GAzDM,WAGH,IAFhBplB,EAEe,uDAFPqZ,GACRS,EACe,uCACf,OAAQA,EAAO9gB,MACb,KAAK0S,KACH,OAAO,eACF1L,EADL,CAGEykB,cAAe,KACfC,kBAAmB,KACnBC,gBAAiB,KACjBC,kBAAmB,KACnBC,gBAAiB,KACjBC,eAAgB,KAChBC,aAAc,OAGlB,KAAKpZ,KACH,OAAO,eAAK3L,EAAZ,CAAmBnE,QAASie,EAAOhgB,UAErC,KAAK8R,KACH,OAAO,eAAK5L,EAAZ,CAAmBykB,cAAe3K,EAAOhgB,UAC3C,KAAK+R,KACH,OAAO,eAAK7L,EAAZ,CAAmBwkB,SAAU1K,EAAOhgB,UAEtC,KAAKgS,KACH,OAAO,eAAK9L,EAAZ,CAAmB2kB,gBAAiB7K,EAAOhgB,UAC7C,KAAKiS,KACH,OAAO,eAAK/L,EAAZ,CAAmB0kB,kBAAmB5K,EAAOhgB,UAE/C,KAAKoS,KACH,OAAO,eAAKlM,EAAZ,CAAmB6kB,gBAAiB/K,EAAOhgB,UAC7C,KAAKqS,KACH,OAAO,eAAKnM,EAAZ,CAAmB4kB,kBAAmB9K,EAAOhgB,UAE/C,KAAKkS,KACH,OAAO,eAAKhM,EAAZ,CAAmB+kB,aAAcjL,EAAOhgB,UAC1C,KAAKmS,KACH,OAAO,eAAKjM,EAAZ,CAAmB8kB,eAAgBhL,EAAOhgB,UAG5C,KAAKsS,KACH,OAAO,eAAKpM,EAAZ,CAAmBilB,kBAAmBnL,EAAOhgB,UAC/C,KAAKuS,KACH,OAAO,eAAKrM,EAAZ,CAAmBglB,aAAclL,EAAOhgB,SAAW,KAErD,KAAKwS,KACH,OAAO,eAAKtM,EAAZ,CAAmBmlB,wBAAyBrL,EAAOhgB,UACrD,KAAKyS,KACH,OAAO,eAAKvM,EAAZ,CAAmBklB,mBAAoBpL,EAAOhgB,UAEhD,QACE,OAAOkG,ICxFPqZ,GAAiC,CACrCsJ,uBAAuB,EACvBxmB,MAAO,KACPyV,iCAAkC,KAClCgR,eAAgB,CACdE,KAAM,OAmBKuC,GAfS,WAGA,IAFtBrlB,EAEqB,uDAFbqZ,GACRS,EACqB,uCACrB,OAAQA,EAAO9gB,MACb,ICTuC,8BDUrC,OAAO,eACFgH,EADL,CAEE2iB,sBAAuB7I,EAAOhgB,UAElC,QACE,OAAOkG,IE1Bb,sEAsBA,IAAMslB,GAActJ,0BAAgB,CAClC7iB,KAAM0gB,EACN0L,UAAWxJ,EACXhI,UAAWqI,EACXoJ,OAAQ7I,EACR8I,gBAAiB3I,EACjB4I,UAAWC,EACXC,UAAW1G,EACXja,mBAAoB4gB,EACpBC,iBAAkB9E,EAClB+E,yBAA0BrD,EAC1BsD,UAAWC,EACXC,gBAAiB/D,EACjBnmB,eAAgB6nB,EAChBI,KAAMM,GACN4B,MAAOC,GACPC,YAAahB,KAGTiB,GAAgB,CACpBle,IAAK,OACLme,YACAC,UAAW,CACT,YACA,wBACA,YACA,SACA,kBACA,YACA,YACA,qBACA,mBACA,kBACA,OACA,gBAIEC,GAAmBC,YAAeJ,GAAehB,IAE1CrsB,GAAQ0tB,sBACnBF,GAEIG,0BAAgBC,YAITrQ,GAAYsQ,YAAa7tB,K,gCChEtC,sGAAO,IAAMojB,EAA4B,4BAC5BC,EAA8B,8BAC9BC,EAAyB,0B,gCCuCtC,8OAAO,IAAMQ,EACX,kCACWI,EACX,6CACWD,EACX,0DACWK,EACX,kCACWF,EACX,0CACWL,EAAiC,iCACjCS,EACX,oC,gCC1DF,kHAOalX,EAAkB,SAACzM,GAAD,MAA6C,CAC1Ed,KAAMqjB,IACNviB,QAASA,IAGE6N,EAAoB,iBAA6B,CAC5D3O,KAAMsjB,MAGKhW,EAAsB,iBAA6B,CAC9DtN,KAAMujB,O,gCCjBR,8kBA2BawK,EAA+B,SAC1CjtB,GAD0C,MAEZ,CAC9Bd,KAAMd,IACN4B,QAASA,IAGEktB,EAA+B,SAC1CltB,GAD0C,MAEZ,CAC9Bd,KAAMb,IACN2B,QAASA,IAUEmtB,EAAuB,SAClCntB,GADkC,MAEJ,CAC9Bd,KAAM3B,IACNyC,QAASA,IAGEotB,EAAsB,SACjCptB,GADiC,MAEH,CAC9Bd,KAAM1B,IACNwC,YAGWqtB,EAAiC,SAC5CrtB,GAD4C,MAEd,CAC9Bd,KAAMxB,IACNsC,QAASA,IAGEstB,EAA4B,SACvCttB,GADuC,MAET,CAC9Bd,KAAMzB,IACNuC,QAASA,IAGEutB,EAAqC,SAChDvtB,GADgD,MAElB,CAC9Bd,KAAMvB,IACNqC,QAASA,IAGEwtB,EAAuC,SAClDxtB,GADkD,MAEpB,CAC9Bd,KAAMtB,IACNoC,QAASA,IAGEytB,EAAuB,SAClCztB,GADkC,MAEJ,CAC9Bd,KAAMpB,IACNkC,QAASA,IAGE0tB,EAAsB,SACjC1tB,GADiC,MAEH,CAC9Bd,KAAMnB,IACNiC,YAGW2tB,EAAuB,SAClC3tB,GADkC,MAEJ,CAC9Bd,KAAMlB,IACNgC,QAASA,IAGE4tB,EAA6B,SACxC5tB,GADwC,MAEV,CAC9Bd,KAAMjB,IACN+B,QAASA,IAGE6tB,EAA4B,SACvC7tB,GADuC,MAET,CAC9Bd,KAAMhB,IACN8B,YAGW8tB,EAA6B,SACxC9tB,GADwC,MAEV,CAC9Bd,KAAMf,IACN6B,QAASA,IAGE+tB,EAAwC,SACnD/tB,GADmD,MAErB,CAC9Bd,KAAMrB,IACNmC,QAASA,IAGEwL,EAAgC,SAC3CxL,GAD2C,MAEb,CAC9Bd,KAAMX,IACNyB,YAGWyY,EAAgC,SAC3CzY,GAD2C,MAEb,CAC9Bd,KAAMV,IACNwB,a,gCC5IF,4MAAO,IAAMsoB,EAA+B,+BAC/BC,EAA8B,8BAE9BG,EACX,sCACWC,EAAiC,iCAEjCH,EACX,mCACWC,EACX,mC,gCCpBF,wIAAO,IAAMuF,EAAoB,CAC/B,QACA,OACA,MACA,QACA,QACA,OACA,SACA,QACA,SACA,SACA,OACA,SACA,UAGWC,EAAoB,CAC/B,QACA,OACA,MACA,QACA,QACA,MACA,QACA,OACA,SACA,QACA,SACA,SACA,OACA,SACA,UAEW3e,EAAc,CACzBe,GAAI,QACJC,GAAI,QACJ4d,IAAK,SACL3d,GAAI,UAGO5N,EAA0B,WACrC,MAAiC,wBAA7BgC,OAAO0I,SAAS2P,UACW,4BAA7BrY,OAAO0I,SAAS2P,UACa,gCAA7BrY,OAAO0I,SAAS2P,SAET,CACL7Z,mCAAoC,gCACpCoD,gCAAiC,2BACjC4nB,wBACE,uEACFC,yBAA0B,gCAC1BC,uBAAwB,eACxBC,+BAAgC,iCAChCC,+BAAgC,iCAChCC,+BACE,+DACF3hB,2BAA4B,0CAC5B4hB,kBAAmB,+BACnBC,uBAAwB,2CACxB7nB,8BAA+B,iCAC/B8nB,oCAAqC,2BACrCC,uCAAwC,8BACxCC,4BAA6B,uCAC7BtX,gBAAiB,sDACjBuX,wBACE,qDACFC,kBAAmB,iCACnBC,iBAAkB,0FAClBC,mBAAmB,iDACnB3W,sBAAuB,mCAGM,4BAA7B3T,OAAO0I,SAAS2P,SACX,CACL7Z,mCAAoC,gCACpCoD,gCAAiC,2BACjC4nB,wBACE,uEACFC,yBAA0B,gCAC1BC,uBAAwB,eACxBC,+BAAgC,iCAChCC,+BAAgC,iCAChCC,+BACE,iEACF3hB,2BAA4B,4CAC5B4hB,kBAAmB,+BACnBC,uBAAwB,2CACxB7nB,8BAA+B,iCAC/B8nB,oCAAqC,2BACrCC,uCAAwC,8BACxCC,4BAA6B,uCAC7BtX,gBAAiB,wDACjBwX,kBAAmB,iCACnBC,iBAAkB,0FAClBC,mBAAmB,iDACnB3W,sBAAuB,mCAIS,YAAlC4W,8CAAYC,mBACiB,+BAA7BxqB,OAAO0I,SAAS2P,SAET,CACL7Z,mCACE,uCACFoD,gCAAiC,kCACjC4nB,wBACE,uEACFC,yBAA0B,8BAC1BC,uBAAwB,aACxBC,+BAAgC,wCAChCC,+BAAgC,wCAChCC,+BACE,kEACF3hB,2BACE,iDACF4hB,kBAAmB,+BACnBC,uBAAwB,2CACxB7nB,8BAA+B,wCAC/B8nB,oCAAqC,kCACrCC,uCACE,mCACFC,4BAA6B,uCAC7BtX,gBAAiB,wDACjBuX,wBACE,uDACFC,kBAAmB,wCACnBC,iBAAkB,wFAClBC,mBAAmB,iCACnB3W,sBAAuB,6CAIS,OAAlC4W,8CAAYC,mBACiB,4BAA7BxqB,OAAO0I,SAAS2P,SAET,CACL7Z,mCAAoC,oCACpCoD,gCAAiC,+BACjC4nB,wBACE,uEACFC,yBAA0B,8BAC1BC,uBAAwB,aACxBC,+BAAgC,qCAChCC,+BAAgC,qCAChCC,+BACE,kEACF3hB,2BAA4B,4CAC5B4hB,kBAAmB,iCACnBC,uBAAwB,6CACxB7nB,8BAA+B,qCAC/B8nB,oCAAqC,+BACrCC,uCAAwC,gCACxCC,4BAA6B,uCAC7BtX,gBAAiB,wDACjBuX,wBACE,uDACFC,kBAAmB,wCACnBC,iBAAkB,wFAClBC,mBAAmB,iCACnB3W,sBAAuB,6CAGM,8BAA7B3T,OAAO0I,SAAS2P,SACX,CACL7Z,mCAAoC,oCACpCoD,gCAAiC,+BACjC4nB,wBACE,uEACFC,yBAA0B,8BAC1BC,uBAAwB,aACxBC,+BAAgC,qCAChCC,+BAAgC,qCAChCC,+BACE,kEACF3hB,2BAA4B,8CAC5B4hB,kBAAmB,iCACnBC,uBAAwB,6CACxB7nB,8BAA+B,qCAC/B8nB,oCAAqC,+BACrCC,uCAAwC,gCACxCC,4BAA6B,uCAC7BtX,gBAAiB,wDACjBwX,kBAAmB,wCACnBC,iBAAkB,wFAClBC,mBAAmB,iCACnB3W,sBAAuB,8CAIS,SAAlC4W,8CAAYC,mBACZxqB,OAAO0I,SAAS2P,SAET,CACL7Z,mCAAoC,oCACpCoD,gCAAiC,+BACjC4nB,wBACE,uEACFC,yBAA0B,8BAC1BC,uBAAwB,aACxBC,+BAAgC,qCAChCC,+BAAgC,qCAChCC,+BACE,kEACF3hB,2BAA4B,8CAC5B4hB,kBAAmB,+BACnBC,uBAAwB,2CACxB7nB,8BAA+B,qCAC/B8nB,oCAAqC,+BACrCC,uCAAwC,gCACxCC,4BAA6B,uCAC7BtX,gBAAiB,mDACjBuX,wBACE,kDACFC,kBAAmB,wCACnBC,iBAAkB,wFAClBC,mBAAmB,iCACnB3W,sBAAuB,gD,mHClN7B,IAAM8W,EAAM,iKAoBNC,EAAc,SAAC9f,GAAD,OAAmBY,WAAnB,CAAC,4CAERZ,EAFO,iBAGAA,EAHA,KAKhB6f,EALgB,KAOPE,EAAoB,SAAC,GAAoD,IAhBjE/f,EAgBevF,EAAiD,EAAjDA,UAAW9K,EAAsC,EAAtCA,KAAM+J,EAAgC,EAAhCA,SAAUgH,EAAsB,EAAtBA,MAAU/G,EAAY,uDACnF,OACE,6BACEiH,IAAKA,YACQ,YAATjR,GApBWqQ,EAoBqBvF,EApBHmG,WAAnB,CAAC,oBACCZ,EADF,iBAEFA,EAFE,wDAIIA,EAJJ,iBAKAA,EALA,KAOhB6f,EAPgB,KAoBmCC,EAAYrlB,GAD1D,IAECiG,EAFD,wBAIH/Q,KAAMA,GACFgK,GAEHD,M","file":"static/js/main.06c316e4.chunk.js","sourcesContent":["export interface SignupPayload {\r\n readonly AccountTypeId?: number;\r\n readonly City: string;\r\n readonly ClientId: \"rumbleon-consumer\";\r\n readonly DealerLicenseImgUri: string | null;\r\n readonly DealerShipLicenseExp: string | null;\r\n readonly DealerShipLicenseNo: string | null;\r\n readonly DealerShipName: string | null;\r\n readonly Email: string;\r\n readonly FirstName: string;\r\n readonly LastName: string;\r\n readonly Mobile: string;\r\n readonly Password: string;\r\n readonly State: string;\r\n readonly StateSalesTaxImgUri: string | null;\r\n readonly StreetAddress: string;\r\n readonly UserStatus: \"Awaiting Review\";\r\n readonly UserStatusId: 6;\r\n readonly UserTypeId: \"2\";\r\n readonly Zip: string;\r\n readonly auctionAccessNumbers: {\r\n aarepid: string;\r\n name: string;\r\n dealerNumber: string;\r\n city: string;\r\n state: string;\r\n }[];\r\n}\r\n\r\nexport interface SignupState {\r\n readonly isSignupSuccess: boolean;\r\n readonly isSignupLoading: boolean;\r\n readonly signupFailedMessage: string;\r\n}\r\n\r\nexport const SET_SIGNUP_SUCCESS = \"SET_SIGNUP_SUCCESS\";\r\nexport const SET_SIGNUP_LOADING = \"SET_SIGNUP_LOADING\";\r\nexport const SET_SIGNUP_FAILED_MESSAGE = \"SET_SIGNUP_FAILED_MESSAGE\";\r\nexport const RESET_SIGNUP_STATE = \"RESET_SIGNUP_STATE\";\r\n\r\ninterface SetSignupSuccessAction {\r\n type: typeof SET_SIGNUP_SUCCESS;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetSignupLoadingAction {\r\n type: typeof SET_SIGNUP_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetSignupFailedMessageAction {\r\n type: typeof SET_SIGNUP_FAILED_MESSAGE;\r\n payload: string;\r\n}\r\n\r\ninterface ResetSignupStateAction {\r\n type: typeof RESET_SIGNUP_STATE;\r\n}\r\n\r\nexport type SignupActionTypes =\r\n | SetSignupSuccessAction\r\n | SetSignupLoadingAction\r\n | SetSignupFailedMessageAction\r\n | ResetSignupStateAction;\r\n","export interface ClickThroughRateState {\r\n readonly isLoading: boolean;\r\n readonly errorMessage: string | null;\r\n\r\n readonly allTimeCount: AllTimeCount;\r\n readonly data: CtrData[];\r\n}\r\n\r\nexport interface AllTimeCount {\r\n impressions: number | null;\r\n clicks: number | null;\r\n}\r\n\r\nexport interface CtrData {\r\n date: string;\r\n timestamp: number;\r\n impressions: number;\r\n clicks: number;\r\n}\r\n\r\nexport const SET_CTR_DATA_LOADING = \"SET_CTR_DATA_LOADING\";\r\nexport const SET_CTR_DATA_FAILED = \"SET_CTR_DATA_FAILED\";\r\n\r\nexport const SET_CTR_ALL_TIME_COUNT_SUCCESS = \"SET_CTR_ALL_TIME_COUNT_SUCCESS\";\r\nexport const SET_CTR_DATA_SUCCESS = \"SET_CTR_DATA_SUCCESS\";\r\n\r\ninterface SetCtrLoadingAction {\r\n type: typeof SET_CTR_DATA_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetCtrFailedAction {\r\n type: typeof SET_CTR_DATA_FAILED;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetCtrAllTimeCountSuccess {\r\n type: typeof SET_CTR_ALL_TIME_COUNT_SUCCESS;\r\n payload: AllTimeCount;\r\n}\r\n\r\ninterface SetCtrDataSuccess {\r\n type: typeof SET_CTR_DATA_SUCCESS;\r\n payload: CtrData[];\r\n}\r\n\r\nexport type ClickThroughRateAction =\r\n | SetCtrLoadingAction\r\n | SetCtrFailedAction\r\n | SetCtrAllTimeCountSuccess\r\n | SetCtrDataSuccess;\r\n","export interface DealershipAnalyticState {\r\n readonly isDealershipLoading: boolean;\r\n readonly dealershipErrorMessage: string | null;\r\n readonly selectedDealerAccounts: number[];\r\n readonly selectedDealerAccountsForInventory: number[];\r\n readonly dealChartData: DealershipCommonDateCount[];\r\n readonly impressionChartData: DealershipCommonDateCount[];\r\n readonly detailPageViewChartData: DealershipCommonDateCount[];\r\n readonly customerActivityChartData: DealershipCustomerActivityDateCount;\r\n readonly userActivityCount: UserActivityCount;\r\n\r\n readonly isCTRSummaryLoading: boolean;\r\n readonly ctrSummaryErrorMessage: string | null;\r\n readonly ctrSummary: CTRSummaryData;\r\n\r\n readonly isInventorySummaryLoading: boolean;\r\n readonly inventorySummaryErrorMessage: string | null;\r\n readonly inventorySummary: InventorySummaryData;\r\n\r\n readonly isLoadingDealershipAccounts: boolean;\r\n readonly dealershipAccounts: string[];\r\n readonly dealershipAccountsErrorMessage: string | null;\r\n\r\n}\r\n\r\nexport type ActionCategories =\r\n | \"Impression\"\r\n | \"Details_Page_View\"\r\n | \"Customer_Activity\"\r\n | \"Dealership_Lead\";\r\n\r\nexport type UserActivityCount = {\r\n [key: string]: number;\r\n};\r\n\r\nexport interface DealershipCommonDateCount {\r\n date: string;\r\n displayDate: string;\r\n count: number;\r\n}\r\n\r\nexport interface DealershipCustomerActivityDateCount {\r\n keys: string[];\r\n data: Array<{\r\n date: string;\r\n displayDate: string;\r\n [key: string]: string;\r\n }>;\r\n}\r\n\r\nexport interface CTRSummaryData {\r\n impressionsCount: number | null;\r\n clicksCount: number | null;\r\n}\r\n\r\nexport interface InventorySummaryData {\r\n usedCount: number | null;\r\n newCount: number | null;\r\n}\r\n\r\nexport const SET_DEALERSHIP_DATA_LOADING = \"SET_DEALERSHIP_DATA_LOADING\";\r\nexport const SET_DEALERSHIP_DATA_FAILED_MESSAGE =\r\n \"SET_DEALERSHIP_DATA_FAILED_MESSAGE\";\r\n\r\nexport const SET_DEALERSHIP_DEAL_SUCCESS = \"SET_DEALERSHIP_DEAL_SUCCESS\";\r\nexport const SET_DEALERSHIP_IMPRESSION_SUCCESS =\r\n \"SET_DEALERSHIP_IMPRESSION_SUCCESS\";\r\nexport const SET_DEALERSHIP_DETAIL_PAGE_VIEW_SUCCESS =\r\n \"SET_DEALERSHIP_DETAIL_PAGE_VIEW_SUCCESS\";\r\nexport const SET_DEALERSHIP_CUSTOMER_ACTIVITY_SUCCESS =\r\n \"SET_DEALERSHIP_CUSTOMER_ACTIVITY_SUCCESS\";\r\nexport const SET_USER_ACTIVITY_COUNT_SUCCESS =\r\n \"SET_USER_ACTIVITY_COUNT_SUCCESS\";\r\n\r\nexport const SET_CTR_SUMMARY_LOADING = \"SET_CTR_SUMMARY_LOADING\";\r\nexport const SET_CTR_SUMMARY_FAILED_MESSAGE = \"SET_CTR_SUMMARY_FAILED_MESSAGE\";\r\nexport const SET_CTR_SUMMARY_SUCCESS = \"SET_CTR_SUMMARY_SUCCESS\";\r\n\r\nexport const SET_INVENTORY_SUMMARY_LOADING = \"SET_INVENTORY_SUMMARY_LOADING\";\r\nexport const SET_INVENTORY_SUMMARY_FAILED_MESSAGE =\r\n \"SET_INVENTORY_SUMMARY_FAILED_MESSAGE\";\r\nexport const SET_INVENTORY_SUMMARY_SUCCESS = \"SET_INVENTORY_SUMMARY_SUCCESS\";\r\n\r\nexport const SET_DEALERSHIP_ACCOUNTS_LOADING =\r\n \"SET_DEALERSHIP_ACCOUNTS_LOADING\";\r\nexport const SET_DEALERSHIP_ACCOUNTS_SUCCESS =\r\n \"SET_DEALERSHIP_ACCOUNTS_SUCCESS\";\r\nexport const SET_DEALERSHIP_ACCOUNTS_FAILED = \"SET_DEALERSHIP_ACCOUNTS_FAILED\";\r\nexport const SET_SELECTED_DEALERS_FOR_ANALYTICS = \"SET_SELECTED_DEALERS_FOR_ANALYTICS\";\r\nexport const SET_SELECTED_DEALERS_FOR_INVENTORY = \"SET_SELECTED_DEALERS_FOR_INVENTORY\";\r\n\r\ninterface SetDealershipFailedAction {\r\n type: typeof SET_DEALERSHIP_DATA_FAILED_MESSAGE;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetDealershipLoadingAction {\r\n type: typeof SET_DEALERSHIP_DATA_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetDealershipImpressionSuccessAction {\r\n type: typeof SET_DEALERSHIP_IMPRESSION_SUCCESS;\r\n payload: DealershipCommonDateCount[];\r\n}\r\n\r\ninterface SetDealershipDealsSuccessAction {\r\n type: typeof SET_DEALERSHIP_DEAL_SUCCESS;\r\n payload: DealershipCommonDateCount[];\r\n}\r\n\r\ninterface SetDealershipDetailPageViewSuccess {\r\n type: typeof SET_DEALERSHIP_DETAIL_PAGE_VIEW_SUCCESS;\r\n payload: DealershipCommonDateCount[];\r\n}\r\n\r\ninterface SetDealershipCustomerActivitySuccess {\r\n type: typeof SET_DEALERSHIP_CUSTOMER_ACTIVITY_SUCCESS;\r\n payload: DealershipCustomerActivityDateCount;\r\n}\r\n\r\ninterface SetCTRSummaryFailedAction {\r\n type: typeof SET_CTR_SUMMARY_FAILED_MESSAGE;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetCTRSummaryLoadingAction {\r\n type: typeof SET_CTR_SUMMARY_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetCTRSummarySuccess {\r\n type: typeof SET_CTR_SUMMARY_SUCCESS;\r\n payload: CTRSummaryData;\r\n}\r\n\r\ninterface SetInventorySummaryFailedAction {\r\n type: typeof SET_INVENTORY_SUMMARY_FAILED_MESSAGE;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetInventorySummaryLoadingAction {\r\n type: typeof SET_INVENTORY_SUMMARY_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetInventorySummarySuccess {\r\n type: typeof SET_INVENTORY_SUMMARY_SUCCESS;\r\n payload: InventorySummaryData;\r\n}\r\n\r\ninterface SetUserActivityCountSuccess {\r\n type: typeof SET_USER_ACTIVITY_COUNT_SUCCESS;\r\n payload: UserActivityCount;\r\n}\r\n\r\ninterface SetDealershipAccountsLoading {\r\n type: typeof SET_DEALERSHIP_ACCOUNTS_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetDealershipAccountsSuccess {\r\n type: typeof SET_DEALERSHIP_ACCOUNTS_SUCCESS;\r\n payload: string[];\r\n}\r\n\r\ninterface SetDealershipAccountsFailed {\r\n type: typeof SET_DEALERSHIP_ACCOUNTS_FAILED;\r\n payload: string | null;\r\n}\r\ninterface SetDealershipAccountsForAnalytic {\r\n type: typeof SET_SELECTED_DEALERS_FOR_ANALYTICS;\r\n payload: number[];\r\n}\r\n\r\ninterface SetDealershipAccountsForInventory {\r\n type: typeof SET_SELECTED_DEALERS_FOR_INVENTORY;\r\n payload: number[];\r\n}\r\n\r\nexport type DealershipAnalyticAction =\r\n | SetDealershipImpressionSuccessAction\r\n | SetDealershipFailedAction\r\n | SetDealershipLoadingAction\r\n | SetDealershipDealsSuccessAction\r\n | SetDealershipDetailPageViewSuccess\r\n | SetDealershipCustomerActivitySuccess\r\n | SetCTRSummaryFailedAction\r\n | SetCTRSummaryLoadingAction\r\n | SetCTRSummarySuccess\r\n | SetInventorySummaryFailedAction\r\n | SetInventorySummaryLoadingAction\r\n | SetInventorySummarySuccess\r\n | SetUserActivityCountSuccess\r\n | SetDealershipAccountsLoading\r\n | SetDealershipAccountsSuccess\r\n | SetDealershipAccountsFailed\r\n | SetDealershipAccountsForAnalytic\r\n | SetDealershipAccountsForInventory;\r\n","export interface AdvancedInventoryMetricsState {\r\n readonly isLoading: boolean;\r\n readonly errorMessage: string | null;\r\n\r\n readonly data: AdvancedInventoryMetricsDataPayload[];\r\n}\r\n\r\nexport const SET_ADV_INV_METRICS_LOADING = \"SET_ADV_INV_METRICS_LOADING\";\r\nexport const SET_ADV_INV_METRICS_FAILED = \"SET_ADV_INV_METRICS_FAILED\";\r\n\r\nexport const SET_ADV_INV_METRICS_DATA_SUCCESS =\r\n \"SET_ADV_INV_METRICS_DATA_SUCCESS\";\r\n\r\ninterface SetAdvInvMetricsLoadingAction {\r\n type: typeof SET_ADV_INV_METRICS_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetAdvInvMetricsFailedAction {\r\n type: typeof SET_ADV_INV_METRICS_FAILED;\r\n payload: string | null;\r\n}\r\n\r\nexport interface AdvancedInventoryMetricsDataPayload {\r\n make: string;\r\n model?: string;\r\n trim?: string;\r\n documentCount: number;\r\n activityCount: number;\r\n hitCount?: number;\r\n years: string[];\r\n}\r\n\r\ninterface SetAdvInvMetricsDataSuccess {\r\n type: typeof SET_ADV_INV_METRICS_DATA_SUCCESS;\r\n payload: AdvancedInventoryMetricsDataPayload[];\r\n}\r\n\r\nexport type AdvInvMetricsAction =\r\n | SetAdvInvMetricsLoadingAction\r\n | SetAdvInvMetricsFailedAction\r\n | SetAdvInvMetricsDataSuccess;\r\n","import { store } from \"../reducer\";\r\nimport { DelearDetailResult } from \"../type/AuthenticationType\";\r\n\r\ntype PermissionTypes = \"RO_LISTING\" | \"FINANCE\" | \"CASH_OFFER\" | \"DD_BUY_BID\";\r\ntype PermissionList = {\r\n [key in PermissionTypes]: number;\r\n};\r\nconst PERMISSIONS: PermissionList = {\r\n RO_LISTING: 1,\r\n FINANCE: 2,\r\n CASH_OFFER: 3,\r\n DD_BUY_BID: 4,\r\n};\r\n\r\nexport function hasPermission(type: PermissionTypes): boolean {\r\n const state = store.getState();\r\n const { dealers, selectedDealerAccountId } = state.auth;\r\n if (dealers && dealers.length && selectedDealerAccountId) {\r\n let accountFeatureIds: number[] = [];\r\n dealers.forEach((dealer: DelearDetailResult) => {\r\n if (\r\n dealer.AccountId === selectedDealerAccountId &&\r\n dealer.AccountFeatureIds\r\n ) {\r\n accountFeatureIds = dealer.AccountFeatureIds;\r\n }\r\n });\r\n\r\n if (accountFeatureIds.indexOf(PERMISSIONS[type]) > -1) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n","import {\r\n AuthenticationResult,\r\n DelearDetailResult,\r\n SET_AUTHENTICATION_LOADING,\r\n SET_AUTHENTICATION_FAILED,\r\n RESET_AUTHENTICATION_ERROR_MESSAGE,\r\n SET_AUTHENTICATION_SUCCESS,\r\n SET_DEALER_DETAILS_LIST,\r\n SET_AUTHENTICATION_LOG_OUT,\r\n SET_FORGET_PASSWORD_EMAIL_VALIDATION_SUCCESS,\r\n SET_FORGET_PASSWORD_EMAIL_VALIDATION_ERROR_MESSAGE,\r\n RESET_FORGET_PASSWORD_STATUS,\r\n SET_SELECTED_DEALER,\r\n SET_ELASTIC_INFO,\r\n SET_RESET_PASSWORD_FAILED,\r\n SET_RESET_PASSWORD_SUCCESS,\r\n AuthenticationActionTypes,\r\n SET_ACCOUNT_FEATURES,\r\n SET_IS_INTERNAL_DEALER,\r\n AccountFeature,\r\n} from \"../type/AuthenticationType\";\r\n\r\nexport const setAuthenticaionLoading = (\r\n payload: boolean\r\n): AuthenticationActionTypes => ({\r\n type: SET_AUTHENTICATION_LOADING,\r\n payload: payload,\r\n});\r\n\r\nexport const setAuthenticationFailed = (\r\n payload: AuthenticationResult\r\n): AuthenticationActionTypes => ({\r\n type: SET_AUTHENTICATION_FAILED,\r\n payload: payload,\r\n});\r\n\r\nexport const resetAuthenticationErrorMessage = (): AuthenticationActionTypes => ({\r\n type: RESET_AUTHENTICATION_ERROR_MESSAGE,\r\n});\r\n\r\nexport const setAuthenticationSuccess = (\r\n payload: AuthenticationResult\r\n): AuthenticationActionTypes => ({\r\n type: SET_AUTHENTICATION_SUCCESS,\r\n payload: payload,\r\n});\r\n\r\nexport const setDealerDetailList = (\r\n payload: DelearDetailResult[]\r\n): AuthenticationActionTypes => ({\r\n type: SET_DEALER_DETAILS_LIST,\r\n payload: payload,\r\n});\r\n\r\nexport const SetIsInternalDealer = (\r\n payload: boolean\r\n): AuthenticationActionTypes => ({\r\n type: SET_IS_INTERNAL_DEALER,\r\n payload: payload,\r\n});\r\n\r\nexport const setAuthenticationLogOut = (): AuthenticationActionTypes => ({\r\n type: SET_AUTHENTICATION_LOG_OUT,\r\n});\r\n\r\nexport const setForgetPasswordEmailValidationSuccess = (\r\n payload: boolean\r\n): AuthenticationActionTypes => ({\r\n type: SET_FORGET_PASSWORD_EMAIL_VALIDATION_SUCCESS,\r\n payload: payload,\r\n});\r\n\r\nexport const setForgetPasswordEmailValidationError = (\r\n payload: string\r\n): AuthenticationActionTypes => ({\r\n type: SET_FORGET_PASSWORD_EMAIL_VALIDATION_ERROR_MESSAGE,\r\n payload: payload,\r\n});\r\n\r\nexport const resetForgetPasswordStatus = (): AuthenticationActionTypes => ({\r\n type: RESET_FORGET_PASSWORD_STATUS,\r\n});\r\n\r\nexport const setSelectedDealer = (\r\n payload: number | undefined\r\n): AuthenticationActionTypes => ({\r\n type: SET_SELECTED_DEALER,\r\n payload: payload,\r\n});\r\n\r\nexport const setElasticInfo = (payload: string): AuthenticationActionTypes => ({\r\n type: SET_ELASTIC_INFO,\r\n payload: payload,\r\n});\r\n\r\nexport const setResetPasswordSuccess = (\r\n payload: string\r\n): AuthenticationActionTypes => ({\r\n type: SET_RESET_PASSWORD_SUCCESS,\r\n payload: payload,\r\n});\r\n\r\nexport const setResetPasswordFailed = (\r\n payload: string\r\n): AuthenticationActionTypes => ({\r\n type: SET_RESET_PASSWORD_FAILED,\r\n payload: payload,\r\n});\r\nexport const setAccountFeatures = (\r\n payload: AccountFeature[]\r\n): AuthenticationActionTypes => ({\r\n type: SET_ACCOUNT_FEATURES,\r\n payload: payload,\r\n});\r\n","// Define type for redux store\r\n\r\nexport interface AuthenticationResult {\r\n readonly City: string;\r\n readonly DisplayName: string;\r\n readonly Email: string;\r\n readonly Email2: string;\r\n readonly ErrorDetails: string;\r\n readonly FirstName: string;\r\n readonly LastName: string;\r\n readonly Message: string;\r\n readonly Mobile: string;\r\n readonly OptinMarketingEmail: boolean;\r\n readonly State: string;\r\n readonly Success: boolean;\r\n readonly Token: string;\r\n readonly DealerJWTToken: string;\r\n readonly TokenExpireTime: string;\r\n readonly TokenValidPeriod: number;\r\n readonly UserId: string;\r\n readonly UserImage: string;\r\n readonly UserTypeId: number;\r\n readonly Uuid: string;\r\n readonly Zip: string;\r\n readonly esCred: string;\r\n}\r\n\r\nexport interface DelearDetailResult {\r\n readonly AccountId: number;\r\n readonly AccountFeatureIds: number[];\r\n readonly AccountImage: string;\r\n readonly AccountName: string;\r\n readonly ParentAccountId: null | number;\r\n readonly ParentAccountName: null | string;\r\n readonly Address1: string;\r\n readonly City: string;\r\n readonly ContactName: string;\r\n readonly Country: string;\r\n readonly DealerShipLicenseExpiration: string;\r\n readonly DealershipLicenceNumber: string;\r\n readonly Email: string;\r\n readonly Error: string;\r\n readonly ErrorDetails: string;\r\n readonly Message: string;\r\n readonly Password: string;\r\n readonly PhoneNumber: string;\r\n readonly State: string;\r\n readonly TaxIdNumber: string;\r\n readonly UserId: number;\r\n readonly WebSite: string;\r\n readonly zipCode: string;\r\n readonly IsInternalDealer: boolean;\r\n}\r\n\r\nexport interface DealerParentChild {\r\n readonly AccountName: string | null;\r\n readonly AccountId: number | null;\r\n readonly childrenIds: number[];\r\n readonly children: DelearDetailResult[];\r\n}\r\n\r\nexport interface AccountFeature {\r\n AccountFeatureTypeId: number;\r\n AccountId: number;\r\n Feature: string;\r\n OptedIn: boolean;\r\n RelatedTo: number;\r\n}\r\n\r\nexport interface AuthenticationState {\r\n readonly isLoading: boolean;\r\n readonly isLoggedIn: boolean;\r\n readonly failedErrorMessage?: string;\r\n readonly userUuid?: string;\r\n readonly userId?: string;\r\n readonly userTypeId?: number;\r\n readonly sessionToken?: string;\r\n readonly dealerJWTToken?: string;\r\n readonly userEmail?: string;\r\n readonly userFirstname?: string;\r\n readonly userLastName?: string;\r\n readonly selectedDealerAccountId?: number;\r\n readonly dealers: DelearDetailResult[];\r\n readonly forgetPasswordEmailValidationSuccess: boolean;\r\n readonly forgetPasswordEmailValidationError: string;\r\n readonly resetPasswordSuccess: null | string;\r\n readonly resetPasswordError: null | string;\r\n readonly esCred: string;\r\n readonly city?: string;\r\n readonly state?: string;\r\n readonly zip?: string;\r\n readonly accountFeatures: AccountFeature[];\r\n readonly IsInternalDealer: boolean;\r\n}\r\n\r\n// Define action type constant\r\nexport const SET_AUTHENTICATION_LOADING =\r\n \"SET_AUTHENTICATION_LOADING_ACTION_TYPE\";\r\nexport const SET_AUTHENTICATION_FAILED = \"SET_AUTHENTICATION_FAILED\";\r\nexport const RESET_AUTHENTICATION_ERROR_MESSAGE =\r\n \"RESET_AUTHENTICATION_ERROR_MESSAGE\";\r\nexport const SET_AUTHENTICATION_SUCCESS = \"SET_AUTHENTICATION_SUCCESS\";\r\nexport const SET_DEALER_DETAILS_LIST = \"SET_DEALER_DETAILS_LIST\";\r\nexport const SET_AUTHENTICATION_LOG_OUT = \"SET_AUTHENTICATION_LOG_OUT\";\r\nexport const SET_FORGET_PASSWORD_EMAIL_VALIDATION_SUCCESS =\r\n \"SET_FORGET_PASSWORD_EMAIL_VALIDATION_SUCCESS\";\r\nexport const SET_FORGET_PASSWORD_EMAIL_VALIDATION_ERROR_MESSAGE =\r\n \"SET_FORGET_PASSWORD_EMAIL_VALIDATION_ERROR_MESSAGE\";\r\nexport const RESET_FORGET_PASSWORD_STATUS = \"RESET_FORGET_PASSWORD_STATUS\";\r\nexport const SET_SELECTED_DEALER = \"SET_SELECTED_DEALER\";\r\nexport const SET_ELASTIC_INFO = \"SET_ELASTIC_INFO\";\r\nexport const SET_IS_INTERNAL_DEALER = \"SET_IS_INTERNAL_DEALER\";\r\n\r\nexport const SET_RESET_PASSWORD_SUCCESS = \"SET_RESET_PASSWORD_SUCCESS\";\r\nexport const SET_RESET_PASSWORD_FAILED = \"SET_RESET_PASSWORD_FAILED\";\r\nexport const SET_ACCOUNT_FEATURES = \"SET_ACCOUNT_FEATURES\";\r\n\r\n// Define action\r\ninterface SetAuthenticationLoadingAction {\r\n type: typeof SET_AUTHENTICATION_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetAuthenticationFailedAction {\r\n type: typeof SET_AUTHENTICATION_FAILED;\r\n payload: AuthenticationResult;\r\n}\r\n\r\ninterface ResetAuthenticationErrorMessageAction {\r\n type: typeof RESET_AUTHENTICATION_ERROR_MESSAGE;\r\n}\r\n\r\ninterface SetAuthenticationSuccessAction {\r\n type: typeof SET_AUTHENTICATION_SUCCESS;\r\n payload: AuthenticationResult;\r\n}\r\n\r\ninterface SetDealerDeailsListAction {\r\n type: typeof SET_DEALER_DETAILS_LIST;\r\n payload: DelearDetailResult[];\r\n}\r\n\r\ninterface SetAuthenticationLogOutAction {\r\n type: typeof SET_AUTHENTICATION_LOG_OUT;\r\n}\r\n\r\ninterface SetForgetPasswordEmailValidationSuccessAction {\r\n type: typeof SET_FORGET_PASSWORD_EMAIL_VALIDATION_SUCCESS;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetForgetPasswordEmailValidationErrorMessageAction {\r\n type: typeof SET_FORGET_PASSWORD_EMAIL_VALIDATION_ERROR_MESSAGE;\r\n payload: string;\r\n}\r\n\r\ninterface ResetForgetPasswordStatusAction {\r\n type: typeof RESET_FORGET_PASSWORD_STATUS;\r\n}\r\n\r\ninterface SetSelectedDealerAction {\r\n type: typeof SET_SELECTED_DEALER;\r\n payload: number | undefined;\r\n}\r\n\r\ninterface SetElasticInfoAction {\r\n type: typeof SET_ELASTIC_INFO;\r\n payload: string;\r\n}\r\n\r\ninterface SetResetPasswordSuccess {\r\n type: typeof SET_RESET_PASSWORD_SUCCESS;\r\n payload: string;\r\n}\r\n\r\ninterface SetResetPasswordFailed {\r\n type: typeof SET_RESET_PASSWORD_FAILED;\r\n payload: string;\r\n}\r\n\r\ninterface SetAccountFeatures {\r\n type: typeof SET_ACCOUNT_FEATURES;\r\n payload: AccountFeature[];\r\n}\r\n\r\ninterface SetIsInternalDealer {\r\n type: typeof SET_IS_INTERNAL_DEALER;\r\n payload: boolean;\r\n}\r\n\r\nexport type AuthenticationActionTypes =\r\n | SetAuthenticationLoadingAction\r\n | SetAuthenticationFailedAction\r\n | ResetAuthenticationErrorMessageAction\r\n | SetAuthenticationSuccessAction\r\n | SetDealerDeailsListAction\r\n | SetAuthenticationLogOutAction\r\n | SetForgetPasswordEmailValidationSuccessAction\r\n | SetForgetPasswordEmailValidationErrorMessageAction\r\n | ResetForgetPasswordStatusAction\r\n | SetSelectedDealerAction\r\n | SetElasticInfoAction\r\n | SetResetPasswordSuccess\r\n | SetResetPasswordFailed\r\n | SetAccountFeatures\r\n | SetIsInternalDealer;\r\n","import {\r\n AccountDetailsAction,\r\n SET_ACCOUNT_DETAILS_LOADING,\r\n AccountDetails,\r\n SET_ACCOUNT_DETAILS_SUCCESS,\r\n SET_ACCOUNT_DETAILS_FAILED,\r\n SET_SELECTED_ACCOUNT_FOR_ACCOUNT_DETAILS,\r\n} from \"../type/AccountDetailsType\";\r\n\r\nexport const setAccountDetailsLoading = (\r\n loading: boolean\r\n): AccountDetailsAction => ({\r\n type: SET_ACCOUNT_DETAILS_LOADING,\r\n payload: loading,\r\n});\r\n\r\nexport const setAccountDetailsSuccess = (\r\n accountDetails: AccountDetails\r\n): AccountDetailsAction => ({\r\n type: SET_ACCOUNT_DETAILS_SUCCESS,\r\n payload: accountDetails,\r\n});\r\n\r\nexport const setAccountDetailsFailed = (\r\n error: string | null\r\n): AccountDetailsAction => ({\r\n type: SET_ACCOUNT_DETAILS_FAILED,\r\n payload: error,\r\n});\r\n\r\nexport const setSelectedAccountForAccountDetails = (\r\n accountId: null | number\r\n): AccountDetailsAction => ({\r\n type: SET_SELECTED_ACCOUNT_FOR_ACCOUNT_DETAILS,\r\n payload: accountId,\r\n});\r\n","import { Action } from \"redux\";\r\nimport { ThunkAction } from \"redux-thunk\";\r\nimport SystemState from \"../type\";\r\nimport {\r\n resetAuthenticationErrorMessage,\r\n setAuthenticaionLoading,\r\n setAuthenticationFailed,\r\n setAuthenticationSuccess,\r\n setDealerDetailList,\r\n setForgetPasswordEmailValidationSuccess,\r\n setForgetPasswordEmailValidationError,\r\n setSelectedDealer,\r\n SetIsInternalDealer,\r\n setElasticInfo,\r\n setResetPasswordFailed,\r\n setResetPasswordSuccess,\r\n setAccountFeatures,\r\n} from \"../action/AuthenticationAction\";\r\nimport moment from 'moment'\r\nimport { environmentVariableList } from \"../constant\";\r\nimport { message } from \"antd\";\r\n\r\nconst env = environmentVariableList();\r\n\r\nexport const forgetPasswordEmailValidationThunkAction = (\r\n email: string\r\n): ThunkAction => async dispatch => {\r\n dispatch(setAuthenticaionLoading(true));\r\n dispatch(setForgetPasswordEmailValidationError(\"\"));\r\n try {\r\n const endPoint = new URL(\r\n `${env.REACT_APP_AUTHENTICATION_END_POINT}/api/Authentication/ForgotPassword`\r\n );\r\n const queryParams = new URLSearchParams({\r\n email: email,\r\n site: \"Dealer\",\r\n });\r\n endPoint.search = queryParams.toString();\r\n const response = await fetch(endPoint.toString());\r\n if (response.ok) {\r\n // handle Success\r\n dispatch(setForgetPasswordEmailValidationError(\"\"));\r\n dispatch(setForgetPasswordEmailValidationSuccess(true));\r\n } else {\r\n throw new Error(\"Invalid Email\");\r\n }\r\n } catch (error) {\r\n console.error(\"Email validation failed: \", error);\r\n dispatch(setForgetPasswordEmailValidationSuccess(false));\r\n dispatch(setForgetPasswordEmailValidationError(\"Invalid Email\"));\r\n }\r\n dispatch(setAuthenticaionLoading(false));\r\n};\r\n\r\nexport const loginThunkAction = (\r\n email: string,\r\n password: string\r\n): ThunkAction => async dispatch => {\r\n dispatch(resetAuthenticationErrorMessage());\r\n dispatch(setAuthenticaionLoading(true));\r\n try {\r\n const response = await fetch(\r\n `${env.REACT_APP_AUTHENTICATION_END_POINT}/api/authentication/login`,\r\n {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ClientId: \"rumbleon-consumer\",\r\n Username: email,\r\n Password: password,\r\n GetJWTToken: true,\r\n }),\r\n }\r\n );\r\n const json = await response.json();\r\n if (response.ok) {\r\n window.localStorage.setItem('auth', JSON.stringify(json));\r\n window.localStorage.setItem('expiration', moment(Date.now()).add(json.TokenValidPeriod, 'second').format(\"L LTS\"));\r\n dispatch(setAuthenticationSuccess(json));\r\n dispatch(setSelectedDealer(undefined));\r\n } else {\r\n dispatch(setAuthenticationFailed(json));\r\n }\r\n } catch (error) {\r\n console.error(\"Log in failed with error:\", error);\r\n }\r\n dispatch(setAuthenticaionLoading(false));\r\n};\r\n\r\nexport const resetPasswordThunkAction = (\r\n password: string,\r\n code: string,\r\n userUuid: string\r\n): ThunkAction => async dispatch => {\r\n dispatch(resetAuthenticationErrorMessage());\r\n dispatch(setAuthenticaionLoading(true));\r\n const fixUrlIssue = code.split(\" \").join(\"+\");\r\n try {\r\n const response = await fetch(\r\n `${env.REACT_APP_AUTHENTICATION_END_POINT}/api/Authentication/ResetPassword`,\r\n {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n UserUuid: userUuid,\r\n Password: password,\r\n ConfirmPassword: password,\r\n Code: fixUrlIssue,\r\n }),\r\n }\r\n );\r\n const json = await response.json();\r\n if (response.ok && json.Success) {\r\n dispatch(setResetPasswordSuccess(json.Message));\r\n } else {\r\n dispatch(setResetPasswordFailed(json.ErrorDetails || \"Failed to reset\"));\r\n }\r\n } catch (error) {\r\n console.error(\"Log in failed with error:\", error);\r\n dispatch(setResetPasswordFailed(\"Something went wrong\"));\r\n }\r\n dispatch(setAuthenticaionLoading(false));\r\n};\r\n\r\nexport const refreshAuthThunkAction = (): ThunkAction<\r\n void,\r\n SystemState,\r\n null,\r\n Action\r\n> => async (dispatch, getState) => {\r\n try {\r\n const state = getState();\r\n const userUuid = state.auth.userUuid;\r\n dispatch(setAuthenticaionLoading(true));\r\n const esCredResp = await fetch(\r\n `${env.REACT_APP_AUTHENTICATION_END_POINT}/api/authentication/GetDealerSearchConfig`,\r\n {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n Uuid: userUuid,\r\n }),\r\n }\r\n );\r\n const esCredRespJson = await esCredResp.json();\r\n dispatch(setElasticInfo(window.atob(esCredRespJson)));\r\n // dispatch(setAuthenticaionLoading(false));\r\n // fetch related dealer list after success\r\n const dealerResponse = await fetch(\r\n `${env.REACT_APP_DEALER_LIST_END_POINT}/Services/API/User/GetUserDealerDetailsList`,\r\n {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n UserUuid: userUuid,\r\n }),\r\n }\r\n );\r\n const dealerJson = await dealerResponse.json();\r\n dispatch(setDealerDetailList(dealerJson));\r\n\r\n // Set default selected dealer\r\n if (dealerJson && dealerJson[0] && dealerJson[0].AccountId) {\r\n dispatch(setSelectedDealer(dealerJson[0].AccountId));\r\n }\r\n if (dealerJson && dealerJson.length > 0) {\r\n for (var i = 0; i < dealerJson.length; i++) {\r\n if (dealerJson[i].IsInternalDealer === true) {\r\n dispatch(SetIsInternalDealer(true));\r\n break;\r\n }\r\n }\r\n\r\n }\r\n dispatch(setAuthenticaionLoading(false));\r\n } catch (error) {\r\n dispatch(setAuthenticaionLoading(false));\r\n console.error(\"Failed to get fresh user into\", error);\r\n }\r\n};\r\n\r\nexport const getAccountFeaturesThunk = (): ThunkAction<\r\n void,\r\n SystemState,\r\n null,\r\n Action\r\n> => async (dispatch, getState) => {\r\n try {\r\n const state = getState();\r\n const { userUuid } = state.auth;\r\n const response = await fetch(\r\n `${env.REACT_APP_INVENTORY_END_POINT}/Services/API/DealerInventory/GetAccountFeatures`,\r\n {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n AccountId: 208,\r\n UserUuid: userUuid,\r\n }),\r\n }\r\n );\r\n const result = await response.json();\r\n if (result && result.AccountFeatures) {\r\n dispatch(setAccountFeatures(result.AccountFeatures));\r\n } else {\r\n dispatch(setAccountFeatures([]));\r\n }\r\n } catch (error) {\r\n dispatch(setAccountFeatures([]));\r\n }\r\n};\r\n","import { Vin, VehicleType } from \"./SharedTypes\";\r\n\r\nexport const SET_APPRAISAL_IS_SUBMITTING = \"SET_APPRAISAL_IS_SUBMITTING\",\r\n SET_APPRAISAL_CURRENT_STEP = \"SET_APPRAISAL_CURRENT_STEP\",\r\n SET_APPRAISAL_COMPLETED_STEPS = \"SET_APPRAISAL_COMPLETED_STEPS\",\r\n SET_APPRAISAL_ERROR_MESSAGE = \"SET_APPRAISAL_ERROR_MESSAGE\",\r\n RESET_APPRAISAL_ERROR_MESSAGE = \"SET_APPRAISAL_ERROR_MESSAGE\",\r\n ADD_APPRAISAL_SUBMITTED_FORMS = \"ADD_APPRAISAL_SUBMITTED_FORMS\",\r\n SET_APPRAISAL_CURRENT_FORM = \"SET_APPRAISAL_CURRENT_FORM\",\r\n ADD_APPRAISAL_ATTACHMENTS = \"ADD_APPRAISAL_ATTACHMENTS\",\r\n REMOVE_APPRAISAL_ATTACHMENTS = \"REMOVE_APPRAISAL_ATTACHMENTS\",\r\n RESET_APPRAISAL_STATE = \"RESET_APPRAISAL_STATE\",\r\n ADD_CREATED_APPRAISAL = \"ADD_CREATED_APPRAISAL\",\r\n ADD_CREATED_APPRAISAL_VINLESS = \"ADD_CREATED_APPRAISAL_VINLESS\",\r\n REMOVE_CREATED_APPRAISAL = \"REMOVE_CREATED_APPRAISAL\",\r\n SET_APPRAISAL_CREATE_REQUEST = \"SET_APPRAISAL_CREATE_REQUEST\",\r\n SET_APPRAISAL_UPDATE_REQUEST = \"SET_APPRAISAL_UPDATE_REQUEST\",\r\n SET_APPRAISAL_IMAGE_UPLOAD_REQUEST = \"SET_APPRAISAL_IMAGE_UPLOAD_REQUEST\",\r\n SET_APPRAISAL_DEALER_EMAIL_REQUEST = \"SET_APPRAISAL_DEALER_EMAIL_REQUEST\",\r\n SET_APPRAISAL_ASSIGN_REQUEST = \"SET_APPRAISAL_ASSIGN_REQUEST\",\r\n SET_APPRAISAL_UPLOADED_IMAGES = \"SET_APPRAISAL_UPLOADED_IMAGES\",\r\n SET_APPRAISAL_DEALER_EMAIL = \"SET_APPRAISAL_DEALER_EMAIL\",\r\n SET_ISVINLESS = 'SET_ISVINLESS'\r\n\r\nexport type Submission = \"success\" | \"pending\" | \"failure\";\r\nexport type AppraisalRefs = { [key: string]: string };\r\nexport type AppraisalRefNo = string;\r\n\r\nexport const MOTORCYCLE_STEP_FIELDS: { [key: number]: string[] } = {\r\n 2: [\"ItemYear\", \"Make\", \"Model\"],\r\n 3: [\r\n \"ZipCode\",\r\n \"Mileage\",\r\n \"Color\",\r\n \"HasDamage\",\r\n \"IsTrade\",\r\n \"DamageDescription\",\r\n \"RunDescription\",\r\n \"HasBeenOperated\",\r\n \"HasKeys\",\r\n \"OverallConditionId\",\r\n \"CustomerNotes\",\r\n \"Attachments\",\r\n ],\r\n 4: [\r\n \"DealerUserFirstName\",\r\n \"DealerUserLastName\",\r\n \"DealerUserEmail\",\r\n \"DealerUserPhone\",\r\n ],\r\n};\r\nexport const MOTORCYCLE_VINLESSSTEP_FIELDS: { [key: number]: string[] } = {\r\n 2: [\"BikeYear\", \"BikeMake\", \"BikeModel\"],\r\n 3: [\r\n \"ZipCode\",\r\n \"Mileage\",\r\n \"Color\",\r\n \"HasDamage\",\r\n \"IsTrade\",\r\n \"DamageDescription\",\r\n \"RunDescription\",\r\n \"HasBeenOperated\",\r\n \"HasKeys\",\r\n \"OverallConditionId\",\r\n \"CustomerNotes\",\r\n \"Attachments\",\r\n ],\r\n 4: [\r\n \"DealerUserFirstName\",\r\n \"DealerUserLastName\",\r\n \"DealerUserEmail\",\r\n \"DealerUserPhone\",\r\n ],\r\n};\r\nexport const CAR_STEP_FIELDS: { [key: number]: string[] } = {\r\n 2: [\"ItemYear\", \"Make\", \"Model\", \"Trim\"],\r\n 3: [\r\n \"ZipCode\",\r\n \"Mileage\",\r\n \"ExteriorColor\",\r\n \"InteriorColor\",\r\n \"ItemOptions\",\r\n \"HasDamage\",\r\n \"HasKeys\",\r\n \"IsTrade\",\r\n \"DamageDescription\",\r\n \"RunDescription\",\r\n \"HasBeenSmokedIn\",\r\n \"DoesYourCarRun\",\r\n \"PhysicalConditionId\",\r\n \"MechanicalConditionId\",\r\n \"TireConditionId\",\r\n \"CustomerNotes\",\r\n \"Attachments\",\r\n ],\r\n 4: [\r\n \"DealerUserFirstName\",\r\n \"DealerUserLastName\",\r\n \"DealerUserEmail\",\r\n \"DealerUserPhone\",\r\n ],\r\n};\r\nexport const MARINES_STEP_FIELDS: { [key: number]: string[] } = {\r\n 2: [\"ItemYear\", \"Make\", \"Model\", \"Series\"],\r\n 3: [\r\n \"ZipCode\",\r\n \"Hours\",\r\n \"Color\",\r\n \"HasDamage\",\r\n \"HasKeys\",\r\n \"HasBeenOperated\",\r\n \"IsTrade\",\r\n \"hpRange\",\r\n \"DamageDescription\",\r\n \"RunDescription\",\r\n \"OverallConditionId\",\r\n \"CustomerNotes\",\r\n \"Attachments\",\r\n \"HasTrailer\",\r\n \"trailerYear\",\r\n \"trailerType\",\r\n \"trailerLength\",\r\n ],\r\n 4: [\r\n \"DealerUserFirstName\",\r\n \"DealerUserLastName\",\r\n \"DealerUserEmail\",\r\n \"DealerUserPhone\",\r\n ],\r\n};\r\n\r\nexport const APPRAISAL_STATUS_ID = 1;\r\nexport const APPRAISAL_SOURCE_TYPE_ID = 4;\r\nexport const APPRAISAL_ATTACHMENT_TYPE_ID: { [key: number]: 17 | 3020 | 3040 } = {\r\n 1: 17,\r\n 2: 3020,\r\n 3: 3040,\r\n};\r\n\r\nexport interface AppraisalBasicFormFields {\r\n Vin: Vin;\r\n Mileage: number;\r\n ZipCode: string;\r\n MarketingCategory: VehicleType;\r\n //\r\n Attachments?: { AttachmentTypeId: 17 | 3020 }[];\r\n}\r\n\r\nexport interface CarFormFields { }\r\n\r\nexport interface MotorcycleFormFields { }\r\nexport interface MarinesFormFields { }\r\n\r\nexport interface AppraisalForm\r\n extends AppraisalBasicFormFields,\r\n CarFormFields,\r\n MarinesFormFields,\r\n MotorcycleFormFields {\r\n // Color: string;\r\n // CustomerNotes?: string;\r\n // ItemTypeId: number;\r\n // ItemYear: number;\r\n // Make: string;\r\n // Decoder: string;\r\n // Model: string;\r\n // CategoryName: string;\r\n // Id: string;\r\n // DoesYourCarRun?: boolean;\r\n // HasBeenOperated?: boolean;\r\n // HasDamage: boolean;\r\n // DamageDescription?: string;\r\n // HasBeenSmokedIn?: boolean;\r\n // ExteriorColor?: string;\r\n // InteriorColor?: string;\r\n // OverallConditionId?: number;\r\n // MechanicalConditionId?: number;\r\n // PhysicalConditionId?: number;\r\n // TireConditionId?: number;\r\n // CityMileage?: number;\r\n // HighwayMileage?: number;\r\n // DriveTrain?: string;\r\n // EngineDescription?: string;\r\n // EngineSize?: number;\r\n // FuelType?: string;\r\n // Transmission?: string;\r\n // Trim?: string;\r\n // HaveOutstandingLoan?: boolean;\r\n // RemainingLoanAmount?: number | null;\r\n // ItemOptions?: {\r\n // IsInstalled: boolean;\r\n // IsStandard: boolean;\r\n // OptionName: string;\r\n // }[];\r\n}\r\n\r\n// type AssignParam = {\r\n// DealerUserFirstName: string,\r\n// DealerUserLastName: string,\r\n// DealerUserEmail: string,\r\n// DealerUserPhone: number,\r\n// }\r\n\r\nexport type MappedTrimOptions = {\r\n OptionName: string;\r\n IsStandard: boolean;\r\n IsInstalled: boolean;\r\n OptionHeader: string;\r\n OptionCategory: string;\r\n OptionCode: number;\r\n};\r\n\r\nexport type TrimOptions = {\r\n Name: string;\r\n IsStandard: boolean;\r\n Group: string;\r\n CategoryName: string;\r\n Code: number;\r\n};\r\n","import React, { FC } from \"react\";\r\nimport { css } from \"@emotion/core\";\r\n\r\nimport {\r\n Card,\r\n} from \"antd\";\r\n\r\nexport const EmCard: FC = ({ children, ...props }) => {\r\n const { bordered = true, boxShadow = 'none' } = props\r\n\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\n\r\n","import React, { FC } from \"react\";\r\n//import { css } from \"@emotion/core\";\r\n\r\nimport {\r\n Layout,\r\n} from \"antd\";\r\n\r\nexport const EmLayout: FC = ({ children, ...props }) => {\r\n const {\r\n idTag,\r\n background\r\n } = props\r\n\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n","import React, { FC, useState, Fragment } from \"react\";\r\n\r\nimport { Row, Col, Popover } from 'antd';\r\nimport { EmButton } from './EmButton'\r\n\r\nexport const EmPopover: FC = ({ bttnColor, onConfirm, okText, cancelText, placement, title, children }) => {\r\n\r\n const [visible, setVisible] = useState(false);\r\n\r\n const handleYes = (e: any) => {\r\n onConfirm(e);\r\n setVisible(false)\r\n }\r\n\r\n return (\r\n \r\n

{title}

\r\n \r\n \r\n setVisible(false)}>{cancelText}\r\n \r\n \r\n {okText}\r\n \r\n \r\n \r\n }\r\n trigger=\"click\"\r\n visible={visible}\r\n placement={placement}\r\n onVisibleChange={() => setVisible(!visible)}\r\n >\r\n {children}\r\n \r\n )\r\n}","import {\r\n DelearDetailResult,\r\n DealerParentChild,\r\n} from \"../type/AuthenticationType\";\r\nimport { store } from \"../reducer\";\r\nimport { setSelectedDealerForAnalytics } from \"../action/DealershipAnalyticAction\";\r\n\r\ninterface ParentType {\r\n [key: string]: {\r\n AccountName: string;\r\n AccountId: number;\r\n children: DelearDetailResult[];\r\n };\r\n}\r\n\r\nexport function getSelectedOrDefaultDealerAccounts(): number[] {\r\n const state = store.getState();\r\n\r\n const { selectedDealerAccounts } = state.dealershipAnalytic;\r\n const { dealers } = state.auth;\r\n\r\n let accountIds = selectedDealerAccounts;\r\n if (selectedDealerAccounts.length === 0) {\r\n const parentAccounts = getParentChildDealerList(dealers);\r\n if (parentAccounts[0]) {\r\n accountIds = parentAccounts[0].childrenIds;\r\n store.dispatch(setSelectedDealerForAnalytics(accountIds));\r\n }\r\n }\r\n return accountIds;\r\n}\r\nexport function getParentChildDealerList(\r\n accounts: DelearDetailResult[]\r\n): DealerParentChild[] {\r\n const parents: ParentType = {};\r\n const parentsChildren: DealerParentChild[] = [];\r\n\r\n accounts.forEach(item => {\r\n if (item.ParentAccountId === null) {\r\n let children: DelearDetailResult[] = [item];\r\n if (parents[item.AccountId]) {\r\n children = [...children, ...parents[item.AccountId].children];\r\n }\r\n\r\n parents[`${item.AccountId}`] = {\r\n AccountName: item.AccountName,\r\n AccountId: item.AccountId,\r\n children,\r\n };\r\n } else {\r\n if (parents[item.ParentAccountId]) {\r\n parents[item.ParentAccountId].children.push(item);\r\n } else {\r\n if (item.ParentAccountName && item.ParentAccountId) {\r\n parents[item.ParentAccountId] = {\r\n AccountName: item.ParentAccountName,\r\n AccountId: item.ParentAccountId,\r\n children: [item],\r\n };\r\n }\r\n }\r\n }\r\n });\r\n\r\n for (const [key, value] of Object.entries(parents)) {\r\n const newParent = {\r\n ...value,\r\n childrenIds: value.children.map(item => item.AccountId),\r\n };\r\n parentsChildren.push(newParent);\r\n }\r\n\r\n return parentsChildren;\r\n}\r\n","import { Action } from \"redux\";\r\nimport { ThunkAction } from \"redux-thunk\";\r\nimport SystemState from \"../type\";\r\nimport {\r\n setIasLoggingIn,\r\n setIasLoginFailed,\r\n resetIasMarketError,\r\n} from \"../action/IasMarketAction\";\r\nimport { environmentVariableList } from \"../constant\";\r\n\r\nconst env = environmentVariableList();\r\n\r\nexport const iasMarketLoginThunkAction = (\r\n openNewTab = true,\r\n redirectUrl = \"\"\r\n): ThunkAction => async (\r\n dispatch,\r\n getState\r\n) => {\r\n dispatch(resetIasMarketError());\r\n dispatch(setIasLoggingIn(true));\r\n try {\r\n const state = getState();\r\n const { userId, userUuid, dealerJWTToken } = state.auth;\r\n let baseUrl = env.REACT_APP_IAS_MARKET_PLACE;\r\n\r\n const userAgentString = navigator.userAgent;\r\n const chromeAgent = userAgentString.indexOf(\"Chrome\") > -1;\r\n let safariAgent = userAgentString.indexOf(\"Safari\") > -1;\r\n if (chromeAgent && safariAgent) {\r\n safariAgent = false;\r\n }\r\n\r\n if (redirectUrl) {\r\n if (!redirectUrl.includes(\"iaslogin.com\")) {\r\n baseUrl = redirectUrl;\r\n } else {\r\n const url = `${redirectUrl!}${\r\n redirectUrl!.includes(\"?\") ? \"&\" : \"?\"\r\n }code=${dealerJWTToken}`;\r\n\r\n if (safariAgent === true) {\r\n window.location.replace(url);\r\n } else {\r\n // window.open(url, openNewTab ? \"_blank\" : \"_self\");\r\n window.location.replace(url);\r\n }\r\n }\r\n }\r\n const iasLoginResponse = await fetch(\r\n `${env.REACT_APP_AUTHENTICATION_END_POINT}/api/authentication/DealerDirectLogin`,\r\n {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n UserId: userId,\r\n UserUuid: userUuid,\r\n }),\r\n }\r\n );\r\n const resJson = await iasLoginResponse.json();\r\n if (resJson.Success) {\r\n const { Token, RefreshToken: refreshToken } = resJson;\r\n const url = `${baseUrl}?ticket=${Token}&refreshToken=${refreshToken}&FirstTimeLogin=true`;\r\n\r\n if (safariAgent === true) {\r\n window.location.replace(url);\r\n } else {\r\n // window.open(url, openNewTab ? \"_blank\" : \"_self\");\r\n window.location.replace(url);\r\n }\r\n // window.open(url, openNewTab ? \"_blank\" : \"_self\");\r\n } else {\r\n dispatch(setIasLoginFailed());\r\n }\r\n } catch (error) {\r\n console.error(\"Failed to login to ias:\", error);\r\n dispatch(setIasLoginFailed());\r\n }\r\n dispatch(setIasLoggingIn(false));\r\n};\r\n","import { capitalCase } from 'change-case';\r\n\r\nexport const nomalizeCapitalCase = (v: string) => {\r\n if (v.charAt(v.length - 2) !== \" \" && v.charAt(v.length - 1) === \" \") {\r\n return v;\r\n }\r\n return capitalCase(v);\r\n};\r\n\r\n//in seconds\r\nexport const checkExpiration = (createdAt: number, TTL: number) => {\r\n const now = new Date();\r\n return Math.round(now.getTime() - createdAt) / 1000 > TTL;\r\n};\r\n\r\nexport const findAndSplitArr = (list: object[], name: string, value: string) => {\r\n let rest: object[] = [], target: object | undefined;\r\n list.map((i: any) => {\r\n if (i[name] === value) {\r\n target = i;\r\n } else {\r\n rest.push(i);\r\n }\r\n })\r\n return { rest, target };\r\n}\r\n\r\ntype ObjectStringKey = { [key: string]: any }\r\nexport const removePropFromObj = (obj: ObjectStringKey, key: string) => Object.keys(obj).reduce((acc: ObjectStringKey, cur: string) => {\r\n if (cur !== key) {\r\n acc[cur] = obj[cur];\r\n }\r\n return acc;\r\n}, {})","import { \r\n nomalizeCapitalCase, \r\n checkExpiration,\r\n findAndSplitArr,\r\n removePropFromObj,\r\n} from './appraisal'\r\n\r\nexport {\r\n nomalizeCapitalCase, \r\n checkExpiration,\r\n findAndSplitArr,\r\n removePropFromObj,\r\n}\r\n\r\nexport const formatDate = (date: string) => {\r\n const esDate = new Date(date);\r\n return esDate.toLocaleDateString(\"en-US\");\r\n};\r\n\r\nexport const formatCurrency = (value: number) => {\r\n return new Intl.NumberFormat(\"en-US\", {\r\n style: \"currency\",\r\n currency: \"USD\",\r\n minimumFractionDigits: 0\r\n }).format(value);\r\n};\r\n\r\nexport const offerStatusMapper = (status: number) => {\r\n switch (status) {\r\n case 0:\r\n return \"Inbound\";\r\n case 1:\r\n return \"New\";\r\n case 4:\r\n return \"Active\";\r\n case 5:\r\n return \"Accepted\";\r\n case 6:\r\n return \"Expired\";\r\n case 7:\r\n return \"Terminated\";\r\n case 8:\r\n return \"Purchased\";\r\n case 9:\r\n return \"Nodeal\";\r\n default:\r\n return \"pending\";\r\n }\r\n};\r\n\r\nexport const offerStatusReverseMapper = (status: string) => {\r\n switch (status) {\r\n case \"Inbound\":\r\n return 0;\r\n case \"New\":\r\n return 1;\r\n case \"Active\":\r\n return 4;\r\n case \"Accepted\":\r\n return 5;\r\n case \"Expired\":\r\n return 6;\r\n case \"Terminated\":\r\n return 7;\r\n case \"Purchased\":\r\n return 8;\r\n case \"Nodeal\":\r\n return 9;\r\n default:\r\n return \"\";\r\n }\r\n};\r\n","import { css } from '@emotion/core'\r\n\r\nconst breakpoints = [576, 768, 992, 1200, 1600]\r\n\r\nexport const color = {\r\n textBlack: '#595a5e',\r\n textWhite: 'white',\r\n logoDark: '#2b2b2b',\r\n borderDark: '#474747',\r\n bgDark: 'rgba(0, 0, 0, 0.5)',\r\n}\r\n\r\nexport const minMedia = breakpoints.map(\r\n bp => `@media (min-width: ${bp}px)`\r\n)\r\n\r\nexport const maxMedia = breakpoints.map(\r\n bp => `@media (max-width: ${bp}px)`\r\n)","import React, { FC } from \"react\";\r\nimport { css } from \"@emotion/core\";\r\n\r\nimport {\r\n Row,\r\n Col,\r\n} from \"antd\";\r\n\r\nexport const CenterLayout: FC = ({ children, emCss, ...props }) => (\r\n\r\n \r\n \r\n {children}\r\n \r\n \r\n)\r\n\r\nexport const GuestPageLayout: FC = ({ children, emCss, ...props }) => (\r\n\r\n \r\n \r\n {children}\r\n \r\n \r\n)","import {\r\n minMedia,\r\n maxMedia,\r\n color,\r\n} from './Styles';\r\n\r\nimport { CenterLayout, GuestPageLayout } from './SharedLayouts';\r\nimport { EmButton } from './EmButton';\r\nimport { EmCard } from './EmCard';\r\nimport { EmLayout } from './EmLayout'\r\nimport { EmPopover } from './EmPopover'\r\n\r\nexport {\r\n minMedia,\r\n maxMedia,\r\n color,\r\n CenterLayout,\r\n GuestPageLayout,\r\n EmButton,\r\n EmCard,\r\n EmLayout,\r\n EmPopover,\r\n}","module.exports = __webpack_public_path__ + \"static/media/google-play-logo.74a71851.png\";","module.exports = __webpack_public_path__ + \"static/media/apple-store-logo.9ebdc2c9.png\";","module.exports = __webpack_public_path__ + \"static/media/default-profile.5f9af5e1.jpg\";","export interface InventoryState {\r\n readonly loadingInventory: boolean;\r\n readonly inventoryErrorMessage: string | null;\r\n readonly inventories: InventoryItemResponse[];\r\n\r\n readonly updateInventorySuccessMessage: string | null;\r\n readonly updateInventoryErrorMessage: string | null;\r\n readonly updateInventoryLoading: boolean;\r\n\r\n readonly deleteVehicleErrorMessage: string | null;\r\n readonly deleteVehicleLoading: boolean;\r\n readonly addInventoryLoading: boolean;\r\n readonly addInventoryStatus: boolean;\r\n\r\n readonly editedImageUploading: boolean;\r\n readonly editedImage: any;\r\n readonly editedImageUploadError: string | null;\r\n}\r\n\r\nexport interface InventoryItemResponse {\r\n Vin: string;\r\n Make: string;\r\n Model: string;\r\n ItemYear: number;\r\n ItemName: string;\r\n Color: null | string;\r\n StockNo: string;\r\n Description: string;\r\n StockTypeId: null | string;\r\n MSRP: number;\r\n DealerPrice: number;\r\n Miles: number;\r\n ImagesUrl: InventoryImage[];\r\n DealerItemId: number;\r\n AccountId: number;\r\n ParentId: null | string;\r\n ItemStatusId: 1;\r\n BodyStyle: null | string;\r\n InteriorColor: null | string;\r\n Transmission: null | string;\r\n Engine: null | string;\r\n ItemTypeId: null | string;\r\n Trim: string;\r\n Category: null | string;\r\n VideoURL: string[];\r\n ListingId: string;\r\n ImportDate: string;\r\n ImportType: null;\r\n ListedDate: string;\r\n PushedToDD: boolean;\r\n PushedToDDOn: string;\r\n DealerVdpUrl: null | string;\r\n WholesalePrice: null | number;\r\n BuyNowPrice: null | number;\r\n CurrentBid: null | number;\r\n ReservePrice: null | number;\r\n SellerDisclosure: null | string;\r\n}\r\n\r\nexport interface InventoryImage {\r\n MediaId: number;\r\n Rank: number;\r\n Url: string;\r\n}\r\n\r\nexport const SET_GET_INVENTORY_LOADING = \"SET_GET_INVENTORY_LOADING\";\r\nexport const SET_GET_INVENTORY_FAILED = \"SET_GET_INVENTORY_FAILED\";\r\nexport const SET_GET_INVENTORY_SUCCESS = \"SET_GET_INVENTORY_SUCCESS\";\r\n\r\nexport const SET_UPDATE_INVENTORY_LOADING = \"SET_UPDATE_INVENTORY_LOADING\";\r\nexport const SET_UPDATE_INVENTORY_FAILED = \"SET_UPDATE_INVENTORY_FAILED\";\r\nexport const SET_UPDATE_INVENTORY_SUCCESS = \"SET_UPDATE_INVENTORY_SUCCESS\";\r\n\r\nexport const SET_VEHICLE_DELETE_LOADING = \"SET_VEHICLE_DELETE_LOADING\";\r\nexport const SET_VEHICLE_DELETE_FAILED = \"SET_VEHICLE_DELETE_FAILED\";\r\n\r\nexport const SET_ADD_INVENTORY_LOADING = \"SET_ADD_INVENTORY_LOADING\";\r\nexport const SET_ADD_INVENTORY_SUCCESS = \"SET_ADD_INVENTORY_SUCCESS\";\r\nexport const SET_ADD_INVENTORY_FAILED = \"SET_ADD_INVENTORY_FAILED\";\r\nexport const SET_CLEAR_INVENTORY_MESSAGES = \"SET_CLEAR_INVENTORY_MESSAGES\";\r\n\r\nexport const SET_INVENTORY_EDITED_IMG_UPLOADING =\r\n \"SET_INVENTORY_EDITED_IMG_UPLOADING\";\r\nexport const SET_INVENTORY_EDITED_IMG_UPLOAD_SUCCESS =\r\n \"SET_INVENTORY_EDITED_IMG_UPLOAD_SUCCESS\";\r\nexport const SET_INVENTORY_EDITED_IMG_UPLOAD_FAILED =\r\n \"SET_INVENTORY_EDITED_IMG_UPLOAD_FAILED\";\r\n\r\ninterface SetDeleteVehicleLoading {\r\n type: typeof SET_VEHICLE_DELETE_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetDeleteVehicleFailed {\r\n type: typeof SET_VEHICLE_DELETE_FAILED;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetGetInventoryLoading {\r\n type: typeof SET_GET_INVENTORY_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetGetInventorySuccess {\r\n type: typeof SET_GET_INVENTORY_SUCCESS;\r\n payload: InventoryItemResponse[];\r\n}\r\n\r\ninterface SetGetInventoryFailed {\r\n type: typeof SET_GET_INVENTORY_FAILED;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetUpdateInventoryLoading {\r\n type: typeof SET_UPDATE_INVENTORY_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetUpdateInventoryFailed {\r\n type: typeof SET_UPDATE_INVENTORY_FAILED;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetUpdateInventorySuccess {\r\n type: typeof SET_UPDATE_INVENTORY_SUCCESS;\r\n payload: string;\r\n}\r\n\r\ninterface SetAddInventoryLoading {\r\n type: typeof SET_ADD_INVENTORY_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetAddInventorySuccess {\r\n type: typeof SET_ADD_INVENTORY_SUCCESS;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetAddInventoryFailed {\r\n type: typeof SET_ADD_INVENTORY_FAILED;\r\n payload: boolean;\r\n}\r\ninterface SetClearInventoryMessages {\r\n type: typeof SET_CLEAR_INVENTORY_MESSAGES;\r\n}\r\n\r\ninterface SetInventoryEditedImageUploading {\r\n type: typeof SET_INVENTORY_EDITED_IMG_UPLOADING;\r\n uploading: boolean;\r\n}\r\n\r\ninterface SetCashOfferEditedImageUploadSuccess {\r\n type: typeof SET_INVENTORY_EDITED_IMG_UPLOAD_SUCCESS;\r\n updatedFile: any;\r\n}\r\n\r\ninterface SetCashOfferEditedImageUploadFailed {\r\n type: typeof SET_INVENTORY_EDITED_IMG_UPLOAD_FAILED;\r\n errorMessage: string;\r\n}\r\n\r\nexport type InventoryAction =\r\n | SetDeleteVehicleLoading\r\n | SetDeleteVehicleFailed\r\n | SetUpdateInventoryLoading\r\n | SetUpdateInventoryFailed\r\n | SetAddInventoryLoading\r\n | SetAddInventorySuccess\r\n | SetAddInventoryFailed\r\n | SetGetInventoryLoading\r\n | SetGetInventorySuccess\r\n | SetGetInventoryFailed\r\n | SetClearInventoryMessages\r\n | SetUpdateInventorySuccess\r\n | SetInventoryEditedImageUploading\r\n | SetCashOfferEditedImageUploadSuccess\r\n | SetCashOfferEditedImageUploadFailed;\r\n","export interface UsersState {\r\n readonly loading: boolean;\r\n\r\n readonly userList: UserItemUpdate[];\r\n readonly userListError: null | string;\r\n\r\n readonly updateUserSuccess: null | string;\r\n readonly updateUserError: null | string;\r\n\r\n readonly deleteUserSuccess: null | string;\r\n readonly deleteUserError: null | string;\r\n\r\n readonly addUserSuccess: null | string;\r\n readonly addUserError: null | string;\r\n\r\n readonly userTypeList: UserType[];\r\n readonly userTypeListError: null | string;\r\n\r\n readonly userStatusTypeList: UserStatusType[];\r\n readonly userStatusTypeListError: null | string;\r\n}\r\n\r\nexport interface UserItem {\r\n UserName: string;\r\n DisplayName: string;\r\n FirstName: string;\r\n LastName: string;\r\n CompanyName: string;\r\n Password: string;\r\n PasswordConfirm: string;\r\n AddressLine1: string;\r\n AddressLine2: string;\r\n City: string;\r\n State: string;\r\n ZipCode: string;\r\n Country: string;\r\n HomePhoneNumber: string;\r\n OfficePhoneNumber: string;\r\n MobileNumber: string;\r\n Email: string;\r\n UserTypeId: 0;\r\n AccountId: 0;\r\n ImageUrl: string;\r\n}\r\n\r\nexport interface UserItemUpdate extends UserItem {\r\n UserStatusId: number;\r\n UserUuid: string;\r\n UserId: number;\r\n}\r\n\r\nexport interface UserType {\r\n \"UserTypeId\": number,\r\n \"UserType\": string\r\n}\r\n\r\nexport interface UserStatusType {\r\n \"UserStatusId\": number,\r\n \"UserStatus\": string\r\n}\r\n\r\nexport const SET_CLEAN_USER_MESSAGES = \"SET_CLEAN_USER_MESSAGES\";\r\n\r\nexport const SET_USER_LOADING = \"SET_USER_LOADING\";\r\n\r\nexport const SET_GET_USER_LIST_FAILED = \"SET_GET_USER_LIST_FAILED\";\r\nexport const SET_GET_USER_LIST_SUCCESS = \"SET_GET_USER_LIST_SUCCESS\";\r\n\r\nexport const SET_UPDATE_USER_FAILED = \"SET_UPDATE_USER_FAILED\";\r\nexport const SET_UPDATE_USER_SUCCESS = \"SET_UPDATE_USER_SUCCESS\";\r\n\r\nexport const SET_ADD_USER_FAILED = \"SET_ADD_USER_FAILED\";\r\nexport const SET_ADD_USER_SUCCESS = \"SET_ADD_USER_SUCCESS\";\r\n\r\nexport const SET_DELETE_USER_FAILED = \"SET_DELETE_USER_FAILED\";\r\nexport const SET_DELETE_USER_SUCCESS = \"SET_DELETE_USER_SUCCESS\";\r\n\r\nexport const SET_GET_USER_TYPE_LIST_FAILED = \"SET_GET_USER_TYPE_LIST_FAILED\";\r\nexport const SET_GET_USER_TYPE_LIST_SUCCESS = \"SET_GET_USER_TYPE_LIST_SUCCESS\";\r\n\r\nexport const SET_GET_USER_STATUS_LIST_FAILED = \"SET_GET_USER_STATUS_LIST_FAILED\";\r\nexport const SET_GET_USER_STATUS_LIST_SUCCESS = \"SET_GET_USER_STATUS_LIST_SUCCESS\";\r\n\r\ninterface SetUserLoading {\r\n type: typeof SET_USER_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetClearUserMessages {\r\n type: typeof SET_CLEAN_USER_MESSAGES;\r\n}\r\n\r\ninterface SetGetUserTypeListFailed {\r\n type: typeof SET_GET_USER_TYPE_LIST_FAILED;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetGetUserTypeListSuccess {\r\n type: typeof SET_GET_USER_TYPE_LIST_SUCCESS;\r\n payload: UserType[];\r\n}\r\n\r\ninterface SetGetUserStatusListFailed {\r\n type: typeof SET_GET_USER_STATUS_LIST_FAILED;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetGetUserStatusListSuccess {\r\n type: typeof SET_GET_USER_STATUS_LIST_SUCCESS;\r\n payload: UserStatusType[];\r\n}\r\n\r\n\r\ninterface SetGetUserListFailed {\r\n type: typeof SET_GET_USER_LIST_FAILED;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetGetUserListSuccess {\r\n type: typeof SET_GET_USER_LIST_SUCCESS;\r\n payload: UserItemUpdate[];\r\n}\r\n\r\ninterface SetUpdateUserFailed {\r\n type: typeof SET_UPDATE_USER_FAILED;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetUpdateUserSuccess {\r\n type: typeof SET_UPDATE_USER_SUCCESS;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetDeleteUserFailed {\r\n type: typeof SET_DELETE_USER_FAILED;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetAddUserFailed {\r\n type: typeof SET_ADD_USER_FAILED;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetAddUserSuccess {\r\n type: typeof SET_ADD_USER_SUCCESS;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetDeleteUserSuccess {\r\n type: typeof SET_DELETE_USER_SUCCESS;\r\n payload: string | null;\r\n}\r\n\r\nexport type UsersAction =\r\n | SetGetUserTypeListFailed\r\n | SetGetUserTypeListSuccess\r\n | SetGetUserStatusListFailed\r\n | SetGetUserStatusListSuccess\r\n | SetUserLoading\r\n | SetClearUserMessages\r\n | SetGetUserListFailed\r\n | SetGetUserListSuccess\r\n | SetUpdateUserFailed\r\n | SetUpdateUserSuccess\r\n | SetAddUserFailed\r\n | SetAddUserSuccess\r\n | SetDeleteUserFailed\r\n | SetDeleteUserSuccess;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"defs\", null, React.createElement(\"style\", null, \".cls-1{fill:#fff;}.cls-2{fill:#85ce06;}\"));\n\nvar _ref3 =\n/*#__PURE__*/\nReact.createElement(\"title\", null, \"RumbleOn Logo White\");\n\nvar _ref4 =\n/*#__PURE__*/\nReact.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\"\n}, React.createElement(\"g\", {\n id: \"Layer_1-2\",\n \"data-name\": \"Layer 1\"\n}, React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M237,1.87V65.25a9.48,9.48,0,0,1-9.47,9.53H196.59A9.58,9.58,0,0,1,187,65.25V1.87A1.83,1.83,0,0,0,185.18,0H163.87A1.87,1.87,0,0,0,162,1.87v67.7A30.44,30.44,0,0,0,192.46,100h39.46A30.12,30.12,0,0,0,262,69.57V1.87A2,2,0,0,0,260,0H238.93A1.93,1.93,0,0,0,237,1.87Z\"\n}), React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M447,1.86V98.14a1.86,1.86,0,0,1-1.86,1.86h-21.3A1.84,1.84,0,0,1,422,98.14V40.32L397.87,82.91a2.64,2.64,0,0,1-2.3,1.34H378.5a2.63,2.63,0,0,1-2.29-1.34L352,40.32V98.14a1.84,1.84,0,0,1-1.84,1.86h-21.3A1.86,1.86,0,0,1,327,98.14V1.86A1.86,1.86,0,0,1,328.86,0h26.62L387,54.18,418.6,0h26.54A1.86,1.86,0,0,1,447,1.86Z\"\n}), React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M672,1.86V98.11a1.89,1.89,0,0,0,1.89,1.89h77.25A1.86,1.86,0,0,0,753,98.14V76.86A1.86,1.86,0,0,0,751.14,75H697V1.86A1.73,1.73,0,0,0,695.3,0H673.86A1.86,1.86,0,0,0,672,1.86Z\"\n}), React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M843,25V40h36a1.86,1.86,0,0,1,1.86,1.86V58.14A1.86,1.86,0,0,1,879,60H843V75h49.47a3.86,3.86,0,0,1,3.7,2.77L901.93,98a1.59,1.59,0,0,1-1.52,2H819.86A1.86,1.86,0,0,1,818,98.14V1.86A1.86,1.86,0,0,1,819.86,0h80.55a1.59,1.59,0,0,1,1.52,2l-5.75,20.2a3.87,3.87,0,0,1-3.7,2.76Z\"\n}), React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M1074,0h-39a32.9,32.9,0,0,0-33,32.81V67.19A32.9,32.9,0,0,0,1035,100h39a32.9,32.9,0,0,0,33-32.81V32.81A32.9,32.9,0,0,0,1074,0Zm8,62.45A12.59,12.59,0,0,1,1069.38,75h-29.76A12.59,12.59,0,0,1,1027,62.45V37.55A12.59,12.59,0,0,1,1039.62,25h29.76A12.59,12.59,0,0,1,1082,37.55Z\"\n}), React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M1268,0h-21.22a2,2,0,0,0-2,2V61.72L1197.07,1a2.66,2.66,0,0,0-1.83-1V0H1174a2,2,0,0,0-2,2V98a2,2,0,0,0,2,2h21.22a2,2,0,0,0,2-2V38.57L1244.66,99a2.67,2.67,0,0,0,2.1,1H1268a2,2,0,0,0,2-2V2A2,2,0,0,0,1268,0Z\"\n}), React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M76,71.18h0A37.48,37.48,0,0,0,97,37.35C96.92,16.58,79.57,0,58.8,0H2A2,2,0,0,0,.08,2.55l6.06,21A2,2,0,0,0,8.06,25h51c6.9,0,12.84,5.4,13,12.3A12.5,12.5,0,0,1,59.5,50H2a2,2,0,0,0-2,2V98a2,2,0,0,0,2,2H25a0,0,0,0,0,0,0V75a0,0,0,0,1,0,0h26l0,0L65.75,98.75A2.63,2.63,0,0,0,68,100H92.34a1.53,1.53,0,0,0,1.27-2.37Z\"\n}), React.createElement(\"path\", {\n className: \"cls-1\",\n d: \"M596.93,49.47a5.13,5.13,0,0,0,.68-.6,28.93,28.93,0,0,0,8.3-18.76C606.77,13.57,592.32,0,575.79,0H513.86A1.86,1.86,0,0,0,512,1.86V98.14a1.86,1.86,0,0,0,1.86,1.86h64.58a28.43,28.43,0,0,0,20.22-8.36,28.83,28.83,0,0,0-1.73-42.17ZM574.35,75H537V60h37.35a7.5,7.5,0,0,1,0,15Zm0-35H537V25h37.35a7.5,7.5,0,0,1,0,15Z\"\n})));\n\nvar SvgRumbleonLogoWhite = function SvgRumbleonLogoWhite(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return React.createElement(\"svg\", _extends({\n viewBox: \"0 0 1270 100\",\n ref: svgRef\n }, props), _ref2, title === undefined ? _ref3 : title ? React.createElement(\"title\", null, title) : null, _ref4);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgRumbleonLogoWhite, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/rumbleon-logo-white.3d8ad23f.svg\";\nexport { ForwardRef as ReactComponent };","import React, { FC } from \"react\";\r\nimport { css } from \"@emotion/core\";\r\n//import preval from \"preval.macro\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { Row, Col, Layout, Icon, Button } from \"antd\";\r\n\r\nimport { ReactComponent as RumbleWhiteLogo } from \"./asset/rumbleon-logo-white.svg\";\r\nimport googleLogo from \"./asset/google-play-logo.png\";\r\nimport appleLogo from \"./asset/apple-store-logo.png\";\r\n\r\nimport { color, minMedia, maxMedia } from \"../UiComponents\";\r\n\r\nconst Footer = Layout.Footer;\r\n\r\nconst flexSharedCss = css`\r\n display: flex;\r\n justify-content: center;\r\n ${minMedia[1]} {\r\n justify-content: start;\r\n }\r\n`;\r\n\r\nconst footerCss = css`\r\n color: ${color.textWhite};\r\n background: ${color.logoDark};\r\n padding: 1.5rem 2rem;\r\n button,\r\n a {\r\n color: ${color.textWhite};\r\n }\r\n`;\r\n\r\nconst rowSpecial = css`\r\n ${flexSharedCss}\r\n ${maxMedia[1]} {\r\n flex-wrap: wrap;\r\n .ant-row:not(:last-child) {\r\n border-right: 1px solid ${color.borderDark};\r\n }\r\n }\r\n`;\r\nconst bottomCss = css`\r\n border-top: 1px solid ${color.borderDark};\r\n margin-top: 1rem;\r\n padding-top: 0.5rem;\r\n ${minMedia[0]} {\r\n border-top: 0px;\r\n }\r\n`;\r\n\r\nconst AppFooter: FC = () => {\r\n //@todo move to about\r\n //const buildDate = () => preval`module.exports = new Date().toLocaleString(\"en-US\", {timeZone: \"America/Chicago\"})`;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n Contact\r\n \r\n \r\n \r\n \r\n (206) 479-9772\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Career\r\n \r\n \r\n \r\n \r\n Investor Relationships\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

© 2018 RumbleOn. All rights reserved.

\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AppFooter;\r\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\nReact.createElement(\"defs\", null, React.createElement(\"style\", null, \".cls-1a{fill:#2b2b2b;}.cls-2{fill:#85ce06;}\"));\n\nvar _ref3 =\n/*#__PURE__*/\nReact.createElement(\"title\", null, \"RumbleOn Logo Gray\");\n\nvar _ref4 =\n/*#__PURE__*/\nReact.createElement(\"g\", {\n id: \"Layer_2\",\n \"data-name\": \"Layer 2\"\n}, React.createElement(\"g\", {\n id: \"Layer_1-2\",\n \"data-name\": \"Layer 1\"\n}, React.createElement(\"path\", {\n className: \"cls-1a\",\n d: \"M237,1.87V65.25a9.48,9.48,0,0,1-9.47,9.53H196.59A9.58,9.58,0,0,1,187,65.25V1.87A1.83,1.83,0,0,0,185.18,0H163.87A1.87,1.87,0,0,0,162,1.87v67.7A30.44,30.44,0,0,0,192.46,100h39.46A30.12,30.12,0,0,0,262,69.57V1.87A2,2,0,0,0,260,0H238.93A1.93,1.93,0,0,0,237,1.87Z\"\n}), React.createElement(\"path\", {\n className: \"cls-1a\",\n d: \"M447,1.86V98.14a1.86,1.86,0,0,1-1.86,1.86h-21.3A1.84,1.84,0,0,1,422,98.14V40.32L397.87,82.91a2.64,2.64,0,0,1-2.3,1.34H378.5a2.63,2.63,0,0,1-2.29-1.34L352,40.32V98.14a1.84,1.84,0,0,1-1.84,1.86h-21.3A1.86,1.86,0,0,1,327,98.14V1.86A1.86,1.86,0,0,1,328.86,0h26.62L387,54.18,418.6,0h26.54A1.86,1.86,0,0,1,447,1.86Z\"\n}), React.createElement(\"path\", {\n className: \"cls-1a\",\n d: \"M672,1.86V98.11a1.89,1.89,0,0,0,1.89,1.89h77.25A1.86,1.86,0,0,0,753,98.14V76.86A1.86,1.86,0,0,0,751.14,75H697V1.86A1.73,1.73,0,0,0,695.3,0H673.86A1.86,1.86,0,0,0,672,1.86Z\"\n}), React.createElement(\"path\", {\n className: \"cls-1a\",\n d: \"M843,25V40h36a1.86,1.86,0,0,1,1.86,1.86V58.14A1.86,1.86,0,0,1,879,60H843V75h49.47a3.86,3.86,0,0,1,3.7,2.77L901.93,98a1.59,1.59,0,0,1-1.52,2H819.86A1.86,1.86,0,0,1,818,98.14V1.86A1.86,1.86,0,0,1,819.86,0h80.55a1.59,1.59,0,0,1,1.52,2l-5.75,20.2a3.87,3.87,0,0,1-3.7,2.76Z\"\n}), React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M1074,0h-39a32.9,32.9,0,0,0-33,32.81V67.19A32.9,32.9,0,0,0,1035,100h39a32.9,32.9,0,0,0,33-32.81V32.81A32.9,32.9,0,0,0,1074,0Zm8,62.45A12.59,12.59,0,0,1,1069.38,75h-29.76A12.59,12.59,0,0,1,1027,62.45V37.55A12.59,12.59,0,0,1,1039.62,25h29.76A12.59,12.59,0,0,1,1082,37.55Z\"\n}), React.createElement(\"path\", {\n className: \"cls-2\",\n d: \"M1268,0h-21.22a2,2,0,0,0-2,2V61.72L1197.07,1a2.66,2.66,0,0,0-1.83-1V0H1174a2,2,0,0,0-2,2V98a2,2,0,0,0,2,2h21.22a2,2,0,0,0,2-2V38.57L1244.66,99a2.67,2.67,0,0,0,2.1,1H1268a2,2,0,0,0,2-2V2A2,2,0,0,0,1268,0Z\"\n}), React.createElement(\"path\", {\n className: \"cls-1a\",\n d: \"M76,71.18h0A37.48,37.48,0,0,0,97,37.35C96.92,16.58,79.57,0,58.8,0H2A2,2,0,0,0,.08,2.55l6.06,21A2,2,0,0,0,8.06,25h51c6.9,0,12.84,5.4,13,12.3A12.5,12.5,0,0,1,59.5,50H2a2,2,0,0,0-2,2V98a2,2,0,0,0,2,2H25a0,0,0,0,0,0,0V75a0,0,0,0,1,0,0h26l0,0L65.75,98.75A2.63,2.63,0,0,0,68,100H92.34a1.53,1.53,0,0,0,1.27-2.37Z\"\n}), React.createElement(\"path\", {\n className: \"cls-1a\",\n d: \"M596.93,49.47a5.13,5.13,0,0,0,.68-.6,28.93,28.93,0,0,0,8.3-18.76C606.77,13.57,592.32,0,575.79,0H513.86A1.86,1.86,0,0,0,512,1.86V98.14a1.86,1.86,0,0,0,1.86,1.86h64.58a28.43,28.43,0,0,0,20.22-8.36,28.83,28.83,0,0,0-1.73-42.17ZM574.35,75H537V60h37.35a7.5,7.5,0,0,1,0,15Zm0-35H537V25h37.35a7.5,7.5,0,0,1,0,15Z\"\n})));\n\nvar SvgRumbleonLogoDarkGrey = function SvgRumbleonLogoDarkGrey(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return React.createElement(\"svg\", _extends({\n viewBox: \"0 0 1270 100\",\n ref: svgRef\n }, props), _ref2, title === undefined ? _ref3 : title ? React.createElement(\"title\", null, title) : null, _ref4);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return React.createElement(SvgRumbleonLogoDarkGrey, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/rumbleon-logo-dark-grey.e8bf3190.svg\";\nexport { ForwardRef as ReactComponent };","import {\r\n Avatar,\r\n Button,\r\n Col,\r\n Divider,\r\n Drawer,\r\n Icon,\r\n Layout,\r\n Menu,\r\n Row,\r\n Spin,\r\n notification,\r\n} from \"antd\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport React, { FC, Fragment, useEffect, useState } from \"react\";\r\nimport { color, minMedia } from \"../UiComponents\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nimport { DelearDetailResult } from \"../../type/AuthenticationType\";\r\nimport { ReactComponent as RumbleLogoDark } from \"./asset/rumbleon-logo-dark-grey.svg\";\r\nimport SystemState from \"../../type\";\r\nimport { css } from \"@emotion/core\";\r\nimport { environmentVariableList } from \"../../constant\";\r\nimport { getParentChildDealerList } from \"../../util/account\";\r\nimport { hasPermission } from \"../../util/permission\";\r\nimport profileLogo from \"./asset/default-profile.jpg\";\r\nimport { setSelectedAccountForAccountDetails } from \"../../action/AccountDetailsAction\";\r\nimport { setSelectedDealerForInventory } from \"../../action/DealershipAnalyticAction\";\r\n\r\nconst envList = environmentVariableList();\r\n\r\nconst Header = Layout.Header;\r\nconst { SubMenu, Item } = Menu;\r\n\r\nconst justifyRight = css`\r\n display: flex;\r\n justify-content: flex-end;\r\n`;\r\n\r\nconst logoCss = css`\r\n width: 150px;\r\n\r\n ${minMedia[2]} {\r\n width: 200px;\r\n }\r\n`;\r\n\r\nconst fontSizeCss = css`\r\n font-weight: 600;\r\n ${minMedia[2]} {\r\n font-size: 1.1rem;\r\n }\r\n ${minMedia[3]} {\r\n font-size: 1.3rem;\r\n }\r\n`;\r\n\r\nconst profileIconCss = css`\r\n margin-left: 10px;\r\n`;\r\n\r\nconst menuCss = css`\r\n border-color: transparent;\r\n li {\r\n border-color: transparent !important;\r\n font-size: 16px;\r\n font-weight: normal;\r\n }\r\n`;\r\nconst loginCss = css`\r\n ${menuCss}\r\n ${fontSizeCss}\r\n ${justifyRight}\r\n`;\r\n\r\nconst hMenuCss = css`\r\n ${menuCss}\r\n ${fontSizeCss}\r\n ${minMedia[1]} {\r\n li {\r\n padding: 0 0.5rem;\r\n }\r\n .ant-menu-submenu-title {\r\n padding: 0;\r\n }\r\n }\r\n .ant-menu-item{\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n }\r\n .ant-menu-submenu{\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n }\r\n ${minMedia[3]} {\r\n li {\r\n padding: 0 20px;\r\n }\r\n .ant-menu-submenu-title {\r\n padding: 0;\r\n }\r\n }\r\n`;\r\nconst subMenuCss = css`\r\n ${menuCss}\r\n .ant-menu-submenu-title {\r\n padding: 0px !important;\r\n }\r\n`;\r\n\r\nconst profileCss = css`\r\n ${minMedia[1]} {\r\n ${justifyRight}\r\n }\r\n`;\r\nconst DrawerMenuCss = css`\r\n ${menuCss}\r\n`;\r\n\r\nconst navIconCss = css`\r\n padding: 0;\r\n display: flex;\r\n justify-content: flex-end;\r\n`;\r\n\r\ntype Props = {\r\n isAuthorized: boolean;\r\n userDealerList: any[];\r\n dealerList: DelearDetailResult[];\r\n logout: () => void;\r\n handleSelectDealer: (accountId: number) => void;\r\n handleSelectDealerForAnalytics: (accountIds: number[]) => void;\r\n handleIasLogin: () => void;\r\n};\r\n\r\nconst AppHeader: FC = ({\r\n isAuthorized,\r\n dealerList,\r\n userDealerList,\r\n logout,\r\n handleIasLogin,\r\n handleSelectDealer,\r\n handleSelectDealerForAnalytics,\r\n}) => {\r\n let selectedKeys: string[] = [];\r\n const history = useHistory();\r\n const [visible, setVisible] = useState(false);\r\n const toggleMobileMenu = () => setVisible(!visible);\r\n\r\n const shouldDisableDealerMenu = userDealerList && userDealerList.length === 0;\r\n const shouldHideDealerDropDown = userDealerList && userDealerList.length <= 1;\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {isAuthorized ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n {\r\n logout();\r\n history.push(\"/\");\r\n }}\r\n >\r\n Logout\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n Log In\r\n \r\n \r\n Sign Up\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nconst MenuDrawer: FC = ({\r\n visible,\r\n emCss,\r\n handleCancel,\r\n handleIasLogin,\r\n handleLogout,\r\n shouldHideDealerDropDown,\r\n shouldDisableDealerMenu,\r\n handleSelectDealer,\r\n handleSelectDealerForAnalytics,\r\n dealerList,\r\n isAuthorized,\r\n}) => {\r\n const history = useHistory();\r\n const logout = () => {\r\n handleLogout();\r\n handleCancel();\r\n history.push(\"/\");\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isAuthorized ? (\r\n \r\n \r\n \r\n \r\n ) : null}\r\n {isAuthorized ? (\r\n \r\n Log Out\r\n \r\n ) : (\r\n \r\n \r\n Sign Up\r\n \r\n \r\n Log In\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst NavMenu: FC = ({\r\n mode = \"horizontal\",\r\n emCss,\r\n handleIasLogin,\r\n handleSelectDealer,\r\n shouldHideDealerDropDown,\r\n handleSelectDealerForAnalytics,\r\n shouldDisableDealerMenu,\r\n dealerList,\r\n onClick,\r\n}) => {\r\n const handleOnclick = () => {\r\n if (!onClick) return;\r\n onClick();\r\n };\r\n\r\n const ROUTE_KEYS: any = {\r\n \"/help\": \"help\",\r\n \"/create-motorcycle-offer\": \"offer\",\r\n \"/create-car-offer\": \"offer\",\r\n \"/sell\": \"sell\",\r\n \"/account\": \"account\",\r\n \"/analytics\": \"analytics\",\r\n \"/analytics/dealership\": \"analytics\",\r\n \"/analytics/click-through-rate\": \"analytics\",\r\n \"/analytics/inventory-metric\": \"analytics\",\r\n \"/analytics/advanced-inventory-metric\": \"analytics\",\r\n \"/inventory\": \"inventory\",\r\n \"/users\": \"users\",\r\n \"/leads\": \"leads\",\r\n };\r\n\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n const history = useHistory();\r\n const selectedDealerAccounts = useSelector(\r\n (state: SystemState) => state.dealershipAnalytic.selectedDealerAccounts\r\n );\r\n const selectedDealerAccountsForInventory = useSelector(\r\n (state: SystemState) =>\r\n state.dealershipAnalytic.selectedDealerAccountsForInventory\r\n );\r\n\r\n const selectedDealerAccountId = useSelector(\r\n (state: SystemState) => state.auth.selectedDealerAccountId\r\n );\r\n const selectedAccountForAccountDetails = useSelector(\r\n (state: SystemState) =>\r\n state.accountDetails.selectedAccountForAccountDetails\r\n );\r\n const IsInternalDealer = useSelector(\r\n (state: SystemState) => state.auth.IsInternalDealer);\r\n const selectDealerForAnalytics = (accountIds: number[]) => {\r\n handleSelectDealerForAnalytics(accountIds);\r\n handleOnclick();\r\n };\r\n const handleDealerLogin = () => {\r\n history.push(\"/\");\r\n handleIasLogin();\r\n handleOnclick();\r\n };\r\n\r\n const parentChildDealers = getParentChildDealerList(dealerList);\r\n const foundedLocation = ROUTE_KEYS[location.pathname];\r\n let selectedKeys = foundedLocation ? [foundedLocation] : undefined;\r\n\r\n if (foundedLocation === \"analytics\" || foundedLocation === \"leads\") {\r\n let keySuffix = selectedDealerAccounts.join(\"+\");\r\n if (!selectedDealerAccounts.length && parentChildDealers.length) {\r\n keySuffix = parentChildDealers[0].childrenIds.join(\"+\");\r\n }\r\n selectedKeys = [`${foundedLocation}-${keySuffix}`];\r\n }\r\n\r\n if (foundedLocation === \"inventory\") {\r\n const keySuffix = selectedDealerAccountsForInventory.join(\"+\");\r\n selectedKeys = [`inventory-${keySuffix}`];\r\n }\r\n\r\n if (foundedLocation === \"account\") {\r\n selectedKeys = [`account-${selectedAccountForAccountDetails}`];\r\n }\r\n if (foundedLocation === \"users\") {\r\n selectedKeys = [`users-${selectedAccountForAccountDetails}`];\r\n }\r\n return (\r\n \r\n \r\n Help\r\n \r\n\r\n {shouldHideDealerDropDown ? null : (\r\n \r\n {dealerList &&\r\n dealerList.map((dealer: any, i: number) => (\r\n handleSelectDealer(dealer.AccountId)}\r\n >\r\n {dealer.AccountId === selectedDealerAccountId ? (\r\n {dealer.AccountName} \r\n ) : (\r\n dealer.AccountName\r\n )}\r\n \r\n ))}\r\n \r\n )}\r\n {\r\n \r\n Auctions\r\n \r\n /* {hasPermission(\"DD_BUY_BID\") ? (\r\n Dealer Direct\r\n ) : null} */\r\n }\r\n \r\n \r\n Motorcycle\r\n \r\n \r\n Boat\r\n \r\n \r\n Car\r\n \r\n \r\n\r\n \r\n My Offers\r\n \r\n\r\n {/* {hasPermission(\"RO_LISTING\") ? (\r\n \r\n {parentChildDealers.map(parent => {\r\n return (\r\n \r\n {\" \"}\r\n {parent.AccountName}{\" \"}\r\n \r\n }\r\n >\r\n selectDealerForAnalytics(parent.childrenIds)}\r\n >\r\n [All Dealers]\r\n \r\n {parent.children.length > 1 &&\r\n parent.children.map(child => {\r\n return (\r\n \r\n selectDealerForAnalytics([child.AccountId])\r\n }\r\n >\r\n {child.AccountName}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n ) : null} */}\r\n {hasPermission(\"RO_LISTING\") ? (\r\n \r\n {parentChildDealers.map(parent => {\r\n return (\r\n \r\n {\" \"}\r\n {parent.AccountName}{\" \"}\r\n \r\n }\r\n >\r\n \r\n dispatch(setSelectedDealerForInventory(parent.childrenIds))\r\n }\r\n >\r\n [All Dealers] \r\n \r\n {parent.children.length > 1 &&\r\n parent.children.map(child => {\r\n return (\r\n \r\n dispatch(\r\n setSelectedDealerForInventory([child.AccountId])\r\n )\r\n }\r\n >\r\n {child.AccountName}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n {hasPermission(\"RO_LISTING\") ? (\r\n \r\n {parentChildDealers.map(parent => {\r\n return (\r\n \r\n {\" \"}\r\n {parent.AccountName}{\" \"}\r\n \r\n }\r\n >\r\n selectDealerForAnalytics(parent.childrenIds)}\r\n >\r\n [All Dealers]\r\n \r\n {parent.children.length > 1 &&\r\n parent.children.map(child => {\r\n return (\r\n \r\n selectDealerForAnalytics([child.AccountId])\r\n }\r\n >\r\n {child.AccountName}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n ) : null}\r\n \r\n {parentChildDealers.map(parent => {\r\n return (\r\n {parent.AccountName} \r\n }\r\n >\r\n {parent.children.map(child => {\r\n return (\r\n \r\n dispatch(\r\n setSelectedAccountForAccountDetails(child.AccountId)\r\n )\r\n }\r\n >\r\n {child.AccountName}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n \r\n {parentChildDealers.map(parent => {\r\n return (\r\n {parent.AccountName} \r\n }\r\n >\r\n {parent.children.map(child => {\r\n return (\r\n \r\n dispatch(\r\n setSelectedAccountForAccountDetails(child.AccountId)\r\n )\r\n }\r\n >\r\n {child.AccountName}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n {IsInternalDealer && \r\n NADA Valuation\r\n }\r\n {IsInternalDealer &&\r\n \r\n \r\n Search\r\n \r\n \r\n History\r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nexport default AppHeader;\r\n","import React, { Fragment, useEffect } from \"react\";\r\nimport { withRouter, RouteComponentProps } from \"react-router-dom\";\r\nimport { Layout, Spin, Icon, notification } from \"antd\";\r\nimport { css } from \"@emotion/core\";\r\nimport { DelearDetailResult } from \"../../type/AuthenticationType\";\r\n\r\nimport AppFooter from \"./AppFooter\";\r\nimport AppHeader from \"./AppHeader\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { getAccountFeaturesThunk } from \"../../thunk/AuthenticationThunk\";\r\n\r\nconst Content = Layout.Content;\r\n\r\ninterface Props extends RouteComponentProps {\r\n children: React.ReactNode;\r\n dealerList: DelearDetailResult[];\r\n isIasMarketLogginIn: boolean;\r\n isIasMarketLoginFailed: boolean;\r\n handleIasLogin: () => void;\r\n resetIasError: () => void;\r\n isAuthorized: boolean;\r\n userDealerList: any[];\r\n\r\n logout: () => void;\r\n handleSelectDealer: (accountId: number) => void;\r\n handleSelectDealerForAnalytics: (accountId: number[]) => void;\r\n}\r\n\r\nconst AppLayout: React.FC = ({\r\n children,\r\n isAuthorized,\r\n dealerList,\r\n logout,\r\n userDealerList,\r\n //isIasMarketLogginIn,\r\n isIasMarketLoginFailed,\r\n isIasMarketLogginIn,\r\n resetIasError,\r\n handleIasLogin,\r\n handleSelectDealer,\r\n handleSelectDealerForAnalytics,\r\n location,\r\n}) => {\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n dispatch(getAccountFeaturesThunk());\r\n }, [dispatch]);\r\n\r\n if (location.pathname.includes(\"/portal\"))\r\n return {children};\r\n //@todo move callback calls from /home to here (IMPORTANT)\r\n //console.log('u', userDealerList, dealerList)\r\n return (\r\n \r\n \r\n \r\n div {\r\n width: 100%;\r\n }\r\n `}\r\n >\r\n {/* }\r\n >\r\n */}\r\n {children}\r\n \r\n \r\n {isIasMarketLoginFailed &&\r\n notification.error({\r\n message: \"Redirect Failed\",\r\n description:\r\n \"Sorry we are not able to redirect you now. Please try again later\",\r\n onClose: resetIasError,\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default withRouter(AppLayout);\r\n","import SystemState from \"../type\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n setAuthenticationLogOut,\r\n setSelectedDealer\r\n} from \"../action/AuthenticationAction\";\r\nimport { resetIasMarketError } from \"../action/IasMarketAction\";\r\nimport AppLayout from \"../component/AppLayout/AppLayout\";\r\nimport { iasMarketLoginThunkAction } from \"../thunk/IasMarketThunk\";\r\nimport { setSelectedDealerForAnalytics } from \"../action/DealershipAnalyticAction\";\r\nconst mapStateToProps = (state: SystemState) => ({\r\n dealerList: state.auth.dealers,\r\n isAuthorized: state.auth.isLoggedIn,\r\n userDealerList: state.auth.dealers,\r\n isIasMarketLogginIn: state.iasMarket.isLoggingIn,\r\n isIasMarketLoginFailed: state.iasMarket.isFailed\r\n});\r\n\r\nconst mapDispatchToProps = {\r\n logout: setAuthenticationLogOut,\r\n resetIasError: resetIasMarketError,\r\n handleIasLogin: iasMarketLoginThunkAction,\r\n handleSelectDealer: setSelectedDealer,\r\n handleSelectDealerForAnalytics: setSelectedDealerForAnalytics,\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(AppLayout);\r\n","import React from \"react\";\r\nimport { withRouter, RouteComponentProps } from \"react-router-dom\";\r\n\r\nclass ScrollToTop extends React.Component {\r\n componentDidUpdate(prevProps: RouteComponentProps) {\r\n if (\r\n this.props.location.pathname !== prevProps.location.pathname &&\r\n !this.props.location.pathname.includes(\"leads\")\r\n ) {\r\n window.scrollTo(0, 0);\r\n }\r\n }\r\n render() {\r\n return this.props.children;\r\n }\r\n}\r\n\r\nexport default withRouter(ScrollToTop);\r\n","import React, { Suspense, lazy } from \"react\";\r\nimport { Provider, useSelector } from \"react-redux\";\r\nimport {\r\n BrowserRouter as Router,\r\n Route,\r\n Switch,\r\n Redirect,\r\n} from \"react-router-dom\";\r\nimport { css } from \"@emotion/core\";\r\nimport { Spin, Icon } from \"antd\";\r\nimport { store, persistor } from \"./reducer\";\r\nimport { PersistGate } from \"redux-persist/integration/react\";\r\nimport AppLayoutContainer from \"./container/AppLayoutContainer\";\r\nimport ScrollToTop from \"./component/ScrollToTop/ScrollToTop\";\r\nimport SystemState from \"./type\";\r\nimport \"slick-carousel/slick/slick.css\";\r\nimport \"slick-carousel/slick/slick-theme.css\";\r\n\r\nconst AsyncAccountPage = lazy(() => import(\"./page/AccountPage\"));\r\nconst AsyncUsersPage = lazy(() => import(\"./page/UsersPage\"));\r\nconst AsyncPrivacyPolicyPage = lazy(() => import(\"./page/PrivacyPrivacyPage\"));\r\nconst AsyncLeadPage = lazy(() => import(\"./page/LeadPage\"));\r\nconst AsyncHelpPage = lazy(() => import(\"./page/HelpPage\"));\r\nconst AsyncInventoryPage = lazy(() => import(\"./page/InventoryPage\"));\r\nconst AsyncHomePage = lazy(() => import(\"./container/HomePageContainer\"));\r\nconst AsyncLoginPage = lazy(() => import(\"./page/LoginPage\"));\r\nconst AsyncSignupPage = lazy(() => import(\"./page/SignUpPage\"));\r\nconst AsyncForgetPasswordPage = lazy(() => import(\"./page/ForgetPasswordPage\"));\r\nconst AsyncResetPasswordPage = lazy(() => import(\"./page/ResetPasswordPage\"));\r\nconst AsyncSellPage = lazy(() => import(\"./page/SellPage\"));\r\nconst AsyncCarOfferPage = lazy(() => import(\"./page/CreateCarCashOfferPage\"));\r\nconst AsyncBoatOfferPage = lazy(() => import(\"./page/CreateBoatCashOfferPage\"));\r\nconst AsyncCycleProSearchPage = lazy(() => import(\"./page/CycleProSearchPage\"));\r\nconst AsyncMotorcycleOfferPage = lazy(() =>\r\n import(\"./page/CreateMotorcycleOfferPage\")\r\n);\r\nconst AsyncAboutUsPage = lazy(() => import(\"./page/AboutUsPage\"));\r\nconst AsyncTermsPage = lazy(() => import(\"./page/TermsPage\"));\r\nconst AsyncPortalPage = lazy(() => import(\"./page/PortalPage\"));\r\nconst AsyncAnalyticsPage = lazy(() => import(\"./page/AnalyticsPage\"));\r\nconst AsyncAuthVerify = lazy(() => import(\"./component/Home/AuthVerify\"));\r\nconst AsyncNadaDecoder = lazy(() => import(\"./page/NadaDecoder\"));\r\nconst AsyncYearAndModel = lazy(() => import(\"../src/component/NadaDecoder/YearModel/YearandModel\"));\r\nconst AsyncSelectOptions = lazy(() => import(\"../src/component/NadaDecoder/SelectOptions/SelectOptions\"));\r\n\r\n\r\nconst root: HTMLElement | null = document.getElementById(\"root\");\r\nif (root) {\r\n root.style.height = \"100%\";\r\n}\r\n\r\nconst PrivateRoute: React.FC<{\r\n component: React.FC;\r\n path: string;\r\n exact?: boolean;\r\n}> = props => {\r\n const isLoggedIn = useSelector((state: SystemState) => state.auth.isLoggedIn);\r\n return isLoggedIn ? (\r\n \r\n ) : (\r\n \r\n );\r\n};\r\n\r\nconst App: React.FC = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n \r\n }\r\n >\r\n \r\n \r\n {/* below link is to handle IAS login from old v2 */}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(\r\n (process as { env: { [key: string]: string } }).env.PUBLIC_URL,\r\n window.location.href\r\n );\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import \"react-app-polyfill/ie11\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport App from \"./App\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\n\r\nReactDOM.render(, document.getElementById(\"root\"));\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","export interface Model {\r\n readonly Name: string;\r\n readonly Id: string;\r\n}\r\n\r\nexport interface Option {\r\n readonly Name: string;\r\n readonly Code: string;\r\n readonly IsStandard: boolean;\r\n}\r\n\r\nexport interface Trim {\r\n readonly Id: string;\r\n readonly Name: string;\r\n readonly DriveTrain: string;\r\n readonly Transmission: string;\r\n readonly EngineDescription: string;\r\n readonly Cylinders: number;\r\n readonly HighwayFuelEconomy: number;\r\n readonly CityFuelEconomy: number;\r\n readonly Options: Option[];\r\n}\r\n\r\nexport interface VinDecodeResult {\r\n readonly Decoder: string;\r\n readonly VIN: string;\r\n readonly Year: number;\r\n readonly Make: string;\r\n readonly Models: Model[];\r\n readonly Model: string;\r\n readonly Trims: Trim[];\r\n readonly Category: string;\r\n readonly Style: string;\r\n readonly FuelType: string;\r\n readonly Id: string;\r\n readonly [key: string]: any;\r\n}\r\n\r\nexport interface CreateCashOfferPayload {\r\n ZipCode: string;\r\n Color: string;\r\n CustomerNotes?: string;\r\n ItemTypeId: number;\r\n ItemYear: number;\r\n Make: string;\r\n Mileage: number;\r\n Decoder: string;\r\n Model: string;\r\n Vin: string;\r\n CategoryName: string;\r\n Id: string;\r\n MarketingCategory: \"car\" | \"motorcycle\" | \"boat\";\r\n DoesYourCarRun?: boolean;\r\n HasBeenOperated?: boolean;\r\n HasKeys?: boolean;\r\n HasDamage: boolean;\r\n IsTrade?: boolean;\r\n DamageDescription?: string;\r\n RunDescription?: string;\r\n HasBeenSmokedIn?: boolean;\r\n HaveOutstandingLoan?: boolean;\r\n ExteriorColor?: string;\r\n InteriorColor?: string;\r\n OverallConditionId?: number;\r\n MechanicalConditionId?: number;\r\n PhysicalConditionId?: number;\r\n TireConditionId?: number;\r\n CityMileage?: number;\r\n HighwayMileage?: number;\r\n DriveTrain?: string;\r\n EngineDescription?: string;\r\n EngineSize?: number;\r\n FuelType?: string;\r\n Transmission?: string;\r\n Trim?: string;\r\n RemainingLoanAmount?: number | null;\r\n Attachments?: { AttachmentTypeId: 17 | 3020 }[];\r\n ItemOptions?: {\r\n IsInstalled: boolean;\r\n IsStandard: boolean;\r\n OptionName: string;\r\n }[];\r\n}\r\n\r\nexport interface CreateBoatCashOfferPayload {\r\n ZipCode: string;\r\n Color: string;\r\n CustomerNotes?: string;\r\n ItemTypeId: number;\r\n ItemYear: number;\r\n Make: string;\r\n Mileage: number;\r\n Hours: number;\r\n Decoder: string;\r\n Model: string;\r\n ModelTrimID: string;\r\n Series: string;\r\n Vin: string;\r\n CategoryName: string;\r\n Id: string;\r\n MarketingCategory: \"car\" | \"motorcycle\" | \"boat\";\r\n DoesYourCarRun?: boolean;\r\n HasBeenOperated?: boolean;\r\n HasKeys?: boolean;\r\n HasDamage: boolean;\r\n IsTrade?: boolean;\r\n DamageDescription?: string;\r\n RunDescription?: string;\r\n HasBeenSmokedIn?: boolean;\r\n HaveOutstandingLoan?: boolean;\r\n ExteriorColor?: string;\r\n InteriorColor?: string;\r\n OverallConditionId?: number;\r\n MechanicalConditionId?: number;\r\n PhysicalConditionId?: number;\r\n TireConditionId?: number;\r\n CityMileage?: number;\r\n HighwayMileage?: number;\r\n DriveTrain?: string;\r\n EngineDescription?: string;\r\n EngineSize?: number;\r\n FuelType?: string;\r\n Transmission?: string;\r\n Trim?: string;\r\n RemainingLoanAmount?: number | null;\r\n HPRange?: string;\r\n HasTrailer?: boolean;\r\n TrailerType?: string;\r\n TrailerLength?: string;\r\n TrailerYear?: number;\r\n BeamInches?: number;\r\n LengthInches?: number;\r\n HullMaterial?: string;\r\n Brakes?: number;\r\n NumEngines?: number;\r\n Weight?: number;\r\n ModelType?: string;\r\n Attachments?: { AttachmentTypeId: 17 | 3020 }[];\r\n ItemOptions?: {\r\n IsInstalled: boolean;\r\n IsStandard: boolean;\r\n OptionName: string;\r\n }[];\r\n}\r\n\r\nexport type VehicleType = \"car\" | \"motorcycle\" | \"boat\";\r\n\r\nexport interface CreateCashOfferPageState {\r\n readonly vehicleType: VehicleType;\r\n readonly isPageLoading: boolean;\r\n readonly accountId: number;\r\n readonly isOfferCreatedSuccessfully: boolean;\r\n readonly vinDecodeResult?: VinDecodeResult;\r\n readonly errorMessage: string;\r\n readonly editedImageUploading: boolean;\r\n readonly editedImage: any;\r\n readonly editedImageUploadError: string | null;\r\n readonly imagesChanged: boolean;\r\n}\r\n\r\nexport const SET_CASH_OFFER_PAGE_LOADING = \"SET__CASH_OFFER_PAGE_LOADING\";\r\nexport const SET_VIN_DECODE_RESULT = \"SET_VIN_DECODE_RESULT\";\r\nexport const SET_CREATE_CASH_OFFER_HAS_ERROR =\r\n \"SET_CREATE_CASH_OFFER_HAS_ERROR\";\r\nexport const RESET_CREATE_CASH_OFFER_ERROR = \"RESET_CREATE_CASH_OFFER_ERROR\";\r\nexport const SET_CASH_OFFER_CREATED_SUCCESSFULLY =\r\n \"SET_CASH_OFFER_CREATED_SUCCESSFULLY\";\r\nexport const RESET_CASH_OFFER_STATUS = \"RESET_CASH_OFFER_STATUS\";\r\nexport const SET_CASH_OFFER_EDITED_IMG_UPLOADING =\r\n \"SET_CASH_OFFER_EDITED_IMG_UPLOADING\";\r\nexport const SET_CASH_OFFER_EDITED_IMG_UPLOAD_SUCCESS =\r\n \"SET_CASH_OFFER_EDITED_IMG_UPLOAD_SUCCESS\";\r\nexport const SET_CASH_OFFER_EDITED_IMG_UPLOAD_ERROR =\r\n \"SET_CASH_OFFER_EDITED_IMG_UPLOAD_ERROR\";\r\nexport const SET_IMAGES_CHANGED = \"SET_IMAGES_CHANGED\";\r\n\r\n\r\ninterface SetImagesChnaged {\r\n type: typeof SET_IMAGES_CHANGED;\r\n vehicleType: VehicleType;\r\n payload: boolean;\r\n}\r\ninterface SetCreateCashofferPageLoadingAction {\r\n type: typeof SET_CASH_OFFER_PAGE_LOADING;\r\n vehicleType: VehicleType;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetCreateCashofferVinDecodeResultAction {\r\n type: typeof SET_VIN_DECODE_RESULT;\r\n vehicleType: VehicleType;\r\n payload: VinDecodeResult;\r\n}\r\n\r\ninterface SetCreateCashofferHasErrorAction {\r\n type: typeof SET_CREATE_CASH_OFFER_HAS_ERROR;\r\n vehicleType: VehicleType;\r\n payload: string;\r\n}\r\n\r\ninterface ResetCreateCashofferErrorAction {\r\n type: typeof RESET_CREATE_CASH_OFFER_ERROR;\r\n vehicleType: VehicleType;\r\n}\r\n\r\ninterface SetCashofferOfferCreatedSuccessfullyAction {\r\n type: typeof SET_CASH_OFFER_CREATED_SUCCESSFULLY;\r\n vehicleType: VehicleType;\r\n}\r\n\r\ninterface ResetCreateCashOfferStatus {\r\n type: typeof RESET_CASH_OFFER_STATUS;\r\n vehicleType: VehicleType;\r\n}\r\n\r\ninterface SetCashOfferEditedImageUploadingAction {\r\n type: typeof SET_CASH_OFFER_EDITED_IMG_UPLOADING;\r\n uploading: boolean;\r\n vehicleType: VehicleType;\r\n}\r\n\r\ninterface SetCashOfferEditedImageUploadSuccessAction {\r\n type: typeof SET_CASH_OFFER_EDITED_IMG_UPLOAD_SUCCESS;\r\n updatedFile: any;\r\n vehicleType: VehicleType;\r\n}\r\n\r\ninterface SetCashOfferEditedImageUploadErrorAction {\r\n type: typeof SET_CASH_OFFER_EDITED_IMG_UPLOAD_ERROR;\r\n errorMessage: string;\r\n vehicleType: VehicleType;\r\n}\r\n\r\n// Union action type\r\nexport type CreateCashOfferActionTypes =\r\n | SetCreateCashofferPageLoadingAction\r\n | SetCreateCashofferVinDecodeResultAction\r\n | SetCreateCashofferHasErrorAction\r\n | ResetCreateCashofferErrorAction\r\n | SetCashofferOfferCreatedSuccessfullyAction\r\n | ResetCreateCashOfferStatus\r\n | SetCashOfferEditedImageUploadSuccessAction\r\n | SetCashOfferEditedImageUploadErrorAction\r\n | SetCashOfferEditedImageUploadingAction\r\n | SetImagesChnaged;\r\n","import { Vin } from './SharedTypes'\r\n\r\n//@not verified\r\nexport interface Model {\r\n readonly Name: string;\r\n readonly Id: string;\r\n}\r\n//@not verified\r\nexport interface Trim {\r\n readonly Id: string;\r\n readonly Name: string;\r\n readonly DriveTrain: string;\r\n readonly Transmission: string;\r\n readonly EngineDescription: string;\r\n readonly Cylinders: number;\r\n readonly HighwayFuelEconomy: number;\r\n readonly CityFuelEconomy: number;\r\n readonly Options: Option[];\r\n}\r\n//@not verified\r\nexport interface Option {\r\n readonly Name: string;\r\n readonly Code: string;\r\n readonly IsStandard: boolean;\r\n}\r\n//@not verified\r\nexport interface VinDecodeResult {\r\n readonly Decoder: string;\r\n readonly VIN: string;\r\n readonly Year: number;\r\n readonly Make: string;\r\n readonly Models: Model[];\r\n readonly Model: string;\r\n readonly Trims: Trim[];\r\n readonly Category: string;\r\n readonly Style: string;\r\n readonly FuelType: string;\r\n readonly Id: string;\r\n}\r\n\r\nexport interface GeneticAction {\r\n type: string,\r\n payload: any\r\n}\r\n\r\nexport interface GenericSetFunc {\r\n (payload: any): GeneticAction\r\n}\r\n\r\nexport type AppraisalActionTypes = GeneticAction;\r\n\r\nexport interface GenericFetchState {\r\n isFetching: boolean,\r\n errorMessage: string\r\n}\r\n\r\nexport interface DecodedVin {\r\n MarketingCategory: string,\r\n ItemTypeId: number,\r\n Decoder: string,\r\n VIN: Vin,\r\n Year: string,\r\n Make: string,\r\n Model: string,\r\n Category: string,\r\n Style: string,\r\n FuelType: string,\r\n Id: string,\r\n Trims: Trim,\r\n createdAt: Date,\r\n}\r\n\r\nexport interface VinDecodeReducerState extends GenericFetchState {\r\n decodedVins: DecodedVin[],\r\n decodedVin: DecodedVin | null,\r\n resetStatus: 'resetting' | 'pending',\r\n modellist: [],\r\n payloadData: []\r\n}\r\n\r\nexport const SET_VIN_DECODE_IS_FETCHING = 'SET_VIN_DECODE_IS_FETCHING',\r\n SET_VIN_DECODE_DECODED_VIN = \"SET_VIN_DECODE_DECODED_VIN\",\r\n SET_VIN_DECODE_RESET_STATUS = \"SET_VIN_DECODE_RESET_STATUS\",\r\n SET_VIN_DECODE_ERROR = \"SET_VIN_DECODE_ERROR\",\r\n RESET_VIN_DECODE_ERROR = \"RESET_VIN_DECODE_ERROR\",\r\n ADD_TO_DECODED_VIN_LIST = 'ADD_TO_DECODED_VIN_LIST',\r\n REMOVE_FROM_DECODED_VIN_LIST = 'REMOVE_FROM_DECODED_VIN_LIST',\r\n RESET_VIN_DECODE_STATE = 'RESET_VIN_DECODE_STATE',\r\n SET_MODELLIST = 'SET_MODELLIST',\r\n SET_PAYLOAD = 'SET_PAYLOAD'","export interface LeadState {\r\n readonly leadList: LeadItemResponse[];\r\n readonly leadListLoading: boolean;\r\n readonly leadListError: null | string;\r\n\r\n readonly lead: null | LeadResponseById;\r\n readonly leadLoading: boolean;\r\n readonly leadError: null | string;\r\n readonly leadNoData: boolean;\r\n\r\n readonly sellToRubmleonLoading: boolean;\r\n readonly sellToRubmleonError: null | string;\r\n}\r\n\r\nexport interface LeadResponseById extends LeadItemResponse {\r\n Rating?: null | string;\r\n CustomerNotes?: null | string;\r\n Images?: null | string[];\r\n}\r\n\r\nexport interface LeadItemResponse {\r\n AccountId: number;\r\n LeadId: number;\r\n AccountName: string;\r\n LeadType: string;\r\n CreatedDate: string;\r\n LeadStatus: string;\r\n ContactNumber: string;\r\n CreatedUserFirstName: string;\r\n RatingLabel: string;\r\n CreatedUserLastName: string | null;\r\n CreatedUserEmail: string;\r\n ItemYear: string;\r\n Make: string;\r\n Model: string;\r\n Vin: string;\r\n CashOfferValue: string;\r\n ItemType: null | string;\r\n}\r\n\r\nexport const SET_CLEAR_LEAD_MESSAGES = \"SET_CLEAR_LEAD_MESSAGES\";\r\n\r\nexport const SET_GET_LEAD_LOADING = \"SET_GET_LEAD_LOADING\";\r\nexport const SET_GET_LEAD_FAILED = \"SET_GET_LEAD_FAILED\";\r\nexport const SET_GET_LEAD_SUCCESS = \"SET_GET_LEAD_SUCCESS\";\r\nexport const SET_NO_DATA_FOR_LEAD = \"SET_NO_DATA_FOR_LEAD\";\r\n\r\nexport const SET_GET_LEAD_LIST_LOADING = \"SET_GET_LEAD_LIST_LOADING\";\r\nexport const SET_GET_LEAD_LIST_FAILED = \"SET_GET_LEAD_LIST_FAILED\";\r\nexport const SET_GET_LEAD_LIST_SUCCESS = \"SET_GET_LEAD_LIST_SUCCESS\";\r\n\r\nexport const SET_SELL_TO_RUMBLEON_LOADING = \"SET_SELL_TO_RUMBLEON_LOADING\";\r\nexport const SET_SELL_TO_RUMBLEON_FAILED = \"SET_SELL_TO_RUMBLEON_FAILED\";\r\n\r\ninterface SetClearLeadMessages {\r\n type: typeof SET_CLEAR_LEAD_MESSAGES;\r\n}\r\n\r\ninterface SetGetLeadLoading {\r\n type: typeof SET_GET_LEAD_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetGetLeadSuccess {\r\n type: typeof SET_GET_LEAD_SUCCESS;\r\n payload: LeadResponseById | null;\r\n}\r\n\r\ninterface SetGetLeadFailed {\r\n type: typeof SET_GET_LEAD_FAILED;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetNoDataForLead {\r\n type: typeof SET_NO_DATA_FOR_LEAD;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetGetLeadListLoading {\r\n type: typeof SET_GET_LEAD_LIST_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetGetLeadListSuccess {\r\n type: typeof SET_GET_LEAD_LIST_SUCCESS;\r\n payload: LeadItemResponse[];\r\n}\r\n\r\ninterface SetGetLeadListFailed {\r\n type: typeof SET_GET_LEAD_LIST_FAILED;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetSellToRumbleOnLoading {\r\n type: typeof SET_SELL_TO_RUMBLEON_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetSellToRumbleOnFailed {\r\n type: typeof SET_SELL_TO_RUMBLEON_FAILED;\r\n payload: string | null;\r\n}\r\n\r\nexport type LeadAction =\r\n | SetClearLeadMessages\r\n | SetGetLeadLoading\r\n | SetGetLeadSuccess\r\n | SetGetLeadFailed\r\n | SetNoDataForLead\r\n | SetGetLeadListLoading\r\n | SetGetLeadListSuccess\r\n | SetGetLeadListFailed\r\n | SetSellToRumbleOnLoading\r\n | SetSellToRumbleOnFailed;\r\n","export interface DealershipInfo {\r\n logo: string | null;\r\n name: string | null;\r\n parentAccountId: number | null;\r\n parentAccountName: string | null;\r\n address1: string | null;\r\n address2: string | null;\r\n city: string | null;\r\n state: string | null;\r\n zip: string | null;\r\n country: string | null;\r\n phone: string | null;\r\n email: string | null;\r\n url: string | null;\r\n website: string | null;\r\n videoUrl: string | null;\r\n message: string | null;\r\n uploadedDealerLogoImageUri?: string;\r\n}\r\n\r\nexport interface ContactInfo {\r\n name: string | null;\r\n phone: string | null;\r\n email: string | null;\r\n}\r\n\r\nexport interface FinancialAndAccountingInfo {\r\n financePortalUrl: string | null;\r\n accountingPortalUrl: string | null;\r\n}\r\n\r\nexport interface AccountDetails {\r\n readonly dealershipInfo: DealershipInfo;\r\n readonly ownerInfo: ContactInfo;\r\n readonly itInfo: ContactInfo;\r\n readonly billingInfo: ContactInfo;\r\n readonly financialAndAccountingInfo: FinancialAndAccountingInfo;\r\n}\r\n\r\nexport interface AccountDetailsState extends AccountDetails {\r\n loadingAccountDetails: boolean;\r\n error: string | null;\r\n selectedAccountForAccountDetails: number | null;\r\n}\r\n\r\nexport const SET_ACCOUNT_DETAILS_LOADING = \"SET_ACCOUNT_DETAILS_LOADING\";\r\nexport const SET_ACCOUNT_DETAILS_FAILED = \"SET_ACCOUNT_DETAILS_FAILED\";\r\nexport const SET_ACCOUNT_DETAILS_SUCCESS = \"SET_ACCOUNT_DETAILS_SUCCESS\";\r\nexport const SET_SELECTED_ACCOUNT_FOR_ACCOUNT_DETAILS =\r\n \"SET_SELECTED_ACCOUNT_FOR_ACCOUNT_DETAILS\";\r\n\r\ninterface SetAccountDetailsLoading {\r\n type: typeof SET_ACCOUNT_DETAILS_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetAccountDetailsSuccess {\r\n type: typeof SET_ACCOUNT_DETAILS_SUCCESS;\r\n payload: AccountDetails;\r\n}\r\n\r\ninterface SetSelectedAccountForAccountDetails {\r\n type: typeof SET_SELECTED_ACCOUNT_FOR_ACCOUNT_DETAILS;\r\n payload: number | null;\r\n}\r\n\r\ninterface SetAccountDetailsFailed {\r\n type: typeof SET_ACCOUNT_DETAILS_FAILED;\r\n payload: string | null;\r\n}\r\n\r\nexport type AccountDetailsAction =\r\n | SetAccountDetailsLoading\r\n | SetAccountDetailsSuccess\r\n | SetAccountDetailsFailed\r\n | SetSelectedAccountForAccountDetails;\r\n","import {\r\n AuthenticationState,\r\n SET_AUTHENTICATION_LOADING,\r\n SET_AUTHENTICATION_FAILED,\r\n RESET_AUTHENTICATION_ERROR_MESSAGE,\r\n SET_AUTHENTICATION_SUCCESS,\r\n SET_DEALER_DETAILS_LIST,\r\n SET_AUTHENTICATION_LOG_OUT,\r\n SET_FORGET_PASSWORD_EMAIL_VALIDATION_SUCCESS,\r\n SET_FORGET_PASSWORD_EMAIL_VALIDATION_ERROR_MESSAGE,\r\n RESET_FORGET_PASSWORD_STATUS,\r\n SET_SELECTED_DEALER,\r\n SET_ELASTIC_INFO,\r\n SET_RESET_PASSWORD_FAILED,\r\n SET_RESET_PASSWORD_SUCCESS,\r\n SET_IS_INTERNAL_DEALER,\r\n AuthenticationActionTypes,\r\n SET_ACCOUNT_FEATURES,\r\n} from \"../type/AuthenticationType\";\r\n\r\nconst initialState: AuthenticationState = {\r\n isLoading: false,\r\n isLoggedIn: false,\r\n esCred: \"\",\r\n forgetPasswordEmailValidationSuccess: false,\r\n forgetPasswordEmailValidationError: \"\",\r\n dealers: [],\r\n resetPasswordSuccess: null,\r\n resetPasswordError: null,\r\n accountFeatures: [],\r\n IsInternalDealer: false\r\n};\r\n\r\nconst authenticationReducer = (\r\n state = initialState,\r\n action: AuthenticationActionTypes\r\n): AuthenticationState => {\r\n switch (action.type) {\r\n case SET_AUTHENTICATION_LOADING:\r\n return {\r\n ...state,\r\n isLoading: action.payload,\r\n };\r\n case SET_RESET_PASSWORD_FAILED:\r\n return { ...state, resetPasswordError: action.payload };\r\n case SET_RESET_PASSWORD_SUCCESS:\r\n return { ...state, resetPasswordSuccess: action.payload };\r\n case SET_IS_INTERNAL_DEALER:\r\n return { ...state, IsInternalDealer: action.payload };\r\n case SET_AUTHENTICATION_FAILED:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n isLoggedIn: action.payload.Success,\r\n failedErrorMessage: action.payload.Message,\r\n };\r\n case RESET_AUTHENTICATION_ERROR_MESSAGE:\r\n return {\r\n ...state,\r\n resetPasswordSuccess: null,\r\n resetPasswordError: null,\r\n failedErrorMessage: undefined,\r\n };\r\n case SET_AUTHENTICATION_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n isLoggedIn: true,\r\n failedErrorMessage: undefined,\r\n userUuid: action.payload.Uuid,\r\n userId: action.payload.UserId,\r\n userTypeId: action.payload.UserTypeId,\r\n sessionToken: action.payload.Token,\r\n dealerJWTToken: action.payload.DealerJWTToken,\r\n userEmail: action.payload.Email,\r\n userFirstname: action.payload.FirstName,\r\n userLastName: action.payload.LastName,\r\n city: action.payload.City,\r\n state: action.payload.State,\r\n zip: action.payload.Zip,\r\n };\r\n case SET_DEALER_DETAILS_LIST:\r\n return {\r\n ...state,\r\n dealers: action.payload,\r\n };\r\n case SET_AUTHENTICATION_LOG_OUT:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n isLoggedIn: false,\r\n failedErrorMessage: undefined,\r\n userUuid: undefined,\r\n userId: undefined,\r\n userTypeId: undefined,\r\n sessionToken: undefined,\r\n userEmail: undefined,\r\n userFirstname: undefined,\r\n userLastName: undefined,\r\n dealers: [],\r\n };\r\n case SET_FORGET_PASSWORD_EMAIL_VALIDATION_SUCCESS:\r\n return {\r\n ...state,\r\n forgetPasswordEmailValidationSuccess: action.payload,\r\n };\r\n case SET_FORGET_PASSWORD_EMAIL_VALIDATION_ERROR_MESSAGE:\r\n return {\r\n ...state,\r\n forgetPasswordEmailValidationError: action.payload,\r\n };\r\n case RESET_FORGET_PASSWORD_STATUS:\r\n return {\r\n ...state,\r\n forgetPasswordEmailValidationError: \"\",\r\n forgetPasswordEmailValidationSuccess: false,\r\n };\r\n case SET_SELECTED_DEALER:\r\n return {\r\n ...state,\r\n selectedDealerAccountId: action.payload,\r\n };\r\n case SET_ELASTIC_INFO:\r\n return {\r\n ...state,\r\n esCred: action.payload,\r\n };\r\n case SET_ACCOUNT_FEATURES:\r\n return {\r\n ...state,\r\n accountFeatures: action.payload,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default authenticationReducer;\r\n","import { Reducer } from \"redux\";\r\nimport {\r\n CreateCashOfferPageState,\r\n CreateCashOfferActionTypes,\r\n SET_CASH_OFFER_PAGE_LOADING,\r\n SET_VIN_DECODE_RESULT,\r\n SET_CREATE_CASH_OFFER_HAS_ERROR,\r\n RESET_CREATE_CASH_OFFER_ERROR,\r\n SET_CASH_OFFER_CREATED_SUCCESSFULLY,\r\n RESET_CASH_OFFER_STATUS,\r\n VehicleType,\r\n SET_CASH_OFFER_EDITED_IMG_UPLOADING,\r\n SET_CASH_OFFER_EDITED_IMG_UPLOAD_SUCCESS,\r\n SET_CASH_OFFER_EDITED_IMG_UPLOAD_ERROR,\r\n SET_IMAGES_CHANGED,\r\n} from \"../type/CreateCashOfferType\";\r\n\r\nexport const CreateCashOfferByTypeReducer = (\r\n state: CreateCashOfferPageState,\r\n action: CreateCashOfferActionTypes,\r\n): CreateCashOfferPageState => {\r\n switch (action.type) {\r\n case SET_CASH_OFFER_PAGE_LOADING:\r\n return {\r\n ...state,\r\n isPageLoading: action.payload,\r\n };\r\n case SET_IMAGES_CHANGED:\r\n return {\r\n ...state,\r\n imagesChanged: action.payload\r\n };\r\n case SET_VIN_DECODE_RESULT:\r\n return {\r\n ...state,\r\n vinDecodeResult: action.payload,\r\n };\r\n case SET_CREATE_CASH_OFFER_HAS_ERROR:\r\n return {\r\n ...state,\r\n errorMessage: action.payload,\r\n };\r\n case RESET_CREATE_CASH_OFFER_ERROR:\r\n return {\r\n ...state,\r\n errorMessage: \"\",\r\n };\r\n case SET_CASH_OFFER_CREATED_SUCCESSFULLY:\r\n return {\r\n ...state,\r\n isOfferCreatedSuccessfully: true,\r\n };\r\n case RESET_CASH_OFFER_STATUS:\r\n return {\r\n ...state,\r\n isPageLoading: false,\r\n vinDecodeResult: undefined,\r\n errorMessage: \"\",\r\n isOfferCreatedSuccessfully: false,\r\n };\r\n case SET_CASH_OFFER_EDITED_IMG_UPLOADING:\r\n return {\r\n ...state,\r\n editedImageUploading: action.uploading,\r\n };\r\n case SET_CASH_OFFER_EDITED_IMG_UPLOAD_SUCCESS:\r\n return {\r\n ...state,\r\n editedImage: action.updatedFile,\r\n };\r\n case SET_CASH_OFFER_EDITED_IMG_UPLOAD_ERROR:\r\n return {\r\n ...state,\r\n editedImageUploadError: action.errorMessage,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nconst CreateCashOfferReducer = (reducer: Reducer, reducerName: VehicleType) => (\r\n state: CreateCashOfferPageState,\r\n action: CreateCashOfferActionTypes,\r\n) => {\r\n const { vehicleType } = action;\r\n const isInitialization = state === undefined;\r\n if (vehicleType !== reducerName && !isInitialization) {\r\n return state; // fileter reducer by action.vehicleType\r\n }\r\n if (isInitialization) {\r\n const initialState = {\r\n vehicleType: reducerName,\r\n isPageLoading: false,\r\n isOfferCreatedSuccessfully: false,\r\n errorMessage: \"\",\r\n editedImageUploading: false,\r\n editedImage: null,\r\n editedImageUploadError: null,\r\n imagesChanged: false,\r\n };\r\n return reducer(initialState, action);\r\n }\r\n return reducer(state, action);\r\n};\r\n\r\nexport default CreateCashOfferReducer;\r\n","// We are using jsx here because typescript's issue with higher order function\r\nimport { combineReducers } from \"redux\";\r\nimport CreateCashOfferReducer, {\r\n CreateCashOfferByTypeReducer\r\n} from \"./CreateCashOfferByTypeReducer\";\r\n\r\nconst combinedCreateCashOfferReducer = combineReducers({\r\n car: CreateCashOfferReducer(CreateCashOfferByTypeReducer, \"car\"),\r\n motorcycle: CreateCashOfferReducer(CreateCashOfferByTypeReducer, \"motorcycle\"),\r\n boat: CreateCashOfferReducer(CreateCashOfferByTypeReducer, \"boat\")\r\n});\r\n\r\nexport default combinedCreateCashOfferReducer;\r\n","import {\r\n IasMarketState,\r\n IasMarketActionTypes,\r\n SET_IAS_MARKET_LOGGING_IN,\r\n SET_IAS_MARKET_LOGIN_FAILED,\r\n RESET_IAS_MARKET_ERROR\r\n} from \"../type/IasMarketType\";\r\n\r\nconst initialState: IasMarketState = {\r\n isFailed: false,\r\n isLoggingIn: false\r\n};\r\n\r\nconst iasMarketReducer = (\r\n state = initialState,\r\n action: IasMarketActionTypes\r\n): IasMarketState => {\r\n switch (action.type) {\r\n case SET_IAS_MARKET_LOGGING_IN:\r\n return {\r\n ...state,\r\n isLoggingIn: action.payload\r\n };\r\n case SET_IAS_MARKET_LOGIN_FAILED:\r\n return {\r\n ...state,\r\n isLoggingIn: false,\r\n isFailed: true\r\n };\r\n case RESET_IAS_MARKET_ERROR:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default iasMarketReducer;\r\n","import {\r\n SignupState,\r\n SignupActionTypes,\r\n SET_SIGNUP_SUCCESS,\r\n SET_SIGNUP_LOADING,\r\n SET_SIGNUP_FAILED_MESSAGE,\r\n RESET_SIGNUP_STATE,\r\n} from \"../type/SignupType\";\r\n\r\nconst initialState: SignupState = {\r\n isSignupSuccess: false,\r\n isSignupLoading: false,\r\n signupFailedMessage: \"\",\r\n};\r\n\r\nconst signupReducer = (\r\n state = initialState,\r\n action: SignupActionTypes,\r\n): SignupState => {\r\n switch (action.type) {\r\n case SET_SIGNUP_SUCCESS:\r\n return {\r\n ...state,\r\n isSignupSuccess: action.payload,\r\n };\r\n case SET_SIGNUP_LOADING:\r\n return {\r\n ...state,\r\n isSignupLoading: action.payload,\r\n };\r\n case SET_SIGNUP_FAILED_MESSAGE:\r\n return {\r\n ...state,\r\n isSignupSuccess: false,\r\n signupFailedMessage: action.payload,\r\n };\r\n case RESET_SIGNUP_STATE:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default signupReducer;\r\n","import {\r\n AcceptCashOfferState,\r\n SET_ACCEPT_OFFER_LOADING_ACTION,\r\n SET_DEALER_OFFER_DETAIL_ACTION,\r\n SET_GET_DEALER_OFFER_DETAIL_FAILED_ERROR_MESSAGE_ACTION,\r\n SET_GET_DEALER_OFFER_DETAIL_SUCCESS_ACTION,\r\n SET_OFFER_ACCEPT_FAILED_MESSAGE_ACTION,\r\n SET_OFFER_ACCEPT_SUCCESS_ACTION,\r\n RESET_ACCEPT_OFFER_STATUS_ACTION,\r\n AcceptCashOfferActionTypes\r\n} from \"../type/AcceptCashOfferType\";\r\n\r\nconst initialState: AcceptCashOfferState = {\r\n isAcceptOfferLoading: false,\r\n getDealerOfferDetailFailedErrorMessage: \"\"\r\n};\r\n\r\nconst acceptOfferReducer = (\r\n state = initialState,\r\n action: AcceptCashOfferActionTypes\r\n): AcceptCashOfferState => {\r\n switch (action.type) {\r\n case SET_ACCEPT_OFFER_LOADING_ACTION:\r\n return {\r\n ...state,\r\n isAcceptOfferLoading: action.payload\r\n };\r\n case SET_DEALER_OFFER_DETAIL_ACTION:\r\n return {\r\n ...state,\r\n dealerOfferDeail: action.payload\r\n };\r\n case SET_GET_DEALER_OFFER_DETAIL_FAILED_ERROR_MESSAGE_ACTION:\r\n return {\r\n ...state,\r\n getDealerOfferDetailFailedErrorMessage: action.payload\r\n };\r\n case SET_GET_DEALER_OFFER_DETAIL_SUCCESS_ACTION:\r\n return {\r\n ...state,\r\n isGetDealerOfferDetailSuccess: action.payload\r\n };\r\n case SET_OFFER_ACCEPT_FAILED_MESSAGE_ACTION:\r\n return {\r\n ...state,\r\n acceptOfferFailedMessage: action.payload\r\n };\r\n case SET_OFFER_ACCEPT_SUCCESS_ACTION:\r\n return {\r\n ...state,\r\n isOfferAcceptSuccess: action.payload\r\n };\r\n case RESET_ACCEPT_OFFER_STATUS_ACTION:\r\n return initialState;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default acceptOfferReducer;\r\n","import { Reducer } from \"redux\";\r\n\r\nimport {\r\n SET_VIN_DECODE_IS_FETCHING,\r\n SET_VIN_DECODE_DECODED_VIN,\r\n REMOVE_FROM_DECODED_VIN_LIST,\r\n SET_VIN_DECODE_RESET_STATUS,\r\n SET_VIN_DECODE_ERROR,\r\n RESET_VIN_DECODE_ERROR,\r\n ADD_TO_DECODED_VIN_LIST,\r\n RESET_VIN_DECODE_STATE,\r\n VinDecodeReducerState,\r\n SET_MODELLIST,\r\n SET_PAYLOAD,\r\n\r\n} from '../type/VinDecodeTypes';\r\n\r\nimport { findAndSplitArr } from '../util'\r\n\r\nconst initialState: VinDecodeReducerState = {\r\n decodedVins: [],\r\n decodedVin: null,\r\n isFetching: false,\r\n resetStatus: \"pending\",\r\n errorMessage: \"\",\r\n modellist: [],\r\n payloadData: [],\r\n\r\n}\r\n\r\nconst genericVinDecoderReducer: Reducer = (\r\n state = initialState,\r\n action: any\r\n) => {\r\n const { type, payload } = action;\r\n\r\n //console.log('%c Vindecode Reducer', 'color: purple', action, payload, state)\r\n\r\n switch (type) {\r\n case SET_VIN_DECODE_IS_FETCHING:\r\n return {\r\n ...state,\r\n isFetching: payload,\r\n };\r\n case SET_VIN_DECODE_DECODED_VIN:\r\n return {\r\n ...state,\r\n decodedVin: payload,\r\n };\r\n\r\n case SET_VIN_DECODE_RESET_STATUS:\r\n return {\r\n ...state,\r\n resetStatus: payload,\r\n };\r\n\r\n case SET_VIN_DECODE_ERROR:\r\n return {\r\n ...state,\r\n errorMessage: payload,\r\n };\r\n\r\n case RESET_VIN_DECODE_ERROR:\r\n return {\r\n ...state,\r\n errorMessage: \"\",\r\n };\r\n\r\n case ADD_TO_DECODED_VIN_LIST:\r\n return {\r\n ...state,\r\n decodedVins: [...state.decodedVins, payload],\r\n };\r\n\r\n case REMOVE_FROM_DECODED_VIN_LIST:\r\n return {\r\n ...state,\r\n decodedVins: state.decodedVins.filter((i: any) => i.VIN !== payload)\r\n }\r\n case RESET_VIN_DECODE_STATE:\r\n return {\r\n ...initialState,\r\n decodedVins: state.decodedVins,\r\n };\r\n case SET_MODELLIST:\r\n return {\r\n ...state,\r\n modellist: [...state.modellist, payload]\r\n };\r\n case SET_PAYLOAD:\r\n return {\r\n ...state,\r\n payloadData: [...state.payloadData, payload]\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n\r\n}\r\n\r\nexport default genericVinDecoderReducer;","import { Reducer } from \"redux\";\r\n// import { combineReducers } from \"redux\";\r\n\r\nimport {\r\n Submission,\r\n SET_APPRAISAL_IS_SUBMITTING,\r\n SET_APPRAISAL_CURRENT_STEP,\r\n SET_APPRAISAL_COMPLETED_STEPS,\r\n SET_APPRAISAL_ERROR_MESSAGE,\r\n RESET_APPRAISAL_ERROR_MESSAGE,\r\n ADD_APPRAISAL_ATTACHMENTS,\r\n REMOVE_APPRAISAL_ATTACHMENTS,\r\n SET_APPRAISAL_UPLOADED_IMAGES,\r\n ADD_APPRAISAL_SUBMITTED_FORMS,\r\n SET_APPRAISAL_CURRENT_FORM,\r\n // RESET_APPRAISAL_STATE_EXCEPT_SUBMITTED_FORMS,\r\n RESET_APPRAISAL_STATE,\r\n ADD_CREATED_APPRAISAL,\r\n ADD_CREATED_APPRAISAL_VINLESS,\r\n REMOVE_CREATED_APPRAISAL,\r\n SET_APPRAISAL_CREATE_REQUEST,\r\n SET_APPRAISAL_UPDATE_REQUEST,\r\n SET_APPRAISAL_IMAGE_UPLOAD_REQUEST,\r\n SET_APPRAISAL_DEALER_EMAIL_REQUEST,\r\n SET_APPRAISAL_ASSIGN_REQUEST,\r\n SET_APPRAISAL_DEALER_EMAIL,\r\n SET_ISVINLESS\r\n} from \"../type/AppraisalTypes\";\r\n\r\nimport { Vin } from \"../type/SharedTypes\";\r\n\r\nimport { removePropFromObj } from \"../util\";\r\n\r\ntype FormFields = {\r\n ItemYear: number;\r\n Make: string;\r\n Model: string;\r\n Trim?: string;\r\n ZipCode: string;\r\n Mileage: number;\r\n ItemOptions?: {\r\n IsInstalled: boolean;\r\n IsStandard: boolean;\r\n OptionName: string;\r\n }[];\r\n Color: string;\r\n ExteriorColor?: string;\r\n InteriorColor?: string;\r\n CustomerNotes?: string;\r\n DoesYourCarRun?: boolean;\r\n HasBeenOperated?: boolean;\r\n HasKeys?: boolean;\r\n HasDamage: boolean;\r\n IsTrade: boolean;\r\n DamageDescription?: string;\r\n RunDescription?: string;\r\n HasBeenSmokedIn?: boolean;\r\n OverallConditionId?: number;\r\n MechanicalConditionId?: number;\r\n PhysicalConditionId?: number;\r\n TireConditionId?: number;\r\n Attachments?: { AttachmentTypeId: 17 | 3020 }[];\r\n};\r\n\r\ntype ExtraRequiredFields = {\r\n Vin: string;\r\n};\r\n\r\ntype ExtraFields = {\r\n Decoder: string;\r\n CategoryName: string;\r\n Id: string;\r\n MarketingCategory: \"car\" | \"motorcycle\" | \"boat\";\r\n};\r\n\r\ntype ToBeSubmitted = {\r\n ItemTypeId: number;\r\n Bike?: {};\r\n Car?: {};\r\n};\r\n\r\ntype AppraisalState = {\r\n currentStep: number;\r\n completedSteps: number[];\r\n dealerEmail: string | null;\r\n attachments: object[];\r\n isSubmitting: boolean;\r\n createRequest: Submission;\r\n updateRequest: Submission;\r\n dealerEmailRequest: Submission;\r\n imageUploadRequest: Submission;\r\n assignRequest: Submission;\r\n errorMessage: string;\r\n currentForm: object;\r\n submittedForms: { [key: string]: string };\r\n createdAppraisals: { [key: string]: string };\r\n uploadedImages: any[];\r\n Vinless?: any;\r\n};\r\n\r\nconst initialState: AppraisalState = {\r\n currentStep: 1,\r\n completedSteps: [],\r\n dealerEmail: null,\r\n createdAppraisals: {},\r\n currentForm: {},\r\n attachments: [],\r\n submittedForms: {},\r\n uploadedImages: [],\r\n isSubmitting: false,\r\n createRequest: \"pending\",\r\n updateRequest: \"pending\",\r\n imageUploadRequest: \"pending\",\r\n dealerEmailRequest: \"pending\",\r\n assignRequest: \"pending\",\r\n errorMessage: \"\",\r\n Vinless: null\r\n};\r\n\r\nconst AppraisalReducer: Reducer = (\r\n state: AppraisalState = initialState,\r\n action: any\r\n) => {\r\n const { type, payload } = action;\r\n\r\n // console.log('%c AppraisalReducer', 'color: red',\r\n // action,\r\n // payload,\r\n // state)\r\n\r\n switch (type) {\r\n case SET_APPRAISAL_IS_SUBMITTING:\r\n return {\r\n ...state,\r\n isSubmitting: payload,\r\n };\r\n case SET_ISVINLESS:\r\n return {\r\n ...state,\r\n Vinless: payload,\r\n };\r\n case SET_APPRAISAL_CURRENT_STEP:\r\n return {\r\n ...state,\r\n currentStep: payload,\r\n };\r\n case SET_APPRAISAL_COMPLETED_STEPS:\r\n return {\r\n ...state,\r\n completedSteps: payload,\r\n };\r\n case SET_APPRAISAL_ERROR_MESSAGE:\r\n return {\r\n ...state,\r\n errorMessage: payload,\r\n };\r\n case RESET_APPRAISAL_ERROR_MESSAGE:\r\n return {\r\n ...state,\r\n errorMessage: \"\",\r\n };\r\n case ADD_APPRAISAL_ATTACHMENTS:\r\n return {\r\n ...state,\r\n attachments: [...state.attachments, payload],\r\n };\r\n case REMOVE_APPRAISAL_ATTACHMENTS:\r\n return {\r\n ...state,\r\n attachments: state.attachments.filter(\r\n (i: any) => i.uid !== payload.uid\r\n ),\r\n };\r\n case SET_APPRAISAL_CURRENT_FORM:\r\n return {\r\n ...state,\r\n currentForm: payload,\r\n };\r\n\r\n case ADD_APPRAISAL_SUBMITTED_FORMS:\r\n return {\r\n ...state,\r\n submittedForms: { ...state.submittedForms, payload }, //@todo: for later\r\n };\r\n\r\n case RESET_APPRAISAL_STATE:\r\n return {\r\n ...initialState,\r\n submittedForms: state.submittedForms,\r\n createdAppraisals: state.createdAppraisals,\r\n };\r\n\r\n case ADD_CREATED_APPRAISAL:\r\n return {\r\n ...state,\r\n createdAppraisals: {\r\n ...state.createdAppraisals,\r\n [payload.vin]: payload.appraisalRefNo,\r\n },\r\n };\r\n case ADD_CREATED_APPRAISAL_VINLESS:\r\n return {\r\n ...state,\r\n createdAppraisals: {\r\n ...state.createdAppraisals,\r\n AppraisalRefNo: payload.appraisalRefNo,\r\n },\r\n };\r\n\r\n case REMOVE_CREATED_APPRAISAL:\r\n return {\r\n ...state,\r\n createdAppraisals: removePropFromObj(state.createdAppraisals, payload),\r\n };\r\n\r\n case SET_APPRAISAL_CREATE_REQUEST:\r\n return {\r\n ...state,\r\n createRequest: payload,\r\n };\r\n\r\n case SET_APPRAISAL_UPDATE_REQUEST:\r\n return {\r\n ...state,\r\n updateRequest: payload,\r\n };\r\n\r\n case SET_APPRAISAL_IMAGE_UPLOAD_REQUEST:\r\n return {\r\n ...state,\r\n imageUploadRequest: payload,\r\n };\r\n\r\n case SET_APPRAISAL_DEALER_EMAIL_REQUEST:\r\n return {\r\n ...state,\r\n dealerEmailRequest: payload,\r\n };\r\n\r\n case SET_APPRAISAL_ASSIGN_REQUEST:\r\n return {\r\n ...state,\r\n assignRequest: payload,\r\n };\r\n\r\n case SET_APPRAISAL_UPLOADED_IMAGES:\r\n return {\r\n ...state,\r\n uploadedImages: payload,\r\n };\r\n\r\n case SET_APPRAISAL_DEALER_EMAIL:\r\n return {\r\n ...state,\r\n dealerEmail: payload,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default AppraisalReducer;\r\n","import {\r\n DealershipAnalyticState,\r\n DealershipAnalyticAction,\r\n SET_DEALERSHIP_DATA_FAILED_MESSAGE,\r\n SET_DEALERSHIP_IMPRESSION_SUCCESS,\r\n SET_DEALERSHIP_DATA_LOADING,\r\n SET_DEALERSHIP_DEAL_SUCCESS,\r\n SET_DEALERSHIP_DETAIL_PAGE_VIEW_SUCCESS,\r\n SET_DEALERSHIP_CUSTOMER_ACTIVITY_SUCCESS,\r\n SET_USER_ACTIVITY_COUNT_SUCCESS,\r\n SET_CTR_SUMMARY_LOADING,\r\n SET_CTR_SUMMARY_FAILED_MESSAGE,\r\n SET_CTR_SUMMARY_SUCCESS,\r\n SET_INVENTORY_SUMMARY_LOADING,\r\n SET_INVENTORY_SUMMARY_FAILED_MESSAGE,\r\n SET_INVENTORY_SUMMARY_SUCCESS,\r\n SET_DEALERSHIP_ACCOUNTS_LOADING,\r\n SET_DEALERSHIP_ACCOUNTS_SUCCESS,\r\n SET_DEALERSHIP_ACCOUNTS_FAILED,\r\n SET_SELECTED_DEALERS_FOR_ANALYTICS,\r\n SET_SELECTED_DEALERS_FOR_INVENTORY,\r\n} from \"../type/DealerShipAnalyticType\";\r\n\r\nconst initialState: DealershipAnalyticState = {\r\n dealershipErrorMessage: null,\r\n isDealershipLoading: false,\r\n selectedDealerAccounts: [],\r\n selectedDealerAccountsForInventory: [],\r\n dealChartData: [],\r\n impressionChartData: [],\r\n detailPageViewChartData: [],\r\n customerActivityChartData: {\r\n keys: [],\r\n data: [],\r\n },\r\n\r\n ctrSummaryErrorMessage: null,\r\n isCTRSummaryLoading: false,\r\n ctrSummary: {\r\n impressionsCount: null,\r\n clicksCount: null,\r\n },\r\n\r\n inventorySummaryErrorMessage: null,\r\n isInventorySummaryLoading: false,\r\n inventorySummary: {\r\n usedCount: null,\r\n newCount: null,\r\n },\r\n\r\n userActivityCount: {},\r\n\r\n dealershipAccounts: [],\r\n isLoadingDealershipAccounts: false,\r\n dealershipAccountsErrorMessage: null,\r\n};\r\n\r\nconst iasDealershipReducer = (\r\n state = initialState,\r\n action: DealershipAnalyticAction\r\n): DealershipAnalyticState => {\r\n switch (action.type) {\r\n case SET_DEALERSHIP_IMPRESSION_SUCCESS:\r\n return { ...state, impressionChartData: action.payload };\r\n case SET_DEALERSHIP_DEAL_SUCCESS:\r\n return { ...state, dealChartData: action.payload };\r\n case SET_DEALERSHIP_DETAIL_PAGE_VIEW_SUCCESS:\r\n return { ...state, detailPageViewChartData: action.payload };\r\n case SET_DEALERSHIP_CUSTOMER_ACTIVITY_SUCCESS:\r\n return { ...state, customerActivityChartData: action.payload };\r\n case SET_USER_ACTIVITY_COUNT_SUCCESS:\r\n return { ...state, userActivityCount: action.payload };\r\n case SET_DEALERSHIP_DATA_LOADING:\r\n return { ...state, isDealershipLoading: action.payload };\r\n case SET_DEALERSHIP_DATA_FAILED_MESSAGE:\r\n return { ...state, dealershipErrorMessage: action.payload };\r\n case SET_CTR_SUMMARY_LOADING:\r\n return { ...state, isCTRSummaryLoading: action.payload };\r\n case SET_CTR_SUMMARY_FAILED_MESSAGE:\r\n return { ...state, ctrSummaryErrorMessage: action.payload };\r\n case SET_CTR_SUMMARY_SUCCESS:\r\n return {\r\n ...state,\r\n ctrSummary: { ...action.payload },\r\n ctrSummaryErrorMessage: null,\r\n };\r\n case SET_INVENTORY_SUMMARY_LOADING:\r\n return {\r\n ...state,\r\n isInventorySummaryLoading: action.payload,\r\n inventorySummaryErrorMessage: null,\r\n };\r\n case SET_INVENTORY_SUMMARY_FAILED_MESSAGE:\r\n return { ...state, inventorySummaryErrorMessage: action.payload };\r\n case SET_INVENTORY_SUMMARY_SUCCESS:\r\n return {\r\n ...state,\r\n inventorySummary: { ...action.payload },\r\n inventorySummaryErrorMessage: null,\r\n };\r\n\r\n case SET_DEALERSHIP_ACCOUNTS_LOADING:\r\n return { ...state, isDealershipLoading: action.payload };\r\n case SET_DEALERSHIP_ACCOUNTS_SUCCESS:\r\n return { ...state, dealershipAccounts: action.payload };\r\n case SET_DEALERSHIP_ACCOUNTS_FAILED:\r\n return { ...state, dealershipAccountsErrorMessage: action.payload };\r\n\r\n case SET_SELECTED_DEALERS_FOR_ANALYTICS:\r\n return { ...state, selectedDealerAccounts: action.payload }\r\n case SET_SELECTED_DEALERS_FOR_INVENTORY:\r\n return { ...state, selectedDealerAccountsForInventory: action.payload }\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default iasDealershipReducer;\r\n","import {\r\n ClickThroughRateState,\r\n ClickThroughRateAction,\r\n SET_CTR_DATA_LOADING,\r\n SET_CTR_DATA_FAILED,\r\n SET_CTR_ALL_TIME_COUNT_SUCCESS,\r\n SET_CTR_DATA_SUCCESS,\r\n} from \"../type/ClickThroughRateType\";\r\n\r\nconst initialState: ClickThroughRateState = {\r\n isLoading: false,\r\n errorMessage: null,\r\n\r\n allTimeCount: {\r\n impressions: null,\r\n clicks: null,\r\n },\r\n\r\n data: [],\r\n};\r\n\r\nconst ClickThroughRateReducer = (\r\n state: ClickThroughRateState = initialState,\r\n action: ClickThroughRateAction\r\n) => {\r\n switch (action.type) {\r\n case SET_CTR_DATA_LOADING:\r\n return { ...state, isLoading: action.payload, errorMessage: null };\r\n case SET_CTR_DATA_FAILED:\r\n return { ...state, isLoading: false, errorMessage: action.payload };\r\n case SET_CTR_ALL_TIME_COUNT_SUCCESS:\r\n return {\r\n ...state,\r\n isLoading: false,\r\n allTimeCount: { ...action.payload },\r\n };\r\n case SET_CTR_DATA_SUCCESS:\r\n return { ...state, isLoading: false, data: [...action.payload] };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default ClickThroughRateReducer;\r\n","import {\r\n InventoryState,\r\n InventoryAction,\r\n SET_GET_INVENTORY_LOADING,\r\n SET_GET_INVENTORY_FAILED,\r\n SET_GET_INVENTORY_SUCCESS,\r\n SET_UPDATE_INVENTORY_LOADING,\r\n SET_UPDATE_INVENTORY_FAILED,\r\n SET_UPDATE_INVENTORY_SUCCESS,\r\n SET_VEHICLE_DELETE_FAILED,\r\n SET_VEHICLE_DELETE_LOADING,\r\n SET_ADD_INVENTORY_LOADING,\r\n SET_CLEAR_INVENTORY_MESSAGES,\r\n SET_ADD_INVENTORY_SUCCESS,\r\n SET_ADD_INVENTORY_FAILED,\r\n SET_INVENTORY_EDITED_IMG_UPLOAD_FAILED,\r\n SET_INVENTORY_EDITED_IMG_UPLOAD_SUCCESS,\r\n SET_INVENTORY_EDITED_IMG_UPLOADING,\r\n} from \"../type/InventoryType\";\r\n\r\nconst initialState: InventoryState = {\r\n loadingInventory: false,\r\n inventoryErrorMessage: null,\r\n inventories: [],\r\n updateInventorySuccessMessage: null,\r\n updateInventoryErrorMessage: null,\r\n updateInventoryLoading: false,\r\n deleteVehicleLoading: false,\r\n deleteVehicleErrorMessage: null,\r\n addInventoryLoading: false,\r\n addInventoryStatus: false,\r\n editedImageUploading: false,\r\n editedImage: null,\r\n editedImageUploadError: null,\r\n};\r\n\r\nconst inventoryReducer = (\r\n state = initialState,\r\n action: InventoryAction\r\n): InventoryState => {\r\n switch (action.type) {\r\n case SET_CLEAR_INVENTORY_MESSAGES:\r\n return {\r\n ...state,\r\n inventoryErrorMessage: null,\r\n deleteVehicleErrorMessage: null,\r\n updateInventoryErrorMessage: null,\r\n updateInventorySuccessMessage: null,\r\n editedImageUploadError: null,\r\n };\r\n case SET_VEHICLE_DELETE_FAILED:\r\n return {\r\n ...state,\r\n deleteVehicleLoading: false,\r\n deleteVehicleErrorMessage: action.payload,\r\n };\r\n case SET_VEHICLE_DELETE_LOADING:\r\n return {\r\n ...state,\r\n deleteVehicleLoading: action.payload,\r\n };\r\n case SET_GET_INVENTORY_LOADING:\r\n return {\r\n ...state,\r\n loadingInventory: action.payload,\r\n inventoryErrorMessage: null,\r\n deleteVehicleErrorMessage: null,\r\n };\r\n case SET_GET_INVENTORY_FAILED:\r\n return {\r\n ...state,\r\n loadingInventory: false,\r\n inventoryErrorMessage: action.payload,\r\n };\r\n case SET_GET_INVENTORY_SUCCESS:\r\n return { ...state, loadingInventory: false, inventories: action.payload };\r\n case SET_UPDATE_INVENTORY_LOADING:\r\n return {\r\n ...state,\r\n updateInventoryLoading: action.payload,\r\n };\r\n case SET_UPDATE_INVENTORY_FAILED:\r\n return {\r\n ...state,\r\n updateInventoryErrorMessage: action.payload,\r\n updateInventoryLoading: false,\r\n };\r\n\r\n case SET_UPDATE_INVENTORY_SUCCESS:\r\n return {\r\n ...state,\r\n updateInventorySuccessMessage: action.payload,\r\n updateInventoryLoading: false,\r\n };\r\n case SET_ADD_INVENTORY_LOADING:\r\n return {\r\n ...state,\r\n addInventoryLoading: action.payload,\r\n };\r\n case SET_ADD_INVENTORY_SUCCESS:\r\n return {\r\n ...state,\r\n addInventoryStatus: action.payload,\r\n };\r\n case SET_ADD_INVENTORY_FAILED:\r\n return {\r\n ...state,\r\n addInventoryStatus: action.payload,\r\n };\r\n case SET_INVENTORY_EDITED_IMG_UPLOADING:\r\n return {\r\n ...state,\r\n editedImageUploading: action.uploading,\r\n };\r\n case SET_INVENTORY_EDITED_IMG_UPLOAD_SUCCESS:\r\n return {\r\n ...state,\r\n editedImage: action.updatedFile,\r\n };\r\n case SET_INVENTORY_EDITED_IMG_UPLOAD_FAILED:\r\n return {\r\n ...state,\r\n editedImageUploadError: action.errorMessage,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default inventoryReducer;\r\n","import {\r\n InventoryMetricState,\r\n InventoryMetricAction,\r\n SET_INVENTORY_METRIC_LOADING,\r\n SET_INVENTORY_METRIC_FAILED,\r\n SET_GET_INVENTORY_METRIC_SUCCESS,\r\n SET_GET_INVENTORY_CLICK_SUCCESS,\r\n SET_CONDITIONAL_IMPRESSIONS_SUCCESS,\r\n SET_CONDITIONAL_CLICKS_SUCCESS,\r\n} from \"../type/InventoryMetricType\";\r\n\r\nconst initialState: InventoryMetricState = {\r\n isLoading: false,\r\n errorMessage: null,\r\n impressionsVsInventories: [],\r\n clicksVsInventories: [],\r\n conditionImpression: {\r\n xLabels: [],\r\n dataLabels: [],\r\n data: [],\r\n download: [],\r\n },\r\n conditionClick: {\r\n xLabels: [],\r\n dataLabels: [],\r\n data: [],\r\n download: [],\r\n },\r\n};\r\n\r\nconst InventoryMetricReducer = (\r\n state: InventoryMetricState = initialState,\r\n action: InventoryMetricAction\r\n) => {\r\n switch (action.type) {\r\n case SET_INVENTORY_METRIC_LOADING:\r\n return { ...state, isLoading: false };\r\n case SET_INVENTORY_METRIC_FAILED:\r\n return { ...state, errorMessage: false };\r\n case SET_GET_INVENTORY_METRIC_SUCCESS:\r\n return { ...state, impressionsVsInventories: action.payload };\r\n case SET_GET_INVENTORY_CLICK_SUCCESS:\r\n return { ...state, clicksVsInventories: action.payload };\r\n case SET_CONDITIONAL_IMPRESSIONS_SUCCESS:\r\n return { ...state, conditionImpression: action.payload };\r\n case SET_CONDITIONAL_CLICKS_SUCCESS:\r\n return { ...state, conditionClick: action.payload };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default InventoryMetricReducer;\r\n","import {\r\n AdvancedInventoryMetricsState,\r\n AdvInvMetricsAction,\r\n SET_ADV_INV_METRICS_LOADING,\r\n SET_ADV_INV_METRICS_FAILED,\r\n SET_ADV_INV_METRICS_DATA_SUCCESS,\r\n} from \"../type/AdvancedInventoryMetricsType\";\r\n\r\nconst initialState: AdvancedInventoryMetricsState = {\r\n isLoading: false,\r\n errorMessage: null,\r\n\r\n data: [],\r\n};\r\n\r\nconst AdvancedInventoryMetricsReducer = (\r\n state: AdvancedInventoryMetricsState = initialState,\r\n action: AdvInvMetricsAction\r\n) => {\r\n switch (action.type) {\r\n case SET_ADV_INV_METRICS_LOADING:\r\n return { ...state, isLoading: action.payload, errorMessage: null };\r\n case SET_ADV_INV_METRICS_FAILED:\r\n return { ...state, isLoading: false, errorMessage: action.payload };\r\n case SET_ADV_INV_METRICS_DATA_SUCCESS:\r\n return { ...state, isLoading: false, data: [...action.payload] };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default AdvancedInventoryMetricsReducer;\r\n","import {\r\n AccountDetailsState,\r\n AccountDetailsAction,\r\n SET_ACCOUNT_DETAILS_SUCCESS,\r\n SET_ACCOUNT_DETAILS_FAILED,\r\n SET_ACCOUNT_DETAILS_LOADING,\r\n SET_SELECTED_ACCOUNT_FOR_ACCOUNT_DETAILS,\r\n} from \"../type/AccountDetailsType\";\r\n\r\nconst initialState: AccountDetailsState = {\r\n loadingAccountDetails: false,\r\n error: null,\r\n selectedAccountForAccountDetails: null,\r\n dealershipInfo: {\r\n logo: null,\r\n name: null,\r\n parentAccountId: null,\r\n parentAccountName: null,\r\n address1: null,\r\n address2: null,\r\n city: null,\r\n state: null,\r\n zip: null,\r\n country: null,\r\n phone: null,\r\n email: null,\r\n url: null,\r\n website: null,\r\n videoUrl: null,\r\n message: null,\r\n },\r\n ownerInfo: {\r\n name: null,\r\n phone: null,\r\n email: null,\r\n },\r\n itInfo: {\r\n name: null,\r\n phone: null,\r\n email: null,\r\n },\r\n billingInfo: {\r\n name: null,\r\n phone: null,\r\n email: null,\r\n },\r\n financialAndAccountingInfo: {\r\n financePortalUrl: null,\r\n accountingPortalUrl: null,\r\n },\r\n};\r\n\r\nconst accountDetailsReducer = (\r\n state = initialState,\r\n action: AccountDetailsAction\r\n): AccountDetailsState => {\r\n switch (action.type) {\r\n case SET_ACCOUNT_DETAILS_LOADING:\r\n return {\r\n ...state,\r\n loadingAccountDetails: action.payload,\r\n };\r\n case SET_ACCOUNT_DETAILS_SUCCESS:\r\n return {\r\n ...state,\r\n dealershipInfo: { ...action.payload.dealershipInfo },\r\n ownerInfo: { ...action.payload.ownerInfo },\r\n itInfo: { ...action.payload.itInfo },\r\n billingInfo: { ...action.payload.billingInfo },\r\n financialAndAccountingInfo: {\r\n ...action.payload.financialAndAccountingInfo,\r\n },\r\n };\r\n case SET_ACCOUNT_DETAILS_FAILED:\r\n return {\r\n ...state,\r\n error: action.payload,\r\n };\r\n case SET_SELECTED_ACCOUNT_FOR_ACCOUNT_DETAILS:\r\n return { ...state, selectedAccountForAccountDetails: action.payload };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default accountDetailsReducer;\r\n","import {\r\n LeadState,\r\n LeadAction,\r\n SET_CLEAR_LEAD_MESSAGES,\r\n SET_GET_LEAD_LOADING,\r\n SET_GET_LEAD_FAILED,\r\n SET_GET_LEAD_SUCCESS,\r\n SET_GET_LEAD_LIST_LOADING,\r\n SET_GET_LEAD_LIST_FAILED,\r\n SET_GET_LEAD_LIST_SUCCESS,\r\n SET_SELL_TO_RUMBLEON_LOADING,\r\n SET_SELL_TO_RUMBLEON_FAILED,\r\n SET_NO_DATA_FOR_LEAD,\r\n} from \"../type/LeadType\";\r\n\r\nconst initialState: LeadState = {\r\n leadList: [],\r\n leadListLoading: false,\r\n leadListError: null,\r\n\r\n lead: null,\r\n leadLoading: false,\r\n leadError: null,\r\n leadNoData: false,\r\n\r\n sellToRubmleonLoading: false,\r\n sellToRubmleonError: null,\r\n};\r\n\r\nconst leadReducer = (state = initialState, action: LeadAction): LeadState => {\r\n switch (action.type) {\r\n case SET_CLEAR_LEAD_MESSAGES:\r\n return {\r\n ...state,\r\n leadListError: null,\r\n leadError: null,\r\n leadNoData: false,\r\n sellToRubmleonError: null,\r\n };\r\n\r\n case SET_GET_LEAD_LOADING:\r\n return { ...state, leadLoading: action.payload };\r\n case SET_GET_LEAD_FAILED:\r\n return { ...state, leadError: action.payload };\r\n case SET_GET_LEAD_SUCCESS:\r\n return { ...state, lead: action.payload };\r\n case SET_NO_DATA_FOR_LEAD:\r\n return { ...state, leadNoData: action.payload };\r\n\r\n case SET_GET_LEAD_LIST_LOADING:\r\n return { ...state, leadListLoading: action.payload };\r\n case SET_GET_LEAD_LIST_FAILED:\r\n return { ...state, leadListError: action.payload };\r\n case SET_GET_LEAD_LIST_SUCCESS:\r\n return { ...state, leadList: action.payload };\r\n\r\n case SET_SELL_TO_RUMBLEON_LOADING:\r\n return { ...state, sellToRubmleonLoading: action.payload };\r\n case SET_SELL_TO_RUMBLEON_FAILED:\r\n return { ...state, sellToRubmleonError: action.payload };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default leadReducer;\r\n","import {\r\n UsersState,\r\n UsersAction,\r\n SET_CLEAN_USER_MESSAGES,\r\n SET_USER_LOADING,\r\n SET_GET_USER_LIST_FAILED,\r\n SET_GET_USER_LIST_SUCCESS,\r\n SET_UPDATE_USER_FAILED,\r\n SET_UPDATE_USER_SUCCESS,\r\n SET_DELETE_USER_FAILED,\r\n SET_DELETE_USER_SUCCESS,\r\n SET_ADD_USER_FAILED,\r\n SET_ADD_USER_SUCCESS,\r\n SET_GET_USER_TYPE_LIST_FAILED,\r\n SET_GET_USER_TYPE_LIST_SUCCESS,\r\n SET_GET_USER_STATUS_LIST_FAILED,\r\n SET_GET_USER_STATUS_LIST_SUCCESS,\r\n} from \"../type/UsersType\";\r\n\r\nconst initialState: UsersState = {\r\n loading: false,\r\n\r\n userList: [],\r\n userListError: null,\r\n\r\n updateUserSuccess: null,\r\n updateUserError: null,\r\n\r\n deleteUserSuccess: null,\r\n deleteUserError: null,\r\n\r\n addUserSuccess: null,\r\n addUserError: null,\r\n\r\n userTypeList: [],\r\n userTypeListError: null,\r\n\r\n userStatusTypeList: [],\r\n userStatusTypeListError: null,\r\n};\r\n\r\nconst usersReducer = (\r\n state = initialState,\r\n action: UsersAction\r\n): UsersState => {\r\n switch (action.type) {\r\n case SET_CLEAN_USER_MESSAGES:\r\n return {\r\n ...state,\r\n\r\n userListError: null,\r\n updateUserSuccess: null,\r\n updateUserError: null,\r\n deleteUserSuccess: null,\r\n deleteUserError: null,\r\n addUserSuccess: null,\r\n addUserError: null,\r\n };\r\n\r\n case SET_USER_LOADING:\r\n return { ...state, loading: action.payload };\r\n\r\n case SET_GET_USER_LIST_FAILED:\r\n return { ...state, userListError: action.payload };\r\n case SET_GET_USER_LIST_SUCCESS:\r\n return { ...state, userList: action.payload };\r\n\r\n case SET_UPDATE_USER_FAILED:\r\n return { ...state, updateUserError: action.payload };\r\n case SET_UPDATE_USER_SUCCESS:\r\n return { ...state, updateUserSuccess: action.payload };\r\n\r\n case SET_DELETE_USER_FAILED:\r\n return { ...state, deleteUserError: action.payload };\r\n case SET_DELETE_USER_SUCCESS:\r\n return { ...state, deleteUserSuccess: action.payload };\r\n\r\n case SET_ADD_USER_FAILED:\r\n return { ...state, addUserError: action.payload };\r\n case SET_ADD_USER_SUCCESS:\r\n return { ...state, addUserSuccess: action.payload };\r\n\r\n\r\n case SET_GET_USER_TYPE_LIST_FAILED:\r\n return { ...state, userTypeListError: action.payload };\r\n case SET_GET_USER_TYPE_LIST_SUCCESS:\r\n return { ...state, userTypeList: action.payload || [] };\r\n\r\n case SET_GET_USER_STATUS_LIST_FAILED:\r\n return { ...state, userStatusTypeListError: action.payload };\r\n case SET_GET_USER_STATUS_LIST_SUCCESS:\r\n return { ...state, userStatusTypeList: action.payload };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default usersReducer;\r\n","import {\r\n AccountInfoState,\r\n AccountDetailsAction,\r\n SET_ACCOUNT_DETAILS_LOADING,\r\n} from \"../type/CycleProType\";\r\n\r\nconst initialState: AccountInfoState = {\r\n loadingAccountDetails: false,\r\n error: null,\r\n selectedAccountForAccountDetails: null,\r\n dealershipInfo: {\r\n name: null,\r\n },\r\n};\r\n\r\nconst cycleProReducer = (\r\n state = initialState,\r\n action: AccountDetailsAction\r\n): AccountInfoState => {\r\n switch (action.type) {\r\n case SET_ACCOUNT_DETAILS_LOADING:\r\n return {\r\n ...state,\r\n loadingAccountDetails: action.payload,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default cycleProReducer;","export interface DealershipInfo {\r\n name: string | null;\r\n}\r\nexport interface AccountInfo {\r\n readonly dealershipInfo: DealershipInfo;\r\n}\r\nexport interface AccountInfoState extends AccountInfo {\r\n loadingAccountDetails: boolean;\r\n error: string | null;\r\n selectedAccountForAccountDetails: number | null;\r\n}\r\nexport const SET_ACCOUNT_DETAILS_LOADING = \"SET_ACCOUNT_DETAILS_LOADING\";\r\n\r\ninterface SetAccountDetailsLoading {\r\n type: typeof SET_ACCOUNT_DETAILS_LOADING;\r\n payload: boolean;\r\n}\r\nexport type AccountDetailsAction =\r\n | SetAccountDetailsLoading","import { combineReducers, createStore, applyMiddleware } from \"redux\";\r\nimport { composeWithDevTools } from \"redux-devtools-extension\";\r\nimport thunkMiddleware from \"redux-thunk\";\r\nimport { persistStore, persistReducer } from \"redux-persist\";\r\nimport storage from \"redux-persist/lib/storage\";\r\nimport authenticationReducer from \"./AuthenticationReducer\";\r\nimport combinedCreateCashOfferReducer from \"./CombineCashOfferReducer\";\r\nimport iasMarketReducer from \"./IasMarketReducer\";\r\nimport signupReducer from \"./SignupReducer\";\r\nimport acceptOfferReducer from \"./AcceptOfferReducer\";\r\nimport VinDecodeReducer from \"./VinDecodeReducer\";\r\nimport AppraisalReducer from \"./AppraisalReducer\";\r\nimport DealershipAnalyticReducer from \"./DealershipAnalyticReducer\";\r\nimport ClickThroughRateReducer from \"./ClickThroughRateReducer\";\r\nimport InventoryReducer from \"./InventoryReducer\";\r\nimport InventoryMetricReducer from \"./InventoryMetricReducer\";\r\nimport AdvancedInventoryMetricsReducer from \"./AdvancedInventoryMetricsReducer\";\r\nimport accountDetailsReducer from \"./AccountDetailsReducer\";\r\nimport leadReducer from \"./LeadReducer\";\r\nimport useReducer from \"./UsersReducer\";\r\nimport cycleProReducer from \"./CycleProReducer\";\r\n\r\nconst rootReducer = combineReducers({\r\n auth: authenticationReducer,\r\n cashOffer: combinedCreateCashOfferReducer,\r\n iasMarket: iasMarketReducer,\r\n signup: signupReducer,\r\n acceptCashOffer: acceptOfferReducer,\r\n vinDecode: VinDecodeReducer,\r\n appraisal: AppraisalReducer,\r\n dealershipAnalytic: DealershipAnalyticReducer,\r\n clickThroughRate: ClickThroughRateReducer,\r\n advancedInventoryMetrics: AdvancedInventoryMetricsReducer,\r\n inventory: InventoryReducer,\r\n inventoryMetric: InventoryMetricReducer,\r\n accountDetails: accountDetailsReducer,\r\n lead: leadReducer,\r\n users: useReducer,\r\n accountinfo: cycleProReducer,\r\n});\r\n\r\nconst persistConfig = {\r\n key: \"root\",\r\n storage,\r\n blacklist: [\r\n \"cashOffer\",\r\n \"createMotorcycleOffer\",\r\n \"iasMarket\",\r\n \"signup\",\r\n \"acceptCashOffer\",\r\n \"vinDecode\",\r\n \"appraisal\",\r\n \"dealershipAnalytic\",\r\n \"inventoryReducer\",\r\n \"inventoryMetric\",\r\n \"lead\",\r\n \"accountinfo\",\r\n ],\r\n};\r\n\r\nconst persistedReducer = persistReducer(persistConfig, rootReducer);\r\n\r\nexport const store = createStore(\r\n persistedReducer,\r\n process.env.NODE_ENV === \"production\"\r\n ? applyMiddleware(thunkMiddleware)\r\n : composeWithDevTools(applyMiddleware(thunkMiddleware))\r\n);\r\n\r\nexport const persistor = persistStore(store);\r\n","export interface IasMarketState {\r\n readonly isLoggingIn: boolean;\r\n readonly isFailed: boolean;\r\n}\r\n\r\nexport const SET_IAS_MARKET_LOGGING_IN = \"SET_IAS_MARKET_LOGGING_IN\";\r\nexport const SET_IAS_MARKET_LOGIN_FAILED = \"SET_IAS_MARKET_LOGIN_FAILED\";\r\nexport const RESET_IAS_MARKET_ERROR = \"RESET_IAS_MARKET_ERROR\";\r\n\r\ninterface SetIasMarketLoggingInAction {\r\n type: typeof SET_IAS_MARKET_LOGGING_IN;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetIasMarketLogInFailedAction {\r\n type: typeof SET_IAS_MARKET_LOGIN_FAILED;\r\n}\r\n\r\ninterface ResetIasMarketErrorAction {\r\n type: typeof RESET_IAS_MARKET_ERROR;\r\n}\r\n\r\nexport type IasMarketActionTypes =\r\n | SetIasMarketLoggingInAction\r\n | SetIasMarketLogInFailedAction\r\n | ResetIasMarketErrorAction;\r\n","export interface DealerOfferPayload {\r\n AppraisalId: number;\r\n}\r\n\r\nexport interface AcceptCashOfferPayload {\r\n ApiKey: string;\r\n AppraisalRefNo: string;\r\n OfferPrice: number;\r\n}\r\n\r\nexport interface DealerOfferResult {\r\n AppraisalId: number;\r\n AppraisalOfferId: number;\r\n AppraisalOfferStatusId: number;\r\n AppraisalRefNo: string;\r\n DealerEmail: string;\r\n DealerName: string;\r\n DealerPhoneNo: string;\r\n DealerShipAddress: string;\r\n DealerShipCity: string;\r\n DealerShipName: string;\r\n DealerShipState: string;\r\n Error: string;\r\n ErrorDetails: string;\r\n ExpiresOn: string;\r\n Make: string;\r\n MechanicalCondition: string;\r\n Message: string;\r\n Mileage: number;\r\n Model: string;\r\n OfferPrice: number;\r\n PhysicalCondition: string;\r\n TireCondition: string;\r\n Vin: string;\r\n year: number;\r\n}\r\n\r\nexport interface AcceptCashOfferState {\r\n readonly isAcceptOfferLoading: boolean;\r\n readonly isGetDealerOfferDetailSuccess?: boolean;\r\n readonly isOfferAcceptSuccess?: boolean;\r\n readonly getDealerOfferDetailFailedErrorMessage: string;\r\n readonly acceptOfferFailedMessage?: string;\r\n readonly dealerOfferDeail?: DealerOfferResult;\r\n}\r\n\r\nexport const SET_ACCEPT_OFFER_LOADING_ACTION =\r\n \"SET_ACCEPT_OFFER_LOADING_ACTION\";\r\nexport const SET_GET_DEALER_OFFER_DETAIL_SUCCESS_ACTION =\r\n \"SET_GET_DEALER_OFFER_DETAIL_SUCCESS_ACTION\";\r\nexport const SET_GET_DEALER_OFFER_DETAIL_FAILED_ERROR_MESSAGE_ACTION =\r\n \"SET_GET_DEALER_OFFER_DETAIL_FAILED_ERROR_MESSAGE_ACTION\";\r\nexport const SET_OFFER_ACCEPT_SUCCESS_ACTION =\r\n \"SET_OFFER_ACCEPT_SUCCESS_ACTION\";\r\nexport const SET_OFFER_ACCEPT_FAILED_MESSAGE_ACTION =\r\n \"SET_OFFER_ACCEPT_FAILED_MESSAGE_ACTION \";\r\nexport const SET_DEALER_OFFER_DETAIL_ACTION = \"SET_DEALER_OFFER_DETAIL_ACTION\";\r\nexport const RESET_ACCEPT_OFFER_STATUS_ACTION =\r\n \"RESET_ACCEPT_OFFER_STATUS_ACTION\";\r\n\r\ninterface SetAcceptOfferLoadingAction {\r\n type: typeof SET_ACCEPT_OFFER_LOADING_ACTION;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetGetDealerOfferDetailSuccessAction {\r\n type: typeof SET_GET_DEALER_OFFER_DETAIL_SUCCESS_ACTION;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetGetDealerOfferDetailFailedErrorMessageAction {\r\n type: typeof SET_GET_DEALER_OFFER_DETAIL_FAILED_ERROR_MESSAGE_ACTION;\r\n payload: string;\r\n}\r\n\r\ninterface SetOfferAcceptSuccessAction {\r\n type: typeof SET_OFFER_ACCEPT_SUCCESS_ACTION;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetOfferAcceptFailedMessageAction {\r\n type: typeof SET_OFFER_ACCEPT_FAILED_MESSAGE_ACTION;\r\n payload: string;\r\n}\r\n\r\ninterface SetDealerOfferDetailAction {\r\n type: typeof SET_DEALER_OFFER_DETAIL_ACTION;\r\n payload: DealerOfferResult;\r\n}\r\n\r\ninterface ResetAcceptCashOfferStatusAction {\r\n type: typeof RESET_ACCEPT_OFFER_STATUS_ACTION;\r\n}\r\n\r\nexport type AcceptCashOfferActionTypes =\r\n | SetAcceptOfferLoadingAction\r\n | SetGetDealerOfferDetailSuccessAction\r\n | SetGetDealerOfferDetailFailedErrorMessageAction\r\n | SetOfferAcceptSuccessAction\r\n | SetOfferAcceptFailedMessageAction\r\n | SetDealerOfferDetailAction\r\n | ResetAcceptCashOfferStatusAction;\r\n","import {\r\n SET_IAS_MARKET_LOGGING_IN,\r\n SET_IAS_MARKET_LOGIN_FAILED,\r\n RESET_IAS_MARKET_ERROR,\r\n IasMarketActionTypes\r\n} from \"../type/IasMarketType\";\r\n\r\nexport const setIasLoggingIn = (payload: boolean): IasMarketActionTypes => ({\r\n type: SET_IAS_MARKET_LOGGING_IN,\r\n payload: payload\r\n});\r\n\r\nexport const setIasLoginFailed = (): IasMarketActionTypes => ({\r\n type: SET_IAS_MARKET_LOGIN_FAILED\r\n});\r\n\r\nexport const resetIasMarketError = (): IasMarketActionTypes => ({\r\n type: RESET_IAS_MARKET_ERROR\r\n});\r\n","import {\r\n CTRSummaryData,\r\n DealershipAnalyticAction,\r\n DealershipCommonDateCount,\r\n DealershipCustomerActivityDateCount,\r\n InventorySummaryData,\r\n SET_CTR_SUMMARY_FAILED_MESSAGE,\r\n SET_CTR_SUMMARY_LOADING,\r\n SET_CTR_SUMMARY_SUCCESS,\r\n SET_DEALERSHIP_ACCOUNTS_FAILED,\r\n SET_DEALERSHIP_ACCOUNTS_LOADING,\r\n SET_DEALERSHIP_ACCOUNTS_SUCCESS,\r\n SET_DEALERSHIP_CUSTOMER_ACTIVITY_SUCCESS,\r\n SET_DEALERSHIP_DATA_FAILED_MESSAGE,\r\n SET_DEALERSHIP_DATA_LOADING,\r\n SET_DEALERSHIP_DEAL_SUCCESS,\r\n SET_DEALERSHIP_DETAIL_PAGE_VIEW_SUCCESS,\r\n SET_DEALERSHIP_IMPRESSION_SUCCESS,\r\n SET_INVENTORY_SUMMARY_FAILED_MESSAGE,\r\n SET_INVENTORY_SUMMARY_LOADING,\r\n SET_INVENTORY_SUMMARY_SUCCESS,\r\n SET_SELECTED_DEALERS_FOR_ANALYTICS,\r\n SET_USER_ACTIVITY_COUNT_SUCCESS,\r\n UserActivityCount,\r\n SET_SELECTED_DEALERS_FOR_INVENTORY,\r\n} from \"../type/DealerShipAnalyticType\";\r\n\r\nexport const setDealershipAccountsLoading = (\r\n payload: boolean\r\n): DealershipAnalyticAction => ({\r\n type: SET_DEALERSHIP_ACCOUNTS_LOADING,\r\n payload: payload,\r\n});\r\n\r\nexport const setDealershipAccountsSuccess = (\r\n payload: string[]\r\n): DealershipAnalyticAction => ({\r\n type: SET_DEALERSHIP_ACCOUNTS_SUCCESS,\r\n payload: payload,\r\n});\r\n\r\nexport const setDealershipAccountsFailed = (\r\n payload: string\r\n): DealershipAnalyticAction => ({\r\n type: SET_DEALERSHIP_ACCOUNTS_FAILED,\r\n payload: payload,\r\n});\r\n\r\nexport const setDealershipLoading = (\r\n payload: boolean\r\n): DealershipAnalyticAction => ({\r\n type: SET_DEALERSHIP_DATA_LOADING,\r\n payload: payload,\r\n});\r\n\r\nexport const setDealershipFailed = (\r\n payload: string\r\n): DealershipAnalyticAction => ({\r\n type: SET_DEALERSHIP_DATA_FAILED_MESSAGE,\r\n payload,\r\n});\r\n\r\nexport const setDealershipImpressionSuccess = (\r\n payload: DealershipCommonDateCount[]\r\n): DealershipAnalyticAction => ({\r\n type: SET_DEALERSHIP_IMPRESSION_SUCCESS,\r\n payload: payload,\r\n});\r\n\r\nexport const setDealershipDealsSuccess = (\r\n payload: DealershipCommonDateCount[]\r\n): DealershipAnalyticAction => ({\r\n type: SET_DEALERSHIP_DEAL_SUCCESS,\r\n payload: payload,\r\n});\r\n\r\nexport const setDealershipDetailPageViewSuccess = (\r\n payload: DealershipCommonDateCount[]\r\n): DealershipAnalyticAction => ({\r\n type: SET_DEALERSHIP_DETAIL_PAGE_VIEW_SUCCESS,\r\n payload: payload,\r\n});\r\n\r\nexport const setDealershipCustomerActivitySuccess = (\r\n payload: DealershipCustomerActivityDateCount\r\n): DealershipAnalyticAction => ({\r\n type: SET_DEALERSHIP_CUSTOMER_ACTIVITY_SUCCESS,\r\n payload: payload,\r\n});\r\n\r\nexport const setCTRSummaryLoading = (\r\n payload: boolean\r\n): DealershipAnalyticAction => ({\r\n type: SET_CTR_SUMMARY_LOADING,\r\n payload: payload,\r\n});\r\n\r\nexport const setCTRSummaryFailed = (\r\n payload: string\r\n): DealershipAnalyticAction => ({\r\n type: SET_CTR_SUMMARY_FAILED_MESSAGE,\r\n payload,\r\n});\r\n\r\nexport const setCTRSummarySuccess = (\r\n payload: CTRSummaryData\r\n): DealershipAnalyticAction => ({\r\n type: SET_CTR_SUMMARY_SUCCESS,\r\n payload: payload,\r\n});\r\n\r\nexport const setInventorySummaryLoading = (\r\n payload: boolean\r\n): DealershipAnalyticAction => ({\r\n type: SET_INVENTORY_SUMMARY_LOADING,\r\n payload: payload,\r\n});\r\n\r\nexport const setInventorySummaryFailed = (\r\n payload: string\r\n): DealershipAnalyticAction => ({\r\n type: SET_INVENTORY_SUMMARY_FAILED_MESSAGE,\r\n payload,\r\n});\r\n\r\nexport const setInventorySummarySuccess = (\r\n payload: InventorySummaryData\r\n): DealershipAnalyticAction => ({\r\n type: SET_INVENTORY_SUMMARY_SUCCESS,\r\n payload: payload,\r\n});\r\n\r\nexport const setDealershipUserActivityCountSuccess = (\r\n payload: UserActivityCount\r\n): DealershipAnalyticAction => ({\r\n type: SET_USER_ACTIVITY_COUNT_SUCCESS,\r\n payload: payload,\r\n});\r\n\r\nexport const setSelectedDealerForAnalytics = (\r\n payload: number[]\r\n): DealershipAnalyticAction => ({\r\n type: SET_SELECTED_DEALERS_FOR_ANALYTICS,\r\n payload\r\n});\r\n\r\nexport const setSelectedDealerForInventory = (\r\n payload: number[]\r\n): DealershipAnalyticAction => ({\r\n type: SET_SELECTED_DEALERS_FOR_INVENTORY,\r\n payload\r\n});","export interface InventoryMetricState {\r\n readonly isLoading: boolean;\r\n readonly errorMessage: string | null;\r\n readonly impressionsVsInventories: ImpressionVsClickData[];\r\n readonly clicksVsInventories: ImpressionVsClickData[];\r\n\r\n readonly conditionImpression: ConditionalData;\r\n readonly conditionClick: ConditionalData;\r\n}\r\n\r\nexport const SET_INVENTORY_METRIC_LOADING = \"SET_INVENTORY_METRIC_LOADING\";\r\nexport const SET_INVENTORY_METRIC_FAILED = \"SET_INVENTORY_METRIC_FAILED\";\r\n\r\nexport const SET_CONDITIONAL_IMPRESSIONS_SUCCESS =\r\n \"SET_CONDITIONAL_IMPRESSIONS_SUCCESS\";\r\nexport const SET_CONDITIONAL_CLICKS_SUCCESS = \"SET_CONDITIONAL_CLICKS_SUCCESS\";\r\n\r\nexport const SET_GET_INVENTORY_METRIC_SUCCESS =\r\n \"SET_GET_INVENTORY_METRIC_SUCCESS\";\r\nexport const SET_GET_INVENTORY_CLICK_SUCCESS =\r\n \"SET_GET_INVENTORY_CLICK_SUCCESS\";\r\n\r\nexport interface ImpressionVsClickData {\r\n key: string;\r\n value: number;\r\n}\r\n\r\nexport interface ConditionalData {\r\n xLabels: string[];\r\n dataLabels: string[];\r\n data: Array;\r\n download: object[];\r\n}\r\n\r\ninterface SetInventoryMetricLoadingAction {\r\n type: typeof SET_INVENTORY_METRIC_LOADING;\r\n payload: boolean;\r\n}\r\n\r\ninterface SetInventoryMetricErrorAction {\r\n type: typeof SET_INVENTORY_METRIC_FAILED;\r\n payload: string | null;\r\n}\r\n\r\ninterface SetGetInventoryImpressionSuccess {\r\n type: typeof SET_GET_INVENTORY_METRIC_SUCCESS;\r\n payload: ImpressionVsClickData[];\r\n}\r\n\r\ninterface SetGetInventoryClickSuccess {\r\n type: typeof SET_GET_INVENTORY_CLICK_SUCCESS;\r\n payload: ImpressionVsClickData[];\r\n}\r\n\r\ninterface SetConditionalImpressionSuccess {\r\n type: typeof SET_CONDITIONAL_IMPRESSIONS_SUCCESS;\r\n payload: ConditionalData;\r\n}\r\n\r\ninterface SetConditionalClickSuccess {\r\n type: typeof SET_CONDITIONAL_CLICKS_SUCCESS;\r\n payload: ConditionalData;\r\n}\r\n\r\nexport type InventoryMetricAction =\r\n | SetInventoryMetricLoadingAction\r\n | SetInventoryMetricErrorAction\r\n | SetGetInventoryImpressionSuccess\r\n | SetGetInventoryClickSuccess\r\n | SetConditionalImpressionSuccess\r\n | SetConditionalClickSuccess;\r\n","export const exteriorColorList = [\r\n \"Black\",\r\n \"Blue\",\r\n \"Red\",\r\n \"Brown\",\r\n \"White\",\r\n \"Gray\",\r\n \"Silver\",\r\n \"Green\",\r\n \"Orange\",\r\n \"Yellow\",\r\n \"Gold\",\r\n \"Maroon\",\r\n \"Copper\",\r\n];\r\n\r\nexport const interiorColorList = [\r\n \"Black\",\r\n \"Blue\",\r\n \"Red\",\r\n \"Brown\",\r\n \"White\",\r\n \"Tan\",\r\n \"Beige\",\r\n \"Gray\",\r\n \"Silver\",\r\n \"Green\",\r\n \"Orange\",\r\n \"Yellow\",\r\n \"Gold\",\r\n \"Maroon\",\r\n \"Copper\",\r\n];\r\nexport const breakpoints = {\r\n sm: \"576px\",\r\n md: \"875px\",\r\n mid: \"1488px\",\r\n lg: \"1800px\",\r\n};\r\n\r\nexport const environmentVariableList = () => {\r\n if (window.location.hostname === \"dealer.rumbleon.com\" ||\r\n window.location.hostname === \"ohiodealer.rumbleon.com\" ||\r\n window.location.hostname === \"virginiadealer.rumbleon.com\"\r\n ) {\r\n return {\r\n REACT_APP_AUTHENTICATION_END_POINT: \"https://accounts.rumbleon.com\",\r\n REACT_APP_DEALER_LIST_END_POINT: \"https://org.rumbleon.com\",\r\n REACT_APP_INV_END_POINT:\r\n \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243\",\r\n REACT_APP_INV_INDEX_NAME: \"v4prod-analytics-useractivity\",\r\n REACT_APP_INV_APP_NAME: \"v4proddealer\",\r\n REACT_APP_VIN_DECODE_END_POINT: \"https://cashoffer.rumbleon.com\",\r\n REACT_APP_CASH_OFFER_END_POINT: \"https://cashoffer.rumbleon.com\",\r\n REACT_APP_IAS_LOOKUP_END_POINT:\r\n \"https://marketplace.rumbleon.com/Account/auctionaccesslookup\",\r\n REACT_APP_IAS_MARKET_PLACE: \"https://dealerdirect.rumbleon.com/login\",\r\n REACT_APP_S3_LINK: \"https://sellimg.rumbleon.com\",\r\n COMPANY_LOGO_S3_BUCKET: \"https://sellimg.rumbleon.com/dealerlogos\",\r\n REACT_APP_INVENTORY_END_POINT: \"https://inventory.rumbleon.com\",\r\n REACT_APP_ACCOUNT_DETAILS_END_POINT: \"https://org.rumbleon.com\",\r\n REACT_APP_INVENTORY_DEV_TEAM_END_POINT: \"https://v2team.rumbleon.com\",\r\n REACT_APP_INVENTORY_API_KEY: \"38A20A3A-CC96-470E-AC85-AD219A4917AF\",\r\n SIGN_UP_SF_LINK: \"https://rumbleon.secure.force.com/RumbleonContactUs\",\r\n TEAM_PORTAL_UPLOAD_LINK:\r\n \"https://rumbleon.secure.force.com/TeamPortalUpload\",\r\n P2_INVENTORY_LINK: \"https://inventory.rumbleon.com\",\r\n OMNISTORE_ES_URL: \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243/v4prodcashoffer-ff\",\r\n OMNISTORE_ES_BASIC: `Basic Y3ljbGVwcm8tcHJvZC1ybzpudyRiUiEyY3M4Nzk=`,\r\n RIDENOW_AUCTIONS_LINK: \"https://www.ridenowauctions.com\"\r\n };\r\n }\r\n if (window.location.hostname === \"ddv2dealer.rumbleon.com\") {\r\n return {\r\n REACT_APP_AUTHENTICATION_END_POINT: \"https://accounts.rumbleon.com\",\r\n REACT_APP_DEALER_LIST_END_POINT: \"https://org.rumbleon.com\",\r\n REACT_APP_INV_END_POINT:\r\n \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243\",\r\n REACT_APP_INV_INDEX_NAME: \"v4prod-analytics-useractivity\",\r\n REACT_APP_INV_APP_NAME: \"v4proddealer\",\r\n REACT_APP_VIN_DECODE_END_POINT: \"https://cashoffer.rumbleon.com\",\r\n REACT_APP_CASH_OFFER_END_POINT: \"https://cashoffer.rumbleon.com\",\r\n REACT_APP_IAS_LOOKUP_END_POINT:\r\n \"https://v2marketplace.rumbleon.com/Account/auctionaccesslookup\",\r\n REACT_APP_IAS_MARKET_PLACE: \"https://v2dealerdirect.rumbleon.com/login\",\r\n REACT_APP_S3_LINK: \"https://sellimg.rumbleon.com\",\r\n COMPANY_LOGO_S3_BUCKET: \"https://sellimg.rumbleon.com/dealerlogos\",\r\n REACT_APP_INVENTORY_END_POINT: \"https://inventory.rumbleon.com\",\r\n REACT_APP_ACCOUNT_DETAILS_END_POINT: \"https://org.rumbleon.com\",\r\n REACT_APP_INVENTORY_DEV_TEAM_END_POINT: \"https://v2team.rumbleon.com\",\r\n REACT_APP_INVENTORY_API_KEY: \"38A20A3A-CC96-470E-AC85-AD219A4917AF\",\r\n SIGN_UP_SF_LINK: \"https://dlr-rumbleon.cs50.force.com/RumbleonContactUs\",\r\n P2_INVENTORY_LINK: \"https://inventory.rumbleon.com\",\r\n OMNISTORE_ES_URL: \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243/v4prodcashoffer-ff\",\r\n OMNISTORE_ES_BASIC: `Basic Y3ljbGVwcm8tcHJvZC1ybzpudyRiUiEyY3M4Nzk=`,\r\n RIDENOW_AUCTIONS_LINK: \"https://www.ridenowauctions.com\"\r\n };\r\n }\r\n if (\r\n process.env.REACT_APP_DEV_ENV === \"preprod\" ||\r\n window.location.hostname === \"v4pproddealer.rumbleon.com\"\r\n ) {\r\n return {\r\n REACT_APP_AUTHENTICATION_END_POINT:\r\n \"https://v4pprodaccounts.rumbleon.com\",\r\n REACT_APP_DEALER_LIST_END_POINT: \"https://v4pprodorg.rumbleon.com\",\r\n REACT_APP_INV_END_POINT:\r\n \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243\",\r\n REACT_APP_INV_INDEX_NAME: \"v4pp-analytics-useractivity\",\r\n REACT_APP_INV_APP_NAME: \"v4ppdealer\",\r\n REACT_APP_VIN_DECODE_END_POINT: \"https://v4pprodcashoffer.rumbleon.com\",\r\n REACT_APP_CASH_OFFER_END_POINT: \"https://v4pprodcashoffer.rumbleon.com\",\r\n REACT_APP_IAS_LOOKUP_END_POINT:\r\n \"https://marketplace-qa.rumbleon.com/Account/auctionaccesslookup\",\r\n REACT_APP_IAS_MARKET_PLACE:\r\n \"https://v2pproddealerdirect.rumbleon.com/login\",\r\n REACT_APP_S3_LINK: \"https://sellimg.rumbleon.com\",\r\n COMPANY_LOGO_S3_BUCKET: \"https://sellimg.rumbleon.com/dealerlogos\",\r\n REACT_APP_INVENTORY_END_POINT: \"https://v4pprodinventory.rumbleon.com\",\r\n REACT_APP_ACCOUNT_DETAILS_END_POINT: \"https://v4pprodorg.rumbleon.com\",\r\n REACT_APP_INVENTORY_DEV_TEAM_END_POINT:\r\n \"https://v4pprodteam.rumbleon.com\",\r\n REACT_APP_INVENTORY_API_KEY: \"38A20A3A-CC96-470E-AC85-AD219A4917AF\",\r\n SIGN_UP_SF_LINK: \"https://dlr-rumbleon.cs50.force.com/RumbleonContactUs\",\r\n TEAM_PORTAL_UPLOAD_LINK:\r\n \"https://dlr-rumbleon.cs50.force.com/TeamPortalUpload\",\r\n P2_INVENTORY_LINK: \"https://v4pprodinventory.rumbleon.com\",\r\n OMNISTORE_ES_URL: \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243/v4ppcashoffer-ff\",\r\n OMNISTORE_ES_BASIC: `Basic cHAtcC1ybzpzYTJTTXY3cTUz`,\r\n RIDENOW_AUCTIONS_LINK: \"https://ridenow-staging.auctionserver.net\"\r\n };\r\n }\r\n if (\r\n process.env.REACT_APP_DEV_ENV === \"qa\" ||\r\n window.location.hostname === \"v4qadealer.rumbleon.com\"\r\n ) {\r\n return {\r\n REACT_APP_AUTHENTICATION_END_POINT: \"https://v4qaaccounts.rumbleon.com\",\r\n REACT_APP_DEALER_LIST_END_POINT: \"https://v4qaorg.rumbleon.com\",\r\n REACT_APP_INV_END_POINT:\r\n \"https://f083d17c0b344911a8d6deeca1ef4659.us-east-1.aws.found.io:9243\",\r\n REACT_APP_INV_INDEX_NAME: \"v4qa-analytics-useractivity\",\r\n REACT_APP_INV_APP_NAME: \"v4qadealer\",\r\n REACT_APP_VIN_DECODE_END_POINT: \"https://v4qacashoffer.rumbleon.com\",\r\n REACT_APP_CASH_OFFER_END_POINT: \"https://v4qacashoffer.rumbleon.com\",\r\n REACT_APP_IAS_LOOKUP_END_POINT:\r\n \"https://marketplace-qa.rumbleon.com/Account/auctionaccesslookup\",\r\n REACT_APP_IAS_MARKET_PLACE: \"https://dealerdirect-testing.rumbleon.com\",\r\n REACT_APP_S3_LINK: \"https://qasellimg.rumbleon.com\",\r\n COMPANY_LOGO_S3_BUCKET: \"https://qasellimg.rumbleon.com/dealerlogos\",\r\n REACT_APP_INVENTORY_END_POINT: \"https://v4qainventory.rumbleon.com\",\r\n REACT_APP_ACCOUNT_DETAILS_END_POINT: \"https://v4qaorg.rumbleon.com\",\r\n REACT_APP_INVENTORY_DEV_TEAM_END_POINT: \"https://v4qateam.rumbleon.com\",\r\n REACT_APP_INVENTORY_API_KEY: \"38A20A3A-CC96-470E-AC85-AD219A4917AF\",\r\n SIGN_UP_SF_LINK: \"https://qa1-rumbleon.cs11.force.com/RumbleonContactUs\",\r\n TEAM_PORTAL_UPLOAD_LINK:\r\n \"https://dlr-rumbleon.cs50.force.com/TeamPortalUpload\",\r\n P2_INVENTORY_LINK: \"https://v4pprodinventory.rumbleon.com\",\r\n OMNISTORE_ES_URL: \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243/v4ppcashoffer-ff\",\r\n OMNISTORE_ES_BASIC: `Basic cHAtcC1ybzpzYTJTTXY3cTUz`,\r\n RIDENOW_AUCTIONS_LINK: \"https://ridenow-staging.auctionserver.net\"\r\n };\r\n }\r\n if (window.location.hostname === \"ddv2qadealer.rumbleon.com\") {\r\n return {\r\n REACT_APP_AUTHENTICATION_END_POINT: \"https://v4qaaccounts.rumbleon.com\",\r\n REACT_APP_DEALER_LIST_END_POINT: \"https://v4qaorg.rumbleon.com\",\r\n REACT_APP_INV_END_POINT:\r\n \"https://f083d17c0b344911a8d6deeca1ef4659.us-east-1.aws.found.io:9243\",\r\n REACT_APP_INV_INDEX_NAME: \"v4qa-analytics-useractivity\",\r\n REACT_APP_INV_APP_NAME: \"v4qadealer\",\r\n REACT_APP_VIN_DECODE_END_POINT: \"https://v4qacashoffer.rumbleon.com\",\r\n REACT_APP_CASH_OFFER_END_POINT: \"https://v4qacashoffer.rumbleon.com\",\r\n REACT_APP_IAS_LOOKUP_END_POINT:\r\n \"https://marketplace-qa.rumbleon.com/Account/auctionaccesslookup\",\r\n REACT_APP_IAS_MARKET_PLACE: \"https://v4qadealerdirect.rumbleon.com/login\",\r\n REACT_APP_S3_LINK: \"https://qasellimg.rumbleon.com\",\r\n COMPANY_LOGO_S3_BUCKET: \"https://qasellimg.rumbleon.com/dealerlogos\",\r\n REACT_APP_INVENTORY_END_POINT: \"https://v4qainventory.rumbleon.com\",\r\n REACT_APP_ACCOUNT_DETAILS_END_POINT: \"https://v4qaorg.rumbleon.com\",\r\n REACT_APP_INVENTORY_DEV_TEAM_END_POINT: \"https://v4qateam.rumbleon.com\",\r\n REACT_APP_INVENTORY_API_KEY: \"38A20A3A-CC96-470E-AC85-AD219A4917AF\",\r\n SIGN_UP_SF_LINK: \"https://dlr-rumbleon.cs50.force.com/RumbleonContactUs\",\r\n P2_INVENTORY_LINK: \"https://v4pprodinventory.rumbleon.com\",\r\n OMNISTORE_ES_URL: \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243/v4ppcashoffer-ff\",\r\n OMNISTORE_ES_BASIC: `Basic cHAtcC1ybzpzYTJTTXY3cTUz`,\r\n RIDENOW_AUCTIONS_LINK: \"https://ridenow-staging.auctionserver.net\"\r\n };\r\n }\r\n if (\r\n process.env.REACT_APP_DEV_ENV === \"demo\" ||\r\n window.location.hostname === \"demodealer.rumbleon.com\"\r\n ) {\r\n return {\r\n REACT_APP_AUTHENTICATION_END_POINT: \"https://demoaccounts.rumbleon.com\",\r\n REACT_APP_DEALER_LIST_END_POINT: \"https://demoorg.rumbleon.com\",\r\n REACT_APP_INV_END_POINT:\r\n \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243\",\r\n REACT_APP_INV_INDEX_NAME: \"analytics-bweb-useractivity\",\r\n REACT_APP_INV_APP_NAME: \"demodealer\",\r\n REACT_APP_VIN_DECODE_END_POINT: \"https://democashoffer.rumbleon.com\",\r\n REACT_APP_CASH_OFFER_END_POINT: \"https://democashoffer.rumbleon.com\",\r\n REACT_APP_IAS_LOOKUP_END_POINT:\r\n \"https://marketplace-qa.rumbleon.com/Account/auctionaccesslookup\",\r\n REACT_APP_IAS_MARKET_PLACE: \"https://demodealerdirect.rumbleon.com/login\",\r\n REACT_APP_S3_LINK: \"https://sellimg.rumbleon.com\",\r\n COMPANY_LOGO_S3_BUCKET: \"https://sellimg.rumbleon.com/dealerlogos\",\r\n REACT_APP_INVENTORY_END_POINT: \"https://demoinventory.rumbleon.com\",\r\n REACT_APP_ACCOUNT_DETAILS_END_POINT: \"https://demoorg.rumbleon.com\",\r\n REACT_APP_INVENTORY_DEV_TEAM_END_POINT: \"https://demoteam.rumbleon.com\",\r\n REACT_APP_INVENTORY_API_KEY: \"38A20A3A-CC96-470E-AC85-AD219A4917AF\",\r\n SIGN_UP_SF_LINK: \"https://demosfapi.rumbleon.com/RumbleonContactUs\",\r\n TEAM_PORTAL_UPLOAD_LINK:\r\n \"https://demosfapi.rumbleon.com/TeamPortalUpload\",\r\n P2_INVENTORY_LINK: \"https://v4pprodinventory.rumbleon.com\",\r\n OMNISTORE_ES_URL: \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243/democashoffer-ff\",\r\n OMNISTORE_ES_BASIC: `Basic cHAtcC1ybzpzYTJTTXY3cTUz`,\r\n RIDENOW_AUCTIONS_LINK: \"https://ridenow-staging.auctionserver.net\"\r\n };\r\n }\r\n return {\r\n REACT_APP_AUTHENTICATION_END_POINT: \"https://demoaccounts.rumbleon.com\",\r\n REACT_APP_DEALER_LIST_END_POINT: \"https://demoorg.rumbleon.com\",\r\n REACT_APP_INV_END_POINT:\r\n \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243\",\r\n REACT_APP_INV_INDEX_NAME: \"analytics-bweb-useractivity\",\r\n REACT_APP_INV_APP_NAME: \"demodealer\",\r\n REACT_APP_VIN_DECODE_END_POINT: \"https://democashoffer.rumbleon.com\",\r\n REACT_APP_CASH_OFFER_END_POINT: \"https://democashoffer.rumbleon.com\",\r\n REACT_APP_IAS_LOOKUP_END_POINT:\r\n \"https://marketplace-qa.rumbleon.com/Account/auctionaccesslookup\",\r\n REACT_APP_IAS_MARKET_PLACE: \"https://demodealerdirect.rumbleon.com/login\",\r\n REACT_APP_S3_LINK: \"https://sellimg.rumbleon.com\",\r\n COMPANY_LOGO_S3_BUCKET: \"https://sellimg.rumbleon.com/dealerlogos\",\r\n REACT_APP_INVENTORY_END_POINT: \"https://demoinventory.rumbleon.com\",\r\n REACT_APP_ACCOUNT_DETAILS_END_POINT: \"https://demoorg.rumbleon.com\",\r\n REACT_APP_INVENTORY_DEV_TEAM_END_POINT: \"https://demoteam.rumbleon.com\",\r\n REACT_APP_INVENTORY_API_KEY: \"38A20A3A-CC96-470E-AC85-AD219A4917AF\",\r\n SIGN_UP_SF_LINK: \"https://demosfapi.rumbleon.com/RumbleonContactUs\",\r\n TEAM_PORTAL_UPLOAD_LINK:\r\n \"https://demosfapi.rumbleon.com/TeamPortalUpload\",\r\n P2_INVENTORY_LINK: \"https://v4pprodinventory.rumbleon.com\",\r\n OMNISTORE_ES_URL: \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243/democashoffer-ff\",\r\n OMNISTORE_ES_BASIC: `Basic cHAtcC1ybzpzYTJTTXY3cTUz`,\r\n RIDENOW_AUCTIONS_LINK: \"https://ridenow-staging.auctionserver.net\"\r\n\r\n\r\n // PProd Settings\r\n // OMNISTORE_ES_URL: \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243/v4ppcashoffer-ff\",\r\n // REACT_APP_AUTHENTICATION_END_POINT:\r\n // \"https://v4pprodaccounts.rumbleon.com\",\r\n // REACT_APP_DEALER_LIST_END_POINT: \"https://v4pprodorg.rumbleon.com\",\r\n // REACT_APP_INV_END_POINT:\r\n // \"https://dffc02afc6ba4a4b8ff3dafb6e86a20d.us-east-1.aws.found.io:9243\",\r\n // REACT_APP_INV_INDEX_NAME: \"v4pp-analytics-useractivity\",\r\n // REACT_APP_INV_APP_NAME: \"v4ppdealer\",\r\n // REACT_APP_VIN_DECODE_END_POINT: \"https://v4pprodcashoffer.rumbleon.com\",\r\n // REACT_APP_CASH_OFFER_END_POINT: \"https://v4pprodcashoffer.rumbleon.com\",\r\n // REACT_APP_IAS_LOOKUP_END_POINT:\r\n // \"https://marketplace-qa.rumbleon.com/Account/auctionaccesslookup\",\r\n // REACT_APP_IAS_MARKET_PLACE:\r\n // \"https://v2pproddealerdirect.rumbleon.com/login\",\r\n // REACT_APP_S3_LINK: \"https://sellimg.rumbleon.com\",\r\n // COMPANY_LOGO_S3_BUCKET: \"https://sellimg.rumbleon.com/dealerlogos\",\r\n // REACT_APP_INVENTORY_END_POINT: \"https://v4pprodinventory.rumbleon.com\",\r\n // REACT_APP_ACCOUNT_DETAILS_END_POINT: \"https://v4pprodorg.rumbleon.com\",\r\n // REACT_APP_INVENTORY_DEV_TEAM_END_POINT:\r\n // \"https://v4pprodteam.rumbleon.com\",\r\n // REACT_APP_INVENTORY_API_KEY: \"38A20A3A-CC96-470E-AC85-AD219A4917AF\",\r\n // SIGN_UP_SF_LINK: \"https://dlr-rumbleon.cs50.force.com/RumbleonContactUs\",\r\n // TEAM_PORTAL_UPLOAD_LINK:\r\n // \"https://dlr-rumbleon.cs50.force.com/TeamPortalUpload\",\r\n // OMNISTORE_ES_BASIC: `Basic cHAtcC1ybzpzYTJTTXY3cTUz`\r\n };\r\n};\r\n","import React, { FC } from \"react\";\r\nimport { css } from \"@emotion/core\";\r\n\r\nimport {\r\n Button,\r\n} from \"antd\";\r\n\r\nconst shared = css`\r\n &:hover {\r\n opacity: 0.8;\r\n }\r\n &:disabled {\r\n color: rgba(0, 0, 0, 0.25);\r\n background-color: #f5f5f5;\r\n border-color: #d9d9d9;\r\n }\r\n`\r\n\r\nconst primaryType = (color: string) => css`\r\n background-color: ${color};\r\n border-color: ${color};\r\n &:visited, &:focus, &:active, &:hover {\r\n background-color: ${color} ;\r\n border-color: ${color};\r\n }\r\n ${shared}\r\n`\r\nconst defaultType = (color: string) => css`\r\n &:visited, &:focus, &:active, &:hover {\r\n color: ${color};\r\n border-color: ${color};\r\n }\r\n ${shared}\r\n`\r\nexport const EmButton: FC = ({ bttnColor, type, children, emCss, ...props }) => {\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n"],"sourceRoot":""}