{"version":3,"sources":["components/shared/pages.js","config/configureGlobalVariables.js","redux/actions/actionTypes.js","components/shared/themes.js","components/shared/textVariants.js","components/shared/creditSummary.js","common/gcsLogic.js","components/shared/staticProducts.js","config/imagesPath.js","redux/reducers/initialState.js","api/delay.js","redux/store/configureStore.js","config/routesVariables.js","components/shared/staticData.js","serviceWorker.js","common/dvsMedicare.js","api/validationApi.js","components/shared/functions.js","config/GlobalFixedVariables.js","tonik/menu.js","components/menu/MyAccountItem.js","components/menu/MenuMobile.js","components/menu/Menu.js","components/common/blocks/AlreadyMember.js","api/mockLayoutApi.js","components/shared/staticArticles.js","components/shared/staticFaq.js","api/mockArticlesApi.js","api/mockScoreApi.js","redux/actions/ajaxStatusActions.js","api/HelperApi.js","api/mockProductApi.js","redux/actions/trackingActions.js","redux/actions/scoreActions.js","redux/actions/layoutActions.js","components/sections/TrustPilotSection.js","components/sections/CounterSection.js","tonik/homepage.js","components/home/HomeSplashSection.js","components/home/HomeProcessSection.js","components/home/HomeKeyFeaturesSection.js","components/common/controls/LoadingIndicator.js","components/sections/ProductSection.js","components/home/ArticlesSection.js","components/sections/GetStartedSection.js","api/partnerApi.js","redux/actions/productActions.js","redux/actions/homePageActions.js","api/mockUserApi.js","redux/actions/userActions.js","components/common/footer.js","tonik/modal.js","components/home/HomePage.js","components/shared/staticNoScoreReasons.js","tonik/shared/scrollWithAnimation.js","tonik/dashboard.js","components/dashboard/components/DashboardCallsToAction.js","components/common/ApiFailedToLoadComponent.js","components/dashboard/components/NoScoreComponent.js","components/common/controls/ArrowDown.js","components/dashboard/components/DashboardScore.js","components/dashboard/components/DashboardKcf.js","components/dashboard/components/DashboardFloatingLinks.js","components/dashboard/components/DashboardCallsToActionSection.js","components/common/footerSmall.js","components/dashboard/components/DashboardScoreHistory.js","tonik/history.js","components/dashboard/components/DashboardScoreCompare.js","components/sections/ScoreMapSection.js","components/common/controls/TabControl.js","components/sections/NewFeaturesBanner.js","redux/actions/dashboardPageActions.js","components/dashboard/DashboardPage.js","components/login/LoginFrame.js","components/login/LoginBox.js","components/common/ThreatMetrixComponent.js","components/common/GcsRecaptcha.js","tonik/shared/forms.js","components/login/LoginPage.js","api/verificationApi.js","components/common/controls/TextNumericInput.js","components/login/Login2FAInputBox.js","components/login/Login2FASelectionBox.js","components/login/Login2FAPage.js","components/login/LoginBoxMessage.js","components/common/controls/TextInput.js","components/common/controls/DateInputSimple.js","components/common/controls/DateInputGeneral.js","components/common/controls/GenderInput.js","api/externalServices.js","components/common/controls/AddressInput.js","components/common/controls/PasswordInput.js","components/registration/RegistrationForm.js","components/registration/RegistrationPage.js","components/registration/RegistrationMobilePage.js","components/registrationverify/RegistrationVerifyEmailPage.js","components/registrationverify/RegistrationVerifyMobilePage.js","components/login/LogoutPage.js","components/login/ForgotPasswordBox.js","components/login/ForgotPasswordPage.js","components/contactus/ContactUsForm.js","tonik/contactus.js","components/contactus/ContactUsPage.js","components/Lodge-a-complaint/LodgeacomplaintForm.js","components/Lodge-a-complaint/LodgeacomplaintPage.js","components/login/ChangePasswordForm.js","components/login/ChangePasswordPage.js","components/mydetails/CurrentAddressForm.js","components/mydetails/MyDetailsPage.js","components/mydetails/Dvs/DvsCommon.js","components/mydetails/Dvs/DvsMedicareForm.js","components/mydetails/Dvs/DvsDriverLicenceForm.js","common/countries.js","components/mydetails/Dvs/DvsPassportForm.js","components/mydetails/Dvs/dvsDocSelections.js","components/mydetails/Dvs/DVSSelectionForm.js","components/mydetails/Dvs/DvsVerificationFrame.js","components/mydetails/MyDetailsVerificationPage.js","components/common/controls/GoToPreviousPage.js","components/deals/CreditCardsPage.js","components/deals/PersonalLoansPage.js","components/deals/CarLoansPage.js","components/sections/CreditCardsBoxes.js","components/deals/CreditCardOffersPage.js","components/deals/InsurancePage.js","components/deals/HomeLoanDealsPage.js","api/WizardApi.js","components/common/Wizard/WizardCoreComponents/WizardErrorMessage.js","components/common/Wizard/WizardCoreComponents/ProgressActionButtons.js","components/common/Wizard/WizardCoreComponents/WizardProgressBar.js","components/common/Wizard/WizardCoreComponents/WizardSelectionBoxCollection.js","components/common/Wizard/WizardCoreComponents/WizardBox.js","tonik/wizard.js","components/common/Wizard/WizardCore.js","components/common/Wizard/WizardParts/HLAOptionButton.js","components/common/Wizard/WizardParts/HLAOptionButtons.js","components/common/Wizard/WizardParts/HLAAmountPicker.js","components/common/Wizard/WizardParts/DropwDownListForInput.js","components/common/Wizard/WizardParts/HLAAmountFrequencyPicker.js","components/common/Wizard/WizardParts/HlaWizFinish.js","components/common/Wizard/HomeLoan/HomeLoanStepDef.js","components/common/Wizard/WizardParts/HLATextPicker.js","components/common/Wizard/WizardParts/HLAAmountInterestPicker.js","components/common/Wizard/HomeLoan/HomeLoanAssistant.js","components/deals/HomeLoanAssistantPage.js","components/common/controls/CustomCheckBox.js","components/common/controls/CustomCheckBoxList.js","components/preferences/MyPreferencesPage.js","api/aboutMeApi.js","components/common/Wizard/AboutMe/AboutMeStepDef.js","components/common/Wizard/WizardParts/AboutMeWizFinish.js","components/common/Wizard/AboutMe/AboutMeWizard.js","components/mydetails/AboutMePage.js","components/sections/SectionFaq.js","components/home/HomeOldStylePage.js","components/home/HomeOhNoPage.js","components/partner/PartnerReferPage.js","api/scoreMapApi.js","redux/actions/scoreMapActions.js","components/shared/scoreMapData18.js","components/scoreMap/ScoreMapLocation.js","components/scoreMap/ScoreMapSearch.js","components/scoreMap/ScoreMapList.js","components/scoreMap/ScoreMapGenerationBox.js","components/scoreMap/ScoreMapGenerations.js","components/scoreMap/ScoreMapRegionScoreBox.js","components/scoreMap/ScoreMapRegionScores.js","components/scoreMap/scoreMapPage.js","components/pageNotFound/pageNotFound.js","components/mydetails/DeleteAccountPage.js","components/mydetails/DeleteAccountSuccessPage.js","components/contactus/ContactUsSuccessPage.js","components/Lodge-a-complaint/LodgeacomplaintSuccessPage.js","components/terms/TermOfUse.js","components/terms/PrivacyPolicy.js","api/reportApi.js","redux/actions/reportActions.js","components/creditSummary/RecentActivities.js","tonik/report.js","components/creditSummary/shared/AccountsModal.js","components/creditSummary/shared/LineShower.js","components/creditSummary/shared/ErrorWrapper.js","components/creditSummary/Accounts.js","components/creditSummary/shared/CreditEnquiriesModal.js","components/creditSummary/CreditEnquiries.js","components/creditSummary/shared/DefaultsModal.js","components/creditSummary/Defaults.js","components/creditSummary/shared/CourtActionsModal.js","components/creditSummary/CourtActions.js","components/creditSummary/shared/ResolveIssueModal.js","components/creditSummary/shared/AboutCrModal.js","components/creditSummary/CreditReportSummaryPage.js","api/creditSummaryApi.js","redux/actions/creditSummaryActions.js","components/creditSummaryDemo/RecentActivitiesDemo.js","components/creditSummaryDemo/ResolveIssueModal.js","components/creditSummaryDemo/AccountsDemo.js","components/creditSummaryDemo/CreditEnquiriesDemo.js","components/creditSummaryDemo/AdverseInformationDemo.js","components/creditSummaryDemo/CreditSummaryDemoPage.js","routes.js","components/menu/MenuCms.js","app/App.js","tonik/shared/global.js","app/AppIndex.js","index.js","api/StorageHelper.js","redux/reducers/userReducer.js","redux/reducers/scoreReducer.js","redux/reducers/reportReducer.js","redux/reducers/index.js","redux/reducers/menuReducer.js","redux/reducers/textVariantReducer.js","redux/reducers/creditSummaryReducer.js","redux/reducers/productReducer.js","redux/reducers/productsMetadataReducer.js","redux/reducers/homePageReducer.js","redux/reducers/dashboardPageReducer.js","redux/reducers/creditCardReducer.js","redux/reducers/ajaxStatusReducer.js","redux/store/configureStore.prod.js","components/shared/constants.js","components/shared/staticProductsCreditCards.js"],"names":["HOME","FREECREDITSCORE","FORGOTPASSWORD","DASHBOARD","DASHBOARDHISTORY","HELPCENTRE","LOGIN","CREATEACCOUNT","REGISTER","ARTICLES","ARTICLE","FAQS","CONTACTUS","PRODUCT","CHANGEPASSWORD","VALIDATEEMAIL","MYDETAILS","MYDETAILSVERIFICATION","CREDITREPORTSUMMARY","CREDITCARDS","PERSONALLOANS","DEALS_CARLOANS","DEALS_INSURANCE","DEALS_HOMELOANS","ACTIVATEACCOUNT","PAGENOTFOUND","CREDITCARDSOFFERS","EMAILSENTBLUE","VALIDATEEMAILBLUE","HOMELOANCUSTOMERJOURNEY","MYPREFERENCES","ABOUTME","HOMEOHNO","PARTNERCONSENT","SCOREMAPSECTION","SCOREMAP","COUNTER","TRUSTPILOTSECTION","NEWMEMBERSMS","COMMON_SECTION_PADDING","API_BASE_URL","process","WEB_SPA_URL","WEB_BASE_URL","CDN_URL","MAILCHIMP_RESUBSCRIBELINK","RECAPTCHA_SITE_KEY","IMAGES_URL","SCRIPTS_BASE_URL","CONTACTUS_BASE_URL","CONTACTUS_ORGID","CONTACTUS_RECORDTYPE","ADDRESS_SERVICE_URL","SCORE_INCREMENT_STEP","SCORE_RETRY_TIMEOUT","parseInt","REPORT_RETRY_MAX","SCORE_RETRY_MAX","CREDITCARDS_URL","PERSOANLLOANS_URL","CARLOANS_URL","BEGIN_AJAX_CALL","AJAX_CALL_ERROR","AJAX_LOAD_SCORE","TRACK_PRODUCTS_SUCCESS","LOAD_PRODUCTS_SUCCESS","LOADING_PRODUCTS","FORCE_LOADING_PRODUCTS","SET_LASTCLICKEDPRODUCT","LOADING_CREDITCARDS","LOAD_CREDITCARDS_SUCCESS","FORCE_LOADING_CREDITCARDS","TRACK_CREDITCARDS_SUCCESS","UPDATE_PRODUCT_METADATA","LOAD_MENU_SUCCESS","LOAD_KEYFEATURES_SUCCESS","LOAD_PROCESSSTEPS_SUCCESS","LOADING_HOMEPAGE_ARTICLES_SUCCESS","LOAD_HOMEPAGE_ARTICLES_SUCCESS","PROMOTION_PARTICIPATED","API_FAIL","REGISTERING_USERNAME","USER_PROFILE_DISPLAYNAME","IS_AUTHENTICATED_SUCCESS","LOAD_DASHBOARD_TABS_SUCCESS","LOAD_SCORE_CALLTOACTION_SUCCESS","LOADING_DASHBOARD_ARTICLES_SUCCESS","LOAD_DASHBOARD_ARTICLES_SUCCESS","UPDATE_DASHBOARD_TABINDEX_SUCCESS","LOAD_HOMEFAQS_SUCCESS","RESET_SCORE_PROFILE","LOAD_SCORE_PROFILE_SUCCESS","RESET_REPORT_PROFILE","AJAX_LOAD_REPORT","LOAD_REPORT_PROFILE_SUCCESS","LOAD_TEXT_VARIANTS_SUCCESS","LOGIN_SUCCESS","LOGIN_INITIALIZE_STORE","LOGIN_TM_SUCCESS","LOGOUT_SUCCESS","CREATEACCOUNT_SUCCESS","REGISTER_SUCCESS","INIT_USER_SUCCESS","PASSWORDCHANGE_SUCCESS","LOADUSERDETAILS_SUCCESS","UPDATEUSERDETAILS_SUCCESS","GET_PREFERENCES_SUCCESS","SET_PREFERENCES_SUCCESS","GET_SCORE_COUNTER_SUCCESS","UPDATE_SCORE_COUNTER","GET_EXISTING_CUSTOMER_SUCCESS","GET_EXISTING_CUSTOMER_ERROR","GET_CUSTOMER_HOMESHOW_CODE_SUCCESS","GET_CUSTOMER_HOMESHOW_CODE_ERROR","GET_CREDIT_SUMMARY_SUCCESS","INITAPP","DashboardThemeSun","key","tabControl","tabContent","tabContentNoScore","menu","showScoreMessagesOption","showNextStepsSection","hasAnimations","productDisplayOption","constants","productTitleKey","showCallToActions","that","state","scoreShown","props","scoreProfile","scoreInfo","noscore","e","DashboardThemeSunFlip","Object","assign","DashboardThemeSunGrowAlt","DashboardThemeSunTada","DashboardThemeFollio","GlobalThemes","dashboard_themeSun","dashboard_themeFollio","dashboard_themeSunFlip","dashboard_themeSunGrowAlt","dashboard_themeSunTada","pagesVariants","loginTermsAndCs","loginTermsAndCsLanding","activateAccTermsAndCs","promoGiveAway2017TermsAndCs","Api_Equifax_OtherLinks","pages","textVariantSeparator","linkText","helpText","GlobalVariables","comment","author","creditSummary","USERROLES","IdentityVerified","IdentityNotVerified","IdentityVerifiedCount","IdentityVerifiedDriverLicence","IdentityVerifiedPassport","IdentityVerifiedMedicare","TemporaryPassword","EmailVerified","MobileVerified","OneFactor","TwoFactor","IsInCohort","RoleSeparator","hasOneRole","roles","roleToFind","hasTheRole","undefined","rs","split","roleFound","i","length","getDvsInfoFromRoles","ret","isDriverLicenceDone","isPassportDone","isMedicareDone","dvsCount","productTypes","homeloan","carloan","personalloan","businessloan","creditcard","refinancemortgage","insurance","insuranceCar","insuranceHome","insuranceLife","insuranceProtection","homeLoanAssistant","homeLoanAssistantExpert","insuranceProducts","id","title","imgUrl","ImagesPath","callToAction","action","href","show","actionRoute","features","classToAppend","products","linkRef","imgUrl_Sales","salesTitle","isCustomRuleSatisfied","userProfile","isSatisfied","score","extras","age","altId","this","altProductIdentifier","hasHandshake","hasPushLead","subProducts","_partnerHandshakeConfig","logoImgUrl","description","cssClassForImage","partnerHandshakeConfig","imgRoot","substr","blueSectionImgUrl","ImgComputerShadow","ImgPromoGiveAwayPricesWithText","ImgPromoGiveAwayPricesWithTextTopMobile","ImgNoAccountWarning","ImgLoadingSpinner1","ImgLogoGcsBlue","ImgLogoGcsWhite","ImgLogoGcsBlack","ImgLogoGcsDialSmall","ImgLogoGcsBlueXmas","ImgLogoGcsWhiteXmas","ImgLogoGcsHalloween","ImgLogoToyota","ImgLogoBudgetDirect","ImgLogoJoust","ImgLogoUno","ImgLogoUnoWin","ImgLogoSocietyOne","ImgLogoToyotaFinance","ImgLogoToyotaFinance2","ImgLogoPowerTorque","ImgLogoFirstMac","ImgLogoFirstMacHLA","ImgArticles_5waystoimproveyourcreditscore","ImgArticles_mythsvsfacts","ImgArticles_infographics","ImgArticles_whenbuyinganewphone","ImgArticles_comprehensivecreditreporting","ImgArticles_areyoudatingacreditdude","ImgArticles_generationbuy","ImgArticles_bonditobolivia","ImgArticles_partnersbehaviour","ImgArticles_discoveryourcreditscore","ImgArticles_understandyourcreditscore","ImgNextSteps_seewhatscontributingtoscore","ImgNextSteps_getbetterdealarms","ImgNextSteps_requestcreditreport","ImgNextSteps_seehowyourscoreiscalculated","ImgNextSteps_consolidateyourdebt","ImgNextSteps_improveyourcreditscore","ImgNextSteps_faqs","ImgNextSteps_disputecreditreport","ImgNextSteps_protectyourscore","ImgNextSteps_carinsurance","ImgNextSteps_homeinsurance","ImgNextSteps_creditcard","ImgNextSteps_homeloanuno","ImgNextSteps_lifeinsurance","ImgNextSteps_homeloanuno_1","ImgNextSteps_homeloanuno_2","ImgNextSteps_pepper","ImgNextSteps_homeloanjoust","ImgNextSteps_homeloanGeneric","ImgNextSteps_homeloanUbank","ImgNextSteps_homeloanUnoLoanScoreA","ImgNextSteps_homeloanUnoLoanScoreB","ImgNextSteps_homeloanUnoLoanScoreQ3","ImgNextSteps_macCredit_1","ImgNextSteps_nowFinance_1","ImgNextSteps_ratesetter_hig","ImgNextSteps_ratesetter_med","ImgNextSteps_ratesetter_low","ImgNextSteps_ondeck_ns_1","ImgNextSteps_gofinance_ns_1","ImgFeatures_protect","ImgFeatures_free","ImgFeatures_save","ImgFeatures_quick","ImgFeatures_safe","ImgFeatures_detailed","ImgDashboard_score","ImgDashboard_history","ImgDashboard_compare","ImgProduct_InsuranceCar","ImgProduct_InsuranceHome","ImgProduct_InsuranceLife","ImgProduct_InsuranceIncome","ImgProduct_InsuranceBag","ImgProduct_CC","ImgProduct_CC_Sales","ImgProduct_PersonalLoan","ImgProduct_PersonalLoan_Sales","ImgProduct_HomeLoan","ImgProduct_HomeLoan_Sales","ImgProduct_HomeLoan_Wizard","ImgProduct_AutoLoan","ImgProduct_AutoLoan_Sales","ImgProduct_CarSubscription","ImgProduct_CarSubscription_Sales","ImgProduct_Utilities","ImgProduct_Utilities_Sales","ImgProduct_Insurance","ImgProduct_Insurance_Sales","ImgProduct_BusinessLoan","ImgProduct_BusinessLoan_Sales","ImgProduct_CC_Offer_Anz","ImgProduct_CC_Offer_Citi","ImgProduct_CC_Offer_Hsbc1","ImgProduct_CC_Offer_Virgin","ImgInput_GenderMale","ImgInput_GenderFemale","ImgWizard_Like","ImgWizard_HomeLoan_Signed","ImgWizard_HomeLoan_ThumbUp","ImgWizard_HomeLoan_Magnifier","ImgWizard_HomeLoan_Info","ImgWizard_CreditCardPage_Banner","ImgWizard_CreditCard_Banner","ImgHome_Faq","ImgFeatured_Sunrise","ImgFeatured_News","ImgFeatured_Channel","ImgFeatured_Financial","ImgFeatured_CRates","ImgFeatured_BadCredit","ImgActivateAccount_Computer","ImgEmailSent_NewEmail","ImgRegistration_IconSafe","ImgRegistration_IconDiamond","ImgRegistration_IconClock","ImgPromotion_Peazie_Prizes","ImgPromotion_Peazie_Headline","ImgPromotion_Peazie_Texttop","ImgDashboard_NoScore_Person","ImgDashboard_NoScore_Paper","ImgDashboard_NoScore_Phone","ImgDashboard_NoScore_Card","ImgGcs_Preloader","ImgDashboard_Dial_Blank","ImgScoreMapRoot","ImgScoreMap_GenerationY","ImgScoreMap_GenerationX","ImgScoreMap_GenerationBoomer","ImgScoreMap_GenerationBuilder","ImgScoreMap_IconEmail","ImgScoreMap_IconFB","ImgScoreMap_IconG","ImgScoreMap_IconTwitter","ImgScoreMap_Avatar","ImgLogo","ImgLogoBlack","ImgLogoWhite","ImgIconMobile","ImgIconMobileWhite","ImgIconSee","ImgPictureHome","ImgPictureHome_2x","ImgPictureHome1","ImgPictureHome2","ImgPictureHome2_2x","ImgPictureHome3","ImgPictureHome4","ImgPictureHome4_2x","ImgPictureHome5_2x","ImgIcon1a","ImgIcon2a","ImgIcon3a","ImgIcon4a","ImgLogoSeven2","ImgLogoNews","ImgLogoCredrates","ImgLogoFinancial","ImgLogoSunrise","ImgLogoBadcredit2","ImgIconSvgHome1","ImgIconSvgHome9","ImgIconSvgHome3","ImgIconSvgHome4","ImgIconSvgHome8","ImgIconSvgHome6","ImgIconSvgHome7","ImgIconSvgArrowLeftBlue","ImgLogoTrustPilot","ImgIconSvgTrustPilotStar","ImgIconCreditCards","ImgIconPersonal","ImgIconHome","ImgIconCar","ImgIconInsurance","ImgIconBusiness","ImgIconArrowLeftBlue","ImgPictureBlog6","ImgPictureBlog7","ImgPictureBlog8","ImgIconHistory","ImgIconTooltip","ImgIconEnergy","ImgIcontech","ImgIconOther","ImgIconReduce","ImgPictureReduce","ImgIconBell","ImgIconBellBlue","ImgIconInfoBlue","ImgIconCloseBlack","ImgIconInfo","ImgIconTrash","ImgIconTrash2","ImgIconEye","ImgIconCloseBlue","Img2FAMobile","ImgWizard_AboutMe_Single","ImgWizard_AboutMe_SingleParent","ImgWizard_AboutMe_CoupleNoKid","ImgWizard_AboutMe_CoupleKids","ImgWizard_AboutMe_EmptyNester","ImgIconSubmission","ImgIconPrev","ImgIconCalendar","ImgIconScoreGauge","ImgIconOk","ImgIconQuestion","ImgIconAlert2","ImgIconAlert","ImgIconOkNew","ImgIconQuestionNew","ImgIconAlertNew","ImgIconFHIA","ImgIconFHIV","ImgIconPreferences","ImgIconDl","ImgIconPassport","ImgIconMedicare","ImgIconHelpInfo2x","ImgIconEmail","ImgIconEmail2FA","ImgDvs_M_B","ImgDvs_M_G","ImgDvs_M_Y","ImgDvs_DL_AAT","ImgDvs_DL_NZ","ImgDvs_DL_OS","ImgDvs_DL_ACT","ImgDvs_DL_NSW","ImgDvs_DL_NT","ImgDvs_DL_QLD","ImgDvs_DL_SA","ImgDvs_DL_TAS","ImgDvs_DL_VIC","ImgDvs_DL_WA","ImgKcfProgressBar_1","ImgKcfProgressBar_2","ImgKcfProgressBar_3","ImgKcfProgressBar_4","ImgKcfProgressBar_5","ImgKcfProgressBar_6","menuItemList","menuItemsNamesPerPage","menuItemsNamePerPage","menuItemsPerPage","menuItemsAuthenticated","menuItems","textVariants","homePage","keyFeatureList","keyFeatures","processSteps","gcsProcessSteps","gcsHomeFaqs","articles","articlesLoading","articlesLoaded","dashboardPage","selectedDashboardTab","callsToAction","dashboardTabs","dashboardtabs","productMetadata","isAnonymous","userId","productResult","partnerId","loading","loaded","hiddenProducts","lastProduct","productsCall2Action","call2Actions","productsByType","creditCardsResult","creditCards","apiFail","isTimeout","tryingCGetScoreCount","tryingGetScoreMax","bandDescription","bandRange","information","scoreDiff","scoreDiffSince","noScore","isScoreBadRequest","isTryLater","isServiceNotAvailableNow","isNoFile","IsIdentityIssue","isContactUs","scoreAdvice","kcfs","scoreHistory","scoreCounter","isEnabled","counter","updateInterval","counterIncrement","timerId","reportProfile","tryingGetReportCount","tryingGetReportMax","reportInfo","displayName","isError","isInProgress","issue","enquiries","accounts","courtActions","urlPrefix","isAuthenticated","identifier","redirect_uri","expires_at","csrfToken","tm","rnd","isPromotionEnabled","isPromotionEnabledForUser","isPromotionEnabledLoaded","isPromotionNewUser","themes","dashboard","isThemeLoaded","isBusinessOwner","hasAccount","registeringUsername","registeringRememberMe","username","rememberMeInfo","rememberMe","userDetails","preferences","isActive","isSubscribed","categories","isTrustPilotEnabled","existingCustomer","hasError","detail","firstName","middleName","lastName","email","homeShow","code","ajaxCallsInProgress","module","exports","require","RouteHome","RouteCreateAccount","RouteCreateAccountVerifyEmail","RouteLogin","RouteLogin2FA","RouteContactUs","RouteContactUsSuccess","RouteLodgeacomplaint","RouteLodgeacomplaintSuccess","RouteCreditScore","RouteDashboard","RouteLearnMore","RouteCreditSummary","RouteForgotPassword","RouteFreeCreditScore","RouteDashboardScoreHistory","RouteCheckYourInbox","RouteMyPreferences","RouteChangePassword","MyDetails","MyDetailsVerification","CreateAccount","CreateAccountMobile","CreateAccountVerifyMobile","AboutMe","RouteExternalHomeSPA","RouteExternalTermsOfUse","RouteExternalPrivacyPolicy","RouteExternalHelpCenter","RouteExternalArticles","RouteGetMyCreditScore","RouteImproveMyCreditScore","RouteUseMyCreditScore","RouteMyCreditReport","RouteMythsVsFacts","RouteGeneralInformation","name","link","ref","className","role","RoutesVariables","subMenuList","_menuItemsNamePerPage","articlesMenuItems","steps","text","hideOnMobile","disclaimer","tabIndex","widgetName","linkCssClass","cssClass","Boolean","window","location","hostname","match","medicareCardColour","green","yellow","blue","ValidationApi","fullUrl","options","method","mode","credentials","headers","body","JSON","stringify","fetch","then","response","ok","json","Promise","reject","catch","error","mobile","customer","omitFields","validateCustomerResults","validateCustomer","isCurrentEmailValid","isCurrentMobileValid","isValid","errors","resolve","validationsPromise","emailPromise","validateEmailInivio","emailResult","push","mobilePromise","validateMobileInivio","mobileResult","all","values","returnValidation","formIsValid","firstElementName","dob","dd","mm","yy","errorFirstName","isFirstNameValid","errorMiddleName","isNonRequiredNameFieldValid","errorLastName","isLastNameValid","errorMobile","validateMobile","errorEmail","validateEmail","errorDDOfBirth","requiredField","errorMMOfBirth","errorYYYYOfBirth","errorDate","validateDOB","dateError","errorAddress","address","validateAddressLengthdField","validateAddressState","hasLivedLessThan3Years","errorPrevAddress","addressPrevious","errorGender","validateGender","gender","errorPassword","validatePassword","password","consent","firstOne","result","test","dateString","validateDate","validateAge","monthLength","currentYear","Date","getFullYear","parts","day","month","year","isNaN","licenceNumber","stateCode","licenceNumberLength","licenceAlphaNumericCheck","licenceNumericCheck","cardNumber","cardNumberLength","cardNumberAlphaNumericCheck","cardNumberNumericCheck","fieldName","fieldValue","isChar","maxLength","isNameFieldValid","shouldBeginWithAlpha","isRequired","trim","RegExp","updatedValue","replace","n","parseFloat","isFinite","value","Math","floor","str","number","isMobile","postCode","Number","valueIsInteger","isInteger","valueHasProperLength","minLength","l","indexOf","validationRequest","dlRequest","consent1","errorLicence","validateDriverLicence","errorCardNumber","validatecardNumber","medicareRequest","isNumber","referenceNumber","cardColour","mcolour","dateOfExpiry","passportRequest","createMarkup","txt","__html","scrollIntoView","elementId","element","document","getElementById","behavior","searchInList","list","keyName","searchId","item","searchItem","tonikInitMenu","$","myOffside","offside","slidingElementsSelector","buttonsSelector","on","container","is","target","has","close","MyAccountItem","menuItem","user","blueIcons","type","data-toggle","aria-haspopup","aria-expanded","aria-labelledby","map","MenuMobile","renderMobile","mobileMenuContent","includes","myAccountList","subItem","isub","ReactDOM","render","mobileDashboardContent","onClick","src","alt","MenuLinkItem","useJustAnchors","activeItem","renderedComponent","liClass","subMenuListOnlyMobile","hasClass","removeClass","toggleClass","preventDefault","handleMenuClick","aClassName","linkComponent","to","classes","c","startsWith","Menu","context","clickButtonMobile","bind","prevProps","prevState","mainClass","navClass","logoBlack","logo","icon","classMain","classNav","filter","itemMyAccount","style","minHeight","React","Component","AlreadyMember","onLinkClick","component","LayoutApi","pageid","setTimeout","menuItemsAllowedKeys","menuItemsToReturn","index","hasOwnProperty","delay","userContext","excludeTabIndex","dtabs","splice","pageId","articlesCategories","faqTopics","faqs","staticSectionFAQS","subTitle","ArticlesApi","slice","articleSearch","seoName","isFull","article","art","nextArticle","j","searchParams","searchTerm","hasArticles","hasFaqs","categoryId","tmpArticles","category","faqTopicId","topic","cTopic","faqsToReturn","cFaq","ScoreApi","includeScore","includeAdvices","includeHistory","requestOptions","callToActionArray","loadedNextStep","nextStepItem","apiName","stateProperty","types","api","HelperApi","isoString","dateOfBirth","yStr","mStr","dStr","dateTypeObj","datePartsObj","data","keys","encodeURIComponent","join","decimalPoints","currencySymbols","toFixed","intValue","toLocaleString","ProductApi","requestProductType","initialCollection","productConfig","hiddenProductsResult","productConfiguration","prodMaster","prodItem","getProductFromApiProduct","nextSteps","stepNumber","nextStep","getNextStepFromApiNextStep","step","ind","typeList","prodTypeKey","productTypeId","pi","prodApi","prodExtraFinal","productConfigurationCall2Action","productIdentifier","productId","controlType","productDisplayMain","productDisplayNextStep","productDisplayHandshake","productDisplayWizard","productDisplayList","getProductFromApiCommon","partnerLogoImgUrl","partnerTitle","partnerDescription","imgUrl2","getDefaultBadImageForProd","getDefaultImageForProd","getDefaultBadActionBtnTextForProd","title2","actionBtn","getDefaultActionBtnTextForProd","actionBtn2","x","forEach","defaultText","salesText","getDefaultFeaturesTextForProd","actionText","linkTarget","trackClick","product","isNextStep","prodTypeId","productMasterItem","configItem","findConfigItemById","productResultItem","subProductResult","subProductItem","subConfigItem","k","pr","condition","initialItem","apiItem","prodStatic","addProduct","trackProductRequest","trackReferrlRequest","dataLayer","trackReferralFromPartner","tid","userIdentifier","dispatch","getState","referralRequest","trackReferralClick","setUserId","user_id","trackGaEvent","label","obj","event","event_value","event_category","event_action","event_label","console","log","trackFbEvent","keyString","trackPageView","page","pathname","trackButtonClick","btnName","trackGetScoreButtonClick","trackScoreMapSearch","source","postcode","trackAccountCreated","trackDashboardTab","tabName","trackLogin","trackAboutMe","actionid","actionNum","ex","trackPromotionParticipated","trackUserDetailsCreated","trackUserDetailsUpdated","trackAccountVerified","trackNotFoundPage","trackScore","success","trackReport","trackSearchHelpCentre","trackSearchArticles","trackProductClick","productInfo","trackScoreActionClick","actionId","trackScoreTooltipClick","trackNoScoreActionClick","actionLabel","resetScoreProfile","ajaxLoadScore","loadScoreProfileSuccess","updateDisplayName","loadScoreProfile","forced","retry","scoreProfileState","trackingActions","getScoreProfile","status","initializeScoreCounterSuccess","updateScoreCounter","initializeScoreCounter","scoreCounterState","getScoreCounter","scoreCounterResponse","initializeScoreCounterTimer","increment","timerInterval","isTimerOn","setInterval","rndIncrement","random","sC","getMenuForPageSuccess","menuForPage","getMenuForPage","menuItemListInState","menuItemsNamesPerPageInState","getTextVariantsSuccess","getTextVariants","variants","TrusPilotBaseGcsWidget","refreshExternalHooks","Trustpilot","Modules","WidgetManagement","initialize","setState","InlineTrustStoreWidget","class","data-locale","data-template-id","data-businessunit-id","data-style-height","data-style-width","data-theme","rel","TrustPilotMicroTrustStore","CarouselWidget","data-stars","InlineWidget","MicroStarWidget","ReviewCarousel","TrustPilotMini","TrustPilotCarousel","TrustPilotInline","TrustPilotInlineMinimal","TrustPilotMicro","TrustPilotSection","forMobile","trustPilotSectionTheme","section","params","trustPilotComponentSelector","CounterSection","reviews","mounted","actions","slick","dots","arrows","infinite","speed","slidesToShow","autoplay","autoplaySpeed","tonikInitiTruspilotSlider","data-counter","defaultProps","connect","ownProps","bindActionCreators","layoutActions","scoreActions","HomeSplashFeaturedOnSection","GcsButtonType","HomeCallToActionLeftBasic","onGetScoreClick","onLoginClick","gcsButtonType","originPage","showLearnMore","pageVariation","gcsButton","learnMoreButton","mainText","dangerouslySetInnerHTML","funcs","HomeCallToActionLeftNoAccount","HomeSplashCallToActionPlaceholder","imgComponent","callToActionLeft","HomeSplashSection","children","HomeProcessSection","data-target","aria-controls","data-parent","HomeFaqs","KeyFeatureItem","keyItem","keyFeature","HomeKeyFeaturesSection","features3","onLearnMoreClick","renderFeatures","feature","drawFeatures","LoadingIndicator","textPosition","size","mobileSize","ProductLink","classCss","onProductClick","avoidHandShake","linkTo","evt","ProductItemPreview","columnClass","cssProductBox","productid","isDashboard","ProductsSectionContentOld","displayMobileOption","p","ProductsSectionContent","onClickSeeMore","ProductSection","featuredProduct","displayingExtraProducts","modalName","onProductClickReferralWrapper","closeMoreProducts","showMoreProducts","modal","titleFeatured","sectionContent","contextTypes","router","PropTypes","object","ExtraProductsModal","closeModal","data-dismiss","ProductAdditionalSection","productTypeSelected","productsSelected","isModalOpen","onProductTypeClick","toggleProductModal","onProductClickWrapper","typeIndex","prodType","typeKey","isOpen","ArticlesSectionItemPreview","onArticleClick","onResourceClick","ArticlesSectionContent","ArticlesSection","GetStartedSection","PartnerApi","partnerName","logoUrl","partnerGcsId","partnerConsent","redirect","loadProductsSuccess","loadingProducts","isFailure","forceLoadingProducts","loadTrackProductSuccess","trackResult","loadProducts","getProductTypes","updateProductMetadata","setLastClickedProduct","trackGcsProductClick","origin","prodRequest","loadCreditCardsSuccess","creditcardsResult","loadingCreditCards","forceLoadingCreditCards","loadTrackCreditCardsSuccess","loadCreditCards","groupId","getProductRedirect","partnerStick","loadkeyFeatureListSuccess","keyFeatues","loadkeyFeatureList","getKeyFeatures","loadProcessStepsSuccess","loadProcessSteps","getGcsProcessSteps","loadHomeFaqSuccess","loadHomeFaq","getHomeFaq","loadingArticlesForHomePageSuccess","loadArticlesForHomePageSuccess","loadArticlesForHomePage","getArticlesForHome","UserApi","fields","changePasswordRequest","token","hash","userCredentials","credentialOptions","recaptchaToken","loginAttempt","grant_type","client_id","clientId","channel","mFAVerificationType","extendedCustomer","loginRestoreFromLocalStorage","loginSuccess","loginResult","updateRegisteringUsername","createAccountSuccess","accountResult","registertSuccess","userToRegister","registrationResult","registration","tmSuccess","tmResponse","changePasswordSuccess","loadUserDetailsSuccess","updateUserDetailsSuccess","isAuthenticatedSuccess","isAuthenticatedResponse","logoutSuccess","participatedInPromotionSuccess","initUserSuccess","initUser","getPreferencesSuccess","setPreferencesSuccess","getExistingCustomerSuccess","getExistingCustomerError","initApp","logout","ProductActions","ScoreActions","refreshAuthentication","refreshToken","dispatchAfterLogin","refreshAuthenticationWithHash","refreshTokenWithHash","dispatchArray","r","login","requiredRole","currentRoles","hasRequiredRole","createAccount","confirmAccount","register","registerFull","isForced","changePassword","oldPassword","newPassword","loadUserDetails","setDateIntoCustomerFromIsoString","updateUserDetails","validateIdentityDocuments","identityRequest","getIdentityDocumentsValidation","getPreferences","setPreferences","getExistingCustomer","getCustomerHomeShowCodeSuccess","getCustomerHomeShowCodeError","getCustomerHomeShowCode","FooterSection","tonikInitModal","PerfectScrollbar","InternalProductSection","productLoading","HomePage","scoreMapHasError","scoreMapSubmittedEmpty","scoreMapSectionBackground","getComponentsList","onGetScoreClickToFreeScore","onLoginStartedClick","onScoreMapInputChange","onScoreMapSubmit","responsive","breakpoint","settings","slidesToScroll","privatePolicy","width","hide","addClass","off","parent","find","slideToggle","mobileFooter","pgurl","lastIndexOf","each","attr","d","parents","siblings","$n","next","first","trigger","b","boxWidth","boxHeight","a","init","extend","height","initial","easing","duration","g","html","toString","h","isNumeric","updateCss","call","css","overflow","position","display","update","f","remove","prepend","o","m","animate","top","fn","kCounter","apply","Array","prototype","arguments","num","tonikInitHomePage","unbind","resourceId","isValidPostCode","url","history","counterSectionTheme","txtVariants","productActions","homePageActions","userActions","trackingConstants","noScoreReasons","trackingLabel","links","actionPlaceholderText","verifyIdentity","tonikInitScrollWithAnimation","click","scrollTop","offset","tonikInitCarousel","selector","callBack","initCorrectly","prevArrow","nextArrow","fade","currentSlide","tonikInitDashboard","tonikInitScrollWithAnimationToId","tooltip","relatedTarget","DashboardCallToActionItem","actionItem","onActionItemClick","linkElement","DashboardCallsToAction","carouselMounted","carouselSlideChange","slide","carouselId","ApiFailedToLoadComponentWithText","RenderArrayOfItems","componentArr","NoScoreTextWithLinks","currentString","indexOfOccuarance","startPlaceholderIndex","finishPlaceholderIndex","placeholderTextWithoutBrackets","substring","placeholderLink","componentPart","noScoreActionButton","cls","lastPart","NoScoreActionButton","handleClick","NoScoreReasonItem","NoScoreComponent","identityIssuePrefix","isIdentityIssue","reason","newReasons","ArrowDown","DashboardScore","scoreToDisplay","imageLoaded","showAnimation","animationClass","handleScoreIncrement","handleImageLoaded","onPromotionClick","getScoreWheel","getScoreDisplay","getScoreMessagesOld","getScoreMessagesNew","trackArrowDown","currentScore","clearInterval","timerID","onScoreShown","nextProps","isPromotion","isNewUser","participatedInPromotion","scoreNumber","scoreRotate","scoreColor","dashColor","dashTop","dashLeft","data-placement","data-original-title","transform","background","backgroundColor","left","showCompleteScoreCls","showCompleteScoreInfoTextCls","data-title","data-html","onTabChange","message","displayArrowDown","theme","scoreWheel","mainComponent","onLoad","DashboardKfcContent","DashboardKcfCard","level","isPositive","KcfTitleRow","KcfTilesRow","kcfsArray","indexSelected","useState","currentSelection","setCurrentSelection","kcfSelected","DashboardKcf","DashboardFloatingLinks","isInCohort","DashboardCallToActionButton","DashboardCallsToActionSection","total","currentItem","FooterSmallSection","DashboardScoreHistory","c3","historyLength","historyDoesNotHaveValues","initUserResponse","timeFormat","initChart","period","days","elementChart","gradient","getContext","createLinearGradient","addColorStop","dataPoints","limit","y","round","dayString","moment","add","format","Chart","initTonikHistory","historyClone","hasValue","desc","bandHtml","aria-selected","marginBottom","DashboardScoreCompare","ScoreMapSection","findAreaByPostCodeFailed","hasShadow","onSubmit","pattern","onChange","placeholder","NewFeaturesBanner","loadDashboardTabsSuccess","loadDashboardTabs","getDashboardTabs","loadCallsToActionSuccess","loadCallsToAction","getCallsToAction","loadingArticlesForDashboardSuccess","loadArticlesForDashboardSuccess","loadArticlesForDashboard","getArticlesForDashboard","updateSelectedDashboardTab","DashboardPage","controlWidgets","dashboardTabsWidgets","controlWidgetsNames","showAdditionalOffers","onDashboardTabChange","onProductAdditionalClick","getDashboardContentForTab","getScoreComponent","getComponentsListForOneScore","getComponentsListForOriginalDesign","shouldExcludeTab","dashboardTab","shown","scoreAction","actionIndex","messageProductTitle","callsToActionContent","cssClassCallToAction","product_comp","nextSteps_comp","areProducts","areProductClass","areKcfs","classForProducts","classForKcf","data-scroll-to-id","dashContent","hasNextSteps","columnsScore","scoreComponent","rerstOfTheSections","dashboardPageActions","LoginFrame","disclaimerCtrl","LoginBoxButton","btnText","btnCls","aria-hidden","LoginBox","onActionClick","onForgotPasswordClick","inputEmailCls","inputPwdCls","fckpass","autoComplete","htmlFor","cursor","fontSize","color","feqfx","autocommplete","checked","ThreatMetrixComponent","tmLoaded","loadjs","GcsRecaptcha","recaptchaRef","onSelectRecaptcha","tabindex","sitekey","onExpired","onErrored","badge","initTonikForms","val","datepicker","LoginPage","loginMode","accountBeingCreated","tmValue","tmFinished","tmTryCount","forcedPassword","resetRecaptcha","updateCustomerState","onChangeModeClick","performLogin","doLogin","onGoBackToHomePage","loadTmVariables","doResetRecaptcha","onProfileComplete","createRef","parse","search","u","currentStateCredentials","session_id","par","returnUrl","retUrl","current","reset","field","loginFormIsValid","execute","loginCredentials","localStorage","setItem","removeItem","finally","errorPass","loginArea","enabled","pageNumber","VerificationApi","oneTimeCode","destination","TextNumericInput","shouldRender","toolTip","required","groupClass","inputCls","inputMode","data-parsley-pattern","Login2FAInputBoxButton","disabled","Login2FAInputBox","otcError","infoMessage","errorMessage","onGoBack","Login2FASelectionBox","Login2FAPage","verificationCode","isChannelSelection","channelSelected","onSelectChannel","onVerificationCodeSubmit","onChangeVerificationCode","redirectToAuth","onSubmitSendOTC","doSubmitSendOTC","sendOtcPromise","VerificationAPI","sendEmailOneTimeCodeAuth","sendMobileOneTimeCodeAuth","verification","verifyOtcPromise","verifyEmailOneTimeCodeAuth","verifyMobileOneTimeCodeAuth","navigateUrl","resp","LoginBoxMessage","titleText","contentText","actionName","showTandCs","clickable","TextInput","autocomplete","DateInputSimple","notDay","fullControlName","internalid","requiredError","sinchronizeWithParent","innerValue","date","DateInputGeneral","GenderInput","setGender","AddressLookupApi","term","urlEncodeTerm","LodgeAComplaintApi","formData","ContactUsApi","encodeData","AddressInput","onServiceError","getAddresses","updateAddress","addressesList","addressesPreviousList","addressLoading","prevAddressLoading","newValue","propertyName","request","bindResultToCtrl","addresses","parseAddress","Result","adressInputCls","prevAddressCls","addressError","prevAddressError","orderClass","inputProps","addressname","wrapperStyle","menuStyle","padding","borderRadius","boxShadow","maxHeight","items","getItemValue","onSelect","renderItem","isHighlighted","hasLivedLessThan3YearsId","for","prevAddress","prevAddressName","prevaddplaceholder","PasswordInput","ErrorLine","RegistrationFormComplete","showMiddleName","onSave","saving","diplaySavedMessage","onCancel","saveText","isOnlyForm","labelPreviousAddress","hasLivedLessThan3YearsLabel","eqfxmarketing","getPersonalStep","RegistrationForm","onSaveClicked","_onSaveCustom","updatedProps","RegistrationPage","moveToEmail","onSaveCustomer","submitCustomer","updateCustomerServiceAddressError","saveCustomerFromState","onRegistrationComplete","didMonuntSetPreviousCustomer","newCustomer","ud","validationResult","msg","registeredCustomer","setInnerDateOfBirthAndDobFromNumbers","RegistrationMobilePage","shouldResend","onChangeMobile","onFormSubmit","onResendSMS","redirectToVerifyMobile","doSubmit","doResendSMS","sendMobileOneTimeCodeRegistration","RegistrationVerifyEmailPage","onResendEmail","onBack","doResendEmail","verifyEmailOneTimeCodeRegistration","sendEmailOneTimeCodeRegistration","RegistrationVerifyMobilePage","verifyMobileOneTimeCodeRegistration","LogoutPage","ForgetPasswordBox","onPasswordSubmit","callbackWaiting","ForgotPasswordPage","currentPage","onSendPasswordConfirmation","doSendForgotPassword","forgotPassword","generic","pageContent","ForgotPasswordBox","ContactUsForm","lastname","phone","subject","general","initTonikContactUs","textMax","keyup","textRemaining","ContactUsPage","onContactUsFormSubmit","updateRequestState","onContactUsConfirmed","onSendContactUs","errorName","errorDescription","errorSubject","errorPhone","contactUsFormIsValid","sendDataThroughGcs","LodgeacomplaintForm","LodgeacomplaintPage","sendLodgeDataThroughGcs","ChangePasswordForm","onChangePassword","oldPwdInputCls","confirmPwdInputCls","newPwdInputCls","oldP","newP","confirmP","ChangePasswordPage","changePasswordIsValid","onOkPasswordChanged","hasPassword","oldPass","errorResetPassword","CurrentAddressForm","MyDetailsPage","isServerError","onUpdateCustomerDetails","lis","typeIdRef","setOptionsNames","stopPropagation","currentTarget","parentNode","confirmPassword","namesOptions","fullName","isPIIDataUpdated","updatingCustomer","hisotry","goBack","tabs","changeTab","saveCustomerIds","DvsConsentCheckbox","DvsMedicareForm","isInline","dlImage","float","maxWidth","margin","stateCodesForDropDown","DvsDriverLicenceForm","showCardNumber","countries","alpha3","DvsPassportForm","documentSelections","DVSSelectionForm","onDocumentSelect","DvsVerificationFrame","classTop","documentSelection","isIdentityVerified","numberDocs","isDocSelect","MyDetailsVerificationPage","countryCode","middleNameOnCard","trackingReference","trackingCount","onInitiateValidationRequest","updateIdentityRequetInState","initiateIdVerification","checkIdentityStatus","validateIdentityDocumentRequest","selectDocumentType","selectDocumentsDoneFromRole","setUserDetails","givenName","familyName","tryAgain","isCompleted","isRefreshToken","genericTop","genericEnd","isInProgess","isDeferred","documentSelected","isDisabled","apidlRequest","dateParsed","getInnerDateOfBirthAndDobFromNumbers","medicare","passport","driversLicence","validateIdentityRequestMedicarePromise","validateIdentityRequestPassportPromise","validateIdentityRequestDLPromise","componentGenericProperties","currentDocumentForm","GoToPreviousPage","containerClassName","containerCls","browserHistory","createBrowserHistory","CreditCardTitle","CreditCardTable","frameBorder","align","CreditCardsPage","ready","iFrameResize","PersonalLoansTitle","PersonalLoansTable","PersonalLoansPage","CarLoansTitle","CarLoansTable","CarLoansPage","CreditCardsBoxesContent","ProductSectionCompareCards","onCreditCardComparisonTableClick","ProductItemPreviewDescriptionItem","revertRate","CreditCardsBoxes","creditcards","sectionCls","CreditCardOffersTitle","TermsConditions","CreditCardOffers","menuComponent","InsuranceTitleComponent","InsurancePage","isTitle","tmpProducts","insuranceProduct","HomeLoansTitle","HomeLoansTable","HomeLoanDealsPage","WizardApi","WizardErrorMessage","wizardWarningMessageList","currentStep","wizardStepIndex","isFinal","wizardStepsDef","isInSpeakToExpertPath","stepIndexBrokerRefinanceWhatToDo","stepIndexBrokerBuyWhatToDo","stepIndexBrokerFinish","errorComponent","warningListComponent","warningList","warning","ProgressActionButtons","onAction","stepsState","currentStepIndex","isBack","isFootButtons","len","showBack","showNext","showDone","WizardProgressBar","wizardStepState","max","completed","porcentage","safe","divStyle","barItems","WizardTitle","stepTitle","WizardSelectionBoxCollection","wizardStepComponents","previousStep","stepState","onUpdate","onCustomAction","onMoveStep","classCol","hasImg","WizardBox","wizardErrorMessage","wizardCurrentStep","searchField","searchValue","found","getWizardStep","wizardCurrentStepState","refreshTonikWizard","prop","WizardCoreClass","_getInitialState","_getStepIndex","_getStepDefinition","_getWizardComponents","wizardPreviousStep","innerErrorMessage","initialProfileLoaded","_getTheme","isStepCompleted","refreshNavigationFlow","_trackViewStep","_refreshNavigationFlow","_setGlobalErrorList","_onSaveStep","_onCustomAction","_loadExtraConfiguration","_getGeneralRuleValidator","savedStateStep","stepDefinition","fullStep","stepsDefinition","stepIndex","actionStr","wizardState","extraConfig","setInitialState","scrollTo","newStepState","stepDef","isEmpty","inputs","selectedTexts","selItemIndex","selectedItems","stepId","extraValue","isEnterPressed","inputKeyValueArray","shouldMoveStep","savedState","selectedExtraText","isDirty","kvIndex","moveForward","currentStepState","generalValidatorFunction","globalWarningList","errorList","isStepValid","validate","originalCurrent","currentIndex","onlyOnce","initialProfile","initProfile","sStep","initStep","navigator","userAgent","HLAOptionButton","showInCols","isSelected","isSelectedExtraIndex","onSubmitExtraIndex","valueExtraText","onChangeExtraText","cssClassBtn","cssClassBtnExtraType","cssClassBtnExtra","isTextOutside","closeOther","tagName","lineHeight","defaultChecked","HLAOptionButtons","updateText","stepNro","questionId","colNumber","modCol","rows","buttonArray","rowColCounter","r1","r1IsSelected","offsetNumber","HLAAmountPicker","unmaskedValue","removeCommaSeparators","inputKey","inputValue","maskedValue","toThousandSeparatedFormat","stepsInstruction","DropwDownListForInput","selectedValue","listValues","v","HLAAmountFrequencyPicker","extraComponent","SummaryListForHla","summaryList","SummaryListItem","borderColor","PartnerFeatureListItem","ErrorComponent","PartnerComponentLink","urlForHLA","shouldPushLead","PartnerComponent","partnerConfig","txtButton","matchedPartnerText","logoCss","brandTagLine","HlaWizFinish","stepData","getStepData","displayWizard","matchedPartner","summaryRecords","partnerComponent","ThemePack","buttons","navigation","WizardHLAStepComponents","min","StepsIndexHLA","stepIndexRefinanceOrBuy","stepIndexChoosePath","stepIndexBuyPurchasePrice","stepIndexBuyDeposit","stepIndexBuyHowClose","stepIndexBuyLiveOrInvest","stepIndexBuyHowToPay","stepIndexBuyIncome","stepIndexRefinancePropertyWorth","stepIndexRefinanceOwe","stepIndexRefinanceAddFunds","stepIndexRefinanceLiveOrInvest","stepIndexRefinanceHowToPay","stepIndexRefinanceIncome","stepIndexRefinanceLender","stepIndexRefinanceLenderInterestRate","stepIndexOnlineFinish","WizardHLAStepState","promotionEnabled","isWhenShowCompleted","WizardHLAStepsDef","barTitle","selectedExtraIndex","stepSelectionnUnique","stepShouldAlwaysSelect","hideNavigation","shouldMoveOnAction","shortDisplay","isTextInput","glyphicon","stepStates","stepsDefs","minValueFormatted","toCurrencyFormat","maxValueFormatted","stepValue","stepSubTitle","stepExtraDisabled","stepsTnCs","isOptionalStep","glyphiconAddon","hideNavigationDone","isFinalStep","stepInstruction","btnHLAText","actionUrl","trackingInfo","HlaExpertConfiguration","stepDefs","refinanceOrBuyActionIndex","isBuy","intention","intentionSelectedIndex","ratecityPartnerConfig","HlaUnoConfiguration","isRefinance","isRefinanceWithEquity","indexes","loanAmount","refinanceOrBuy","propertyValue","oweOrDepositValue","houseStatus","payoff","combinedIncome","houseStatusActionIndex","payoffActionIndex","isHouseStatusSelected","isPayoffSelected","propertyWorth","income","incomePeriod","oweOrDeposit","selectedValues","rules","deposit","toLowerCase","UnoRefinanceRules","UnoBuyRules","rule","ruleResult","unoPartnerConfig","loanAmountValidation","loanToValueRatio","loanAmountFormatted","propertyWorthFormatted","generalLoanToValueValidation","incomeToLoanValidation","minDeposit","depositFormatted","minDepositFormatted","HlaFirstMacConfiguration","firstMacPartnerConfig","annualIncome","yearly","monthly","fortnightly","weekly","HomeLoanAssistant","stepOnlineFinal","stepExpertFinal","onlineConfig","partners","partnerUrl","brokerConfig","validator","isCompare","isBroker","onSaveStep","isRefinanceUseEquity","ratio","lender","HomeLoanAssistantPage","isWizardProfileLoaded","isWizardProfileLoading","nextPage","getWizardProfile","profile","stepCode","saveWizardStep","req","renderFirstPage","CustomCheckBox","toggleCheck","isChecked","subtitle","box","CustomCheckBoxList","onItemSelect","selected","MessageDisplay","MessageDisplayWarning","MyPreferenceMailChimpCategoryDisplay","onItemSelected","interests","MyPreferencesPage","showMailchimpLink","onSubscriptionSelected","onCancelAccountSelected","onEqfxmarketingSelected","pref","interest","zIndex","AboutMeApi","WizardAboutMeStepComponents","StepsIndexAboutMe","stepIndexWhyGetScore","stepIndexHelpForBetterDeal","stepIndexHelpMostOutScore","stepIndexAboutYou","stepIndexEmploymentStatus","stepIndexYourIncome","stepIndexYourHome","stepIndexFinish","WizardAboutMeStepState","WizardAboutMeStepsDef","AboutMeWizard","AboutMePage","isAboutMeProfileLoaded","isAboutMeProfileLoading","getAboutMeProfile","saveAboutMeStep","FAQItem","faq","SectionFAQ","NewMemberProgressBar","aria-valuenow","aria-valuemin","aria-valuemax","NewMemberErrorSection","HomeOldStylePage","ci","ch","formLoading","getComponentList","partnerSourceId","transaction_id","jackMediaAppend","isExistingCustomer","components","SectionFaq","componentToBeRendered","registrationForm","HomeOhNoPage","ProductHandshakeWithProduct","loaderComponent","ProductHandshakeClassic","ProductHandshake","PartnerReferPage","setProductActionProduct","setProductActionPush","isNs","isn","partnersWizard","extra","redirectResult","ScoreMapApi","sA3Code","getSA3Areas","getGeoJsonForArea","genY","img","genX","boomer","builder","_generationsModel","generationsModel","ScoreMapLocation","locationName","L","ScoreMapSearch","latitude","longitude","zoom","polygonStyle","weight","opacity","fillOpacity","creditScore","highest","lowest","mid","componentElements","scoremapElementId","mapLoadingElement","suggestList","errorTypes","noResult","unKnown","currentlayer","currentmarker","componentDidMountDelayed","waitForResourcesToLoad","drawMap","setupAutocomplete","resetMap","getAllAreasAndPopulateList","getGeoJsonAndDisplayInMap","setAutocompleteValue","populateRegionList","displayAreaInMap","stylePolygon","getCreditScoreColor","handleNoResultFound","showError","leafletStyle","createElement","integrity","crossOrigin","leafletScript","async","head","appendChild","nextState","shouldUpdate","center","dragging","disable","touchZoom","doubleClickZoom","scrollWheelZoom","boxZoom","keyboard","tap","querySelector","tileLayer","addTo","Icon","Default","imagePath","regionsResponse","regions","geoResponse","region","sA3GeoJSON","$autocomplete","which","$suggestList","$mapLoading","append","sA3Name","sA2Name","$item","onAreaSelectedFromList","setView","jsonSA3","sa3Name","sa3Score","sA3CreditScore","popupContent","removeLayer","geoJson","mapCenter","getBounds","getCenter","fitBounds","marker","bindPopup","openPopup","input","creditscore","red","diff","adj","abs","convertToHex","integer","errorType","errorText","currentUrl","ScoreMapListItem","record","valueName","ScoreMapList","keyPrefix","ScoreMapGenerationBox","generationScores","genederScoreList","spec","keyValueName","ScoreMapGenerations","areaGenerations","mdColsNum","smColsNum","mdClass","smClass","generations","gen","ScoreMapRegionScoreBox","headerColor","regionsScoreList","recordsToAdd","ScoreMapRegionScores","stateTitle","areaRegionsScores","low","high","ScoreMapPage","inputPostCode","currentAreaStatistics","submittedPostCode","submittedSA3Code","scoreStatisticsData","onAreaSelected","findAreaByPostCode","findAreaByPostCodeFailHandler","getStatisticsForSA3Area","convertStatisticsForCurrentSA3Area","isPostCodeValid","regionResponse","getAllScoreStatistics","scriptElement","scoreStatistics","sTCode","currentState","states","currentSA4Area","sTCodes","currentSA3Area","sA3Codes","gens","scoreMapActions","PageNotFound","pageNotFounMessage","DeleteAccountPage","validatePasswordDummy","DeleteAccountSuccessPage","ContactUsSuccessPage","LodgeacomplaintSuccessPage","TermOfUse","PrivacyPolicy","data-id","ReportApi","resetReportProfile","ajaxLoadReport","loadReportProfileSuccess","loadReportProfile","reportProfileState","shouldLoad","shouldNotLoadReportProfile","getReportProfile","tonikInitMonthSlider","sliderId","debug","tonikInitReport","AccountsModal","paddingBottom","LineShower","elementKey","elementValue","ErrorWrapper","header","Accounts","onAccordionBtnClick","account","repaymentHistory","sliderid","accountId","originalCreditProvider","latestUpdatedDate","accountType","accountOpenDate","accountClosedDate","relationship","termOfLoan","latestMaximumCredit","fhi","openModal","CreditEnquiriesModal","CreditEnquiries","enquiry","creditEnquirier","enquiryDate","enquiryAmount","enquiryClientReference","DefaultsModal","Defaults","hasDefaults","latestCreditProvider","defaults","defaulT","indexd","originalAmount","currentAmount","DateOfDefault","isDisputed","newArrangement","CourtActionsModal","CourtActions","court","creditor","actionDate","courtType","courtActionAmount","courtActionStatus","ResolveIssueModal","AboutCrModal","CreditReportSummaryPage","resolveIssueModal","aboutCrModal","needsDvs","onClickGoToDeals","getPageContent","toggleResolveIssueModal","toggleAboutCrModal","onGoToDVS","noReport","accountN","enquiriesN","courtActionsN","defaulN","reportActions","CreditSummaryApi","getCreditSummarySuccess","getCreditSummary","creditSummaryApi","getCreditSummaryData","RecentActivitiesDemo","enquire","advers","__text","AccountsDemo","CreditEnquiriesDemo","AdverseInformationDemo","CreditSummaryDemoPage","URLSearchParams","get","onTurnYourScore","creditSummaryActions","GcsRoutes","path","exact","CreditSummaryPageDemo","MenuCms","pageName","store","App","querySelectorAll","controller","ScrollMagic","Controller","matchMedia","matches","addEventListener","Scene","triggerHook","triggerElement","parentElement","offsetHeight","setPin","tonikInitGlobal","AppIndex","routes","configureStore","initialState","menuCmsContainer","getAttribute","serviceWorker","unregister","StorageHelper","sessionStorage","getItem","updateLoginResult","newState","includeRememberMe","csrfValue","expires_in","setTime","getTime","storeJson","toStore","resetScoreProfileMetadata","resetReportProfileMetadata","rootReducer","combineReducers","loginInLocalStorage","getJson","now","rememberMeInfo2","newCustomerState","homeShowState","imageUrl","defineImageUrlBasedOnScore","newScoreCounter","createStore","applyMiddleware","thunk","PRODUCT_DISPLAY_MOBILE_NORMAL","PRODUCT_DISPLAY_MOBILE_BULLETS","PRODUCT_DISPLAY_REAL_IMG","PRODUCT_DISPLAY_REAL_IMG_FLIPCARD","PRODUCT_DISPLAY_REAL_IMG_GROW_ALT","PRODUCT_DISPLAY_REAL_IMG_TADA"],"mappings":"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AAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,CACE,OAAU,CACR,SAAY,KACZ,OAAU,WAEZ,OAAU,CACR,SAAY,KACZ,OAAU,KAEZ,SAAY,OAGhB,SAAY,MAEd,sBAAuB,IACvB,sBAAuB,aACvB,SAAY,MAEd,CACE,gBAAiB,CACf,eAAgB,CACd,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,aAAc,CACZ,SAAY,KACZ,OAAU,cAEZ,2BAA4B,CAC1B,KAAQ,CACN,SAAY,KACZ,OAAU,WAEZ,SAAY,MAEd,yBAA0B,CACxB,KAAQ,CACN,SAAY,KACZ,OAAU,WAEZ,SAAY,MAEd,eAAgB,CACd,MAAS,KACT,SAAY,KACZ,OAAU,8BAEZ,aAAgB,CACd,MAAS,IACT,SAAY,KACZ,OAAU,8BAEZ,uBAAwB,CACtB,SAAY,KACZ,OAAU,KAEZ,oBAAqB,CACnB,SAAY,KACZ,OAAU,cAEZ,sBAAuB,CACrB,SAAY,KACZ,OAAU,cAEZ,sBAAuB,CACrB,SAAY,KACZ,OAAU,cAEZ,sBAAuB,CACrB,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,YAAa,CACX,MAAS,IACT,SAAY,KACZ,OAAU,SAEZ,iBAAkB,CAChB,MAAS,IACT,SAAY,KACZ,OAAU,gCAEZ,eAAgB,CACd,SAAY,KACZ,OAAU,OAEZ,iCAAkC,CAChC,iBAAkB,MAClB,SAAY,KACZ,OAAU,SAEZ,+BAAgC,CAC9B,iBAAkB,MAClB,SAAY,KACZ,OAAU,SAEZ,sBAAuB,CACrB,SAAY,KACZ,OAAU,SAEZ,0BAA2B,CACzB,oBAAqB,CACnB,SAAY,KACZ,OAAU,cAEZ,iCAAkC,CAChC,SAAY,KACZ,OAAU,SAEZ,SAAY,MAEd,sBAAuB,IACvB,sBAAuB,aACvB,SAAY,MAEd,CACE,gBAAiB,CACf,eAAgB,CACd,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,aAAc,CACZ,SAAY,KACZ,OAAU,eAEZ,2BAA4B,CAC1B,KAAQ,CACN,SAAY,KACZ,OAAU,gBAEZ,SAAY,MAEd,yBAA0B,CACxB,KAAQ,CACN,SAAY,KACZ,OAAU,gBAEZ,SAAY,MAEd,eAAgB,CACd,MAAS,KACT,SAAY,KACZ,OAAU,+BAEZ,aAAgB,CACd,MAAS,IACT,SAAY,KACZ,OAAU,8BAEZ,0BAA2B,CACzB,iCAAkC,CAChC,SAAY,KACZ,OAAU,SAEZ,SAAY,MAEd,SAAY,CACV,QAAW,CACT,OAAU,CACR,MAAS,IACT,SAAY,KACZ,OAAU,QAEZ,cAAe,CACb,SAAY,KACZ,OAAU,cAEZ,mBAAoB,CAClB,gBAAiB,CACf,SAAY,KACZ,OAAU,cAEZ,iBAAkB,CAChB,iBAAkB,MAClB,SAAY,KACZ,OAAU,OAEZ,SAAY,MAEd,kBAAmB,CACjB,gBAAiB,CACf,SAAY,KACZ,OAAU,cAEZ,iBAAkB,CAChB,iBAAkB,MAClB,SAAY,KACZ,OAAU,OAEZ,SAAY,MAEd,SAAY,MAEd,SAAY,MAEd,sBAAuB,IACvB,sBAAuB,aACvB,SAAY,MAEd,CACE,gBAAiB,CACf,eAAgB,CACd,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,aAAc,CACZ,SAAY,KACZ,OAAU,WAEZ,yBAA0B,CACxB,KAAQ,CACN,SAAY,KACZ,OAAU,gCAEZ,cAAe,CACb,SAAY,KACZ,OAAU,QAEZ,SAAY,MAEd,eAAgB,CACd,MAAS,KACT,SAAY,KACZ,OAAU,aAEZ,aAAgB,CACd,MAAS,IACT,SAAY,KACZ,OAAU,8BAEZ,0BAA2B,CACzB,iCAAkC,CAChC,SAAY,KACZ,OAAU,SAEZ,SAAY,MAEd,SAAY,CACV,QAAW,CACT,OAAU,CACR,MAAS,IACT,SAAY,KACZ,OAAU,eAEZ,cAAe,CACb,SAAY,KACZ,OAAU,cAEZ,mBAAoB,CAClB,gBAAiB,CACf,SAAY,KACZ,OAAU,cAEZ,iBAAkB,CAChB,iBAAkB,MAClB,SAAY,KACZ,OAAU,SAEZ,SAAY,MAEd,kBAAmB,CACjB,gBAAiB,CACf,SAAY,KACZ,OAAU,cAEZ,iBAAkB,CAChB,iBAAkB,MAClB,SAAY,KACZ,OAAU,SAEZ,SAAY,MAEd,SAAY,MAEd,SAAY,MAEd,sBAAuB,IACvB,sBAAuB,aACvB,SAAY,OAGhB,SAAY,MAEd,SAAY,MAEd,yBAA0B,CACxB,mBAAoB,CAClB,iBAAkB,CAChB,gBAAiB,CACf,eAAgB,CACd,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,eAAgB,CACd,MAAS,KACT,SAAY,KACZ,OAAU,UAEZ,iBAAkB,CAChB,iBAAkB,MAClB,SAAY,KACZ,OAAU,QAEZ,aAAgB,CACd,MAAS,IACT,SAAY,KACZ,OAAU,+BAEZ,kBAAmB,CACjB,KAAQ,CACN,SAAY,KACZ,OAAU,kBAEZ,SAAY,MAEd,gBAAiB,aACjB,MAAS,iBACT,SAAY,MAEd,SAAY,MAEd,SAAY,CACV,QAAW,CACT,CACE,gBAAiB,CACf,eAAgB,CACd,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,aAAc,CACZ,SAAY,KACZ,OAAU,gBAEZ,yBAA0B,CACxB,KAAQ,CACN,SAAY,KACZ,OAAU,gBAEZ,SAAY,MAEd,eAAgB,CACd,MAAS,KACT,SAAY,KACZ,OAAU,iBAEZ,aAAgB,CACd,MAAS,IACT,SAAY,KACZ,OAAU,8BAEZ,0BAA2B,CACzB,iCAAkC,CAChC,SAAY,KACZ,OAAU,SAEZ,SAAY,MAEd,SAAY,CACV,QAAW,CACT,OAAU,CACR,MAAS,IACT,SAAY,KACZ,OAAU,eAEZ,mBAAoB,CAClB,gBAAiB,CACf,SAAY,KACZ,OAAU,cAEZ,iBAAkB,CAChB,iBAAkB,MAClB,SAAY,KACZ,OAAU,QAEZ,mBAAoB,CAClB,MAAS,KACT,SAAY,KACZ,OAAU,mBAEZ,SAAY,MAEd,kBAAmB,CACjB,gBAAiB,CACf,SAAY,KACZ,OAAU,cAEZ,iBAAkB,CAChB,iBAAkB,MAClB,SAAY,KACZ,OAAU,QAEZ,mBAAoB,CAClB,MAAS,KACT,SAAY,KACZ,OAAU,mBAEZ,SAAY,MAEd,SAAY,MAEd,SAAY,MAEd,sBAAuB,IACvB,sBAAuB,aACvB,SAAY,MAEd,CACE,gBAAiB,CACf,eAAgB,CACd,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,yBAA0B,CACxB,KAAQ,CACN,SAAY,KACZ,OAAU,eAEZ,SAAY,MAEd,0BAA2B,CACzB,oBAAqB,CACnB,SAAY,KACZ,OAAU,cAEZ,SAAY,MAEd,sBAAuB,IACvB,sBAAuB,aACvB,SAAY,OAGhB,SAAY,MAEd,SAAY,MAEd,+CAAgD,CAC9C,gBAAiB,CACf,eAAgB,CACd,CACE,gBAAiB,CACf,eAAgB,CACd,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,cAAe,CACb,SAAY,KACZ,OAAU,cAEZ,SAAY,CACV,SAAY,KACZ,OAAU,eAEZ,sBAAuB,CACrB,iBAAkB,MAClB,SAAY,KACZ,OAAU,QAEZ,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,aAAc,CACZ,SAAY,KACZ,OAAU,kBAEZ,aAAgB,CACd,MAAS,IACT,SAAY,KACZ,OAAU,8BAEZ,MAAS,qBACT,SAAY,MAEd,CACE,gBAAiB,CACf,eAAgB,CACd,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,cAAe,CACb,SAAY,KACZ,OAAU,cAEZ,SAAY,CACV,SAAY,KACZ,OAAU,kBAEZ,sBAAuB,CACrB,iBAAkB,MAClB,SAAY,KACZ,OAAU,QAEZ,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,aAAc,CACZ,SAAY,KACZ,OAAU,eAEZ,aAAgB,CACd,MAAS,IACT,SAAY,KACZ,OAAU,+BAEZ,cAAe,CACb,SAAY,KACZ,OAAU,OAEZ,sBAAuB,CACrB,MAAS,IACT,MAAS,aACT,SAAY,KACZ,OAAU,WAEZ,MAAS,oBACT,SAAY,OAGhB,SAAY,MAEd,6BAA8B,CAC5B,4BAA6B,CAC3B,gBAAiB,CACf,eAAgB,CACd,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,oBAAqB,CACnB,SAAY,KACZ,OAAU,cAEZ,0BAA2B,CACzB,SAAY,KACZ,OAAU,cAEZ,SAAY,MAEd,SAAY,MAEd,cAAiB,CACf,aAAgB,CACd,CACE,gBAAiB,CACf,eAAgB,CACd,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,iBAAkB,CAChB,SAAY,KACZ,OAAU,cAEZ,aAAgB,CACd,mBAAoB,CAClB,SAAY,KACZ,OAAU,aAEZ,KAAQ,CACN,SAAY,KACZ,OAAU,wBAEZ,KAAQ,CACN,MAAS,MACT,SAAY,KACZ,OAAU,uBAEZ,OAAU,CACR,MAAS,OACT,SAAY,KACZ,OAAU,cAEZ,SAAY,MAEd,MAAS,IACT,SAAY,MAEd,CACE,gBAAiB,CACf,eAAgB,CACd,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,iBAAkB,CAChB,SAAY,KACZ,OAAU,cAEZ,cAAe,CACb,SAAY,KACZ,OAAU,cAEZ,8BAA+B,CAC7B,SAAY,KACZ,OAAU,cAEZ,aAAgB,CACd,mBAAoB,CAClB,SAAY,KACZ,OAAU,aAEZ,KAAQ,CACN,SAAY,KACZ,OAAU,kBAEZ,KAAQ,CACN,MAAS,MACT,SAAY,KACZ,OAAU,uBAEZ,sBAAuB,CACrB,SAAY,KACZ,OAAU,aAEZ,SAAY,MAEd,MAAS,IACT,SAAY,OAGhB,SAAY,MAEd,iBAAkB,CAChB,gBAAiB,CACf,gBAAiB,CACf,eAAgB,CACd,SAAY,KACZ,OAAU,KAEZ,SAAY,MAEd,aAAc,CACZ,SAAY,KACZ,OAAU,cAEZ,SAAY,CACV,mBAAoB,CAClB,SAAY,KACZ,OAAU,aAEZ,KAAQ,CACN,SAAY,KACZ,OAAU,mBAEZ,SAAY,MAEd,SAAY,MAEd,SAAY,MAEd,SAAY,MAEd,SAAY,MAEd,eAAgB,CACd,aAAc,CACZ,eAAkB,CAChB,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qCAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8CAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,mBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2BAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iCAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mCAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uCAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yCAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oCAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kCAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qCAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uCAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gCAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,0BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8BAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oCAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sCAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0CAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4CAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uCAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gCAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sCAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wCAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4CAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8CAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yCAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mCAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qCAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oGAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0EAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+EAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0DAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yFAEZ,MAAS,CACP,MAAS,aACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,0BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mEAEZ,MAAS,CACP,MAAS,aACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yFAEZ,MAAS,CACP,MAAS,aACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,0BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mEAEZ,MAAS,CACP,MAAS,aACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sGAEZ,MAAS,CACP,MAAS,aACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gFAEZ,MAAS,CACP,MAAS,aACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sGAEZ,MAAS,CACP,MAAS,aACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gFAEZ,MAAS,CACP,MAAS,aACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8CAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2DAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2DAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,0BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kEAEZ,MAAS,CACP,MAAS,aACT,SAAY,KACZ,OAAU,OAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oEAEZ,MAAS,CACP,MAAS,aACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mEAEZ,MAAS,CACP,MAAS,aACT,SAAY,KACZ,OAAU,OAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,aACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yEAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iEAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iEAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iFAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mFAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,0BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2DAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sCAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2DAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0BAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6BAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2DAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oGAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,0BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4GAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4GAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4GAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4GAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mGAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mGAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mGAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mGAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8BAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0CAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4CAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uCAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sCAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wCAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qCAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wCAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0CAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wCAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oDAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sDAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iDAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mCAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6CAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,WAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oCAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wCAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oFAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gGAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kGAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wFAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wFAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wFAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wFAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yFAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oFAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oFAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oFAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oFAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+EAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+EAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+EAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+EAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oFAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uCAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6DAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6DAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mDAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qDAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2EAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2EAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gDAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6FAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uGAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4CAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mDAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6DAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iDAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2DAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6DAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0EAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8BAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uBAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sBAEZ,MAAS,CACP,MAAS,UACT,SAAY,KACZ,OAAU,OAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yBAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iBAEZ,MAAS,CACP,MAAS,UACT,SAAY,KACZ,OAAU,MAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6BAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4BAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,OAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,cAEZ,MAAS,CACP,MAAS,UACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,0BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2CAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8CAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+BAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+CAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mCAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,0BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0CAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+CAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iCAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mGAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,OAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kFAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0CAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mFAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0CAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8CAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sCAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,OAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0CAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8CAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+CAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,gBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,8DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+EAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,6BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qGAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,4BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oFAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4CAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kEAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qFAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,uEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,uBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,yEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,2DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4CAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,oBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gDAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wCAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4CAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gDAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,iDAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,sBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sBAEZ,MAAS,CACP,MAAS,SACT,SAAY,KACZ,OAAU,UAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0GAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,mEAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,iBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+DAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,+BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,qHAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,6EAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,gFAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,SAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,0DAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,kBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kDAEZ,MAAS,CACP,MAAS,QACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,yBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sEAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,wBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,+EAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,2BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,kFAEZ,MAAS,CACP,MAAS,MACT,SAAY,KACZ,OAAU,QAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,OACvB,SAAY,MAEd,CACE,gBAAiB,CACf,SAAY,KACZ,OAAU,qBAEZ,YAAe,CACb,SAAY,KACZ,OAAU,4DAEZ,MAAS,CACP,MAAS,OACT,SAAY,KACZ,OAAU,KAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,YAEZ,IAAO,SACP,sBAAuB,QACvB,SAAY,OAGhB,MAAS,UACT,MAAS,WACT,SAAY,MAEd,SAAY,MAEd,aAAc,CACZ,MAAS,CACP,UAAa,CACX,KAAQ,CACN,SAAY,KACZ,OAAU,mBAEZ,QAAW,CACT,SAAY,KACZ,OAAU,OAEZ,KAAQ,CACN,SAAY,KACZ,OAAU,uBAEZ,aAAc,CACZ,MAAS,IACT,SAAY,KACZ,OAAU,iBAEZ,IAAO,gBACP,SAAY,MAEd,YAAa,CACX,SAAY,KACZ,OAAU,qBAEZ,2BAA4B,CAC1B,sBAAuB,CACrB,CACE,KAAQ,CACN,SAAY,KACZ,OAAU,8BAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sHAEZ,iBAAkB,CAChB,SAAY,KACZ,OAAU,0BAEZ,IAAO,UACP,SAAY,MAEd,CACE,KAAQ,CACN,SAAY,KACZ,OAAU,kCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,wFAEZ,iBAAkB,CAChB,SAAY,KACZ,OAAU,6BAEZ,IAAO,UACP,SAAY,MAEd,CACE,KAAQ,CACN,SAAY,KACZ,OAAU,mCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,oFAEZ,iBAAkB,CAChB,SAAY,KACZ,OAAU,6BAEZ,IAAO,UACP,SAAY,MAEd,CACE,KAAQ,CACN,SAAY,KACZ,OAAU,gCAEZ,YAAe,CACb,SAAY,KACZ,OAAU,sFAEZ,iBAAkB,CAChB,SAAY,KACZ,OAAU,6BAEZ,IAAO,UACP,SAAY,OAGhB,SAAY,MAEd,oBAAqB,CACnB,SAAY,KACZ,OAAU,OAEZ,SAAY,MAEd,SAAY,MAEd,SAAY,MAEd,YAAa,oDACb,aAAc,4CACd,iBAAkB,SAClB,sBAAuB,uFACvB,SAAY,O,gCCruXf,sGAAO,IAAMC,EAAY,CACrBC,iBAAmB,KACnBC,oBAAqB,MACrBC,sBAAuB,MACvBC,8BAA+B,MAC/BC,yBAA0B,MAC1BC,yBAA0B,MAC1BC,kBAAmB,KACnBC,cAAe,KACfC,eAAgB,KAChBC,UAAW,MACXC,UAAW,MACXC,WAAY,MACZC,cAAe,KAKNC,EAAa,SAACC,EAAOC,GAC9B,IAAIC,OAA2BC,GAAdF,EAEjB,GAAGD,IAAUE,EAAW,CACpB,IAAIE,EAAKJ,EAAMK,MAAMpB,EAAUa,eAC/B,GAAGM,EAAG,CAEF,IADA,IAAIE,EAAY,KACRC,EAAI,EAAGA,EAAIH,EAAGI,SAAWF,EAAWC,IACrCH,EAAGG,IAAMN,IACRK,EAAYF,EAAGG,IAIvBL,EAAaI,GAIrB,OAAOJ,GAGEO,EAAsB,SAACT,GAChC,IAAIU,EAAM,GAOV,OANAA,EAAIC,oBAAsBZ,EAAWC,EAAOf,EAAUI,+BACtDqB,EAAIE,eAAiBb,EAAWC,EAAOf,EAAUK,0BACjDoB,EAAIG,eAAiBd,EAAWC,EAAOf,EAAUM,0BACjDmB,EAAII,UAAYJ,EAAIC,oBAAsB,EAAE,IACjCD,EAAIG,eAAiB,EAAE,IACvBH,EAAIE,eAAiB,EAAE,GAC3BF,I,gCChDX,iHAEaK,EAAe,CACxBC,SAAU,EACVC,QAAS,EACTC,aAAc,EACdC,aAAc,EACdC,WAAY,EACZC,kBAAmB,EACnBC,UAAW,EACXC,aAAc,EACdC,cAAe,EACfC,cAAe,GACfC,oBAAqB,GACrBC,kBAAmB,GACnBC,wBAAyB,IAGhBC,EAAoB,CACtB,CACIC,GAAK,eACLC,MAAQ,gBACRC,OAASC,0BACTC,aACI,CACIH,MAAO,YACPI,OAAQ,IAEhBC,KAAM,KACNC,MAAM,EACNC,YAAa,KACbC,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,IACzD,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,2CAA4CS,cAAe,aAC9E,CAAErG,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,eAGzE,CACIV,GAAK,gBACLC,MAAQ,iBACRC,OAASC,2BACTC,aACI,CACIH,MAAO,YACPI,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,IAC9D,CAACrG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IACzD,CAACrG,IAAI,IAAK4F,MAAQ,qBAAsBS,cAAe,aACvD,CAACrG,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,eAEtE,CACEV,GAAK,gBACLC,MAAQ,iBACRC,OAASC,2BACTC,aACI,CACIH,MAAO,YACPI,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,IAC/D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,IAC7D,CAAErG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,aACzD,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,eAGrE,CACIV,GAAK,mBACLC,MAAQ,oBACRC,OAASC,6BACTC,aACI,CACIH,MAAO,YACPI,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,IACjE,CAAErG,IAAI,IAAK4F,MAAQ,mCAAoCS,cAAe,aACtE,CAAErG,IAAI,IAAK4F,MAAQ,qCAAsCS,cAAe,gBA8B9EC,EAAW,CACb,CACGX,GAAK,sBACLY,QAAS,aACRX,MAAQ,cACRC,OAASC,gBACTU,aAAeV,sBACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,eACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,IAC9D,CAAErG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,IAC/D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,eAGhE,CACEV,GAAK,8BACLY,QAAS,aACRX,MAAQ,cACRC,OAASC,gBACTU,aAAeV,sBACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,eACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,IAC9D,CAAErG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,IAC/D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,eAGhE,CACEV,GAAK,wBACLY,QAAS,aACRX,MAAQ,cACRC,OAASC,gBACTU,aAAeV,sBACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,eACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,IAC9D,CAAErG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,IAC/D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,eAGlE,CACGV,GAAK,+BACLY,QAAS,aACRX,MAAQ,cACRC,OAASC,gBACTU,aAAeV,sBACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,eACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,IAC9D,CAAErG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,IAC/D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,eAGjE,CACEV,GAAK,oBACLY,QAAS,aACRX,MAAQ,cACRC,OAASC,gBACTU,aAAeV,sBACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,eACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,IAC9D,CAAErG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,IAC/D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,cAE9DK,sBAAuB,SAASC,EAAa3F,GAC1C,IAAI4F,EAAc5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAE5F,MAAO,CACLD,YAFFA,EAAcA,GAAeD,GAAeA,EAAYG,QAAUH,EAAYG,OAAOC,KAAO,IAAMJ,EAAYG,OAAOC,KAAO,GAG1HC,MAAOC,KAAKC,wBAIpB,CACEvB,GAAK,sBACLY,QAAS,aACRX,MAAQ,cACRC,OAASC,gBACTU,aAAeV,sBACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,eACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,IAC9D,CAAErG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,IAC/D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,cAE9DK,sBAAuB,SAASC,EAAa3F,GAC1C,IAAI4F,EAAc5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAE5F,MAAO,CACLD,YAFFA,EAAcA,GAAeD,GAAeA,EAAYG,QAAUH,EAAYG,OAAOC,KAAO,IAAMJ,EAAYG,OAAOC,KAAO,GAG1HC,MAAOC,KAAKC,wBAIpB,CACEvB,GAAK,qBACLY,QAAS,aACRX,MAAQ,cACRC,OAASC,gBACTU,aAAeV,sBACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,eACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,IAC9D,CAAErG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,IAC/D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,cAE9DK,sBAAuB,SAASC,EAAa3F,GAE1C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAIpB,CACEvB,GAAK,kBACLY,QAAS,aACRX,MAAQ,cACRC,OAASC,gBACTU,aAAeV,sBACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,eACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,IAC9D,CAAErG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,IAC/D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,cAE9DK,sBAAuB,SAASC,EAAa3F,GAE1C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAIpB,CACEvB,GAAK,0BACLY,QAAS,aACRX,MAAQ,cACRC,OAASC,gBACTU,aAAeV,sBACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,eACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,IAC9D,CAAErG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,IAC/D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,eAGnE,CACGV,GAAK,0BACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC3D,CAAErG,IAAI,IAAK4F,MAAQ,cAAeS,cAAe,cAErDK,sBAAuB,SAASC,EAAa3F,GAC3C,IAAI4F,EAAc5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAE5F,MAAO,CACLD,YAFFA,EAAcA,GAAeD,GAAeA,EAAYG,QAAUH,EAAYG,OAAOC,KAAO,IAAMJ,EAAYG,OAAOC,KAAO,GAG1HC,MAAOC,KAAKC,wBAInB,CACIvB,GAAK,wBACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC3D,CAAErG,IAAI,IAAK4F,MAAQ,cAAeS,cAAe,cAErDK,sBAAuB,SAASC,EAAa3F,GAEzC,MAAO,CACH4F,YAFU5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAGpFG,MAAOC,KAAKC,wBAIxB,CACGvB,GAAK,0BACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EACNiB,cAAc,EACdpB,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC3D,CAAErG,IAAI,IAAK4F,MAAQ,cAAeS,cAAe,cAGrDK,sBAAuB,SAASC,EAAa3F,GAE3C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAInB,CACGvB,GAAK,wBACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC3D,CAAErG,IAAI,IAAK4F,MAAQ,cAAeS,cAAe,eAGxD,CACAV,GAAK,6BACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC3D,CAAErG,IAAI,IAAK4F,MAAQ,cAAeS,cAAe,eAGrD,CACAV,GAAK,sBACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC3D,CAAErG,IAAI,IAAK4F,MAAQ,cAAeS,cAAe,cAErDK,sBAAuB,SAASC,EAAa3F,GAGxC,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAIlB,CACGvB,GAAK,kBACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC3D,CAAErG,IAAI,IAAK4F,MAAQ,cAAeS,cAAe,eAGxD,CACGV,GAAK,kBACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC3D,CAAErG,IAAI,IAAK4F,MAAQ,cAAeS,cAAe,eAGxD,CACGV,GAAK,yBACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC3D,CAAErG,IAAI,IAAK4F,MAAQ,cAAeS,cAAe,cAErDK,sBAAuB,SAASC,EAAa3F,GAE3C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,KAAO7F,EAAaC,UAAU4F,OAAS,IAGjIG,MAAOC,KAAKC,wBAInB,CACGvB,GAAK,gBACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC3D,CAAErG,IAAI,IAAK4F,MAAQ,cAAeS,cAAe,cAErDK,sBAAuB,SAASC,EAAa3F,GAC3C,IAAI4F,EAAc5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,KAAO7F,EAAaC,UAAU4F,OAAS,IAEnI,MAAO,CACLD,YAFFA,EAAcA,GAAeD,GAAeA,EAAYG,QAAUH,EAAYG,OAAOC,KAAO,IAAMJ,EAAYG,OAAOC,KAAO,GAG1HC,MAAOC,KAAKC,wBAInB,CACGvB,GAAK,gBACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC3D,CAAErG,IAAI,IAAK4F,MAAQ,cAAeS,cAAe,cAErDK,sBAAuB,SAASC,EAAa3F,GAE3C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAInB,CACGvB,GAAK,wBACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC3D,CAAErG,IAAI,IAAK4F,MAAQ,cAAeS,cAAe,cAErDK,sBAAuB,SAASC,EAAa3F,GAE3C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAIpB,CACGvB,GAAK,WACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,kBAAmBS,cAAe,IACpD,CAACrG,IAAI,IAAK4F,MAAQ,6BAA8BS,cAAe,IAC/D,CAACrG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,IACxD,CAACrG,IAAI,IAAK4F,MAAQ,6BAA8BS,cAAe,aAC/D,CAACrG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,eAGpE,CACGV,GAAK,qBACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,6BAA8BS,cAAe,IAC/D,CAACrG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACnE,CAACrG,IAAI,IAAK4F,MAAQ,kCAAmCS,cAAe,IACpE,CAACrG,IAAI,IAAK4F,MAAQ,kCAAmCS,cAAe,aACpE,CAACrG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,eAGpE,CACKV,GAAK,mBACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNiB,cAAc,EACdpB,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,mCAAoCS,cAAe,IACrE,CAACrG,IAAI,IAAK4F,MAAQ,6BAA8BS,cAAe,IAC/D,CAACrG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,IAC5D,CAACrG,IAAI,IAAK4F,MAAQ,oEAAqES,cAAe,cAE1GK,sBAAuB,SAASC,EAAa3F,GAM1C,IAAI4F,EAAc5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAE5F,MAAO,CACLD,YAFFA,EAAcA,GAAeD,GAAeA,EAAYG,QAAsC,OAA5BH,EAAYG,OAAOjG,MAGnFmG,MAAOC,KAAKC,wBAIpB,CACGvB,GAAK,mBACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNiB,cAAc,EACdpB,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,mCAAoCS,cAAe,IACrE,CAACrG,IAAI,IAAK4F,MAAQ,6BAA8BS,cAAe,IAC/D,CAACrG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,IAC5D,CAACrG,IAAI,IAAK4F,MAAQ,oEAAqES,cAAe,cAE1GK,sBAAuB,SAASC,EAAa3F,GAC3C,IAAI4F,EAAc5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAE5F,MAAO,CACLD,YAFFA,EAAcA,GAAeD,GAAeA,EAAYG,QAAsC,OAA5BH,EAAYG,OAAOjG,MAGnFmG,MAAOC,KAAKC,wBAInB,CACGvB,GAAK,oBACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC3D,CAACrG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IACzD,CAACrG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,IACxD,CAACrG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC1D,CAACrG,IAAI,IAAK4F,MAAQ,oBAAqBS,cAAe,eAG5D,CACGV,GAAK,2BACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNiB,cAAc,EACdC,aAAa,EACbrB,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC3D,CAACrG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IACzD,CAACrG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,IACxD,CAACrG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC1D,CAACrG,IAAI,IAAK4F,MAAQ,oBAAqBS,cAAe,eAG9D,CACGV,GAAK,2BACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC3D,CAACrG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IACzD,CAACrG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,IACxD,CAACrG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC1D,CAACrG,IAAI,IAAK4F,MAAQ,oBAAqBS,cAAe,eAG7D,CACGV,GAAK,wBACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNiB,cAAc,EACdC,aAAa,EACbrB,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC3D,CAACrG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IACzD,CAACrG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,IACxD,CAACrG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC1D,CAACrG,IAAI,IAAK4F,MAAQ,oBAAqBS,cAAe,eAG7D,CACGV,GAAK,eACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNiB,cAAc,EACdpB,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,IAChE,CAACrG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IAClE,CAACrG,IAAI,IAAK4F,MAAQ,mCAAoCS,cAAe,IACrE,CAACrG,IAAI,IAAK4F,MAAQ,wEAAoES,cAAe,eAG5G,CACGV,GAAK,0BACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNiB,cAAc,EACdpB,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,IAChE,CAACrG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IAClE,CAACrG,IAAI,IAAK4F,MAAQ,mCAAoCS,cAAe,IACrE,CAACrG,IAAI,IAAK4F,MAAQ,wEAAoES,cAAe,eAG5G,CACGV,GAAK,kBACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNiB,cAAc,EACdpB,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,IAChE,CAACrG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IAClE,CAACrG,IAAI,IAAK4F,MAAQ,mCAAoCS,cAAe,IACrE,CAACrG,IAAI,IAAK4F,MAAQ,wEAAoES,cAAe,eAG5G,CACGV,GAAK,kBACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,IAChE,CAACrG,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IAClE,CAACrG,IAAI,IAAK4F,MAAQ,mCAAoCS,cAAe,IACrE,CAACrG,IAAI,IAAK4F,MAAQ,wEAAoES,cAAe,eAG3G,CACGV,GAAK,eACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNiB,cAAc,EACdC,aAAa,EACbrB,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC3D,CAACrG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IACzD,CAACrG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,IACxD,CAACrG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC1D,CAACrG,IAAI,IAAK4F,MAAQ,oBAAqBS,cAAe,eAG7D,CACGV,GAAK,wBACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNiB,cAAc,EACdC,aAAa,EACbrB,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC3D,CAACrG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IACzD,CAACrG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,IACxD,CAACrG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC1D,CAACrG,IAAI,IAAK4F,MAAQ,oBAAqBS,cAAe,cAE1DK,sBAAuB,SAASC,EAAa3F,GAEzC,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAIrB,CACGvB,GAAK,cACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNiB,cAAc,EACdC,aAAa,EACbrB,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC3D,CAACrG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IACzD,CAACrG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,IACxD,CAACrG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC1D,CAACrG,IAAI,IAAK4F,MAAQ,oBAAqBS,cAAe,cAE1DK,sBAAuB,SAASC,EAAa3F,GAEzC,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAIrB,CACGvB,GAAK,cACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNiB,cAAc,EACdC,aAAa,EACbrB,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC3D,CAACrG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IACzD,CAACrG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,IACxD,CAACrG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC1D,CAACrG,IAAI,IAAK4F,MAAQ,oBAAqBS,cAAe,cAE1DK,sBAAuB,SAASC,EAAa3F,GAEzC,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAIrB,CACGvB,GAAK,+BACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNiB,cAAc,EACdC,aAAa,EACbrB,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC3D,CAACrG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IACzD,CAACrG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,IACxD,CAACrG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC1D,CAACrG,IAAI,IAAK4F,MAAQ,oBAAqBS,cAAe,eAG7D,CACGV,GAAK,gBACLY,QAAS,WACTX,MAAQ,YACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNiB,cAAc,EACdC,aAAa,EACbrB,aACI,CACIH,MAAO,oBACPa,WAAY,aACZT,OAAQ,IAEhBI,SAAU,CACN,CAACpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC3D,CAACrG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IACzD,CAACrG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,IACxD,CAACrG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC1D,CAACrG,IAAI,IAAK4F,MAAQ,oBAAqBS,cAAe,cAE1DK,sBAAuB,SAASC,EAAa3F,GAEzC,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAItB,CACGvB,GAAK,oBACLY,QAAS,WACTX,MAAQ,WACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,YACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,gBAAiBS,cAAe,IACnD,CAAErG,IAAI,IAAK4F,MAAQ,kBAAmBS,cAAe,IACrD,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,IAC3D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,eAGpE,CACGV,GAAK,oBACLY,QAAS,WACTX,MAAQ,WACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,YACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC5D,CAAErG,IAAI,IAAK4F,MAAQ,kBAAmBS,cAAe,IACrD,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,IAC3D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,eAGpE,CACGV,GAAK,wBACLY,QAAS,WACTX,MAAQ,WACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,YACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC5D,CAAErG,IAAI,IAAK4F,MAAQ,kBAAmBS,cAAe,IACrD,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,IAC3D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,cAGjEK,sBAAuB,SAASC,EAAa3F,GAE3C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAInB,CACGvB,GAAK,oBACLY,QAAS,WACTX,MAAQ,WACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,YACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC5D,CAAErG,IAAI,IAAK4F,MAAQ,kBAAmBS,cAAe,IACrD,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,IAC3D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,cAGjEK,sBAAuB,SAASC,EAAa3F,GAE3C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAInB,CACGvB,GAAK,yBACLY,QAAS,WACTX,MAAQ,WACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,YACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC5D,CAAErG,IAAI,IAAK4F,MAAQ,kBAAmBS,cAAe,IACrD,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,IAC3D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,cAGjEK,sBAAuB,SAASC,EAAa3F,GAE3C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,KAAO7F,EAAaC,UAAU4F,OAAS,IAGjIG,MAAOC,KAAKC,wBAInB,CACGvB,GAAK,oCACLY,QAAS,WACTX,MAAQ,WACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,YACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC5D,CAAErG,IAAI,IAAK4F,MAAQ,kBAAmBS,cAAe,IACrD,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,IAC3D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,cAGjEK,sBAAuB,SAASC,EAAa3F,GAE3C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAInB,CACAvB,GAAK,oBACLY,QAAS,WACTX,MAAQ,WACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,YACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC5D,CAAErG,IAAI,IAAK4F,MAAQ,kBAAmBS,cAAe,IACrD,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,IAC3D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,cAGjEK,sBAAuB,SAASC,EAAa3F,GAE3C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAIf,CACGvB,GAAK,eACLY,QAAS,WACTX,MAAQ,WACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,YACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC5D,CAAErG,IAAI,IAAK4F,MAAQ,kBAAmBS,cAAe,IACrD,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,IAC3D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,cAGjEK,sBAAuB,SAASC,EAAa3F,GAE3C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAInB,CACGvB,GAAK,iBACLY,QAAS,WACTX,MAAQ,WACRC,OAASC,sBACTU,aAAeV,4BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,YACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC5D,CAAErG,IAAI,IAAK4F,MAAQ,kBAAmBS,cAAe,IACrD,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,IAC3D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,cAGjEK,sBAAuB,SAASC,EAAa3F,GAE3C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAIpB,CACGvB,GAAK,YACLY,QAAS,YACTX,MAAQ,YACRC,OAASC,uBACTU,aAAeV,6BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,YACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,IACjE,CAAErG,IAAI,IAAK4F,MAAQ,oBAAqBS,cAAe,IACvD,CAAErG,IAAI,IAAK4F,MAAQ,mCAAoCS,cAAe,IACtE,CAAErG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,aAC/D,CAAErG,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,cAErEgB,YAAc3B,GAEjB,CACGC,GAAK,qBACLY,QAAS,YACTX,MAAQ,mBACRC,OAASC,uBACTU,aAAeV,0BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,YACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,IAC7D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,IAC7D,CAAErG,IAAI,IAAK4F,MAAQ,oBAAqBS,cAAe,IACvD,CAAErG,IAAI,IAAK4F,MAAQ,eAAgBS,cAAe,aAClD,CAAErG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,cAElEK,sBAAuB,SAASC,EAAa3F,GAG3C,MAAO,CACL4F,aAHgB,EAIhBI,MAAOC,KAAKC,wBAIrB,CACKvB,GAAK,uBACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,IAC3D,CAAErG,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,aACjE,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,eAGzE,CACGV,GAAK,sBACLY,QAAS,eACTX,MAAQ,gBACRC,OAASC,0BACTU,aAAeV,gCACfI,MAAM,EAENH,aACI,CACIH,MAAO,oBACPa,WAAY,iBACZT,OAAQ,IAEhBI,SAAU,CACR,CAAEpG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,IAC7D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,qCAAsCS,cAAe,IACxE,CAAErG,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,aACjE,CAAErG,IAAI,IAAK4F,MAAQ,6BAA8BS,cAAe,cAGlEK,sBAAuB,SAASC,EAAa3F,GAE3C,MAAO,CACL4F,YAFgB5F,GAAgBA,EAAaC,WAAaD,EAAaC,UAAU4F,OAAS,IAG1FG,MAAOC,KAAKC,wBAIpB,CACCvB,GAAK,gBACLY,QAAS,YACTX,MAAQ,YACRC,OAASC,uBACTU,aAAeV,6BACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,YACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,IAC7D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,IAC7D,CAAErG,IAAI,IAAK4F,MAAQ,iBAAkBS,cAAe,IACpD,CAAErG,IAAI,IAAK4F,MAAQ,eAAgBS,cAAe,aAClD,CAAErG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,eAGnE,CACCV,GAAK,uBACLY,QAAS,kBACTX,MAAQ,mBACRC,OAASC,6BACTU,aAAeV,mCACfI,MAAM,EACNH,aACI,CACIH,MAAO,oBACPa,WAAY,mBACZT,OAAQ,IAEhBI,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,IAC7D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,IAC7D,CAAErG,IAAI,IAAK4F,MAAQ,iBAAkBS,cAAe,IACpD,CAAErG,IAAI,IAAK4F,MAAQ,eAAgBS,cAAe,aAClD,CAAErG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,gBAK1EiB,EAA0B,GAE9BA,EAAwB,GAAO,CAC7BC,WAAYzB,eACZ0B,YAAa,4FACbC,iBAAkB,mBAClBrB,SAAU,CACR,CAAEpG,IAAI,IAAK4F,MAAQ,4CAA6CS,cAAe,IAC/E,CAAErG,IAAI,IAAK4F,MAAQ,4CAA6CS,cAAe,IAC/E,CAAErG,IAAI,IAAK4F,MAAQ,oDAAqDS,cAAe,MAI3FiB,EAAwB,GAAO,CAC7BC,WAAYzB,6BACZ0B,YAAa,GACbC,iBAAkB,gBAClBrB,SAAU,CACR,CAAEpG,IAAI,IAAK4F,MAAQ,qBAAsBS,cAAe,IACxD,CAAErG,IAAI,IAAK4F,MAAQ,2CAA4CS,cAAe,MAIlFiB,EAAwB,GAAO,CAC7BC,WAAYzB,gBACZ0B,YAAa,GACbC,iBAAkB,iBAClBrB,SAAU,CACR,CAAEpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC5D,CAAErG,IAAI,IAAK4F,MAAQ,2CAA4CS,cAAe,IAC9E,CAAErG,IAAI,IAAK4F,MAAQ,mDAAoDS,cAAe,MAK1FiB,EAAwB,GAAO,CAC7BC,WAAYzB,oBACZ0B,YAAa,8CACbC,iBAAkB,GAClBrB,SAAU,CACR,CAAEpG,IAAI,IAAK4F,MAAQ,kBAAmBS,cAAe,IACrD,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,IAC7D,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,MAMxD,IAAMqB,EAAyBJ,G,+BCp/CtC,w+ZAAO,IAAMK,EAAUvM,qCAA8BwM,OAAO,EAAGxM,qCAA8BiJ,OAAS,GAEzFwD,EAAoBF,EAAU,gDAC9BG,EAAqBH,EAAU,kDAE/BI,EAAkCJ,EAAU,4BAC5CK,EAA2CL,EAAU,kCAErDM,EAAuBN,EAAU,+BAEjCO,EAAqBP,EAAU,0BAE/BQ,EAAkBR,EAAU,iCAC5BS,EAAmBT,EAAU,kCAC7BU,EAAkBV,EAAW,kCAC7BW,EAAuBX,EAAU,kCACjCY,EAAqBZ,EAAU,sCAC/Ba,EAAsBb,EAAU,uCAChCc,EAAsBd,EAAU,sCAChCe,EAAiBf,EAAU,0BAC3BgB,EAAuBhB,EAAU,sCACjCiB,EAAgBjB,EAAU,8BAC1BkB,EAAclB,EAAU,4BACxBmB,EAAiBnB,EAAU,gCAC3BoB,EAAqBpB,EAAU,6BAC/BqB,EAAwBrB,EAAU,uCAClCsB,EAAyBtB,EAAU,iCACnCuB,EAAsBvB,EAAU,qCAChCwB,EAAmBxB,EAAU,oCAC7ByB,EAAsBzB,EAAU,wCAKhC0B,EAA4C1B,EAAU,2DACtD2B,EAA2B3B,EAAU,sCACrC4B,EAA2B5B,EAAU,sCACrC6B,EAAkC7B,EAAU,+CAC5C8B,EAA2C9B,EAAU,uDACrD+B,EAAsC/B,EAAU,mDAChDgC,EAA4BhC,EAAU,sCACtCiC,EAA6BjC,EAAU,6CACvCkC,EAAgClC,EAAU,yDAC1CmC,EAAsCnC,EAAU,oCAChDoC,EAAwCpC,EAAU,uDAGlDqC,EAA2CrC,EAAU,wDACrDsC,EAAiCtC,EAAU,6CAC3CuC,EAAmCvC,EAAU,8CAC7CwC,EAA2CxC,EAAU,sDACrDyC,EAAmCzC,EAAU,8CAC7C0C,EAAsC1C,EAAU,kDAChD2C,EAAoB3C,EAAU,6BAC9B4C,EAAmC5C,EAAU,mDAC7C6C,EAAgC7C,EAAU,oDAC1C8C,EAA4B9C,EAAU,sCACtC+C,EAA6B/C,EAAU,uCACvCgD,EAA0BhD,EAAU,oCACpCiD,EAA2BjD,EAAU,sCACrCkD,EAA6BlD,EAAU,uCACvCmD,EAA6BnD,EAAU,wCACvCoD,GAA6BpD,EAAU,wCACvCqD,GAAsBrD,EAAU,yCAChCsD,GAA6BtD,EAAU,wCACvCuD,GAA+BvD,EAAU,mCACzCwD,GAA6BxD,EAAU,2CACvCyD,GAAqCzD,EAAU,oDAC/C0D,GAAqC1D,EAAU,oDAC/C2D,GAAsC3D,EAAU,mDAChD4D,GAA2B5D,EAAU,oCACrC6D,GAA4B7D,EAAU,qCAEtC8D,GAA8B9D,EAAU,wCACxC+D,GAA8B/D,EAAU,uCACxCgE,GAA8BhE,EAAU,uCAExCiE,GAA2BjE,EAAU,oCACrCkE,GAA8BlE,EAAU,uCAGxCmE,GAAsBnE,EAAU,+BAChCoE,GAAmBpE,EAAU,4BAC7BqE,GAAmBrE,EAAU,4BAC7BsE,GAAoBtE,EAAU,6BAC9BuE,GAAmBvE,EAAU,4BAC7BwE,GAAuBxE,EAAU,gCAIjCyE,GAAqBzE,EAAU,8BAC/B0E,GAAuB1E,EAAU,gCACjC2E,GAAuB3E,EAAU,gCAIjC4E,GAA0B5E,EAAU,mDACpC6E,GAA2B7E,EAAU,oDACrC8E,GAA2B9E,EAAU,oDACrC+E,GAA6B/E,EAAU,sDAEvCgF,GAA0BhF,EAAU,wCAIpCiF,GAAgBjF,EAAU,mCAC1BkF,GAAsBlF,EAAU,4BAEhCmF,GAA0BnF,EAAU,qCACpCoF,GAAgCpF,EAAU,uCAE1CqF,GAAsBrF,EAAU,iCAChCsF,GAA4BtF,EAAU,mCACtCuF,GAA6BvF,EAAU,iCAEvCwF,GAAsBxF,EAAU,iCAChCyF,GAA4BzF,EAAU,kCAEtC0F,GAA6B1F,EAAU,iCACvC2F,GAAmC3F,EAAU,0CAE7C4F,GAAuB5F,EAAU,iCACjC6F,GAA6B7F,EAAU,mCAEvC8F,GAAuB9F,EAAU,iCACjC+F,GAA6B/F,EAAU,mCAEvCgG,GAA0BhG,EAAU,qCACpCiG,GAAgCjG,EAAU,uCAG1CkG,GAA4BlG,EAAU,mEACtCmG,GAA6BnG,EAAU,mEACvCoG,GAA8BpG,EAAU,oDACxCqG,GAA+BrG,EAAU,sDAEzCsG,GAAwBtG,EAAU,gCAClCuG,GAA0BvG,EAAU,gCAEpCwG,GAAkBxG,EAAU,4BAC5ByG,GAA8BzG,EAAU,4BACxC0G,GAA+B1G,EAAU,6BACzC2G,GAAiC3G,EAAU,+BAC3C4G,GAA4B5G,EAAU,0BAGtC6G,GAAoC7G,EAAU,6CAC9C8G,GAAgC9G,EAAU,uCAI1C+G,GAAc/G,EAAU,4BAGxBgH,GAAsBhH,EAAU,+BAChCiH,GAAmBjH,EAAU,4BAC7BkH,GAAsBlH,EAAU,iCAChCmH,GAAwBnH,EAAU,wCAClCoH,GAAqBpH,EAAU,+BAC/BqH,GAAwBrH,EAAU,+BAIlCsH,GAA8BtH,EAAU,uCAExCuH,GAAwBvH,EAAU,wCAElCwH,GAA2BxH,EAAU,qCACrCyH,GAA8BzH,EAAU,wCACxC0H,GAA4B1H,EAAU,sCAGtC2H,GAA6B3H,EAAU,2BACvC4H,GAA+B5H,EAAU,6BACzC6H,GAA8B7H,EAAU,4BAGxC8H,GAA8B9H,EAAU,uCACxC+H,GAA6B/H,EAAU,sCACvCgI,GAA6BhI,EAAU,sCACvCiI,GAA4BjI,EAAU,qCAGtCkI,GAAmBlI,EAAU,4BAG7BmI,GAA0BnI,EAAU,8BAEpCoI,GAAkBpI,EAAU,qBAC5BqI,GAA0BrI,EAAU,wCACpCsI,GAA0BtI,EAAU,wCACpCuI,GAA+BvI,EAAU,wCACzCwI,GAAgCxI,EAAU,wCAC1CyI,GAAwBzI,EAAU,mCAClC0I,GAAqB1I,EAAU,gCAC/B2I,GAAoB3I,EAAU,gCAC9B4I,GAA0B5I,EAAU,qCACpC6I,GAAqB7I,EAAU,wCAG/B8I,GAAU9I,EAAU,4BACpB+I,GAAe/I,EAAU,kCACzBgJ,GAAehJ,EAAU,kCAGzBiJ,GAAgBjJ,EAAU,kCAC1BkJ,GAAqBlJ,EAAU,wCAC/BmJ,GAAanJ,EAAU,4BAGvBoJ,GAAiBpJ,EAAU,iCAC3BqJ,GAAoBrJ,EAAU,oCAC9BsJ,GAAkBtJ,EAAU,iCAC5BuJ,GAAkBvJ,EAAU,iCAC5BwJ,GAAqBxJ,EAAU,oCAC/ByJ,GAAkBzJ,EAAU,iCAC5B0J,GAAkB1J,EAAU,iCAC5B2J,GAAqB3J,EAAU,oCAC/B4J,GAAqB5J,EAAU,oCAE/B6J,GAAY7J,EAAU,2BACtB8J,GAAY9J,EAAU,2BACtB+J,GAAY/J,EAAU,2BACtBgK,GAAYhK,EAAU,2BAEtBiK,GAAgBjK,EAAU,8BAC1BkK,GAAclK,EAAU,4BACxBmK,GAAmBnK,EAAU,iCAC7BoK,GAAmBpK,EAAU,iCAC7BqK,GAAiBrK,EAAU,+BAC3BsK,GAAoBtK,EAAU,kCAE9BuK,GAAkBvK,EAAU,+BAC5BwK,GAAkBxK,EAAU,+BAC5ByK,GAAkBzK,EAAU,+BAC5B0K,GAAkB1K,EAAU,+BAC5B2K,GAAkB3K,EAAU,+BAC5B4K,GAAkB5K,EAAU,+BAC5B6K,GAAkB7K,EAAU,+BAC5B8K,GAA0B9K,EAAU,wCAEpC+K,GAAoB/K,EAAU,kCAC9BgL,GAA2BhL,EAAU,wCAErCiL,GAAqBjL,EAAU,qCAC/BkL,GAAkBlL,EAAU,iCAC5BmL,GAAcnL,EAAU,6BACxBoL,GAAapL,EAAU,4BACvBqL,GAAmBrL,EAAU,kCAC7BsL,GAAkBtL,EAAU,iCAG5BuL,GAAuBvL,EAAU,wCACjCwL,GAAkBxL,EAAU,iCAC5ByL,GAAkBzL,EAAU,iCAC5B0L,GAAkB1L,EAAU,iCAE5B2L,GAAiB3L,EAAU,gCAC3B4L,GAAiB5L,EAAU,gCAE3B6L,GAAgB7L,EAAU,oCAC1B8L,GAAc9L,EAAU,kCACxB+L,GAAe/L,EAAU,mCACzBgM,GAAgBhM,EAAU,+BAE1BiM,GAAmBjM,EAAU,iCAE7BkM,GAAclM,EAAU,6BACxBmM,GAAkBnM,EAAU,kCAE5BoM,GAAkBpM,EAAU,kCAE5BqM,GAAoBrM,EAAU,oCAE9BsM,GAActM,EAAU,6BAExBuM,GAAevM,EAAU,8BACzBwM,GAAgBxM,EAAU,+BAE1ByM,GAAazM,EAAU,4BAEvB0M,GAAmB1M,EAAU,mCAE7B2M,GAAiB3M,EAAU,+BAE3B4M,GAA6B5M,EAAU,kCACvC6M,GAAmC7M,EAAU,kCAC7C8M,GAAkC9M,EAAU,yCAC5C+M,GAAiC/M,EAAU,uCAC3CgN,GAAkChN,EAAU,iCAE5CiN,GAAoBjN,EAAU,mCAE9BkN,GAAclN,EAAU,6BAExBmN,GAAkBnN,EAAU,iCAE5BoN,GAAoBpN,EAAU,iCAE9BqN,GAAYrN,EAAU,2BACtBsN,GAAkBtN,EAAU,iCAC5BuN,GAAgBvN,EAAU,+BAC1BwN,GAAexN,EAAU,8BAGzByN,GAAezN,EAAU,2CACzB0N,GAAqB1N,EAAU,8CAC/B2N,GAAkB3N,EAAU,mDAC5B4N,GAAc5N,EAAU,mCACxB6N,GAAc7N,EAAU,mCAGxB8N,GAAqB9N,EAAU,oCAE/B+N,GAAY/N,EAAU,2BACtBgO,GAAkBhO,EAAU,iCAC5BiO,GAAkBjO,EAAU,iCAE5BkO,GAAoBlO,EAAU,qCAE9BmO,GAAenO,EAAW,8BAC1BoO,GAAkBpO,EAAW,iCAG7BqO,GAAarO,EAAU,2CACvBsO,GAAatO,EAAU,4CACvBuO,GAAavO,EAAU,6CAGvBwO,GAAgBxO,EAAU,qCAI1ByO,GAAezO,EAAU,oCACzB0O,GAAe1O,EAAU,oCAQzB2O,GAAgB3O,EAAU,yCAC1B4O,GAAiB5O,EAAU,yCAC3B6O,GAAe7O,EAAU,wCACzB8O,GAAgB9O,EAAU,yCAC1B+O,GAAe/O,EAAU,wCACzBgP,GAAgBhP,EAAU,yCAE1BiP,GAAgBjP,EAAU,0CAC1BkP,GAAelP,EAAU,wCAGzBmP,GAAsBnP,EAAU,qCAChCoP,GAAsBpP,EAAU,qCAChCqP,GAAsBrP,EAAU,qCAChCsP,GAAsBtP,EAAU,qCAChCuP,GAAsBvP,EAAU,qCAChCwP,GAAsBxP,EAAU,sC,gCCvW7C,yEAmBe,KAEbvH,KACA,CACEgX,aAAcA,IACdC,sBAAuBC,IACvBC,iBAAiB,CACfC,uBAAuB,GACvBC,UAAW,KAIfC,aAAc1V,IAEda,cAAeA,IAEf8U,SAAU,CACRC,eAAgBC,IAChBC,aAAcC,IACdC,YAAaA,IACbC,SAAU,GACVC,iBAAiB,EACjBC,gBAAgB,GAGlBC,cACA,CACEC,qBAAsB,EACtBC,cAAe,GACfC,cAAgBC,IAChBP,SAAU,GACVC,iBAAiB,EACjBC,gBAAgB,GAGlBM,gBACA,CACEC,YAAa,KACbC,OAAS,MAGXC,cAAe,CACbF,YAAa,KACbG,UAAW,KACXF,OAAS,KACTG,QAAS,KACTC,OAAS,KACTzS,SAAU,GACV0S,eAAgB,GAChBC,YAAa,KACbC,oBAAqB,GACrBC,aAAc,GACdC,eAAgB,IAGlBC,kBAAmB,CACjBX,YAAa,KACbC,OAAS,KACTG,QAAS,KACTC,OAAS,KACTzS,SAAUgT,KAGZtY,aAAa,CACTuY,SAAS,EACTT,SAAS,EAETU,WAAW,EAEXC,qBAAsB,EACtBC,kBAAmBhX,IACnBzB,UACA,CACI4F,MAAO,KACP8S,gBAAiB,KACjBC,UAAW,KACXC,YAAa,KACbC,UAAW,KACXC,eAAgB,KAChBlU,OAAQC,0BAERkU,SAAS,EACTC,mBAAoB,EACpBC,YAAY,EACZC,0BAA0B,EAC1BC,UAAU,EACVC,iBAAiB,EACjBC,aAAa,GAIjBC,YAAY,CACVC,KAAM,IAERC,aAAc,GACdC,aAAc,CACZC,WAAW,EACX5B,QAAQ,EACR6B,QAAS,QACTC,eAAgB,IAChBC,iBAAkB,EAClBC,QAAS,OAIfC,cAAc,CACZzB,SAAS,EACTT,SAAS,EACTU,WAAW,EACXyB,qBAAsB,EACtBC,mBAAoBxY,IACpByX,0BAA0B,EAC1BgB,WACA,CACEC,YAAa,GACbC,SAAS,EACTC,cAAc,EACdvC,QAAQ,EACRwC,MAAO,GACPta,UAAW,CACT,MAAS,KACT,gBAAmB,KACnB,UAAa,KACb,aAAgB,KAChB,aAAgB,KAChB,YAAe,MAEjBsZ,YAAY,CACVC,KAAM,IAERgB,UAAW,GASTC,SAAU,GAcVC,aAAc,KASpB/U,YAAa,CACXgV,UAAW,GACXC,iBAAiB,EACjBC,WAAY,KACZC,aAAc,KACdC,WAAY,KACZC,UAAW,KACXnY,MAAO,KACPoY,GAAI,KACJC,IAAK,KACLC,mBAAoB,KACpBC,2BAA2B,EAC3BC,0BAA0B,EAC1BC,oBAAoB,EACpBlB,YAAa,GACbmB,OAAQ,CACLC,UAAW,eAEdC,eAAe,EACf3V,OAAQ,CACN4V,iBAAiB,EACjB7b,MAAO,KACPkG,IAAK,MAEP4V,YAAY,EACZC,oBAAqB,GACrBC,sBAAuB,KACvBC,SAAU,KACVC,eAAgB,CACdC,YAAW,EACXF,SAAU,MAEZG,YAAa,KACbC,YAAa,CACXC,UAAU,EACVC,cAAc,EACdC,WAAY,IAGdC,qBAAqB,EACrBC,iBAAkB,CAChBxE,QAAQ,EACRyE,UAAU,EACVC,OAAQ,CACNC,UAAW,GACXC,WAAY,GACZC,SAAU,GACVC,MAAO,KAGXC,SAAU,CACR/E,QAAQ,EACRyE,UAAU,EACVO,KAAM,OAIVC,oBAAqB,I,gCC/OR,O,wCCCbC,EAAOC,QAAUC,EAAQ,M,yFCA3B,otCAEaC,EAAY,QACZC,EAAqB,kBACrBC,EAAgC,+BAChCC,EAAa,SACbC,EAAgB,aAChBC,EAAiB,cACjBC,EAAwB,sBACxBC,EAAuB,qBACvBC,EAA8B,6BAK9BC,EAAmB,aACnBC,EAAiB,aACjBC,EAAiB,0BAGjBC,EAAqB,0BACrBC,EAAsB,mBACtBC,EAAuB,qBACvBC,EAA6B,2BAC7BC,EAAsB,oBACtBC,EAAqB,kBAErBC,EAAsB,mBAEtBC,EAAY,cACZC,EAAwB,2BACxBC,EAAgB,kBAChBC,EAAsB,yBACtBC,EAA4B,gCAE5BC,EAAU,YAIVC,GADoBnd,IACGA,KAKvBod,GAHoBpd,IACMA,IAEAA,IAA+B,gBACzDqd,EAA6Brd,IAA+B,iBAC5Dsd,EAA0Btd,IAA+B,aACzDud,EAAwBvd,IAA+B,WAEvDwd,EAAwBxd,IAA+B,0BACvDyd,EAA4Bzd,IAA+B,8BAC3D0d,EAAwB1d,IAA+B,0BACvD2d,EAAsB3d,IAA+B,uBACrD4d,EAAoB5d,IAA+B,qBACnD6d,EAA0B7d,IAA+B,2B,gCCvDtE,6PAOa0U,EAAe,CAC1B,CACMzR,GAAI,UACJ6a,KAAM,QACNC,KAAM,GACNC,IAAK,mBACLC,UAAW,GACX/E,iBAAiB,GAErB,CACEjW,GAAI,kBACJ6a,KAAM,yBACNC,KAAM,0BACN7E,iBAAiB,EACjBgF,KAAM9d,IAAUY,YAElB,CACEiC,GAAI,kBACJ6a,KAAM,yBACNC,KAAM,0BACN7E,iBAAiB,EACjBgF,KAAM9d,IAAUY,YAEnB,CACKiC,GAAI,WACJ6a,KAAM,WACNC,KAAM,GACNC,IAAKG,KACN,CACClb,GAAI,aACJ6a,KAAM,OACNC,KAAM,GACNC,IAAKG,KACN,CACClb,GAAI,QACJ6a,KAAM,SACNC,KAAM,SACNC,IAAK,GACL9E,iBAAiB,GAClB,CACCjW,GAAI,aACJ6a,KAAM,aACNC,KAAM,GACNC,IAAK,GACL9E,iBAAiB,EACjBkF,YAAa,CACX,CACEnb,GAAI,iBACJ6a,KAAM,eACNC,KAAM,cACNC,IAAK,IAEP,CACE/a,GAAI,kBACJ6a,KAAM,kBACNC,KAAM,2BACNC,IAAK,IAEP,CACE/a,GAAI,WACJ6a,KAAM,WACNC,KAAM,YACNC,IAAK,IAEP,CACE/a,GAAI,iBACJ6a,KAAM,cACNC,KAAM,kBACNC,IAAK,IAEP,CACE/a,GAAI,kBACJ6a,KAAM,kBACNC,KAAM,mBACNC,IAAK,IAEP,CACE/a,GAAI,SACJ6a,KAAM,UACNC,KAAM,UACNC,IAAK,MAGV,CACC/a,GAAI,aACJ6a,KAAM,YACNC,KAAM,kBACNE,UAAW,kBACXD,IAAK,GACL9E,iBAAiB,GAErB,CACIjW,GAAI,aACJ6a,KAAM,YACNC,KAAM,kBACNE,UAAW,kBACXD,IAAK,GACL9E,iBAAiB,GAErB,CACIjW,GAAI,cACJ6a,KAAM,YACNC,KAAM,aACNE,UAAW,GACXD,IAAK,GACL9E,iBAAiB,GAClB,CACCjW,GAAI,cACJ6a,KAAM,YACNC,KAAM,aACNE,UAAW,GACXD,IAAK,GACL9E,iBAAiB,GAEnB,CACEjW,GAAI,cACJ6a,KAAM,aACNC,KAAM,cAENE,UAAW,GACXD,IAAK,GAEL9E,iBAAiB,GAClB,CACCjW,GAAI,cACJ6a,KAAM,aACNC,KAAM,cAENE,UAAW,GACXD,IAAK,GAEL9E,iBAAiB,GAElB,CACGjW,GAAI,gBACJ6a,KAAM,cACNC,KAAM,6BACNE,UAAW,GACXD,IAAK,GACL9E,iBAAiB,GAClB,CACCjW,GAAI,gBACJ6a,KAAM,cACNC,KAAM,6BACNC,IAAK,GAELC,UAAW,GAEX/E,iBAAiB,GACpB,CACCjW,GAAI,eACJ6a,KAAM,cACNC,KAAM,GACNE,UAAW,GACXD,IAAK,mBACL9E,iBAAiB,GAClB,CACCjW,GAAI,eACJ6a,KAAM,cACNC,KAAM,GACNC,IAAK,mBAELC,UAAW,GAEX/E,iBAAiB,IAIrBmF,EAAwB,GAExBC,EAAoB,CAAC,aAAa,cAAc,kBAAkB,QAAQ,aAAa,aAAc,aAAa,eACtHD,EAAqB,QAAc,CAAC,cAAe,cAAc,cAAc,kBAAkB,UAAU,UAAW,WAAY,aAAa,QAAQ,aAAa,aAAc,aAAa,eAC/LA,EAAsBze,KAAc,CAAC,WAAW,aAAa,cAAc,kBAAkB,QAAQ,aAAa,aAAc,aAAa,cAAc,mBAC3Jye,EAAsBze,KAAmB,CAAC,WAAY,aAAa,cAAe,cAAc,cAAc,kBAAkB,kBAAkB,QAAQ,cAC1Jye,EAAsBze,KAA0B,CAAC,WAAY,aAAa,cAAe,cAAc,cAAc,cAAc,kBAAkB,kBAAkB,QAAQ,cAC/Kye,EAAsBze,KAAyB,CAAC,WAAW,aAAa,QAAQ,aAAa,aAAc,aAAc,cAAc,cAAc,kBAAkB,mBACvKye,EAAsBze,KAAqB,CAAC,WAAW,aAAa,QAAQ,aAAa,aAAc,aAAa,cAAc,cAAc,kBAAkB,mBAClKye,EAAsBze,KAAuB,CAAC,WAAY,aAAa,QAAQ,aAAa,aAAc,aAAa,cAAc,cAAc,kBAAkB,mBACrKye,EAAsBze,KAAyB,CAAC,WAAY,aAAa,QAAQ,aAAa,aAAa,cAAc,kBAAkB,mBAC3Iye,EAAsBze,KAAwB,CAAC,WAAY,aAAa,QAAQ,aAAa,aAAc,aAAa,cAAc,cAAc,kBAAkB,mBACtKye,EAAsBze,KAA2B,CAAC,WAAY,aAAa,QAAQ,aAAa,aAAc,aAAc,cAAc,eAC1Iye,EAAsBze,KAAiC,CAAC,WAAY,aAAa,QAAQ,aAAa,cAAc,eAEpHye,EAAsBze,KAAkBye,EAAqB,QAC7DA,EAAsBze,KAAoB,CAAC,WAAW,QAAQ,aAAa,aAAc,aAAa,cAAc,eACpHye,EAAsBze,KAAe,GACrCye,EAAsBze,KAAuB,GAC7Cye,EAAsBze,KAAkB,GACxCye,EAAsBze,KAA+B,CAAC,cAAc,cAAc,kBAAkB,cAEpGye,EAAsBze,KAAkB0e,EACxCD,EAAsBze,KAAiB0e,EACvCD,EAAsBze,KAAc0e,EACpCD,EAAsBze,KAAmBye,EAAqB,QAC9DA,EAAsBze,KAA6Bye,EAAqB,QACxEA,EAAsBze,KAAsB,GAC5Cye,EAAsBze,KAAuB,GAC7Cye,EAAsBze,KAA2B,GACjDye,EAAsBze,KAAuBye,EAAqB,QAClEA,EAAsBze,KAAkB,GACxCye,EAAsBze,KAAwB,GAGvC,IAAMgV,EAAuByJ,EAGvBlJ,EAAc,CACvB,CACI7X,IAAI,EACJ4F,MAAM,4DACN4B,YAAY,6DAAkC,6BAAlC,yCAAwE,6BAAxE,6BACZ3B,OAAQC,mBAEZ,CACI9F,IAAI,EACJ4F,MAAM,iDACN4B,YAAY,uDAA4B,6BAA5B,wCAAsE,6BAAtE,iCAAyG,6BAAzG,6BACZ3B,OAAQC,mBAEZ,CACI9F,IAAI,EACJ4F,MAAM,qDAA0B,6BAA1B,sBACN4B,YAAY,6DAAkC,6BAAlC,mCAAuE,6BAAvE,8BACZ3B,OAAQC,mBAEZ,CACI9F,IAAI,EACJ4F,MAAM,wDACN4B,YAAY,0DAA+B,6BAA/B,qCAAsE,6BAAtE,sCAA8G,6BAA9G,oBACZ3B,OAAQC,mBAEZ,CACI9F,IAAI,EACJ4F,MAAM,4BAAK,gBACX4B,YAAY,kEAAuC,6BAAvC,+BACZ3B,OAAQC,mBAEZ,CACI9F,IAAI,EACJ4F,MAAM,mEACN4B,YAAY,0DAA+B,6BAA/B,0CAA2E,6BAA3E,uCAAoH,6BAApH,sBACZ3B,OAAQC,mBAEZ,CACI9F,IAAI,EACJ4F,MAAM,4BAAK,yBACX4B,YAAY,+DAAoC,6BAApC,sCAA4E,6BAA5E,uCAAqH,6BAArH,kCACZ3B,OAAQC,oBAKHiS,EACb,CACAkJ,MAAM,CACF,CACAjhB,IAAI,IACJ4F,MAAM,oCACNsb,KAAK,2DACLC,cAAc,GAEd,CACAnhB,IAAI,IACJ4F,MAAM,yBACNsb,KAAK,0GACLC,cAAc,GAEd,CACCnhB,IAAI,IACJ4F,MAAM,kDACNsb,KAAK,+FACLC,cAAc,IAGnBC,WAAY,wKAGCpJ,EAAa,CACtB,CACAhY,IAAI,IACJ4F,MAAM,0BACNsb,KAAM,+eAGNC,cAAc,GAEd,CACAnhB,IAAI,IACJ4F,MAAM,qCACNsb,KAAK,+dACLC,cAAc,IAKL3I,EAAgB,CACzB,CACExY,IAAK,iBACLqhB,SAAW,EACXxb,OAAQC,qBACRob,KAAK,QACLI,WAAY,iBACZC,aAAc,cAEf,CACCvhB,IAAK,wBACLqhB,SAAW,EACXxb,OAAQC,uBACRob,KAAK,UACLI,WAAY,wBACZC,aAAc,cAEf,CACCvhB,IAAK,0BACLqhB,SAAW,EACXxb,OAAQC,uBACRob,KAAK,aACLI,WAAY,iBACZb,KAAM,gCACNe,SAAU,sBACVD,aAAc,cAEf,CACCvhB,IAAK,uBACLqhB,SAAW,EACXxb,OAAQC,uBACRob,KAAK,QACLI,WAAY,iBACZb,KAAM,mBACNc,aAAc,gB,inPCpUAE,QACW,cAA7BC,OAAOC,SAASC,UAEe,UAA7BF,OAAOC,SAASC,UAEhBF,OAAOC,SAASC,SAASC,MACvB,2D,yJClBOC,EAAqB,CAC9BC,MAAO,IACPC,OAAQ,IACRC,KAAM,KC0nCKC,E,iHApnCcrE,GACvB,IAAOsE,EAAUzf,IAA+B,oBAE1C0f,EAAU,CACdC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACT,eAAgB,oBAGjBC,KAAMC,KAAKC,UAAU,CAAC9E,MAAOA,KAG9B,OAAO+E,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEhC,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAKzBK,OAAM,SAAUC,GACjB,MAAMA,O,2CAIkBC,GACxB,IAAOlB,EAAUzf,IAA+B,qBAE1C0f,EAAU,CACdC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACT,eAAgB,oBAGjBC,KAAMC,KAAKC,UAAU,CAACU,OAAQA,KAG/B,OAAOT,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEhC,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAKzBK,OAAM,SAAUC,GACjB,MAAMA,O,8CAKiBE,EAAUC,GAErC,IAAIC,EAA0BtB,EAAcuB,iBAAiBH,EAAUC,GAKvE,GAHAC,EAAwBE,oBAAsBJ,EAAQ,oBACtDE,EAAwBG,qBAAuBL,EAAQ,sBAEnDE,EAAwBI,SAAWJ,EAAwBK,SAAWL,EAAwBK,OAAOhG,OAAS2F,EAAwBK,OAAOR,QAC/I,OAAOJ,QAAQa,QAAQN,GAGnB,IAAIO,EAAqB,GAEzB,KAAIR,IAAeA,EAAU,SAEvBC,EAAwBK,OAAOhG,QAAUyF,EAAQ,oBAAwB,CACvEE,EAAwBE,qBAAsB,EAC9C,IAAIM,EAAe9B,EAAc+B,oBAAoBX,EAASzF,OAAOgF,MAAM,SAAAqB,GAavE,OAXAV,EAAwBI,QAAUJ,EAAwBI,SAAWM,EAAYN,QAE7EM,EAAYN,QAMdJ,EAAwBE,qBAAsB,EAL5CF,EAAwBK,OAAOhG,MAAQ,mBAQpC2F,KAGbO,EAAmBI,KAAKH,GAIhC,KAAMT,IAAeA,EAAU,UAE1BC,EAAwBK,OAAOR,SAAWC,EAAQ,qBAAyB,CAEzEE,EAAwBG,sBAAuB,EAC/C,IAAIS,EAAgBlC,EAAcmC,qBAAqBf,EAASD,QAAQR,MAAM,SAAAyB,GAa1E,OAXAd,EAAwBI,QAAUJ,EAAwBI,SAAWU,EAAaV,QAE9EU,EAAaV,QAMhBJ,EAAwBG,sBAAuB,EAL5CH,EAAwBK,OAAOR,OAAS,8BAQrCG,KAGZO,EAAmBI,KAAKC,GAI/B,OAAGL,EAAmB1f,OAAS,EAEtB4e,QAAQsB,IAAIR,GAAoBlB,MAAM,SAAA2B,GAC1C,IAAIC,EAAmB,GAIvB,OAFAA,EAAmBpjB,OAAOC,OAAP,MAAAD,OAAM,CAAQojB,GAAR,mBAA6BD,QAMjDvB,QAAQa,QAAQN,K,uCAKTF,EAAUC,GAE9B,IAAImB,GAAc,EACdC,EAAmB,KAEnBd,EAAS,CAAEe,IAAK,CAAEC,GAAI,GAAIC,GAAI,GAAIC,GAAI,KAE1C,IAAIxB,IAAeA,EAAU,UAAc,CACzC,IAAIyB,EAAiB9C,EAAc+C,iBAAiB,aAAc3B,EAAS5F,UAAW,IAClFsH,IACAnB,EAAOnG,UAAYsH,EACnBN,GAAc,EACS,MAApBC,IAA0BA,EAAmB,cAItD,IAAIpB,IAAeA,EAAU,WAAe,CAC1C,IAAI2B,EAAkBhD,EAAciD,4BAA4B,cAAe7B,EAAS3F,WAAY,IAChGuH,IACArB,EAAOlG,WAAauH,EACpBR,GAAc,EACS,MAApBC,IAA0BA,EAAmB,eAItD,IAAIpB,IAAeA,EAAU,SAAa,CACxC,IAAI6B,EAAgBlD,EAAcmD,gBAAgB,YAAa/B,EAAS1F,SAAU,IAC9EwH,IACAvB,EAAOjG,SAAWwH,EAClBV,GAAc,EACS,MAApBC,IAA0BA,EAAmB,aAItD,IAAKpB,IAAeA,EAAU,OAAY,CACtC,IAAI+B,EAAcpD,EAAcqD,eAAejC,EAASD,QACpDiC,IACAzB,EAAOR,OAASiC,EAChBZ,GAAc,EACU,MAApBC,IAA4BA,EAAmB,WAI3D,IAAIpB,IAAeA,EAAU,MAAU,CACnC,IAAIiC,EAAatD,EAAcuD,cAAcnC,EAASzF,OAClD2H,IACA3B,EAAOhG,MAAQ2H,EACfd,GAAc,EACS,MAApBC,IAA0BA,EAAmB,UAIxD,IAAIpB,IAAeA,EAAU,IAAQ,CACnC,IAAImC,EAAiBxD,EAAcyD,cAAc,eAAgBrC,EAASsB,IAAT,IAC7Dc,IACA7B,EAAOe,IAAP,GAAmBc,EACnBhB,GAAc,EACS,MAApBC,IAA0BA,EAAmB,QAGpD,IAAIiB,EAAiB1D,EAAcyD,cAAc,iBAAkBrC,EAASsB,IAAT,IAC/DgB,IACA/B,EAAOe,IAAP,GAAmBgB,EACnBlB,GAAc,EACS,MAApBC,IAA0BA,EAAmB,QAGpD,IAAIkB,EAAmB3D,EAAcyD,cAAc,gBAAiBrC,EAASsB,IAAT,IAChEiB,IACAhC,EAAOe,IAAP,GAAmBiB,EACnBnB,GAAc,EACS,MAApBC,IAA0BA,EAAmB,QAGpD,IAAImB,EAAY5D,EAAc6D,YAAYzC,EAASsB,IAAT,GAAqB,IAAMtB,EAASsB,IAAT,GAAqB,IAAMtB,EAASsB,IAAT,IAC5FkB,IACFjC,EAAOe,IAAIoB,UAAYF,EACvBpB,GAAc,EACS,MAApBC,IAA0BA,EAAmB,QAKpD,IAAIpB,IAAeA,EAAU,QAAY,CACvC,IAAI0C,EAAe/D,EAAcyD,cAAc,UAAWrC,EAAS4C,SAwBnE,GAtBKD,GAiBDpC,EAAOqC,QAAUD,EACjBvB,GAAc,EACS,MAApBC,IAA0BA,EAAmB,aAlBlDsB,EAAe/D,EAAciE,4BAA4B,UAAW7C,EAAS4C,QAAS,GAAI,OAExFrC,EAAOqC,QAAUD,EACjBvB,GAAc,EACS,MAApBC,IAA0BA,EAAmB,aAG5CsB,EAAe/D,EAAckE,qBAAqB,UAAW9C,EAAS4C,YAEpErC,EAAOqC,QAAUD,EACjBvB,GAAc,EACS,MAApBC,IAA0BA,EAAmB,YAUtDrB,EAAS+C,uBAAwB,CACjC,IAAIC,EAAmBpE,EAAcyD,cAAc,mBAAoBrC,EAASiD,iBACvED,GAiBDzC,EAAO0C,gBAAkBD,EACzB5B,GAAc,EACS,MAApBC,IAA0BA,EAAmB,qBAlBlD2B,EAAmBpE,EAAciE,4BAA4B,UAAW7C,EAASiD,gBAAiB,GAAI,OAEpG1C,EAAO0C,gBAAkBD,EACzB5B,GAAc,EACS,MAApBC,IAA0BA,EAAmB,qBAG5C2B,EAAmBpE,EAAckE,qBAAqB,UAAW9C,EAASiD,oBAExE1C,EAAO0C,gBAAkBD,EACzB5B,GAAc,EACS,MAApBC,IAA0BA,EAAmB,qBA4BpE,IAAIpB,IAAeA,EAAU,OAAW,CACtC,IAAIiD,EAActE,EAAcuE,eAAenD,EAASoD,QACpDF,IACA3C,EAAO6C,OAASF,EAChB9B,GAAc,EACS,MAApBC,IAA0BA,EAAmB,WAItD,IAAIpB,IAAeA,EAAU,SAAa,CAChC,IAAIoD,EAAgBzE,EAAc0E,iBAAiBtD,EAASuD,UACxDF,IACA9C,EAAOgD,SAAWF,EAClBjC,GAAc,EACS,MAApBC,IAA0BA,EAAmB,aAa9D,OATIpB,GAAeA,EAAU,SACtBD,EAASwD,UACVjD,EAAOiD,QAAU,uCACjBpC,GAAc,GAIpBb,EAAOrG,UAAYkH,EACnBb,EAAOkD,SAAWpC,EACX,CACLf,QAAUc,EACVb,OAAQA,K,oCAIShG,GACnB,IACImJ,EAAS,GAMb,MAPS,4JAGDC,KAAKpJ,KACZmJ,EAAU,oBAGJA,I,uCAGeH,GAEtB,OAAGA,EACM,GAGA,yB,kCAcQK,GAEf,OAAKhF,EAAciF,aAAaD,GAI3BhF,EAAckF,YAAYF,GAIxB,GAHI,mCAJA,yB,mCAUMA,GACjB,IAAIG,EAAc,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAC3DC,GAAe,IAAIC,MAAMC,cAEzBC,EAAQP,EAAWhjB,MAAM,KACzBwjB,EAAMxrB,SAASurB,EAAM,GAAI,IACzBE,EAAQzrB,SAASurB,EAAM,GAAI,IAC3BG,EAAO1rB,SAASurB,EAAM,GAAI,IAE9B,QAAII,MAAMH,IAAQG,MAAMF,IAAUE,MAAMD,QAKpCA,EAAO,MAAQA,EAAON,GAAeK,EAAQ,GAAKA,EAAQ,OAK1DC,EAAO,KAAO,GAAMA,EAAO,KAAO,GAAKA,EAAO,GAAK,KACnDP,EAAY,GAAK,MAIjBK,GAAO,GAAKA,EAAML,EAAYM,EAAQ,Q,kCAO3BT,GACf,IAAIO,EAAQP,EAAWhjB,MAAM,KACzBwjB,EAAMxrB,SAASurB,EAAM,GAAI,IACzBE,EAAQzrB,SAASurB,EAAM,GAAI,IAC3BG,EAAO1rB,SAASurB,EAAM,GAAI,IAK9B,QAFW,IAAIF,KAAKK,EAAO,GAAID,EAAQ,EAAGD,GAE/B,IAAIH,Q,qCAOGb,GAClB,GAAc,MAAVA,EACA,MAAO,wB,4CAoEYoB,EAAeC,GAE1C,IAAKD,EACD,MAAO,oCAGZ,IAAIE,EAAsBF,EAAczjB,OAwCpC4jB,EAA2B,WAE1B,OADuB,eAAehB,KAAKa,IAQ5CI,EAAsB,WAErB,OADuB,SAASjB,KAAKa,IAUrC,OAAkB,OAAbC,GAAqC,MAAbA,GAAoC,OAAbA,IAE9CC,GAAuB,GAAKA,GAAuB,IAAME,IAEjD,GAIG,MAAbH,GAEyB,GAAvBC,GAA4BC,IAEpB,GAIG,MAAbF,GAEyB,GAAvBC,GAA4BE,IAEpB,GAIG,OAAbH,GAEEC,GAAuB,GAAKA,GAAuB,GAAKE,IAEhD,IAII,OAAbH,GAAqC,OAAbA,IAEvBC,GAAuB,GAAKA,GAAuB,GAAKC,IAEhD,GAQX,sC,yCAIkBE,EAAYJ,GAErC,IAAKI,EACD,MAAO,0BAGZ,IAAIC,EAAmBD,EAAW9jB,OAwC9BgkB,EAA8B,WAE7B,OADuB,eAAepB,KAAKkB,IAQ5CG,EAAyB,WAExB,OADuB,SAASrB,KAAKkB,IASzC,MAAkB,OAAbJ,GAAqC,MAAbA,GAEH,GAApBK,IAAyBC,IAMd,OAAbN,GAEsB,IAApBK,GAA0BE,IAElB,GAIG,OAAbP,GAEsB,IAApBK,GAA0BC,IAElB,GAIG,MAAbN,GAEEK,GAAoB,GAAKA,GAAoB,IAAMC,IAE3C,GAIG,MAAbN,GAEEK,GAAoB,GAAKA,GAAoB,GAAKE,IAE1C,GAGI,OAAbP,GAEqB,IAApBK,GAA0BC,IAElB,GAGG,OAAbN,GAEsB,GAApBK,GAAyBC,IAEjB,GAQP,0BAtDO,K,gDA0DmBE,EAAWC,GACxC,IAAIxB,EAAS,GAUb,OARKwB,EAIKtG,EAAcuG,OAAOD,KAC3BxB,GAAUuB,EAAW,kCAJrBvB,EAASuB,EAAY,gBAOlBvB,I,uCAGauB,EAAWC,EAAYE,GAC7C,OAAOxG,EAAcyG,iBAAiBJ,EAAWC,EAAYE,GAAW,GAAM,K,sCAGzDH,EAAWC,EAAYE,GAC5C,OAAOxG,EAAcyG,iBAAiBJ,EAAWC,EAAYE,GAAW,GAAO,K,kDAG9CH,EAAWC,EAAYE,GACxD,OAAOxG,EAAcyG,iBAAiBJ,EAAWC,EAAYE,GAAW,GAAM,K,uCAGxDH,EAAWC,EAAYE,EAAWE,EAAsBC,GAC9E,OAAKA,GAAeL,EAIhBK,IAAeL,EACVD,EAAY,iBAGrBC,EAAWM,OAEPN,EAAWnkB,OAASqkB,EAChB,GAAN,OAAUH,EAAV,kCAA6CG,EAA7C,iBAKEE,EACe,IAAIG,OAAO,qEAEX,IAAIA,OAAO,kFAGV9B,KAAKuB,GAIlB,GAHED,EAAY,iCAtBZ,K,wCA4BcA,EAAWC,GAChC,IAAIxB,EAAS,GAGb,IAAKwB,EAED,OADAxB,EAASuB,EAAY,gBAKzB,IAAIS,EAAeR,EAAWS,QAAQ,OAAQ,IAG9C,GAA2B,IAD3BD,GADAA,EAAeA,EAAaC,QAAQ,OAAQ,KAChBA,QAAQ,OAAQ,KAC3B5kB,OAEf,OADA2iB,EAAUuB,EAAY,+BAUxB,MALS,iBAEDtB,KAAKuB,KACXxB,EAAUuB,EAAY,gCAEjBvB,I,gCAGMuB,EAAWC,GACxB,IAAIxB,EAAS,GAEb,GAAKwB,EAAL,CAGA,IAAIQ,EAAeR,EAAWS,QAAQ,OAAQ,IAG9C,GAA2B,IAD3BD,GADAA,EAAeA,EAAaC,QAAQ,OAAQ,KAChBA,QAAQ,OAAQ,KAC3B5kB,OAEf,OADA2iB,EAAUuB,EAAY,+BAUxB,MALS,iBAEDtB,KAAKuB,KACXxB,EAAUuB,EAAY,gCAEjBvB,K,wCAGcuB,EAAWC,GAChC,IAAIxB,EAAS,GAQb,OANIwB,IACGtG,EAAcuG,OAAOD,KACtBxB,GAAUuB,EAAW,mCAIpBvB,I,+BAGSkC,GACZ,OAAQrB,MAAMsB,WAAWD,KAAOE,SAASF,K,gCAG5BG,GACb,MAAwB,kBAAVA,GACND,SAASC,IACTC,KAAKC,MAAMF,KAAWA,I,6BAGpBG,GACV,MAAO,cAAcvC,KAAKuC,K,+BAGdC,GACb,QAAGA,IACFA,EAASA,EAAOR,QAAQ,OAAQ,IACxB,WAAWhC,KAAKwC,M,qCAKNpG,GAClB,IAAI2D,EAAS,GAQb,OAPK3D,EAGKnB,EAAcwH,SAASrG,KAC7B2D,EAAS,sDAHTA,EAAS,6BAMNA,I,sCAGY2C,GACnB,IACMN,EAAQO,OAAOD,GACfE,EAAiB3H,EAAc4H,UAAUT,GACzCU,EAAuBJ,GAHN,IAGkBA,EAAStlB,OAElD,OAAOwlB,GAAkBE,I,oCAGRxB,EAAWC,GAC5B,IAAIxB,EAAS,GAOb,OALKwB,IAEDxB,EAASuB,EAAY,iBAGlBvB,I,2CAGiBuB,EAAWC,EAAYwB,EAAWtB,GAC1D,IAAI1B,EAAS,GAEb,GAAIwB,EAAY,CACZ,IAAIyB,GAAK,GAAKzB,GAAYnkB,OACvB2lB,GACEC,EAAID,IACHhD,GAAUuB,EAAY,iBAAmByB,EAAY,eAIxDtB,GACEuB,EAAIvB,IACH1B,GAAUuB,EAAY,iBAAmBG,EAAY,eAK/D,OAAO1B,I,kDAGwBuB,EAAWC,EAAYwB,EAAWtB,GACjE,IAAI1B,EAAS,GAEb,GAAIwB,EAAY,CACZ,IAAIyB,GAAK,GAAKzB,GAAYnkB,OACvB2lB,GACEC,EAAID,IACHhD,GAAUuB,EAAY,iBAAmByB,EAAY,oHAIxDtB,GACEuB,EAAIvB,IACH1B,GAAUuB,EAAY,iBAAmBG,EAAY,oHAK/D,OAAO1B,I,2CAGiBuB,EAAWC,GACnC,IAAIxB,EAAS,GAEb,GAAIwB,EAAY,CACZ,IAAIyB,EAAK,GAAKzB,EACRyB,EAAEC,QAAQ,QAAS,GACrBD,EAAEC,QAAQ,QAAS,GACnBD,EAAEC,QAAQ,OAAQ,GAClBD,EAAEC,QAAQ,QAAS,GACnBD,EAAEC,QAAQ,OAAQ,GAClBD,EAAEC,QAAQ,QAAS,GACnBD,EAAEC,QAAQ,OAAQ,GAClBD,EAAEC,QAAQ,QAAS,IAGrBlD,GAAUuB,EAAY,oEAI5B,OAAOvB,I,gDAGsBhL,EAAWmO,GAC1C,IAAOhI,EAAUzf,IAA+B,iCAE1C0f,EAAU,CACdC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACT,eAAgB,mBAChB,aAAcxG,GAEfyG,KAAMC,KAAKC,UAAUwH,IAGtB,OAAOvH,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEhC,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAKzBK,OAAM,SAAUC,GACjB,MAAMA,O,qDAI4BpH,EAAWmO,GAC/C,IAAOhI,EAAUzf,IAA+B,iCAC1C0f,EAAU,CACdC,OAAQ,MACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACT,eAAgB,mBAChB,aAAcxG,GAEfyG,KAAMC,KAAKC,UAAUwH,IAGtB,OAAOvH,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEhC,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAKzBK,OAAM,SAAUC,GACjB,MAAMA,O,uDAI8BgH,GAEtC,IAAIvG,EAAS,GACTa,GAAc,EAEd0F,EAAUtD,UACZjD,EAAOiD,QAAU,uBACjBpC,GAAc,GAGZ0F,EAAUC,WACZxG,EAAOwG,SAAW,uBAClB3F,GAAc,GAGjB,IAAI4F,EAAepI,EAAcqI,sBAAsBH,EAAUX,OAAQW,EAAUrC,WAC9EuC,IACAzG,EAAO4F,OAASa,EAChB5F,GAAc,GAkBhB,IAAI8F,EAAkBtI,EAAcuI,mBAAmBL,EAAUjC,WAAYiC,EAAUrC,WAUzF,OATMyC,IACF3G,EAAOsE,WAAaqC,EACpB9F,GAAc,GAIlBb,EAAOkE,UAAY7F,EAAckE,qBAAqB,YAAagE,EAAUrC,WAE7ElE,EAAOrG,UAAYkH,EACZzB,QAAQa,QAAQ,CACrBF,QAAUc,EACVb,OAAQA,M,6DAIgC6G,GAE5C,IAAI7G,EAAS,GACTa,GAAc,EA4ClB,OA1CIgG,EAAgB5D,UAClBjD,EAAOiD,QAAU,uBACjBpC,GAAc,GAGZgG,EAAgBL,WAClBxG,EAAOwG,SAAW,uBAClB3F,GAAc,GAGExC,EAAcyI,SAASD,EAAgBjB,UAErD5F,EAAO4F,OAAS,oBAChB/E,GAAc,GAGSxC,EAAcyI,SAASD,EAAgBE,mBAEhE/G,EAAO+G,gBAAkB,8BACzBlG,GAAc,GAKXgG,EAAgBG,YAAcC,EAA2B/I,OACzD2I,EAAgBG,YAAcC,EAA2B7I,MACzDyI,EAAgBG,YAAcC,EAA2B9I,SAC5D6B,EAAOgH,WAAa,sBACpBnG,GAAc,GAGXgG,EAAgBK,cAChBL,EAAgBK,aAAajG,IAC7B4F,EAAgBK,aAAahG,KAE1BlB,EAAOkH,aAAe,CACpB/E,UAAW,8MAEnBtB,GAAc,GAGhBb,EAAOrG,UAAYkH,EACZzB,QAAQa,QAAQ,CACrBF,QAAUc,EACVb,OAAQA,M,6DAIgCmH,GAExC,IAAInH,EAAS,GACTa,GAAc,EAkBlB,OAhBIsG,EAAgBlE,UAClBjD,EAAOiD,QAAU,uBACjBpC,GAAc,GAGZsG,EAAgBX,WAClBxG,EAAOwG,SAAW,uBAClB3F,GAAc,KAGXsG,EAAgBvB,QAAUuB,EAAgBvB,OAAOplB,OAAS,MAC3Dwf,EAAO4F,OAAS,sCAChB/E,GAAc,GAGlBb,EAAOrG,UAAYkH,EACZzB,QAAQa,QAAQ,CACrBF,QAAUc,EACVb,OAAQA,Q,aCxnCb,SAASoH,EAAaC,GACzB,MAAO,CAACC,OAAQD,GAeb,SAASE,EAAeC,GAC7B,IAAIC,EAAUC,SAASC,eAAeH,GACnCC,GAAUA,EAAQF,eAAe,CAACK,SAAU,WAkC1C,SAASC,EAAaC,EAAMC,EAASC,GAC1C,IAAIC,EAAO,KACX,GAAGH,GAAQA,EAAI,OACX,IAAI,IAAIvnB,EAAI,EAAGA,EAAIunB,EAAKtnB,QAAkB,MAARynB,EAAc1nB,IAAI,CAClD,IAAI2nB,EAAaJ,EAAKvnB,GACnB2nB,EAAWH,IAAYC,IACtBC,EAAMC,GAKhB,OAAOD,EC7DF,I,yDCIME,EAAgB,WAG7B,GAAIC,IAAE,gBAAgB5nB,OAAS,EAAG,CAChC,IAAI6nB,EAAYC,IAAQ,eAAgB,CACtCC,wBAAyB,OACzBC,gBAAiB,mBAGnBJ,IAAE,iBAAiBK,GAAG,oBAAoB,SAAUnrB,GAClD,IAAIorB,EAAYN,IAAE,YACbM,EAAUC,GAAGrrB,EAAEsrB,SAA8C,IAAnCF,EAAUG,IAAIvrB,EAAEsrB,QAAQpoB,QAAiB4nB,IAAE,kBAAkBO,GAAGrrB,EAAEsrB,SAAwD,IAA7CR,IAAE,kBAAkBS,IAAIvrB,EAAEsrB,QAAQpoB,QAC5I6nB,EAAUS,aC4BDC,EArCO,SAAC,GAA0C,IAAxCC,EAAuC,EAAvCA,SAAUC,EAA6B,EAA7BA,KAA6B,EAAvBC,UA0BrC,OAxBAf,IAGI,yBAAKrL,UAAU,YACb,yBAAKA,UAAU,4BACb,4BAAQA,UAAU,iCAAiCqM,KAAK,SAASrnB,GAAIknB,EAASlnB,GAAIsnB,cAAY,WAAWC,gBAAc,OAAOC,gBAAc,SAE1I,0BAAMxM,UAAU,YAAhB,iBAAgDmM,EAAOA,EAAK1R,YAAa,IAE3E,yBAAKuF,UAAU,gBAAgByM,kBAAiBP,EAASlnB,IAErDknB,EAAS/L,YAAYuM,KAAK,SAACvB,EAAK1nB,GAAQ,MAAe,UAAX0nB,EAAKnmB,GACvC,uBAAG3F,IAAK,UAAYoE,EAAGuc,UAAU,qBAAqB1a,KAAM6lB,EAAKrL,MAAOqL,EAAKtL,MAG7E,uBAAGxgB,IAAK,UAAYoE,EAAGuc,UAAU,gBAAgB1a,KAAM6lB,EAAKrL,MAAOqL,EAAKtL,aC8FnF8M,EA9GI,SAAC,GAAiD,IAA/ClW,EAA8C,EAA9CA,aAAc0V,EAAgC,EAAhCA,KAAgC,IAA1BS,oBAA0B,SAEhEvB,IAEA,IAIIwB,EACA,oCACGV,GAAQA,EAAK1R,aACZ,oCACE,yBAAKuF,UAAU,uBACb,8CACA,yBAAKA,UAAU,mBACb,6BACE,4BAEEvJ,GAAgBA,EAAaiW,KAAI,SAACvB,EAAM1nB,GACtC,IAAI0nB,EAAKnmB,GAAG8nB,SAAS,MAAO,CAE1B,GAAc,cAAX3B,EAAKnmB,GAAmB,CACvB,IAAI+nB,EAAgB5B,EAAKhL,YAAYuM,KAAK,SAACM,EAASC,GAChD,OAAO,wBAAI5tB,IAAK4tB,GAAM,uBAAG3nB,KAAM0nB,EAAQlN,KAAOkN,EAAQlN,KAAOkN,EAAQjN,KAAMiN,EAAQnN,UAEvF,OAAO,oCAAGkN,GAEP,GAAc,SAAX5B,EAAKnmB,GACb,OAAO,wBAAI3F,IAAKoE,GAAG,uBAAG6B,KAAM6lB,EAAKrL,KAAOqL,EAAKrL,KAAOqL,EAAKpL,KAAMoL,EAAKtL,cAQhF,yBAAKG,UAAU,SACb,2BAAImM,EAAK1R,aACT,uBAAGnV,KAAM,UAAW0a,UAAU,SAA9B,eAMNmM,IAASA,EAAK1R,aACd,oCACA,8CACA,6BACE,4BAEMhE,GAAgBA,EAAaiW,KAAI,SAACvB,EAAK1nB,GACrC,IAAI0nB,EAAKnmB,GAAG8nB,SAAS,OACL,SAAX3B,EAAKnmB,GACN,OAAO,wBAAI3F,IAAKoE,GAAG,uBAAG6B,KAAM6lB,EAAKrL,KAAOqL,EAAKrL,KAAOqL,EAAKpL,KAAMoL,EAAKtL,YAOlF,uBAAGva,KAAM4a,IAA4BF,UAAU,mBAA/C,WAIF,yBAAKA,UAAU,eACb,4BACE,4BAAI,uBAAG1a,KAAM4a,KAAT,yBACJ,4BAAI,uBAAG5a,KAAM4a,KAAT,sBASd,GAFAgN,IAASC,OAAON,EAAmBjC,SAASC,eAAe,gBAExD+B,GAAgBhC,SAASC,eAAe,kBAAmB,CAC1D,IAAIuC,EACF,yBAAKpN,UAAU,yBACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBACb,4BAAQqM,KAAK,SAASrnB,GAAG,gBAAgBqoB,QA7E7B,WACpBhC,MA4E6E,yBAAKiC,IAAKnoB,qBAA+B6a,UAAU,YAAYuN,IAAI,OAE1I,yBAAKvN,UAAU,uBACb,yBAAKsN,IAAKnoB,eAAyB6a,UAAU,YAAYuN,IAAI,MAE/D,yBAAKvN,UAAU,yBACb,yBAAKA,UAAU,4BACb,4BAAQA,UAAU,iCAAiCqM,KAAK,SAASrnB,GAAG,qBAAqBsnB,cAAY,WAAWC,gBAAc,OAAOC,gBAAc,SACjJ,2BAAG,yBAAKc,IAAKnoB,cAAwBooB,IAAI,GAAGvN,UAAU,cAAa,0BAAMA,UAAU,UAAhB,WAO/EkN,IAASC,OAAOC,EAAwBxC,SAASC,eAAe,mBAGpE,OAAO,MC/FLS,EAAIvK,OAAOuK,EAmBjB,IAAMkC,EAAe,SAAfA,EAAgB,GAA4C,IAA3CtB,EAA0C,EAA1CA,SAAUuB,EAAgC,EAAhCA,eAAgBC,EAAgB,EAAhBA,WAC3CC,EAAoB,KACxB,GAAIzB,EAAS/L,aAAe+L,EAAS/L,YAAYzc,OAAS,EAAG,CAC3D,IAAIkqB,EAAU,GACX1B,EAAS2B,sBACVD,GAAW,gCAGXA,GAAW,WAGbD,EACI,wBAAI3N,UAAW4N,GACb,uBAAGtoB,KAAK,IAAI0a,UAAU,kBAAkBsM,cAAY,WAAWrM,KAAK,SAASsM,gBAAc,OAAOC,gBAAc,SAC7GN,EAASrM,KADZ,IACkB,0BAAMwN,QAAS,SAAC7sB,GAAD,OA/B3C,SAAyBA,GACvB,IAAIsrB,EAAStrB,EAAEsrB,OAEXA,IACER,EAAEQ,GAAQgC,SAAS,2BACrBxC,EAAEQ,GAAQiC,YAAY,0BACtBzC,EAAEQ,GAAQkC,YAAY,0BAGtB1C,EAAEQ,GAAQiC,YAAY,wBACtBzC,EAAEQ,GAAQkC,YAAY,4BAI1BxtB,EAAEytB,iBAiB8CC,CAAgB1tB,IAAIwf,UAAU,qGAEtE,wBAAIA,UAAU,sCACTkM,EAAS/L,YAAYuM,KAAK,SAAAvB,GACvB,OAAO,kBAACqC,EAAD,CAActB,SAAUf,EAAM9rB,IAAK8rB,EAAKnmB,GAAIyoB,eAAgBA,aAK5E,CAEA,IAAIU,EAAajC,EAASlM,UACtBoO,EAAgB,KAChBlC,EAASnM,IACTqO,EAAgB,uBAAG9oB,KAAM4mB,EAASnM,IAAKC,UAAW0N,EAAcS,EAAa,IAAMjC,EAASrL,SAAY,IAAKqL,EAASrM,MAC/GqM,EAASpM,OAEdsO,EADCX,EACe,uBAAGnoB,KAAM4mB,EAASpM,KAAME,UAAW0N,EAAaS,EAAY,IAAKjC,EAASrM,MAGvE,kBAAC,IAAD,CAAMwO,GAAInC,EAASpM,KAAME,UAAW0N,EAAaS,EAAY,IAAKjC,EAASrM,OAKnG,GAAGqM,EAASlM,UAAU,CAClB,IAAIsO,EAAUpC,EAASlM,UAAUzc,MAAM,KACvC,IAAI,IAAIgrB,KAAKD,EACM,MAAdA,EAAQC,IAAcD,EAAQC,GAAGC,WAAW,WAC7B,IAAMF,EAAQC,GAKrCZ,EACI,4BACKS,GAKhB,OAAQT,GA4IGc,E,YAhFb,WAAYruB,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERC,kBAAoB,EAAKA,kBAAkBC,KAAvB,gBAHC,E,iFAO1BvD,M,yCAGiBwD,EAAWC,M,0CAI5BzD,M,+BAID,IAAD,EACiN/kB,KAAKlG,MADtN,IACS2uB,iBADT,MACqB,aADrB,MACmCC,gBADnC,MAC6C,4CAD7C,EAC0FvY,EAD1F,EAC0FA,aAAcgX,EADxG,EACwGA,eADxG,IACwHwB,iBADxH,aACyI7C,iBADzI,aAC4JsB,kBAD5J,aAC+KvB,YAD/K,MACqL,KADrL,MAC2LS,oBAD3L,SAEMsC,EAAOD,EAAY9pB,eAA0BA,eAC7CgqB,EAAOF,EAAY9pB,gBAA2BA,qBAC9CiqB,EAAYL,EACZM,EAAWL,EACZvY,GAAgBA,EAAa6Y,QAAO,SAAAnE,GAAI,MAAe,cAAXA,EAAKnmB,MAAoBtB,OAAS,IAC/E2rB,EAAW,2BACXD,EAAYhD,EAAa,gCAAgC,oBAE3D,IACImD,EAAgB,KAyCpB,OAtCE,4BAAQvP,UAAWoP,EAAWI,MAAO,CAACC,UAAU,SAC9C,yBAAKzP,UAAU,aACb,yBAAKA,UAAU,QACb4M,GAAiB,yBAAK5M,UAAU,uBAChC,4BAAQqM,KAAK,SAASrnB,GAAG,gBAAgBqoB,QAAS/mB,KAAKqoB,mBAAmB,yBAAKrB,IAAK6B,EAAMnP,UAAU,YAAYuN,IAAI,OAEpH,yBAAKvN,UAAU,gFACZ,kBAAC,IAAD,CAAMqO,GAAInO,KAA2B,yBAAKoN,IAAK4B,EAAMlP,UAAU,YAAYuN,IAAI,OAElF,yBAAKvN,UAAWqP,GACd,6BACE,4BAEI5Y,GAAgBA,EAAaiW,KAAI,SAAAvB,GAC/B,GAAc,cAAXA,EAAKnmB,GACNuqB,EAAgBpE,OAGhB,IAAIA,EAAKnmB,GAAG8nB,SAAS,MACnB,OAAO,kBAAC,EAAD,CAAcW,eAAgBA,EAAiBvB,SAAUf,EAAM9rB,IAAK8rB,EAAKnmB,GAAI0oB,WAAYA,UAS5G6B,GACA,kBAAC,EAAD,CAAerD,SAAUqD,EAAepD,KAAMA,EAAMC,UAAWA,MAIrE,kBAAC,EAAD,CAAY3V,aAAcA,EAAc0V,KAAMA,EAAMS,aAAcA,S,GAlEvD8C,IAAMC,WC5IZC,GAAgB,SAAC,GAA8D,IAA7D/O,EAA4D,EAA5DA,SAAUN,EAAkD,EAAlDA,KAAM1e,EAA4C,EAA5CA,SAAUoZ,EAAkC,EAAlCA,gBAAiB4U,EAAiB,EAAjBA,YACpEC,EAAY,+BAWhB,OATI7U,IACF6U,EACE,uBAAG9P,UAAW,kBAAoBa,GAChC,0BAAMb,UAAU,iBAAiBO,GACjC,uBAAG8N,GAAG,SAASrO,UAAU,gBAAgBqN,QAASwC,GAAchuB,KAK7DiuB,G,qCC2JIC,G,4GA9IWC,EAAQhqB,EAAayQ,EAAcE,GAErD,OAAO,IAAI2L,SAAQ,SAACa,EAASZ,GACzB,IAAIrf,EAAQ8C,EAAY9C,MACxB+sB,YAAW,WAER,IAAIC,EAAuBvZ,EAAqBqZ,GAC5CE,IACDA,EAAuBvZ,EAAoB,SAI/C,IADA,IAAIwZ,EAAoB,GAChB1sB,EAAI,EAAGA,EAAIysB,EAAqBxsB,OAAQD,IAG9C,IAAI,IAAI2sB,KAAS3Z,EAAa,CAC5B,IAAIyV,EAAWzV,EAAa2Z,GACzBlE,EAASlnB,IAAMkrB,EAAqBzsB,KAEjCyoB,EAASmE,eAAe,sBACxBrqB,GAAgBA,EAAYiV,iBAAmBiR,EAASjR,iBAAsBiR,EAASjM,OAAQhd,aAAWC,EAAOgpB,EAASjM,SACzHja,GAAgBkmB,EAASjR,kBAC1BkV,EAAkB3M,KAAK0I,IAMjC/I,EAAQgN,KAEPG,U,uCAOP,OAAO,IAAIhO,SAAQ,SAACa,EAASZ,GACzB0N,YAAW,WAEP9M,EAAQjM,QACToZ,U,mCAMP,OAAOhO,QAAQa,QAAQ9L,Q,2CAWvB,OAAO,IAAIiL,SAAQ,SAACa,EAASZ,GACzB0N,YAAW,WAEP9M,EAAQ/L,QACTkZ,U,uCAIaC,EAAaC,GAEjC,IAAIC,EAAQ5Y,KAOZ,OALG2Y,IACDC,EAAK,YAAO5Y,OACN6Y,OAAOF,EAAiB,GAGzB,IAAIlO,SAAQ,SAACa,EAASZ,GACzB0N,YAAW,WAEP9M,EAAQsN,KAETH,U,sCAKYtqB,EAAa2qB,GAEhC,OAAO,IAAIrO,SAAQ,SAACa,EAASZ,GACzB0N,YAAW,WAEP9M,EAAQ9hB,QAETivB,Y,KCxHFM,GAAqB,CAChC,CACI5rB,GAAI,YACJ6a,KAAK,aAET,CACI7a,GAAI,SACJ6a,KAAK,WAET,CACI7a,GAAI,eACJ6a,KAAK,kBAIEvI,GAAW,CACtB,CACI,GAAM,IACN,MAAS,sCACT,QAAU,sCACV,OAAUnS,4CACV,SAAY,CAAE,GAAK,eAAgB,KAAO,iBAC1C,KAAO,gHAEX,CACI,GAAM,IACN,MAAQ,qBACR,QAAU,qBACV,OAAUA,2BACV,SAAY,CAAE,GAAK,YAAa,KAAO,aACvC,KAAO,wLACT,CACE,GAAM,IACN,MAAQ,kEACR,QAAU,+DACV,OAASA,2BACT,SAAY,CAAE,GAAK,eAAgB,KAAO,iBAC1C,KAAO,mFACT,CACE,GAAM,IACN,MAAQ,yCACR,QAAU,uCACV,OAASA,sCACT,SAAY,CAAE,GAAK,YAAa,KAAO,aACvC,KAAO,sKAEX,CACI,GAAM,IACN,MAAS,0EACT,QAAW,0DACX,OAAUA,2CACV,SAAY,CAAE,GAAK,eAAgB,KAAO,iBAC1C,KAAQ,4DAEZ,CACI,GAAM,IACN,MAAQ,sCACR,QAAU,kCACV,OAASA,wCACT,SAAY,CAAE,GAAK,eAAgB,KAAO,iBAC1C,KAAO,4JACT,CACE,GAAM,IACN,MAAQ,kDACR,QAAU,iDACV,OAASA,4BACT,SAAY,CAAE,GAAK,eAAgB,KAAO,iBAC1C,KAAO,6HAEX,CACI,GAAM,IACN,MAAS,8DACT,QAAW,6DACX,OAAUA,6BACV,SAAY,CAAE,GAAK,YAAa,KAAO,aACvC,KAAQ,yHAEZ,CACI,GAAM,IACN,MAAS,2EACT,QAAW,qEACX,OAAUA,gCACV,SAAY,CAAE,GAAK,YAAa,KAAO,aACvC,KAAQ,oGCrFD0rB,ID4FAvZ,GAAS,GACPA,GAAS,GACTA,GAAS,GACXA,GAAS,GC/FE,IAGXwZ,GAAO,GAGPC,GAAoB,CAC3B,CACI/rB,GAAI,IACJC,MAAM,0BACNK,KAAMvD,IAA+B,kDACrCwe,KAAK,gfAGd,CACSvb,GAAI,IACJC,MAAO,qCACPK,KAAMvD,IAA+B,iEACrCwe,KAAM,6qCAehB,CACUvb,GAAI,IACJM,KAAMvD,IAA+B,iFACrCkD,MAAM,qDACN+rB,SAAU,GACVzQ,KAAK,6UCiJA0Q,G,kHAhLP,OAAO,IAAI3O,SAAQ,SAACa,EAASZ,GACzB0N,YAAW,WAEP9M,EAAQ7L,GAAS4Z,MAAM,EAAE,MAC1BZ,U,gDAMP,OAAO,IAAIhO,SAAQ,SAACa,EAASZ,GAEzB0N,YAAW,WAGP9M,EAAQ7L,GAAS4Z,MAAM,EAAE,MAC1BZ,U,mCAIkE,IAA1Da,EAAyD,uDAAzC,CAAEnsB,GAAG,KAAMosB,QAAQ,KAAMC,QAAQ,GAEhE,OAAO,IAAI/O,SAAQ,SAACa,EAASZ,GAEzB0N,YAAW,WAGP,IADF,IAAIqB,EAAU,GACJ7tB,EAAI,EAAGA,EAAI6T,GAAS5T,OAAQD,IAAI,CACtC,IAAI8tB,EAAMja,GAAS7T,GACnB,IAAG8tB,EAAIvsB,IAAMmsB,EAAcnsB,IAAMusB,EAAIH,SAAWD,EAAcC,YAC5DE,EAAUC,GACGC,YAAY,CACrB,IAAIC,EAAKhuB,EAAK,EACVguB,GAAKna,GAAS5T,SAChB+tB,EAAI,GAGNH,EAAQE,YAAc,CACpBxsB,GAAIsS,GAASma,GAAGzsB,GAChBC,MAAOqS,GAASma,GAAGxsB,MACnBmsB,QAAS9Z,GAASma,GAAGL,SAGvB,OAMVjO,EAAQmO,KACPhB,U,6CAIqG,IAApFoB,EAAmF,uDAApE,CAAEC,WAAY,GAAIC,aAAY,EAAMC,SAAQ,EAAMC,WAAW,MAEpG,OAAO,IAAIxP,SAAQ,SAACa,EAASZ,GAEzB0N,YAAW,WAER,IAAI8B,EAAc,GAClB,GAAGL,EAAaI,WACd,IAAI,IAAIruB,KAAK6T,GAAS,CACpB,IAAIia,EAAMja,GAAS7T,GAChB8tB,EAAIS,SAAShtB,IAAM0sB,EAAaI,YACjCC,EAAYvO,KAAK+N,QAKrBQ,EAAcza,GAQf6L,EALmB,CACjB2N,KAAOA,GACPxZ,SAAUya,MAIbzB,U,8CAMP,OAAO,IAAIhO,SAAQ,SAACa,EAASZ,GACzB0N,YAAW,WAEP9M,EAAQyN,MACTN,U,qCAMP,OAAO,IAAIhO,SAAQ,SAACa,EAASZ,GACzB0N,YAAW,WAEP9M,EAAQ0N,MACTP,U,oCAIU2B,GACnB,OAAO,IAAI3P,SAAQ,SAACa,EAASZ,GACzB0N,YAAW,WACN,IAAIiC,EAAQ,KACZ,IAAI,IAAIzuB,KAAKotB,GAAU,CACrB,IAAIsB,EAAStB,GAAUptB,GACvB,GAAG0uB,EAAOntB,IAAMitB,EAAW,CACzBC,EAAQC,EACR,OAIL,IAAIC,EAAe,GAEnB,IAAI,IAAIX,KAAKX,GAAK,CAChB,IAAIuB,EAAOvB,GAAKW,GACbY,EAAKJ,YAAcA,GACpBG,EAAa5O,KAAK6O,GAKtBlP,EAAQ,CACJ+O,MAAQA,EACRpB,KAAMsB,MAEX9B,Y,cC4HEgC,G,6GA3OYjX,GAA0F,IAA/EoG,EAA8E,uDAAnE,CAAC8Q,cAAc,EAAMC,gBAAgB,EAAMC,gBAAiB,GAEhGjR,EAAUzf,IAA+B,iBAC5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAE1B,IAAIqX,EAAiB,CAChBhR,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAUP,IAGxB,OAAOQ,MAAMT,EAASkR,GAAgBxQ,MAAK,SAAAC,GAE/B,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAMhCK,OAAM,SAAUC,GAChB,MAAMA,O,uCA8CUpiB,EAAc2F,EAAaiS,GAIjD,IAFA,IAAI0a,EAAoB,GAEhBlvB,EAAI,EAAGA,EAAIwU,EAAcO,aAAa9U,OAAQD,IAAI,CAExD,IAAImvB,EAAiB3a,EAAcO,aAAa/U,GAC5CovB,EAAenyB,OAAOC,OAAO,GAAIiyB,GAErCD,EAAkBnP,KAAKqP,GAIzB,OAAOvQ,QAAQa,QAAQwP,K,wCA+HzB,IAAOnR,EAAUzf,IAA+B,yBAQhD,OAAOkgB,MAAMT,EANG,CACdE,OAAQ,MACRC,KAAM,OACNC,YAAa,YAIdM,MAAK,SAAAC,GACJ,OAAIA,EAASC,GACJD,EAASE,OAGTC,QAAQC,OAAOJ,MAGzBK,OAAM,SAAUC,GACf,MAAMA,S,cCvPL,SAAS7J,GAAQka,EAASC,GAC/B,MAAO,CAAC1G,KAAM2G,KAAiBD,EAAeE,IAAK,CAACH,QAAUA,EAASC,cAAeA,I,ICiFzEG,G,8HA1F2BvQ,EAAUwQ,GAGvCA,IACDxQ,EAASyQ,YAAc,IAAIxM,KAAKuM,GAChCxQ,EAASsB,IAAM,CACbG,GAAI+O,EAAUlsB,OAAO,EAAE,GACvBkd,GAAIgP,EAAUlsB,OAAO,EAAE,GACvBid,GAAIiP,EAAUlsB,OAAO,EAAE,O,2DAKS0b,EAAUsE,EAAMD,EAAOD,GAEjE,IAAIsM,EAAO,GAAKpM,EACZqM,EAAO,GAAKtM,EACZuM,EAAO,GAAKxM,EAEE,GAAfuM,EAAK5vB,SACN4vB,EAAO,IAAMA,GAGG,GAAfC,EAAK7vB,SACN6vB,EAAO,IAAMA,GAGf5Q,EAASyQ,YAAc,IAAIxM,KAAUyM,EAAO,IAAMC,EAAO,IAAMC,EAAO,cACtE5Q,EAASsB,IAAM,CACbG,GAAIiP,EACJlP,GAAImP,EACJpP,GAAIqP,K,2DAIoCtM,EAAMD,EAAOD,GAEvD,IAAIsM,EAAO,GAAKpM,EACZqM,EAAO,GAAKtM,EACZuM,EAAO,GAAKxM,EAUhB,OARkB,GAAfuM,EAAK5vB,SACN4vB,EAAO,IAAMA,GAGG,GAAfC,EAAK7vB,SACN6vB,EAAO,IAAMA,GAGR,CACLC,YAAa,IAAI5M,KAAUyM,EAAO,IAAMC,EAAO,IAAMC,EAAO,cAC5DE,aAAe,CACbrP,GAAIiP,EACJlP,GAAImP,EACJpP,GAAIqP,M,iCAKQG,GACd,OAAOhzB,OAAOizB,KAAKD,GAAMhH,KAAI,SAASrtB,GAClC,MAAO,CAACA,EAAKq0B,EAAKr0B,IAAMqtB,IAAIkH,oBAAoBC,KAAK,QACtDA,KAAK,O,uCAGYnL,GAAkD,IAA3CoL,EAA0C,uDAA1B,EAAGC,EAAuB,uDAAL,IAMlE,OALArL,EAAQO,OAAOP,GAKRqL,GAJPrL,GAAUxB,MAAMwB,IAAUD,SAASC,GAC3BA,EAAMsL,QAAQF,GAAexL,QAAQ,2BAA4B,OACjE,O,gDAKuBI,GAC/B,IAAMuL,EAAW14B,SAASmtB,EAAO,IACjC,OAASxB,MAAM+M,IAAaxL,SAASwL,GACjCA,EAASC,eAAe,SACxB,K,4CAGuBxL,GAI3B,OAHIA,IACFA,EAAQA,EAAMJ,QAAQ,KAAM,KAEvBI,M,cCmnBIyL,G,6GAhrBYnuB,EAAa3F,EAAc+zB,EAAoBC,GAEhE,IAAO7S,EAAUzf,IAA+B,kBAC5CsZ,EAAYrV,EAAYqV,UAExBwG,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAG1B,IAAIoG,EAAU,CACVC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAUoS,IAG7B,OAAOnS,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAE1B,OAAKA,EAASC,GAIcD,EAASE,OAERH,MAAM,SAAAoS,GAM7B,IAHA,IAAIrc,EAAgB,GAChBsc,EAAuB,GAEnB9wB,EAAI,EAAGA,EAAI6wB,EAAcE,qBAAqB9wB,OAAQD,IAAI,CAC9D,IAAIgxB,EAAaH,EAAcE,qBAAqB/wB,GAEhDixB,EAAWP,EAAWQ,yBAAyBF,GAEhDC,EAASnvB,KACV0S,EAAcuL,KAAKkR,GAGnBH,EAAqB/Q,KAAKkR,GAOhC,IAFA,IAAIE,EAAY,GACZC,EAAa,EACTpD,EAAI,EAAGA,EAAI6C,EAAc9b,aAAa9U,OAAQ+tB,IAAK,CACzD,IAAIrsB,EAAekvB,EAAc9b,aAAaiZ,GAC1CqD,EAAWX,EAAWY,2BAA2B3vB,GAClD0vB,IACDA,EAASE,KAAOH,IAChBD,EAAUpR,KAAKsR,IAKnB,IAAIrc,EAAiB,GACrB,GAAG6b,EAAc7b,eAEb,IAAI,IAAIwc,EAAM,EAAGA,EAAMX,EAAc7b,eAAe/U,OAAQuxB,IAAM,CAChE,IAAIC,EAAWZ,EAAc7b,eAAewc,GAC5C,GAAGC,GAAYA,EAASvvB,UAAYuvB,EAASvvB,SAASjC,OAAS,EAAE,CAE/D,IAAIyxB,EAAc,MAAQD,EAASE,cACnC3c,EAAe0c,GAAe,GAC9B,IAAI,IAAIE,EAAK,EAAGA,EAAKH,EAASvvB,SAASjC,OAAQ2xB,IAAM,CAEjD,IAAIC,EAAUJ,EAASvvB,SAAS0vB,GAEhC,GAAGC,EAAQ,CAET,IAAIC,EAAiBpB,EAAWQ,yBAAyBW,GACtDC,GACD9c,EAAe0c,GAAa3R,KAAK+R,MAoBhD,MAXA,CACGxd,YAAauc,EAAcvc,YAC3BC,OAAQsc,EAActc,OACtBrS,SAAUsS,EACVI,eAAgBkc,EAChBrc,UAAWoc,EAAcpc,UACzBK,oBAAqB+b,EAAckB,gCACnChd,aAAcoc,EACdnc,eAAgBA,MAvEjB6J,QAAQC,OAAOJ,MA+E9BK,OAAM,SAAUC,GAEhB,MAAMA,O,8CAKoBgS,GAE5B,IAAIC,EAAW,KA8Bf,OA7BGD,KAEDC,EAAW,IAEFnvB,KAAOkvB,EAAWlvB,KACvBkvB,EAAWW,eAAiBnxB,KAAaY,mBAAuB4vB,EAAWW,eAAiBnxB,KAAaa,0BAC3G4vB,EAASnvB,MAAO,GAElBmvB,EAAS1vB,GAAKyvB,EAAWgB,kBACzBf,EAASgB,UAAYjB,EAAWiB,UAChChB,EAASU,cAAgBX,EAAWW,cACpCV,EAASxc,UAAYuc,EAAWvc,UAChCwc,EAAS9uB,QAAU6uB,EAAW7uB,QAC9B8uB,EAASpvB,KAAOmvB,EAAWnvB,KAC3BovB,EAASlvB,YAAcivB,EAAWjvB,YAClCkvB,EAASjuB,YAAcguB,EAAWhuB,YAClCiuB,EAASluB,aAAeiuB,EAAWjuB,aACnCkuB,EAASiB,YAAclB,EAAWkB,YAClCjB,EAASnuB,qBAAuBkuB,EAAWluB,qBAG3CmuB,EAASkB,mBAAqBnB,EAAWmB,mBACzClB,EAASmB,uBAAyBpB,EAAWoB,uBAC7CnB,EAASoB,wBAA0BrB,EAAWqB,wBAC9CpB,EAASqB,qBAAuBtB,EAAWsB,qBAC3CrB,EAASsB,mBAAqBvB,EAAWuB,oBAIpCtB,I,+CAIsBD,GAE7B,IAAIC,EAAW,KACf,GAAGD,IAEDC,EAAWP,EAAW8B,wBAAwBxB,IAWxC,GAPGC,EAASsB,qBAEVtB,EAASwB,kBAAqBxB,EAASsB,mBAAmB9wB,OAC1DwvB,EAASyB,aAAgBzB,EAASsB,mBAAmB/wB,MACrDyvB,EAAS0B,mBAAsB1B,EAASsB,mBAAmBnvB,aAG1D6tB,EAASkB,oBAgBV,GAdAlB,EAASxvB,OAASuvB,EAAWmB,mBAAmBS,QAAU5B,EAAWmB,mBAAmBS,QAAUlC,EAAWmC,0BAA0B7B,GACvIC,EAAS7uB,aAAe4uB,EAAWmB,mBAAmB1wB,OAASuvB,EAAWmB,mBAAmB1wB,OAASivB,EAAWoC,uBAAuB9B,GACxIC,EAASzvB,MAAQyvB,EAASkB,mBAAmB3wB,MAAQyvB,EAASkB,mBAAmB3wB,MAAQkvB,EAAWqC,kCAAkC/B,GACtIC,EAAS+B,OAAS/B,EAASkB,mBAAmBa,OAAS/B,EAASkB,mBAAmBa,OAAStC,EAAWqC,kCAAkC/B,GAEzIC,EAAStvB,aAAe,GACxBsvB,EAAStvB,aAAaU,WAAa4uB,EAASkB,mBAAmBc,UAC7DhC,EAASkB,mBAAmBc,UAC5BvC,EAAWwC,+BAA+BlC,GAC5CC,EAAStvB,aAAaH,MAAQyvB,EAASkB,mBAAmBgB,WACxDlC,EAASkB,mBAAmBgB,WAC5BzC,EAAWqC,kCAAkC/B,GAE/CC,EAASjvB,SAAW,GACjBgvB,EAAWmB,mBAAmBnwB,SAAS,CACxC,IAAIoxB,EAAI,EACRpC,EAAWmB,mBAAmBnwB,SAASqxB,SAAS,SAAC3L,EAAMiF,GACrDsE,EAASjvB,SAAS+d,KAAK,CAAEnkB,MAAOw3B,EAAG5xB,MAAQkmB,EAAKlmB,MAAOS,cAAeylB,EAAKzlB,wBAI7E,CACA,IAAIqxB,EAAc5C,EAAWqC,kCAAkC/B,GAC3DuC,EAAY7C,EAAWwC,+BAA+BlC,GAC1DC,EAASxvB,OAASivB,EAAWmC,0BAA0B7B,GACvDC,EAAS7uB,aAAe4uB,EAAWvvB,OAASuvB,EAAWvvB,OAASivB,EAAWoC,uBAAuB9B,GAClGC,EAASzvB,MAAQ+xB,EACjBtC,EAAStvB,aAAe,CAAE,MAAS2xB,EAAa,WAAcC,EAAW,OAAU,IACnFtC,EAASjvB,SAAW0uB,EAAW8C,8BAA8BxC,GAKzE,OAAOC,I,iDAGwBtvB,GAE/B,IAAI0vB,EAAW,KAiCf,OAhCG1vB,KACD0vB,EAAW,IACF9vB,GAAKI,EAAaJ,GAC3B8vB,EAASvU,KAAOnb,EAAaH,MAC7B6vB,EAASjuB,YAAczB,EAAayB,YACpCiuB,EAASoC,WAAa9xB,EAAasxB,UACnC5B,EAAS5vB,OAASE,EAAaF,OAC/B4vB,EAASxvB,KAAOF,EAAaE,KAC7BwvB,EAAStvB,YAAcJ,EAAaC,OAEpCyvB,EAASqC,WAAa/xB,EAAa+xB,WAAa/xB,EAAa+xB,WAAa,SAC1ErC,EAASsC,WAAqC,MAAxBhyB,EAAaiyB,QAEhCjyB,EAAaiyB,UACdjyB,EAAaiyB,QAAQC,YAAa,EAClCxC,EAASuC,QAAUjyB,EAAaiyB,QAChCvC,EAASuC,QAAQryB,GAAK8vB,EAASuC,QAAQ5B,kBAEpCX,EAASxvB,KACVwvB,EAASuC,QAAQ/xB,KAAOwvB,EAASxvB,KAE3BwvB,EAAStvB,cACfsvB,EAASuC,QAAQ7xB,YAAcsvB,EAAStvB,aAG1CsvB,EAASW,kBAAoBX,EAASuC,QAAQ5B,kBAC9CX,EAAS5c,UAAY9S,EAAaiyB,QAAQnf,UAC1C4c,EAASM,cAAgBhwB,EAAaiyB,QAAQjC,cAC9CN,EAASY,UAAYtwB,EAAaiyB,QAAQ3B,YAIvCZ,I,6CAGoBL,GAE7B,IAAI8C,EAAa9C,EAAWW,cAE1B,OAAGmC,GAActzB,KAAaC,SACnBiB,4BAEHoyB,GAActzB,KAAaE,QACxBgB,4BAEHoyB,GAActzB,KAAaG,aACxBe,gCAEHoyB,GAActzB,KAAaI,aACxBc,gCAEHoyB,GAActzB,KAAaK,WAC1Ba,sBAECoyB,GAActzB,KAAaO,WACpC+yB,GAActzB,KAAaQ,cAC3B8yB,GAActzB,KAAaS,eAC3B6yB,GAActzB,KAAaU,eAC3B4yB,GAActzB,KAAaW,oBACnBO,6BAEDoyB,GAActzB,KAAaY,kBAC1BM,iCADJ,I,oDAK6BsvB,GAEhC,IAAI8C,EAAa9C,EAAWW,cAC5B,OAAGmC,GAActzB,KAAaC,SACnB,CACG,CAAC7E,IAAI,IAAK4F,MAAQ,kBAAmBS,cAAe,IACpD,CAACrG,IAAI,IAAK4F,MAAQ,6BAA8BS,cAAe,IAC/D,CAACrG,IAAI,IAAK4F,MAAQ,sBAAuBS,cAAe,IACxD,CAACrG,IAAI,IAAK4F,MAAQ,6BAA8BS,cAAe,aAC/D,CAACrG,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,cAGnE6xB,GAActzB,KAAaE,QACxB,CACL,CAAE9E,IAAI,IAAK4F,MAAQ,gBAAiBS,cAAe,IACnD,CAAErG,IAAI,IAAK4F,MAAQ,kBAAmBS,cAAe,IACrD,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,IAC3D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,0BAA2BS,cAAe,cAG3D6xB,GAActzB,KAAaG,aACxB,CACC,CAAE/E,IAAI,IAAK4F,MAAQ,gCAAiCS,cAAe,IACnE,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,IAC1D,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,IAClE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,aAC3D,CAAErG,IAAI,IAAK4F,MAAQ,cAAeS,cAAe,cAGrD6xB,GAActzB,KAAaI,aACxB,CACD,CAAEhF,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,wBAAyBS,cAAe,IAC3D,CAAErG,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,aACjE,CAAErG,IAAI,IAAK4F,MAAQ,+BAAgCS,cAAe,cAGpE6xB,GAActzB,KAAaK,WAC1B,CACC,CAAEjF,IAAI,IAAK4F,MAAQ,2BAA4BS,cAAe,IAC9D,CAAErG,IAAI,IAAK4F,MAAQ,iCAAkCS,cAAe,IACpE,CAAErG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,IAC/D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,aAC1D,CAAErG,IAAI,IAAK4F,MAAQ,uBAAwBS,cAAe,cAG1D6xB,GAActzB,KAAaO,WACpC+yB,GAActzB,KAAaQ,cAC3B8yB,GAActzB,KAAaS,eAC3B6yB,GAActzB,KAAaU,eAC3B4yB,GAActzB,KAAaW,oBACnB,CACL,CAAEvF,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,IACjE,CAAErG,IAAI,IAAK4F,MAAQ,oBAAqBS,cAAe,IACvD,CAAErG,IAAI,IAAK4F,MAAQ,mCAAoCS,cAAe,IACtE,CAAErG,IAAI,IAAK4F,MAAQ,4BAA6BS,cAAe,aAC/D,CAAErG,IAAI,IAAK4F,MAAQ,8BAA+BS,cAAe,cAG7D6xB,GAActzB,KAAaY,kBAC1BM,2BADJ,I,gDAKuBsvB,GAE7B,IAAI8C,EAAa9C,EAAWW,cAE7B,OAAGmC,GAActzB,KAAaC,SACnBiB,sBAEHoyB,GAActzB,KAAaE,QACxBgB,sBAEHoyB,GAActzB,KAAaG,aACxBe,0BAEHoyB,GAActzB,KAAaI,aACxBc,0BAEHoyB,GAActzB,KAAaK,WAC1Ba,gBAECoyB,GAActzB,KAAaO,WACpC+yB,GAActzB,KAAaQ,cAC3B8yB,GAActzB,KAAaS,eAC3B6yB,GAActzB,KAAaU,eAC3B4yB,GAActzB,KAAaW,oBACnBO,uBAEDoyB,GAActzB,KAAaY,kBAC1BM,2BADJ,I,wDAMiCsvB,GACvC,MAAO,gB,qDAG4BA,GACpC,IAAI8C,EAAa9C,EAAWW,cAE5B,OAAGmC,GAActzB,KAAaC,SACnB,aAEHqzB,GAActzB,KAAaE,QAC1B,YAEDozB,GAActzB,KAAaG,aAC1B,iBAEDmzB,GAActzB,KAAaI,aAC1B,iBAEDkzB,GAActzB,KAAaK,WAC1B,eAGJizB,GAActzB,KAAaO,WAC3B+yB,GAActzB,KAAaQ,cAC3B8yB,GAActzB,KAAaS,eAC3B6yB,GAActzB,KAAaU,eAC3B4yB,GAActzB,KAAaW,oBAEvB,YAED2yB,GAActzB,KAAaY,kBAC1B,kBADJ,I,yCAKmBmB,EAAa3F,EAAc+zB,EAAoBC,GAEvE,IAAO7S,EAAUzf,IAA+B,kBAE5CsZ,EAAYrV,EAAYqV,UACxBwG,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAE1B,IAAIoG,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAUoS,IAGxB,OAAOnS,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAE1B,OAAKA,EAASC,GAKcD,EAASE,OAERH,MAAM,SAAAoS,GAI7B,IAFA,IAAIrc,EAAgB,GAEZxU,EAAI,EAAGA,EAAI4wB,EAAkB3wB,OAAQD,IAAI,CAC7C,IAAI+zB,EAAoBnD,EAAkB5wB,GACtCg0B,EAAatD,EAAWuD,mBAAmBpD,EAAcE,qBAAsB,oBAAqBgD,EAAkBxyB,IAI1H,IAFI2yB,EAAoBj3B,OAAOC,OAAO,GAAI62B,EAAmBC,IAExClyB,KAAK,CACpB,GAAGiyB,EAAkB9wB,YAAY,CAE/B,IADA,IAAIkxB,EAAmB,GACfnG,EAAI,EAAGA,EAAI+F,EAAkB9wB,YAAYhD,OAAQ+tB,IAAI,CACzD,IAAIoG,EAAiBL,EAAkB9wB,YAAY+qB,GAC/CqG,EAAgB3D,EAAWuD,mBAAmBpD,EAAcE,qBAAsB,oBAAqBqD,EAAe7yB,IAC1H4yB,EAAiBpU,KAAM9iB,OAAOC,OAAO,GAAIk3B,EAAgBC,IAG3DH,EAAkBjxB,YAAgBkxB,EAGtC3f,EAAcuL,KAAMmU,IAM9B,IAAI,IAAII,EAAI,EAAGA,EAAI9f,EAAcvU,OAAQq0B,IAAI,CAC3C,IAAIC,EAAK/f,EAAc8f,GAEvB,GAAGC,EAAE,sBAA0B,CAC7B,IAAIC,EAAaD,EAAE,sBAA0BhyB,EAAa3F,GAC1D,GAAG43B,IAAcA,EAAUhyB,YAAY,CAErC,IAGU0xB,EAHNO,EAAc/D,EAAWuD,mBAAmBrD,EAAmB,KAAM4D,EAAU5xB,OAC/E8xB,EAAUhE,EAAWuD,mBAAmBpD,EAAcE,qBAAsB,oBAAqByD,EAAU5xB,OAC/G,GAAG6xB,GAAeC,GACRR,EAAoBj3B,OAAOC,OAAO,GAAIu3B,EAAaC,IACrC5yB,MAAO,EACzB0S,EAAc8f,GAAKJ,IAO/B,IAAIlf,EAAiB,GACrB,GAAG6b,EAAc7b,eAEb,IAAI,IAAIwc,EAAM,EAAGA,EAAMX,EAAc7b,eAAe/U,OAAQuxB,IAAM,CAChE,IAAIC,EAAWZ,EAAc7b,eAAewc,GAC5C,GAAGC,GAAYA,EAASvvB,UAAYuvB,EAASvvB,SAASjC,OAAS,EAAE,CAE/D,IAAIyxB,EAAc,MAAQD,EAASE,cACnC3c,EAAe0c,GAAe,GAC9B,IAAI,IAAIE,EAAK,EAAGA,EAAKH,EAASvvB,SAASjC,OAAQ2xB,IAAM,CAEjD,IAAIC,EAAUJ,EAASvvB,SAAS0vB,GAC5B+C,EAAajE,EAAWuD,mBAAmBrD,EAAmB,KAAMiB,EAAQG,mBAChF,GAAGH,GAAW8C,EAAW,CACvB,IAAI7C,EAAiB70B,OAAOC,OAAO,GAAIy3B,EAAY9C,GAC/C+C,GAAa,EACjB,GAAG9C,EAAc,sBAA0B,CACzC,IAAI0C,EAAa1C,EAAc,sBAA0BvvB,EAAa3F,GACnE43B,IAAcA,EAAUhyB,cACzBoyB,GAAa,GAIdA,GACD5f,EAAe0c,GAAa3R,KAAK+R,MAmBhD,MATA,CACGxd,YAAauc,EAAcvc,YAC3BC,OAAQsc,EAActc,OACtBrS,SAAUsS,EACVC,UAAWoc,EAAcpc,UACzBK,oBAAqB+b,EAAckB,gCACnC/c,eAAgBA,MA7FjB6J,QAAQC,OAAOJ,MAsG9BK,OAAM,SAAUC,GAEhB,MAAMA,O,yCAMYuI,EAAMC,EAASC,GAEvC,IADA,IAAIC,EAAO,KACH1nB,EAAI,EAAGA,EAAIunB,EAAKtnB,QAAkB,MAARynB,EAAc1nB,IAAI,CAClD,IAAI2nB,EAAaJ,EAAKvnB,GACnB2nB,EAAWH,IAAYC,IACtBC,EAAMC,GAIZ,OAAOD,I,wCAIgBmN,GAEvB,IAAO9W,EAAUzf,IAA+B,4BAE5C0f,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACR,eAAgB,oBAGjBC,KAAMC,KAAKC,UAAUsW,IAGxB,OAAOrW,MAAMT,EAASC,K,yCAGA8W,GAIxB,IAAO/W,EAAUzf,IAA+B,uBAE5C0f,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACR,eAAgB,oBAGjBC,KAAMC,KAAKC,UAAUuW,IAGxB,OAAOtW,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAE9B,OAAGA,EAASC,GACHE,QAAQa,QAAQhB,EAASC,IAGzBE,QAAQC,OAAOJ,EAASC,OAEpCI,OAAM,SAAUC,GACjB,MAAMA,O,uCAKR,OAAOH,QAAQa,QAAQxK,Q,yCAGD0C,EAAWgc,GAEnC,IAAO7V,EAAUzf,IAA+B,sBAE5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAE1B,IAAIoG,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAU,CAAC0T,UAAW2B,EAAQryB,GAAI2c,KAAM0V,EAAQ1V,QAG9D,OAAOM,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAE9B,OAAGA,EAASC,GACHD,EAASE,OAGTC,QAAQC,OAAOJ,MAE3BK,OAAM,SAAUC,GACjB,MAAMA,S,KCnoBV+V,GAAYzX,OAAOyX,UAElB,SAASC,GAAyBC,EAAKC,GAC5C,OAAO,SAACC,EAAUC,GAEhB,GAAGH,EAAI,CAED,IAAII,EAAkB,CAAEJ,IAAKA,EAAKC,eAAgBA,GAClD,OAAOxE,GAAW4E,mBAAmBD,KAK/C,SAASE,GAAU94B,GAEds4B,IAAat4B,GAASA,EAAM8F,aAAe9F,EAAM8F,YAAYkV,YAC5Dsd,GAAUhV,KAAK,CAACyV,QAAS/4B,EAAM8F,YAAYkV,aAMjD,SAASge,GAAalH,EAAU3sB,EAAQ8zB,EAAOzQ,GAE7C,IAAI0Q,EAAM,CAENC,MAAO,SACPC,YAAa5Q,EACb6Q,eAAgBvH,EAChBwH,aAAcn0B,EACdo0B,YAAaN,GAGjB,IACKX,IACDA,GAAUhV,KAAK4V,GAInB,MAAM54B,GACJk5B,QAAQC,IAAIn5B,IAIhB,SAASo5B,GAAcC,GAErB,IACK9Y,OAAM,KACNA,OAAM,IAAQ,cAAe8Y,GAGlC,MAAMr5B,GACJk5B,QAAQC,IAAIn5B,IAKT,SAASs5B,KACd,OAAO,SAAClB,EAAUC,GAYhB,OARAG,GAHYH,KAOT9X,OAAM,KACNA,OAAM,IAAQ,QAAS,WAAY,CAACgZ,KAAMhZ,OAAOC,SAASgZ,WAGtD,MAMJ,SAASC,GAAiBF,EAAMG,GACrC,OAAO,SAACtB,EAAUC,GAKlB,OAHEG,GADYH,KAGZK,GAAa,SAAWa,EAAM,QAASG,GAAW,IAC7C,MAIF,SAASC,GAAyBJ,EAAMG,GAC7C,OAAO,SAACtB,EAAUC,GAQlB,OANEG,GADYH,KAGZK,GAAa,WAAY,QAASgB,GAAW,IAC7CN,GAAa,kBACbA,GAAa,kBAAoBM,GAE5B,MAIF,SAASE,GAAoBC,EAAQC,GAC1C,OAAO,SAAC1B,EAAUC,GAMhB,OAJAG,GADcH,KAGdK,GAAa,WAAY,UAAYmB,EAAQC,GAAY,IAElD,MAiBJ,SAASC,KACd,OAAO,SAAC3B,EAAUC,GAMhB,OAJAG,GADYH,KAGZK,GAAa,UAAW,UAAW,qBACnCU,GAAa,mBACN,MAIJ,SAASY,GAAkBC,GAChC,OAAO,SAAC7B,EAAUC,GAMhB,OAJAG,GADYH,KAGZK,GAAa,YAAa,UAAWuB,GAE9B,MAIJ,SAASC,GAAWxf,GACzB,OAAO,SAAC0d,EAAUC,GACJA,IAMZ,OAFAK,GAAa,UAAW,QAAS,oBACjCU,GAAa,iBACN,MAIJ,SAASe,GAAat1B,EAAQ2vB,EAAM4F,GACzC,OAAO,SAAChC,EAAUC,GAEhB,IAEMG,GADYH,KAGZ,IAAIgC,EAAYt/B,SAASq/B,EAAU,IAChCC,IACDA,EAAY,MAGd3B,GAAa,UAAW7zB,EAAQ2vB,EAAM6F,GAE5C,MAAMC,IAKN,OAAO,MAIJ,SAASC,GAA2B11B,EAAQ2vB,EAAM4F,GACvD,OAAO,SAAChC,EAAUC,GAEhB,IAEMG,GADYH,KAGZK,GAAa,YAAa,eAAgB,kBAEhD,MAAM4B,IAKN,OAAO,MAIJ,SAASE,KACd,OAAO,SAACpC,EAAUC,GAWhB,OATAG,GADYH,KAGZK,GAAa,UAAW,aAAc,gBACtCU,GAAa,sBAMN,MAKJ,SAASqB,KACd,OAAO,SAACrC,EAAUC,GAMhB,OAJAG,GADYH,KAGZK,GAAa,UAAW,UAAW,kBACnCU,GAAa,mBACN,MAKJ,SAASsB,KACd,OAAO,SAACtC,EAAUC,GAMhB,OAJAG,GADYH,KAGZK,GAAa,UAAW,YAAa,oBACrCU,GAAa,oBACN,MAKJ,SAASuB,KACd,OAAO,SAACvC,EAAUC,GAKhB,OAHAG,GADYH,KAGZK,GAAa,WAAY,QAASnY,OAAOC,SAASgZ,UAC3C,MAIJ,SAASoB,GAAWC,GACzB,OAAO,SAACzC,EAAUC,GAYhB,OAVAG,GADYH,KAGTwC,GACDnC,GAAa,YAAa,cAAe,WACzCU,GAAa,mBAGbV,GAAa,YAAa,cAAe,WACzCU,GAAa,kBAER,MAIJ,SAAS0B,GAAYD,GAC1B,OAAO,SAACzC,EAAUC,GAYhB,OAVAG,GADYH,KAGTwC,GACDnC,GAAa,YAAa,eAAgB,WAC1CU,GAAa,oBAGbV,GAAa,YAAa,eAAgB,WAC1CU,GAAa,mBAER,MAKJ,SAAS2B,KACd,OAAO,SAAC3C,EAAUC,GAIhB,OAFAG,GADYH,KAGL,MAIJ,SAAS2C,KACd,OAAO,SAAC5C,EAAUC,GAIhB,OAFAG,GADYH,KAGL,MAIJ,SAAS4C,GAAkBC,GAChC,OAAO,SAAC9C,EAAUC,GAWhB,OATAG,GADYH,KAGZK,GAAa,UAAW,QAASwC,EAAYtG,cAAesG,EAAYxjB,WACrEwjB,EAAYhG,WACXwD,GAAa,eAAgBwC,EAAYtG,cAAesG,EAAYxjB,UAAWwjB,EAAYhG,WAE/FkE,GAAa,iBACbA,GAAa,iBAAmB8B,EAAYtG,eAErC,MAIJ,SAASuG,GAAsBC,GACpC,OAAO,SAAChD,EAAUC,GAMhB,OAJAG,GADYH,KAGZK,GAAa,YAAa,cAAe0C,GAElC,MAIJ,SAASC,KACd,OAAO,SAACjD,EAAUC,GAMhB,OAJAG,GADYH,KAGZK,GAAa,YAAa,eAAgB,mBAEnC,MAIJ,SAAS4C,GAAwBC,GACtC,OAAO,SAACnD,EAAUC,GAMhB,OAJAG,GADYH,KAGZK,GAAa,YAAa,gBAAiB6C,GAEpC,MCxVJ,SAASC,KACd,MAAO,CAAC3P,KAAM2G,MAGT,SAASiJ,GAAc9jB,GAC5B,MAAO,CAACkU,KAAM2G,KAAuB7a,WAQhC,SAAS+jB,GAAwB77B,EAAcohB,GACpD,MAAO,CAAC4K,KAAM2G,KAAkC3yB,eAAcohB,WAGzD,SAAS0a,GAAkB1hB,GAChC,MAAO,CAAC4R,KAAM2G,MAAgCvY,eAIzC,SAAS2hB,KAA6H,IAA5G3a,EAA2G,uDAAjG,CAAC8Q,cAAc,EAAMC,gBAAgB,EAAMC,gBAAiB,GAAQ4J,EAA6B,wDAAfC,EAAe,wDAC1I,OAAO,SAAC1D,EAAUC,GAEhB,IAAI34B,EAAQ24B,IACR0D,EAAoBr8B,EAAMG,aAG9B,OAAIg8B,GAIKE,EAAkBzjB,qBAAuByjB,EAAkBxjB,mBAG1D6f,EAASsD,GAAwBK,EAAmB9a,IACpDmX,EAAS4D,IAA2B,IAC7Bla,QAAQa,QAAQoZ,KAMjC3D,EAASqD,IAAc,IACvBxa,EAAQ6a,MAAQA,EACThK,GAASmK,gBAAgBv8B,EAAM8F,YAAYqV,UAAWoG,GAASS,MAAK,SAAA7hB,GAMvE,OAJAu4B,EAASsD,GAAwB77B,EAAcohB,IAC/CmX,EAASuD,GAAkB97B,EAAY,cACvCu4B,EAAS4D,IAA2B,IAE7Bla,QAAQa,QAAQ9iB,MACxBmiB,OAAM,SAAAC,GAEP,GAAmB,KAAhBA,EAAMia,OAIP,OADAhD,QAAQC,IAAI,uBAAwB53B,IAAqCw6B,EAAkBzjB,qBAAsByjB,EAAkBxjB,kBAAmBsjB,EAAQC,GAC3JC,EAAkBzjB,qBAAuByjB,EAAkBxjB,kBACrDuJ,QAAQa,UAEV,IAAIb,SAAQ,SAACa,EAASZ,GACzB0N,YAAW,WAEP9M,EAAQyV,EAASwD,GAAiB3a,GAAS,GAAO,OACnD1f,QAIJ,GAAmB,KAAhB0gB,EAAMia,OAAe,CASzB,OADA9D,EAASsD,GAPc,CACrB57B,UAAW,CACTkZ,0BAA2B,EAC3BH,SAAS,IAIsCoI,IAC5Ca,QAAQa,UAKf,OAFAyV,EAAShgB,GAAQ,WAAY,iBAEtB0J,QAAQa,eAgFlB,SAASwZ,GAA8B5iB,GAC5C,MAAO,CAAEsS,KAAM2G,KAAiCjZ,gBAG3C,SAAS6iB,GAAmB3iB,EAAS7B,GAC1C,MAAO,CAAEiU,KAAM2G,MAA4B/Y,UAAS7B,UAG/C,SAASykB,KACd,OAAO,SAACjE,EAAUC,GAChB,IACIiE,EADQjE,IACkBx4B,aAAa0Z,aAE3C,IAAK+iB,EAAkB1iB,QACrB,OAAOkY,GAASyK,kBAAkB7a,MAAK,SAAC8a,GAQtC,OAFAC,GALcD,EAAqB/iB,SAAW6iB,EAAkB7iB,QAChD+iB,EAAqB7iB,kBAAoB2iB,EAAkB3iB,iBACvD6iB,EAAqB9iB,gBAAkB4iB,EAAkB5iB,gBAChE,EAE0D0e,GAEhEoE,KAENxa,OAAM,SAAAC,GAOPwa,GALcH,EAAkB7iB,QAChB6iB,EAAkB3iB,iBACd2iB,EAAkB5iB,gBACzB,EAE0D0e,OAO/E,SAASqE,GAA4BhjB,EAASijB,EAAWC,EAAe/kB,EAAQwgB,GAC9E,IAAIwE,GAAY,EACZhjB,EAAUijB,aAAY,WACxB,GAAID,EAAW,CACb,IAAIE,EAAe3U,KAAKC,MAAMD,KAAK4U,SAAWL,GAAa,EAE3DtE,EAASgE,GADT3iB,GAAoBqjB,EACiBllB,OAEtC+kB,GAECK,EAAK,GACTA,EAAGpjB,QAAUA,EACbojB,EAAGvjB,QAAUA,EACbujB,EAAGrjB,iBAAmB+iB,EACtBM,EAAGtjB,eAAiBijB,EACpBK,EAAGplB,OAASA,EAEZwgB,EAAS+D,GAA8Ba,IACvCJ,GAAY,ECvNP,SAASK,GAAsBzN,EAAQ0N,EAAaziB,GAEzD,MAAO,CAACoR,KAAM2G,KAAyBhD,SAAQ0N,cAAaziB,mBAGvD,SAAS0iB,GAAe3N,GAAuB,IAAfqM,EAAc,wDACnD,OAAO,SAACzD,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAERjiB,EAAmB1W,EAAMT,KAAKmX,iBAC9B5Q,EAAc9F,EAAM8F,YACxB,IAAIq2B,GACDzlB,EAAiBE,UAAUuZ,eAAeL,IAC1CpZ,EAAiBC,uBAAuBwZ,eAAeL,IACvDpZ,EAAiBC,uBAAuBmZ,IAAWhqB,EAAYiV,gBAE/D,OAAO,KAIV,IAAI2iB,EAAsB19B,EAAMT,KAAKgX,aACjConB,EAA+B39B,EAAMT,KAAKiX,sBAE9C,OAAOqZ,GAAU4N,eAAe3N,EAAQhqB,EAAa43B,EAAqBC,GAA8B3b,MAAK,SAAAwb,GAE3G9E,EAAS6E,GAAsBzN,EAAQ0N,EAAa13B,EAAYiV,qBAC/DuH,OAAM,SAAAC,GACP,MAAMA,MAKL,SAASqb,GAAuB/mB,GAErC,MAAO,CAACsV,KAAM2G,KAAkCjc,gBAG3C,SAASgnB,KAA+B,IAAf1B,EAAc,wDAC5C,OAAO,SAACzD,EAAUC,GAEhB,IAAI34B,EAAQ24B,IACZ,OAAIwD,GAAUn8B,EAAM6W,aACX,KAGFgZ,GAAUgO,gBAAgB79B,EAAM8F,aAAakc,MAAK,SAAA8b,GACvDpF,EAASkF,GAAuBE,OAC/Bxb,OAAM,SAAAC,GACP,MAAMA,M,ICxDNwb,G,YACJ,WAAY79B,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CAACkY,QAAQ,GACtB,EAAK8lB,qBAAuB,EAAKA,qBAAqBtP,KAA1B,gBAJF,E,iFAQ1BtoB,KAAK43B,yB,2CAIL53B,KAAK43B,yB,6CAID53B,KAAKpG,MAAMkY,QACV2I,OAAOod,YAAcpd,OAAOod,WAAWC,SAAWrd,OAAOod,WAAWC,QAAQC,mBAC7Etd,OAAOod,WAAWC,QAAQC,iBAAiBC,aAC3Ch4B,KAAKi4B,SAAS,CAACnmB,QAAQ,S,GApBOsX,IAAMC,WA0BtC6O,G,YACJ,WAAYp+B,EAAOsuB,GAAU,qEACrBtuB,EAAOsuB,I,sEAGb,OACE,yBAAK+P,MAAM,oBAAoBC,cAAY,QAAQC,mBAAiB,2BAA2BC,uBAAqB,2BAA2BC,oBAAkB,OAAOC,mBAAiB,OAAOC,aAAW,SACzM,uBAAGz5B,KAAK,6DAA6DwmB,OAAO,SAASkT,IAAI,YAAzF,mB,GAP8Bf,IAahCgB,GAA4B,SAAC,GAAmB,EAAlBloB,aAClC,OACE,yBAAKiJ,UAAU,kEACb,kBAAC,GAAD,QAQAkf,G,YACF,WAAY9+B,EAAOsuB,GAAU,qEACrBtuB,EAAOsuB,I,sEAIf,OAEA,yBAAK+P,MAAM,oBAAoBC,cAAY,QAAQC,mBAAiB,2BAA2BC,uBAAqB,2BAA2BC,oBAAkB,QAAQC,mBAAiB,OAAOC,aAAW,QAAQI,aAAW,OAC7N,uBAAG75B,KAAK,6DAA6DwmB,OAAO,SAASkT,IAAI,YAAzF,mB,GATwBf,IAuCxBmB,G,YACF,WAAYh/B,EAAOsuB,GAAU,qEACrBtuB,EAAOsuB,I,sEAIjB,OAEF,yBAAK1O,UAAU,oBAAoB0e,cAAY,QAAQC,mBAAiB,2BAA2BC,uBAAqB,2BAA2BC,oBAAkB,OAAOC,mBAAiB,OAAOC,aAAW,SAC7M,uBAAGz5B,KAAK,6DAA6DwmB,OAAO,SAASkT,IAAI,YAAzF,mB,GAT0Bf,IAqCtBoB,G,YACF,WAAYj/B,EAAOsuB,GAAU,qEACrBtuB,EAAOsuB,I,sEAIjB,OAEF,yBAAK1O,UAAU,oBAAoB0e,cAAY,QAAQC,mBAAiB,2BAA2BC,uBAAqB,2BAA2BC,oBAAkB,OAAOC,mBAAiB,OAAOC,aAAW,SAC7M,uBAAGz5B,KAAK,6DAA6DwmB,OAAO,SAASkT,IAAI,YAAzF,mB,GAT6Bf,IAoDzBqB,G,YACF,WAAYl/B,EAAOsuB,GAAU,qEACrBtuB,EAAOsuB,I,sEAIjB,OAGF,yBAAK1O,UAAU,oBAAoB0e,cAAY,QAAQC,mBAAiB,2BAA2BC,uBAAqB,2BAA2BC,oBAAkB,QAAQC,mBAAiB,OAAOC,aAAW,QAAQI,aAAW,OACjO,uBAAG75B,KAAK,6DAA6DwmB,OAAO,SAASkT,IAAI,YAAzF,mB,GAV4Bf,IAgCxBsB,G,YACJ,WAAYn/B,EAAOsuB,GAAU,qEACrBtuB,EAAOsuB,I,sEAIjB,OAEE,yBAAK1O,UAAU,oBAAoB0e,cAAY,QAAQC,mBAAiB,2BAA2BC,uBAAqB,2BAA2BC,oBAAkB,QAAQC,mBAAiB,OAAOC,aAAW,SAC9M,uBAAGz5B,KAAK,6DAA6DwmB,OAAO,SAASkT,IAAI,YAAzF,mB,GAT0Bf,IAoCxBuB,GAAqB,SAAC,GAAoB,IAAnBzoB,EAAkB,EAAlBA,aAC3B,OACE,yBAAKiJ,UAAU,kEACb,wBAAIA,UAAU,iCAAiCjJ,EAAapV,IAA0BoV,EAAanV,qBAAuB,UAC1H,kBAAC,GAAD,QAKA69B,GAAmB,SAAC,GAAoB,IAAnB1oB,EAAkB,EAAlBA,aACzB,OACE,yBAAKiJ,UAAU,kEACb,wBAAIA,UAAU,iCAAiCjJ,EAAapV,IAA0BoV,EAAanV,qBAAuB,UAE1H,kBAAC,GAAD,CAAgBmV,aAAcA,MAK9B2oB,GAA0B,SAAC,GAAmB,EAAlB3oB,aAChC,OACE,yBAAKiJ,UAAU,kEACb,kBAAC,GAAD,QAKA2f,GAAkB,WACtB,OACE,yBAAK3f,UAAU,qBACb,kBAAC,GAAD,QA6BN,IAwBe4f,GAxBW,SAAC,GAAoG,IAAD,IAAjG5lB,iBAAiG,aAA9EqS,YAA8E,MAAvE,GAAuE,MAAnEwT,iBAAmE,aAAhDC,8BAAgD,MAAvB,GAAuB,EAAnB/oB,EAAmB,EAAnBA,aACrGgpB,EAAU,8BAEd,GAAI/lB,EAAW,CACb,IAAI8V,EA7BR,SAAsCkQ,GAClC,IAAIlQ,EAAY,8BACVzD,EAAS2T,EAAT3T,KAkBN,MAhBa,aAATA,EACFyD,EAAY,kBAAC,GAAuBkQ,GAClB,WAAT3T,EACTyD,EAAY,kBAAC,GAAqBkQ,GAChB,mBAAT3T,EACTyD,EAAY,kBAAC,GAA4BkQ,GACvB,UAAT3T,EACTyD,EAAY,kBAAC,GAAoBkQ,GAEjB,qBAAT3T,EACPyD,EAAY,kBAAC,GAA8BkQ,GAE3B,SAAT3T,IACPyD,EAAY,kBAAC,GAAmBkQ,IAG3BlQ,EASSmQ,CAA4B,CAAC5T,OAAMtV,iBAEnDgpB,EACE,6BAAS/f,UAAW,uBAAyB8f,GAA0BD,EAAY,iCAAmC,MACnH/P,GAKP,OAAOiQ,GC7RHG,I,mBAEJ,WAAY9/B,GAAQ,IAAD,8BACjB,4CAAMA,KAEDF,MAAQ,CACXigC,QAAS,GACTC,SAAS,GALM,E,iFAWjB95B,KAAKlG,MAAMigC,QAAQxD,yBAEnB,IAAIsD,EAAU75B,KAAKlG,MAAM2W,aAAapV,IAA0B,WAEhE2E,KAAKi4B,SAAS,CAAC4B,QAASA,M,yCAGPtR,EAAWC,GAC1B,GAAGxoB,KAAKpG,MAAMigC,QAAQz8B,OAAS,IAAM4C,KAAKpG,MAAMkgC,QAAQ,CACtD,IAAIA,EC1D6B,WAEvC,IAAIA,GAAU,EACd,IAEE9U,IAAE,qBAAqBgV,MAAM,CAC3BC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,MAAO,IACPC,aAAc,EACdC,UAAU,EACVC,cAAe,MAGjBT,GAAU,EAGV,MAAM5/B,IAKN,OAAO4/B,EDmCWU,GACdx6B,KAAKi4B,SAAS,CAAC6B,e,+BAKnB,IAAItQ,EAAY,8BAiDhB,OA/CIxpB,KAAKlG,MAAM4Z,YACb8V,EAEE,6BAAS9P,UAAU,mBACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,UACb,yBAAKA,UAAU,eACb,mDACA,yBAAKhb,GAAG,UAAUgb,UAAU,UAAU+gB,eAAa,WAAnD,iBAsCPjR,M,GA7EkBJ,IAAMC,YAuFnCuQ,GAAec,aAAe,CAC5BnB,WAAW,GA8BEoB,oBA3Bf,SAAyB/gC,EAAOghC,GAE9B,IAAInqB,EAAe,GACf7W,EAAM6W,eACRA,EAAe7W,EAAM6W,cAGvB,IAAIgD,EAAe,GAKnB,OAJI7Z,EAAMG,aAAa0Z,eACrBA,EAAe7Z,EAAMG,aAAa0Z,cAG7B,CACLC,UAAWD,EAAaC,UACxBC,QAAUF,EAAaE,QACvBC,eAAgBH,EAAaG,eAC7B9B,OAAQ2B,EAAa3B,OACrBrB,aAAcA,MAIlB,SAA4B6hB,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAeC,GAAgBzI,MAInEqI,CAA6Cf,IEjJ/CoB,GAA8B,SAAC,GAAkB,EAAjBvqB,aAErC,OACE,6BAASiJ,UAAU,gBACnB,yBAAKA,UAAU,aACb,2CACA,yBAAKA,UAAU,mBACb,yBAAKA,UAAU,yCACb,uBAAG1a,KAAK,KACN,yBAAK0a,UAAU,YAAYsN,IAAKnoB,gBAA0BooB,IAAI,OAGlE,yBAAKvN,UAAU,4CACb,uBAAG1a,KAAK,KACN,yBAAK0a,UAAU,YAAYsN,IAAKnoB,cAAwBooB,IAAI,OAGhE,yBAAKvN,UAAU,4CACb,uBAAG1a,KAAK,sGACN,yBAAK0a,UAAU,YAAYsN,IAAKnoB,mBAA6BooB,IAAI,OAGrE,yBAAKvN,UAAU,qDACb,uBAAG1a,KAAK,KACN,yBAAK0a,UAAU,YAAYsN,IAAKnoB,mBAA6BooB,IAAI,OAGrE,yBAAKvN,UAAU,4CACb,uBAAG1a,KAAK,KACN,yBAAK0a,UAAU,YAAYsN,IAAKnoB,iBAA2BooB,IAAI,WAe3EgU,GACK,SADLA,GAEK,SAGLC,GAA4B,SAAC,GAAoJ,EAAnJx7B,YAAoJ,IAAvIiV,EAAsI,EAAtIA,gBAAiBlE,EAAqH,EAArHA,aAAc0qB,EAAuG,EAAvGA,gBAAiBC,EAAsF,EAAtFA,aAA0BC,GAA4D,EAAxEC,WAAwE,EAA5DD,eAA4D,IAA7CE,qBAA6C,aAAtBC,qBAAsB,MAAR,GAAQ,EAEnLC,EAAY,+BACZC,EAAkB,+BACnBL,IACEA,GAAiBJ,GAClBQ,EAAY,uBAAG/hB,UAAU,oEAAoEhb,GAAG,wBAAwBqoB,QAASoU,GACpH,8BACE1qB,EAAY,iBAIrB4qB,GAAiBJ,KACvBQ,EAAY,uBAAGz8B,KAAK,wBAAwB0a,UAAU,oEAAoEhb,GAAG,yBAChH,8BACE+R,EAAY,mBAM5B8qB,IACDG,EAAkB,uBAAGhiB,UAAU,mEAAmE1a,KAAK,2BACrG,8BACKyR,EAAY,iBAKrB,IAAIkrB,EAAWlrB,EAAapV,IAAaoV,EAAanV,qBAAuB,wBAA0BkgC,GAKrG,OAJEG,IACFA,EAAWlrB,EAAapV,IAAaoV,EAAanV,qBAAuB,0BAIvE,6BACI,wBAAIsgC,wBAAyBC,EAAmBF,KAChD,uBAAGjiB,UAAU,YAAYkiB,wBAAyBC,EAAmBprB,EAAapV,IAAaoV,EAAanV,qBAAuB,iBAAmBkgC,MAErJC,EACAC,EAED,kBAAC,GAAD,CACEnhB,SAA4B,cAAlBihB,EAAgC,YAAa,GACvD7mB,gBAAiBA,EACjBsF,KAAQxJ,EAAapV,IAAiBoV,EAAanV,qBAAuB,mDAC1EC,SAAUkV,EAAapV,IAAiBoV,EAAanV,qBAAuB,mDAC5EiuB,YAAa6R,MAMjBU,GAAgC,SAAC,GAA2F,IAA1FrrB,EAAyF,EAAzFA,aAAyF,EAA3E0qB,gBAA2E,EAA1DxmB,gBAA0D,EAAzCymB,aAAyC,EAA3B17B,YAA2B,EAAdgb,SAE3G,OAEQ,6BACE,wBAAIhB,UAAU,sBAAsBkiB,wBAAyBC,EAAmBprB,EAAapV,IAAiBoV,EAAanV,qBAAuB,0BAClJ,2BAAG,0BAAOoe,UAAU,sBAAsBkiB,wBAAyBC,EAAmBprB,EAAapV,IAAiBoV,EAAanV,qBAAuB,2BACxJ,2BAAG,0BAAOoe,UAAU,sBAAsBkiB,wBAAyBC,EAAmBprB,EAAapV,IAAiBoV,EAAanV,qBAAuB,2BACxJ,uBAAG0D,KAAK,wBAAwB0a,UAAU,oEAAoEhb,GAAG,yBAC9G,8BACE+R,EAAY,mBAStBsrB,GAAoC,SAAC,GAAyH,IAAxHtrB,EAAuH,EAAvHA,aAAc0qB,EAAyG,EAAzGA,gBAAiBxmB,EAAwF,EAAxFA,gBAAiBymB,EAAuE,EAAvEA,aAAc17B,EAAyD,EAAzDA,YAAa47B,EAA4C,EAA5CA,WAAY5gB,EAAgC,EAAhCA,SAAgC,IAAtB8gB,qBAAsB,MAAR,GAAQ,EAGtKQ,EAAe,KAEfC,EAAmB,kBAAC,GAAD,CACrBd,gBAAiBA,EACjBC,aAAcA,EACdzmB,gBAAiBA,EACjBlE,aAAcA,EACd/Q,YAAaA,EACb47B,WAAYA,EACZ5gB,SAAUA,EACV2gB,cAAeJ,GACfM,eAAe,EACfC,cAAeA,IAqDT,OAjDLF,GAAcjgC,KAEf4gC,EAAmB,kBAAC,GAAD,CACjBd,gBAAiBA,EACjBC,aAAcA,EACdzmB,gBAAiBA,EACjBlE,aAAcA,EACd/Q,YAAaA,EACb47B,WAAYA,EACZ5gB,SAAUA,IAGZshB,EAAe,yBAAKtiB,UAAU,2CAC5B,yBAAKsN,IAAKnoB,sBAAgC6a,UAAU,iEAIhD4hB,GAAcjgC,MAEpB4gC,EAAmB,kBAAC,GAAD,CACjBd,gBAAiBA,EACjBC,aAAcA,EACdzmB,gBAAiBA,EACjBlE,aAAcA,EACd/Q,YAAaA,EACb47B,WAAYA,EACZ5gB,SAAUA,EACV2gB,cAAeJ,GACfM,eAAe,EACfC,cAAeA,IAIfQ,EADkB,UAAjBR,EACc,yBAAK9hB,UAAW,wDAA0D8hB,GACvF,yBAAKxU,IAAKnoB,wBAAkC6a,UAAU,iCAGjC,eAAjB8hB,EACS,yBAAK9hB,UAAW,wDAA0D8hB,GACvF,yBAAKxU,IAAKnoB,qBAA+B6a,UAAU,iCAItC,yBAAKA,UAAU,2CAC9B,yBAAKsN,IAAKnoB,oBAA8B6a,UAAU,iEAO1C,6BAASH,KAAK,iBAAiBG,UAAU,kCACvC,yBAAKA,UAAU,2EACT,yBAAKA,UAAU,OACX,yBAAKA,UAAYsiB,EAAe,uDAA0D,IACvFA,GAGH,yBAAKtiB,UAAW,yBACbsiB,EAAe,6HACA,oFACfC,OAedC,GAAoB,SAAC,GAA+E,EAA9EC,SAA+E,IAArEhsB,EAAoE,EAApEA,aAAoE,KAAtDM,aAAsD,EAAxC8J,SAAwC,EAAjBsL,aAAiB,MAAV,KAAU,EAC/G,OACE,oCAEE,yBAAKnM,UAAU,mBACf,0BAAMhb,GAAG,mBACP,kBAAC,EAAD,CAAMyR,aAAcA,EAAcuY,SAAS,yDAAyDD,UAAU,cAAc5C,KAAMA,EAAMS,cAAc,IAGtJ,6BAAS5M,UAAU,aACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,gCACb,qDAA2C,6BAA3C,cACA,0FAA+D,6BAA/D,oCACA,uBAAG1a,KAAM4a,IAAkCF,UAAU,mBAArD,gBACA,oCACA,uBAAG1a,KAAM4a,IAAgCF,UAAU,QAAnD,eAEF,yBAAKA,UAAU,kCACb,yBAAKA,UAAU,cACb,yBAAKA,UAAU,YAAYsN,IAAKnoB,oBAA8BooB,IAAI,KAClE,uBAAGjoB,KAAM4a,IAAkCF,UAAU,mBAArD,gBACA,oCACA,uBAAG1a,KAAM4a,IAAgCF,UAAU,QAAnD,sBC9NL0iB,IAxBwBhT,IAAMC,UAwBT,SAAC,GAA6B,EAA5BrP,MAA4B,EAArBmhB,gBAEnC,OAsCR,6BAASzhB,UAAU,oBACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,kCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,0CACb,yBAAKA,UAAU,uBAAuBhb,GAAG,gBAAgBsoB,IAAKnoB,kBAA4BooB,IAAI,KAC9F,yBAAKvN,UAAU,YAAYhb,GAAG,gBAAgBsoB,IAAKnoB,kBAA4BooB,IAAI,KACnF,yBAAKvN,UAAU,YAAYhb,GAAG,gBAAgBsoB,IAAKnoB,kBAA4BooB,IAAI,KACnF,yBAAKvN,UAAU,YAAYhb,GAAG,gBAAgBsoB,IAAKnoB,kBAA4BooB,IAAI,KAEnF,yBAAKvN,UAAU,kCAAkChb,GAAG,mBAAmBsoB,IAAKnoB,YAAsBooB,IAAI,KACtG,yBAAKvN,UAAU,uBAAuBhb,GAAG,mBAAmBsoB,IAAKnoB,YAAsBooB,IAAI,KAC3F,yBAAKvN,UAAU,uBAAuBhb,GAAG,mBAAmBsoB,IAAKnoB,YAAsBooB,IAAI,KAC3F,yBAAKvN,UAAU,uBAAuBhb,GAAG,mBAAmBsoB,IAAKnoB,YAAsBooB,IAAI,MAE7F,yBAAKvN,UAAU,sCACb,6CACA,yBAAKA,UAAU,YAAYhb,GAAG,iBAC5B,yBAAKgb,UAAU,oBACX,yBAAKA,UAAU,cAAchb,GAAG,YAC9B,wBAAIgb,UAAU,QACZ,4BAAQA,UAAU,eAAeqM,KAAK,SAASC,cAAY,WAAWqW,cAAY,aAAanW,gBAAc,OAAOoW,gBAAc,aAAlI,uBAMJ,yBAAK59B,GAAG,YAAYgb,UAAU,gBAAgByM,kBAAgB,WAAWoW,cAAY,kBACnF,yBAAK7iB,UAAU,aACb,mIAIR,yBAAKA,UAAU,QACX,yBAAKA,UAAU,cAAchb,GAAG,YAC9B,wBAAIgb,UAAU,QACZ,4BAAQA,UAAU,yBAAyBqM,KAAK,SAASC,cAAY,WAAWqW,cAAY,aAAanW,gBAAc,OAAOoW,gBAAc,aAA5I,oBAMJ,yBAAK59B,GAAG,YAAYgb,UAAU,WAAWyM,kBAAgB,WAAWoW,cAAY,kBAC9E,yBAAK7iB,UAAU,aACf,uKAIN,yBAAKA,UAAU,QACX,yBAAKA,UAAU,cAAchb,GAAG,YAC9B,wBAAIgb,UAAU,QACZ,4BAAQA,UAAU,yBAAyBqM,KAAK,SAASC,cAAY,WAAWqW,cAAY,aAAanW,gBAAc,OAAOoW,gBAAc,aAA5I,yBAMJ,yBAAK59B,GAAG,YAAYgb,UAAU,WAAWyM,kBAAgB,WAAWoW,cAAY,kBAC9E,yBAAK7iB,UAAU,aACb,4IAIR,yBAAKA,UAAU,QACX,yBAAKA,UAAU,cAAchb,GAAG,YAC9B,wBAAIgb,UAAU,QACZ,4BAAQA,UAAU,yBAAyBqM,KAAK,SAASC,cAAY,WAAWqW,cAAY,aAAanW,gBAAc,OAAOoW,gBAAc,aAA5I,+BAMJ,yBAAK59B,GAAG,YAAYgb,UAAU,WAAWyM,kBAAgB,WAAWoW,cAAY,kBAC9E,yBAAK7iB,UAAU,aACb,2HAKV,uBAAG1a,KAAM4a,IAAgCF,UAAU,8BAAnD,iBAIN,yBAAKA,UAAU,qCACb,6CACA,yBAAKA,UAAU,mBACb,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,WACb,yBAAKA,UAAU,YAAYsN,IAAKnoB,kBAA4BooB,IAAI,KAChE,0BAAMvN,UAAU,SAAQ,yBAAKA,UAAU,YAAYsN,IAAKnoB,YAAsBooB,IAAI,OAEpF,4EACA,iIAEF,yBAAKvN,UAAU,iBACb,yBAAKA,UAAU,WACb,yBAAKA,UAAU,YAAYsN,IAAKnoB,qBAA+BooB,IAAI,KACnE,8BAAM,yBAAKvN,UAAU,YAAYsN,IAAKnoB,YAAsBooB,IAAI,OAElE,8CACA,qKAEF,yBAAKvN,UAAU,iBACb,yBAAKA,UAAU,WACb,yBAAKA,UAAU,YAAYsN,IAAKnoB,qBAA+BooB,IAAI,KACnE,8BAAM,yBAAKvN,UAAU,YAAYsN,IAAKnoB,YAAsBooB,IAAI,OAElE,mFACA,0IAEF,yBAAKvN,UAAU,iBACb,yBAAKA,UAAU,WACb,yBAAKA,UAAU,YAAYsN,IAAKnoB,qBAA+BooB,IAAI,KACnE,8BAAM,yBAAKvN,UAAU,YAAYsN,IAAKnoB,YAAsBooB,IAAI,OAElE,yDACA,8HAkBGuV,GAAW,SAAC,GAAa,IAAZxiB,EAAW,EAAXA,MAClB,OACI,6BAASN,UAAU,eACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,eACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,+BACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,sBACb,6CAAkB,6BAAlB,sBACA,0FAA+D,6BAA/D,6CAEF,yBAAKA,UAAU,UACb,yBAAKA,UAAU,gBAAgBhb,GAAG,gBAE9Bsb,EAAMoM,KAAK,SAACvB,EAAMiF,GACd,OACI,yBAAKpQ,UAAU,OAAO3gB,IAAK+wB,GACzB,yBAAKpQ,UAAU,cAAchb,GAAI,cAAcmmB,EAAK9rB,KAClD,wBAAI2gB,UAAU,QACZ,4BAAQA,UAAU,yBAAyBqM,KAAK,SAASC,cAAY,WAAWqW,cAAa,gBAAgBxX,EAAK9rB,IAAKmtB,gBAAc,QAAQoW,gBAAe,eAAezX,EAAK9rB,KAC7K8rB,EAAKlmB,SAKZ,yBAAKD,GAAI,eAAemmB,EAAK9rB,IAAK2gB,UAAU,WAAWyM,kBAAiB,cAActB,EAAK9rB,IAAKwjC,cAAY,iBAC1G,yBAAK7iB,UAAU,aACVmL,EAAK5K,YAQ1B,uBAAGjb,KAAM4a,IAAyCF,UAAU,mBAA5D,6BC3OpB+iB,GAAiB,SAAC,GAA2B,EAA1Bha,SAA2B,IACxCia,EADuC,EAAhBC,WAE3B,OACE,yBAAKjjB,UAAU,yCACb,yBAAKA,UAAU,QACb,yBAAKA,UAAU,YAAYsN,IAAK0V,EAAQ99B,OAAQqoB,IAAI,MAErDyV,EAAQ/9B,MACR+9B,EAAQn8B,cA6DNq8B,GAnDgB,SAAC,GAA+C,EAA9CnsB,aAA+C,IAAjCtR,EAAgC,EAAhCA,SAoB3C09B,GApB2E,EAAtBC,iBAoBzC,IACmBzhC,IAE3B,OACE,6BAASqe,UAAU,oBACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,yBACb,yBAAKA,UAAU,gBACf,yBAAKA,UAAU,wBACf,yBAAKA,UAAU,OACb,yBAAKA,UAAU,4BACb,wCAAa,6BAAb,iBAAgC,6BAAhC,oBA9BH,WAIjB,IAFF,IAAIqjB,EAAiB,GAEX5/B,EAAI,EAAGA,EAAIgC,EAAS/B,OAAQD,IAC/B0/B,EAAU3f,KAAK/d,EAAShC,IACD,GAApB0/B,EAAUz/B,QAAeD,EAAI,GAAKgC,EAAS/B,SAC7C2/B,EAAe7f,KACQ2f,EAAUzW,KAAI,SAAA4W,GACV,OAAQ,kBAAC,GAAD,CAAgBjkC,IAAKikC,EAAQjkC,IAAK4jC,WAAYK,EAASva,UAAU,QAGnGoa,EAAY,IAGnB,OAAOE,EAiBcE,GACH,uBAAGj+B,KAAM4a,IAAuCF,UAAU,kCAA1D,sBAA8G,yBAAKA,UAAU,YAAYsN,IAAKnoB,0BAAoCooB,IAAI,QAG1L,yBAAKvN,UAAU,6B,SCfhBwjB,IA3CKzhC,IAyBK,SAAC,GAAkD,EAAjDwe,KAAiD,EAA3CkjB,aAA2C,EAA7BC,KAA6B,EAAnBC,WAGvD,OACE,yBAAK3jB,UAAU,mCACb,2BAAOqM,KAAK,SAASrnB,GAAG,iBAAiB0jB,MAAM,MAC/C,yBAAK1I,UAAU,gCAAgCC,KAAK,UAClD,0BAAMD,UAAU,WAAhB,kBCxBFsL,GAAIvK,OAAOuK,EAEJsY,GAAc,SAAC,GAC3B,IAD4BvM,EAC7B,EAD6BA,QAASwM,EACtC,EADsCA,SAAUpB,EAChD,EADgDA,SAAUqB,EAC1D,EAD0DA,eAC1D,IAD0EC,sBAC1E,SACUjU,EAAY,KAEhB,GAAGuH,EAAO,eAAqB0M,EAAe,CAE5C,IAAIpiB,EAAO0V,EAAO,YAAkB,IAAM,IACtC2M,EAAS,4BAA8B3M,EAAQryB,GAAK,MAAQ2c,GAAQ0V,EAAQC,WAAa,SAAU,IAEvGxH,EACC,kBAAC,IAAD,CAAMzB,GAAI2V,EACR3W,QAAS,SAAC4W,GAAD,OAASH,EAAeG,EAAK5M,IACtCvL,OAAO,SACPkT,IAAI,sBACJhf,UAAW6jB,GACVpB,QAGEpL,EAAQ/xB,KAERwqB,EACA,uBAAGxqB,KAAM+xB,EAAQ/xB,KACd+nB,QAAS,SAAC4W,GAAD,OAASH,EAAeG,EAAK5M,IACtCrX,UAAW6jB,EACX7E,IAAI,sBACJlT,OAAO,UACH2W,GAGPpL,EAAQ7xB,cACdsqB,EACC,kBAAC,IAAD,CAAMzB,GAAIgJ,EAAQ7xB,YAChB6nB,QAAS,SAAC4W,GAAD,OAASH,EAAeG,EAAK5M,IACtCrX,UAAW6jB,GACVpB,IAIN,OAAQ3S,GAsEPoU,GAAqB,SAAC,GAA0H,IAAzH7M,EAAwH,EAAxHA,QAAsByM,GAAkG,EAA/GK,YAA+G,EAAlGL,gBAAkG,KAAlFM,cAAkF,EAAvCC,kBAAuC,MAA7B,GAA6B,MAAzBC,mBAAyB,SAMjJ,OAJID,IACFA,EAAYhN,EAAQzxB,SAGlB0+B,EAiBD,yBAAKtkB,UAAU,kCAAkChb,GAAIq/B,GACjD,kBAAC,GAAD,CACMP,eAAgBA,EAChBzM,QAASA,EACTwM,SAAS,IACb,yBAAKvW,IAAK+J,EAAQxxB,aAAcma,UAAU,wBAAwBuN,IAAI,KACrE8J,EAAQpyB,QArBf,yBAAK+a,UAAU,iBAAiBhb,GAAIq/B,GAClC,yBAAKrkB,UAAU,kBACb,kBAAC,GAAD,CACM8jB,eAAgBA,EAChBzM,QAASA,EACTwM,SAAS,IACb,yBAAKvW,IAAK+J,EAAQxxB,aAAcma,UAAU,wBAAwBuN,IAAI,KACrE8J,EAAQpyB,UAyOjBs/B,GAA4B,SAAC,GAAwF,IAAvF5+B,EAAsF,EAAtFA,SAAwBm+B,GAA8D,EAA5E/sB,aAA4E,EAA9D+sB,gBAA8D,KAA9CU,oBAA8C,EAAzBF,oBAAyB,SAYxH,OAXqB3+B,EAAS+mB,KAAI,SAAC+X,EAAGrU,GAC/B,OACE,kBAAC,GAAD,CACI/wB,IAAKolC,EAAEz/B,GACPqyB,QAASoN,EACTX,eAAgBA,EAChBK,YAAa,GACbG,YAAaA,QAsHtBI,GAAyB,SAAC,GAAwH,IAAvH/+B,EAAsH,EAAtHA,SAA0BoR,GAA4F,EAA5G0B,eAA4G,EAA5F1B,cAAc+sB,EAA8E,EAA9EA,eAAgCU,GAA8C,EAA9DG,eAA8D,EAA9CH,qBAA8C,IAAzBF,mBAAyB,SAUrJ,OARc,kBAAC,GAAD,CACZ3+B,SAAUA,EACVoR,aAAcA,EACd+sB,eAAgBA,EAChBU,oBAAqBA,EACrBF,YAAeA,KAeEM,G,YAGnB,WAAYxkC,EAAOsuB,GAAS,IAAD,8BACvB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACXk1B,cAAe,KACfyP,gBAAiB,KACjBC,yBAAyB,GAG3B,EAAKC,UAAY,eACjB,EAAKC,8BAAgC,EAAKA,8BAA8BpW,KAAnC,gBACrC,EAAK+V,eAAiB,EAAKA,eAAe/V,KAApB,gBACtB,EAAKqW,kBAAoB,EAAKA,kBAAkBrW,KAAvB,gBACzB,EAAKsW,iBAAmB,EAAKA,iBAAiBtW,KAAtB,gBAbD,E,6HAoBRC,EAAWC,M,0CAM5BxoB,KAAKi4B,SAAS,CAACuG,yBAA0B,IACzCxZ,GAAE,IAAMhlB,KAAKy+B,WAAWI,MAAM,U,yCAK5B7Z,GAAE,IAAMhlB,KAAKy+B,WAAWI,MAAM,U,oDAKJlB,EAAK5M,GAE/B/wB,KAAKlG,MAAM0jC,eAAeG,EAAK5M,K,qCAIpB4M,EAAK5M,GAElB4M,EAAIhW,iBAGJ3nB,KAAKi4B,SAAS,CACZsG,gBAAiBxN,EACjBjC,cAAeiC,EAAQjC,cACvB0P,yBAAyB,GACxBx+B,KAAK4+B,oB,+BAID,IAAD,EAce5+B,KAAKlG,MAX1B2W,GAHM,EAED0rB,SAFC,EAGN1rB,cACAoB,EAJM,EAINA,QACAxS,EALM,EAKNA,SACA8S,EANM,EAMNA,eAGA+rB,GATM,EAONlsB,YAPM,EAQNwrB,eARM,EASNU,qBATM,IAUNv/B,MAVM,eAUA8R,EAAY,eAVZ,EAWNquB,eAXM,eAWQruB,EAAY,wBAXpB,EAYN0J,YAZM,eAYK1J,EAAY,mBAZjB,EAaN8J,SAbM,EAcNyjB,oBAdM,SAgBJe,EAAiB,KAuBrB,OArBEA,GADG1/B,GAAYwS,EACE,kBAAC,GAAD,CACGsrB,aAAa,MACbljB,KAAMxJ,EAAapV,IAAgBoV,EAAanV,qBAAuB,kBAG1E,kBAAC,GAAD,CACK+D,SAAUA,EACV8S,eAAgBA,EAChB1B,aAAcA,EACd+sB,eAAgBx9B,KAAK0+B,8BACrBL,eAAgBr+B,KAAKq+B,eACrBH,oBAAqBA,EACrBF,YAAeA,IAKjB,GAAnB3+B,EAASjC,SACV2hC,EAAiB,+BAIjB,yBAAKrlB,UAAU,OACb,uBAAGhb,GAAG,oBACHqgC,O,GArGoC3V,IAAMC,WA4GnDiV,GAAeU,aAAe,CAC5BC,OAAQC,IAAUC,QAYpB,IAAMC,GAAqB,SAAC,GAA8C,IAA5CC,EAA2C,EAA3CA,WAAYhgC,EAA+B,EAA/BA,SAAUm+B,EAAqB,EAArBA,eAIhD,OACI,yBAAM9jB,UAAU,6BAA6BC,KAAK,UAClD,yBAAKD,UAAU,8CAA8CC,KAAK,YAChE,yBAAKD,UAAU,iBACb,yBAAKA,UAAU,gBACb,uBAAGqN,QAASsY,EAAY1lB,KAAK,SAAS2lB,eAAa,QAAQ5lB,UAAU,iBAAgB,yBAAKA,UAAU,wBAAwBsN,IAAKnoB,uBACjI,0BAAM6a,UAAU,eAAhB,2BAEF,yBAAKA,UAAU,cAEdra,GACCA,EAAS+mB,KAAK,SAAC2K,EAAS5zB,GAAV,OACV,wBAAIuc,UAAU,WACZ,4BACE,uBAAG1a,KAAK,KACN,yBAAKgoB,IAAK+J,EAAQnB,kBAAmBlW,UAAU,sDAAsDuN,IAAI,KACtG8J,EAAQlB,aAAa,6BAF1B,IAEkCkB,EAAQjB,mBACxC,0BAAMpW,UAAU,kBACZ,kBAAC,GAAD,CACE8jB,eAAgBA,EAChBzM,QAASA,EACTwM,SAAS,IAET,4BAAQ7jB,UAAU,mBAAlB,4BAiBjB6lB,GAAb,YAEE,WAAYzlC,EAAOsuB,GAAS,IAAD,8BACvB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACX4lC,oBAAqB,KACrBC,iBAAkB,GAClB9hC,aAAc,GACd+hC,aAAa,GAGf,EAAKC,mBAAqB,EAAKA,mBAAmBrX,KAAxB,gBAC1B,EAAKsX,mBAAqB,EAAKA,mBAAmBtX,KAAxB,gBAC1B,EAAKuX,sBAAwB,EAAKA,sBAAsBvX,KAA3B,gBAZN,EAF7B,iFAkBI,IAAInW,EAAkBnS,KAAKlG,MAAMqY,eAC7BxU,EAAe,GACnB,GAAGwU,EAAe,CAChB,IAAI,IAAI2tB,KAAa3tB,EACnB,GAAGA,EAAe4X,eAAe+V,IAC1B3tB,EAAe2tB,IAAc3tB,EAAe2tB,IAAc3tB,EAAe2tB,GAAW1iC,OAAS,EAAE,CAC9F,IAAI2iC,EAAW3lC,OAAOC,OAAO,GAAI8X,EAAe2tB,GAAW,IAC3DC,EAAS/gC,KAAO,IAChB+gC,EAASC,QAAUF,EACnBniC,EAAauf,KAAK6iB,GAI5B//B,KAAKi4B,SAAS,CAACt6B,oBA/BrB,yCAmCqB4qB,EAAWC,MAnChC,yCAsCqBuK,EAAOgN,GAAU,IAAD,OACjChN,EAAMpL,iBAGN3nB,KAAKi4B,SAAS,CAACuH,oBAAsBO,EAASC,QAASP,iBAAmBz/B,KAAKlG,MAAMqY,eAAe4tB,EAASC,WAAW,WAEtH,EAAKJ,oBAAmB,QA5C9B,yCAgDqBK,EAAQlN,GACzB/yB,KAAKi4B,SAAS,CAACyH,YAAaO,MAjDhC,4CAoDwBlN,EAAOhC,GACzB/wB,KAAK4/B,oBAAmB,GACrB5/B,KAAKlG,MAAM0jC,gBACZx9B,KAAKlG,MAAM0jC,eAAezK,EAAOhC,KAvDzC,+BA2DW,IAAD,SAQe/wB,KAAKlG,MAL1B2W,EAHM,EAGNA,aACAoB,EAJM,EAINA,QACAM,EALM,EAKNA,eALM,KAMNqrB,eANM,EAONjjB,iBAPM,MAOG,GAPH,MAQNyjB,mBARM,SAUJe,EAAiB,KA4BrB,OA1BEA,GADG5sB,GAAkBN,EACJ,kBAAC,GAAD,CACGsrB,aAAa,MACbljB,KAAMxJ,EAAapV,IAAgBoV,EAAanV,qBAAuB,kBAG1E,oCACC,kBAAC,GAAD,CACI+D,SAAUW,KAAKpG,MAAM+D,aACrB8S,aAAcA,EACd+sB,eAAgBx9B,KAAK2/B,mBACrB3B,YAAeA,IAEdh+B,KAAKpG,MAAM8lC,aACR,kBAAC,GAAD,CACGL,WAAY,SAACnlC,GAAD,OAAO,EAAK0lC,oBAAmB,EAAO1lC,IAClDmF,SAAUW,KAAKpG,MAAM6lC,iBACrBjC,eAAgBx9B,KAAK6/B,yBAMf,GAAlC7/B,KAAKpG,MAAM+D,aAAaP,SACzB2hC,EAAiB,+BAIjB,yBAAKrlB,UAAW,MAAQa,GACtB,uBAAG7b,GAAG,0BACHqgC,OApGT,GAA+C3V,IAAMC,WClqB/C6W,GAA6B,SAAC,GAAgD,IAA/ClV,EAA8C,EAA9CA,QAA8C,EAArCmV,eAAqC,EAArBC,gBAMtD,OAEE,yBAAK1mB,UAAU,gCACf,yBAAKA,UAAU,2BACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,sBACb,uBAAG1a,KAAM4a,IAAwC,IAAMoR,EAAQF,SAAS,yBAAK9D,IAAKgE,EAAQpsB,OAAQqoB,IAAI,GAAGvN,UAAU,gBAErH,yBAAKA,UAAU,UACb,yBAAKA,UAAU,qBACb,0BAAMA,UAAU,YAAW,uBAAI1a,KAAM,eAAiBgsB,EAAQU,SAAShtB,IAAKssB,EAAQU,SAASnS,OAC7F,0BAAMG,UAAU,SAChB,4BAAI,uBAAG1a,KAAM4a,IAAwC,IAAMoR,EAAQF,SAAUE,EAAQrsB,QACrF,2BAAIqsB,EAAQ/Q,KAAZ,OAIJ,yBAAKP,UAAU,UACd,yBAAKA,UAAU,qBACd,uBAAG1a,KAAM4a,IAAwC,IAAMoR,EAAQF,QAASpR,UAAU,aAAlF,mBA6CV2mB,GAAyB,SAAC,GAAiF,IAAhFrvB,EAA+E,EAA/EA,SAA4BmvB,GAAmD,EAArErD,iBAAqE,EAAnDqD,gBAAgBC,EAAmC,EAAnCA,gBAAmC,EAAlB3vB,aAC5F,OACE,yBAAKiJ,UAAU,mBAEX1I,EAASoV,KAAK,SAAA4E,GAAO,OAAI,kBAAC,GAAD,CAA4BjyB,IAAKiyB,EAAQtsB,GAAIssB,QAASA,EAASmV,eAAgBA,EAAgBC,gBAAiBA,SAgElIE,GAhDS,SAAC,GAAiF,IAAhFtvB,EAA+E,EAA/EA,SAAU8rB,EAAqE,EAArEA,iBAAkBqD,EAAmD,EAAnDA,eAAgBC,EAAmC,EAAnCA,gBAAiB3vB,EAAkB,EAAlBA,aAEnFsuB,EAAiB,KAIrBA,EADI/tB,GAAYA,EAAS5T,OAAO,EACf,kBAAC,GAAD,CAAwB4T,SAAUA,EACjC8rB,iBAAkBA,EAClBqD,eAAgBA,EAChBC,gBAAiBA,EACjB3vB,aAAcA,IAGT,kBAAC,GAAD,CACG0sB,aAAa,SACbljB,KAAMxJ,EAAapV,IAAiBoV,EAAanV,qBAAuB,kBAG9DD,IAE5B,OAEJ,6BAASqD,GAAG,yBAAyBgb,UAAU,wBAC7C,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,yBACb,sDACA,uBAAG1a,KAAM4a,IAAuCF,UAAU,sCAA1D,iBAA6G,yBAAKsN,IAAKnoB,uBAAiCooB,IAAI,GAAGvN,UAAU,eAExKqlB,EAED,uBAAG//B,KAAM4a,IAAuCF,UAAU,yCAA1D,iBAAgH,yBAAKsN,IAAKnoB,uBAAiCooB,IAAI,GAAGvN,UAAU,oBCtFzK6mB,GAxCW,SAAC,GAAmE,EAAlEpF,gBAAkE,EAAjDC,aAAiD,EAAnCzmB,gBAAmC,EAAlBlE,aAE9BpV,IAE9C,OAgBI,6BAASqe,UAAU,mBACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,UACb,yBAAKA,UAAU,2BACb,wDACA,2BAAI,uFAAuF,6BAAM,wDACjG,uBAAG1a,KAAM4a,IAAoCF,UAAU,mBAAvD,qBACA,oCACA,uBAAG1a,KAAM4a,IAA4BF,UAAU,qBAA/C,UACA,0BAAMA,UAAU,QAAhB,MAA0B,uBAAG1a,KAAM4a,KAAT,UAA1B,yCCoGC4mB,G,0GA9HSC,GAElB,IAAI7uB,EAAY,EAShB,MAPkB,UAAf6uB,EACD7uB,EAAY,GAEU,eAAf6uB,IACP7uB,EAAY,IAGPA,I,qCAGY6uB,GAEpB,IAAIC,EAAU,GASd,MAPkB,UAAfD,EACDC,EAAU7hC,gBAEY,eAAf4hC,IACRC,EAAU7hC,sBAGJ6hC,I,wCAGeC,GAErB,IAAIjiC,EAAK,GAAKiiC,EAGd,OADAjiC,EAAKA,EAAGsjB,QAAQ,KAAK,M,qCAIF4e,GAOpB,IAAO1lB,EAAUzf,IAA+B,qBAE5C0f,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNwlB,SAAU,SACVtlB,QAAS,CACR,eAAgB,oBAEjBC,KAAMC,KAAKC,UAAUklB,IAGxB,OAAOjlB,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAE5B,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAM5BK,OAAM,SAAUC,GAChB,MAAMA,O,mCAIMvK,GAElB,IAAOsJ,EAAUzf,IAA+B,mBAE5C0f,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACR,eAAgB,oBAEjBC,KAAMC,KAAKC,UAAU,CAAC9J,UAAYA,KAGrC,OAAO+J,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAE5B,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAM5BK,OAAM,SAAUC,GAChB,MAAMA,S,KCvFV,SAAS2kB,GAAoBnvB,GAClC,MAAO,CAACoU,KAAM2G,KAA6B/a,iBAGtC,SAASovB,GAAgBlvB,EAASmvB,GACvC,MAAO,CAACjb,KAAM2G,KAAwB7a,UAASmvB,aAG1C,SAASC,KACd,MAAO,CAAClb,KAAM2G,MAGT,SAASwU,GAAwBC,GACtC,MAAO,CAACpb,KAAM2G,KAA8ByU,eAGvC,SAASC,KAAgD,IAAnCrL,EAAkC,wDAApBjI,EAAoB,uCAC7D,OAAO,SAACwE,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAEZ,OAAIwD,GAAUn8B,EAAM+X,cAAcG,OACzBkK,QAAQa,QAAQjjB,EAAM+X,gBAG/B2gB,EAASyO,IAAgB,IAElBlT,GAAWwT,gBAAgBznC,EAAK,YAAiBA,EAAK,aAAkBk0B,EAAoBzuB,MAAUuc,MAAK,SAAAjK,GAKhH,OAHA2gB,EAASgP,GAAsB3vB,EAAcD,OAAQC,EAAcF,cACnE6gB,EAASwO,GAAoBnvB,IAC7B2gB,EAASyO,IAAgB,GAAO,IACzBpvB,KACNuK,OAAM,SAAAC,GAGP,MAFAmW,EAASyO,IAAgB,GAAO,IAE1B5kB,OAKL,SAASolB,GAAsBxQ,GAClC,MAAO,CAAChL,KAAM2G,KAA8BqE,WAGzC,SAASyQ,GAAqBzQ,EAAS0C,EAAMgO,GAClD,OAAO,SAACnP,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAER9gB,EAAc7X,EAAM4X,gBAAgBC,YACpCC,EAAS9X,EAAM4X,gBAAgBE,OAChC9X,EAAM8F,YAAYkV,aACnBlD,EAAS9X,EAAM8F,YAAYkV,YAG7B,IAAI8sB,EAActnC,OAAOC,OAAO,CAC9BoX,YAAaA,EACbC,OAAQA,GACR,CACEod,cAAeiC,EAAQjC,cACvBM,UAAW2B,EAAQ3B,UACnBxd,UAAWmf,EAAQnf,UACnB6hB,KAAMA,EACNgO,OAAQA,IAQZ,OAJAnP,EAASiP,GAAsBxQ,IAE/BuB,EAAS4D,GAAkCwL,IAEpC7T,GAAWsH,kBAAkBuM,GAAa9lB,MAAK,SAAAulB,GACpD7O,EAAS4O,GAAwBC,OAChCjlB,OAAM,SAAAC,GACP,MAAMA,MAwBL,SAASwlB,GAAuBC,GACrC,MAAO,CAAC7b,KAAM2G,KAAgCkV,qBAGzC,SAASC,GAAmBhwB,EAASmvB,GAC1C,MAAO,CAACjb,KAAM2G,KAA2B7a,UAASmvB,aAG7C,SAASc,KACd,MAAO,CAAC/b,KAAM2G,MAGT,SAASqV,GAA4BZ,GAC1C,MAAO,CAACpb,KAAM2G,KAAiCyU,eAG1C,SAASG,GAAsB5vB,EAAQD,GAC5C,MAAO,CAACsU,KAAM2G,MAA+Bhb,SAAQD,eAGhD,SAASuwB,KAA+B,IAAfjM,EAAc,wDAC5C,OAAO,SAACzD,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAEZ,OAAIwD,GAAUn8B,EAAMwY,kBAAkBN,OAC7B,MAGTwgB,EAASuP,IAAmB,IAErBhU,GAAWwT,gBAAgBznC,EAAK,YAAiBA,EAAK,aAAkB,CAAEqoC,QAAS,GAAI5vB,MAAauJ,MAAK,SAAAgmB,GAC9GtP,EAASgP,GAAsBM,EAAkBlwB,OAAQkwB,EAAkBnwB,cAC3E6gB,EAASqP,GAAuBC,IAChCtP,EAASuP,IAAmB,GAAO,OAClC3lB,OAAM,SAAAC,GAEP,MADEmW,EAASuP,IAAmB,GAAO,IAC/B1lB,OAML,SAAS+lB,GAAmBnR,GAC/B,OAAO,SAACuB,EAAUC,GACd,IAAI34B,EAAQ24B,IAEZ,OAAO1E,GAAWqU,mBAAmBtoC,EAAM8F,YAAYqV,UAAWgc,IAKnE,SAASoR,GAAavwB,GAC3B,OAAO,SAAC0gB,EAAUC,GACd,OAAOiO,GAAW2B,aAAavwB,IClK9B,SAASwwB,GAA0BC,GACxC,MAAO,CAACtc,KAAM2G,KAAgC2V,cAKzC,SAASC,KAAkC,IAAfvM,EAAc,wDAC/C,OAAO,SAACzD,EAAUC,GAEhB,IAAI34B,EAAQ24B,IACZ,OAAIwD,GAAUn8B,EAAM8W,SAASC,gBAAkB/W,EAAM8W,SAASC,eAAevT,OAAS,EAC7E,KAGFqsB,GAAU8Y,iBAAiB3mB,MAAK,SAAAymB,GACrC/P,EAAS8P,GAA0BC,OAClCnmB,OAAM,SAAAC,GACP,MAAMA,MAKL,SAASqmB,GAAwBH,GACtC,MAAO,CAACtc,KAAM2G,KAAiC2V,cAG1C,SAASI,KAAgC,IAAf1M,EAAc,wDAC7C,OAAO,SAACzD,EAAUC,GAEhB,IAAI34B,EAAQ24B,IACZ,OAAIwD,GAAUn8B,EAAM8W,SAASG,cAAgBjX,EAAM8W,SAASG,aAAazT,OAAS,EACzE,KAGFqsB,GAAUiZ,qBAAqB9mB,MAAK,SAAA/K,GACzCyhB,EAASkQ,GAAwB3xB,OAChCqL,OAAM,SAAAC,GACP,MAAMA,MAML,SAASwmB,GAAmB5xB,GACjC,MAAO,CAACgV,KAAM2G,KAA6B3b,eAGtC,SAAS6xB,KAA2B,IAAf7M,EAAc,wDACxC,OAAO,SAACzD,EAAUC,GAEhB,IAAI34B,EAAQ24B,IACZ,OAAIwD,GAAUn8B,EAAM8W,SAASK,aAAenX,EAAM8W,SAASK,YAAY3T,OAAS,EACvE,KAGFqsB,GAAUoZ,aAAajnB,MAAK,SAAA7K,GACjCuhB,EAASqQ,GAAmB5xB,OAC3BmL,OAAM,SAAAC,GACP,MAAMA,MAKL,SAAS2mB,GAAkC7xB,GAChD,MAAO,CAAC8U,KAAM2G,KAA0Czb,mBAGnD,SAAS8xB,GAA+B/xB,GAC7C,MAAO,CAAC+U,KAAM2G,KAAsC1b,YAG/C,SAASgyB,KAAuC,IAAfjN,EAAc,wDACpD,OAAO,SAACzD,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAEZ,OAAIwD,GAAUn8B,EAAM8W,SAASM,UAAYpX,EAAM8W,SAASM,SAAS5T,OAAS,EACjE,MAGTk1B,EAASwQ,IAAkC,IAEpCnY,GAAYsY,qBAAqBrnB,MAAK,SAAA5K,GAC3CshB,EAASyQ,GAA+B/xB,OACvCkL,OAAM,SAAAC,GAEP,MADAmW,EAASwQ,IAAkC,IACrC3mB,O,IC6fG+mB,G,6GAjlBYnuB,GAEnB,IAAOmG,EAAUzf,IAA+B,2BAE5C8f,EAAU,GAUZ,OATCxG,IACDwG,EAAQ,cAAgBxG,GAQjB4G,MAAMT,EAND,CACTE,OAAQ,MACRC,KAAM,OACNC,YAAa,UACbC,QAASA,IAEmBK,MAAK,SAAAC,GAE1B,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQa,QAAQ,CAAClI,iBAAkB,OASlDuH,OAAM,SAAUC,GAChB,MAAMA,O,2BAMZ,IAAOjB,EAAUzf,IAA+B,QAQ9C,OAAOkgB,MAAMT,EAND,CACTE,OAAQ,MACRC,KAAM,OACNC,YAAa,YAGeM,MAAK,SAAAC,GAE1B,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAM9BK,OAAM,SAAUC,GAChB,MAAMA,O,+BAIApH,GAEZ,IAAOmG,EAAUzf,IAA+B,eAE5C8f,EAAU,GAWZ,OAVCxG,IACDwG,EAAQ,cAAgBxG,GASjB4G,MAAMT,EAPD,CACTE,OAAQ,MACRC,KAAM,OACNC,YAAa,UACbC,QAASA,IAGmBK,MAAK,SAAAC,GAE1B,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAM9BK,OAAM,SAAUC,GAChB,MAAMA,O,sCAIOpH,GAEnB,IAAOmG,EAAUzf,IAA+B,kBAC5C8f,EAAU,GAYZ,OAVCxG,IACDwG,EAAQ,cAAgBxG,GASjB4G,MAAMT,EAPD,CACTE,OAAQ,MACRC,KAAM,OACNC,YAAa,UACbC,QAASA,IAGmBK,MAAK,SAAAC,GAE1B,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAM9BK,OAAM,SAAUC,GAEhB,MAAMA,O,wCAKSpH,EAAW8Q,EAAMsd,GAExC,IAAOjoB,EAAUzf,IAA+B,kBAE5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAE1B,IAAIoG,EAAU,CACTC,OAAQ+nB,EAAS,MAAQ,OACzB9nB,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAUmK,IAGxB,OAAOlK,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAE5B,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAM5BK,OAAM,SAAUC,GAChB,MAAMA,O,qCAMQpH,EAAWquB,GAC/B,IAAOloB,EAAUzf,IAA+B,yBAE5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAE1B,IAAIoG,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAU0nB,IAGxB,OAAOznB,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAE9B,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAM1BK,OAAM,SAAUC,GAEhB,MAAMA,O,qCAIQE,EAAUgnB,GAC9B,IAAOnoB,EAAUzf,IAA+B,0BAE1C0f,EAAU,CACdC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACP,eAAgB,mBAChB,cAAe8nB,GAEjB7nB,KAAMC,KAAKC,UAAUW,IAGvB,OAAOV,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEhC,OAAKA,EAASC,GAGLD,EAASC,GAFTE,QAAQC,OAAOJ,MAK1BK,OAAM,SAAUC,GAChB,MAAMA,O,qCAKYvF,EAAO0sB,GAC3B,IAAOpoB,EAAUzf,IAA+B,0BAE5C0f,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACR,eAAgB,oBAEjBC,KAAMC,KAAKC,UAAU,CAAC9E,MAAOA,EAAO0sB,KAAMA,KAG7C,OAAO3nB,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEtB,OAAKA,EAASC,GAMLD,EAASE,OAJTC,QAAQC,OAAOJ,MAOlCK,OAAM,SAAUC,GAChB,MAAMA,O,+BAOZ,IAAOjB,EAAUzf,IAA+B,mBAQhD,OAAOkgB,MAAMT,EANC,CACTE,OAAQ,MACRC,KAAM,OACNC,YAAa,YAGaY,OAAM,SAAUC,GACzC,OAAOH,QAAQa,e,4BAIV0mB,EAAiBC,EAAmBC,GAE7C,IAAIC,EAAe,CAChB7tB,SAAU0tB,EAAgB1tB,SAC1B+J,SAAU2jB,EAAgB3jB,SAC1B+jB,WAAY,WACZC,UAAWL,EAAgBM,SAAWN,EAAgBM,SAAU,KAG5D3oB,EAAUzf,IAA+B,kBAE5C0f,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACR,eAAgB,mBAChB,OAAQioB,GAAqBA,EAAkBxuB,GAC/C,cAAeyuB,GAEhBjoB,KAAMC,KAAKC,UAAUgoB,IAGxB,OAAO/nB,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEtB,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAMlCK,OAAM,SAAUC,GAEhB,MAAMA,O,mCAIIzc,EAAaokC,GAE/B,IAAIJ,EAAe,CAChBC,WAAY,gBACZC,UAAW,IACXG,oBAAqBD,GAGjB5oB,EAAUzf,IAA+B,kBAE5C8f,EAAU,CACdA,eAA0B,oBACvB7b,GAAeA,EAAYqV,YAC5BwG,EAAQ,cAAgB7b,EAAYqV,WAEnCrV,GAAeA,EAAYsV,KAC5BuG,EAAQ,QAAU7b,EAAYsV,IAGhC,IAAImG,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAUgoB,IAGxB,OAAO/nB,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEtB,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAMlCK,OAAM,SAAUC,GAEhB,MAAMA,O,2CAIe2nB,GAE3B,IAAIJ,EAAe,CAChBK,oBAAqBD,EACrBH,WAAY,iBACZC,UAAW,KAGP1oB,EAAUzf,IAA+B,kBAE5C0f,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACR,eAAgB,oBAEjBC,KAAMC,KAAKC,UAAUgoB,IAGxB,OAAO/nB,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEtB,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAMlCK,OAAM,SAAUC,GAEhB,MAAMA,O,oCAIOonB,GAEjB,IAAMG,EAAe,CAClB7tB,SAAU0tB,EAAgB1tB,SAC1B+J,SAAU2jB,EAAgB3jB,UAGtB1E,EAAUzf,IAA+B,iBAE5C0f,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACR,eAAgB,oBAEjBC,KAAMC,KAAKC,UAAUgoB,IAGxB,OAAO/nB,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEtB,OAAKA,EAASC,GAILD,EAASC,GAHTE,QAAQC,OAAOJ,MAMlCK,OAAM,SAAUC,GAGhB,MAAMA,O,+BAIA0J,GAEZ,IAAO3K,EAAUzf,IAA+B,mBAE5C0f,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACR,eAAgB,oBAEjBC,KAAMC,KAAKC,UAAUmK,IAGxB,OAAOlK,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEtB,OAAKA,EAASC,GAILD,EAHAG,QAAQC,OAAOJ,MAMlCK,OAAM,SAAUC,GAChB,MAAMA,O,mCAII0J,EAAM4d,GAEtB,IAAOvoB,EAAUzf,IAA+B,wBAE5C0f,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACR,eAAgB,mBAChB,cAAekoB,GAEhBjoB,KAAMC,KAAKC,UAAUmK,IAGxB,OAAOlK,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEtB,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAMlCK,OAAM,SAAUC,GAChB,MAAMA,O,qCAIMpH,GAElB,IAAOmG,EAAUzf,IAA+B,sBAE5C8f,EAAU,CACdA,eAA0B,oBAWxB,OAVCxG,IACDwG,EAAQ,cAAgBxG,GASjB4G,MAAMT,EAPD,CACTE,OAAQ,MACRC,KAAM,OACNC,YAAa,UACbC,QAASA,IAGmBK,MAAK,SAAAC,GAE1B,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAM9BK,OAAM,SAAUC,GAChB,MAAMA,O,qCAIMpH,EAAWkB,GAE7B,IAAOiF,EAAUzf,IAA+B,sBAE5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAE1B,IAAIoG,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAUzF,IAGxB,OAAO0F,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEtB,OAAKA,EAASC,GAILE,QAAQa,QAAQhB,GAHhBG,QAAQC,OAAOJ,MAMlCK,OAAM,SAAUC,GAChB,MAAMA,O,0CAIS6nB,GACzB,IAAO9oB,EAAUzf,IAA+B,mBAE5C0f,EAAU,CACZC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUsoB,IAGvB,OAAOroB,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAClC,OAAKA,EAASC,GAGLD,EAASE,OAFTC,QAAQC,OAAOJ,Q,6CAOEQ,GAC5B,IAAOnB,EAAUzf,IAA+B,sBAE5C0f,EAAU,CACZC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACP,eAAgB,oBAElBC,KAAMC,KAAKC,UAAUW,IAGvB,OAAOV,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAClC,OAAKA,EAASC,GAGLD,EAASE,OAFTC,QAAQC,OAAOJ,Q,8CAOG9G,GAC7B,IAAOmG,EAAUzf,IAA+B,0BAE5C8f,EAAU,GAYd,OAVGxG,IACDwG,EAAQ,cAAgBxG,GASnB4G,MAAMT,EAPC,CACZE,OAAQ,MACRC,KAAM,OACNC,YAAa,UACbC,QAASA,IAGoBK,MAAK,SAAAC,GAClC,OAAKA,EAASC,GAGLD,EAASE,OAFTC,QAAQC,OAAOJ,MAKxBK,OAAM,SAAUC,GAChB,MAAMA,S,KCvkBL,SAAS8nB,KACd,MAAO,CAACle,KAAM2G,MAGT,SAASwX,GAAaC,GAC3B,MAAO,CAACpe,KAAM2G,KAAqByX,eAG9B,SAASC,GAA0BvuB,EAAUE,GAClD,MAAO,CAACgQ,KAAM2G,KAA4B7W,WAAUE,cAG/C,SAASsuB,GAAqBC,GACnC,MAAO,CAACve,KAAM2G,KAA6B4X,iBAGtC,SAASC,GAAiBC,EAAgBC,GAC/C,MAAO,CAAC1e,KAAM2G,KAAwBgY,aAAc,CAACF,eAAgBA,EAAgBC,mBAAoBA,IAGpG,SAASE,GAAUC,GACxB,MAAO,CAAC7e,KAAM2G,KAAwBkY,cAGjC,SAASC,GAAsBV,GACpC,MAAO,CAACpe,KAAM2G,KAA8ByX,eAGvC,SAASW,GAAuB9uB,GACrC,MAAO,CAAC+P,KAAM2G,KAA+B1W,eAGxC,SAAS+uB,GAAyB/uB,GACvC,MAAO,CAAC+P,KAAM2G,KAAiC1W,eAG1C,SAASgvB,GAAuBC,GACrC,MAAO,CAAClf,KAAM2G,KAAgCuY,2BAGzC,SAASC,KACZ,MAAO,CAACnf,KAAM2G,MAGX,SAASyY,KACZ,MAAO,CAACpf,KAAM2G,MAGX,SAAS0Y,GAAgBC,GAC9B,MAAO,CAACtf,KAAM2G,KAAyB2Y,YAGlC,SAASC,GAAsBrvB,GACpC,MAAO,CAAC8P,KAAM2G,KAA+BzW,eAGxC,SAASsvB,GAAsBtvB,GACpC,MAAO,CAAC8P,KAAM2G,KAA+BzW,eAGxC,SAASuvB,GAA2BlvB,GACzC,MAAO,CAACyP,KAAM2G,KAAqCpW,oBAG9C,SAASmvB,KACd,MAAO,CAAC1f,KAAM2G,MAGT,SAASgZ,GAAQhxB,GACtB,MAAO,CAACqR,KAAM2G,KAAehY,UAAWA,GAGnC,SAASixB,KACd,OAAO,SAACrT,EAAUC,GAKhB,OAJAD,EAAS4S,MACT5S,EAASsT,MACTtT,EAASuT,MACTvT,EAASsT,MACF1C,GAAQyC,UAIZ,SAASG,GAAsBhC,GACpC,OAAO,SAACxR,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAEZ,OAAO2Q,GAAQ6C,aAAansC,EAAM8F,YAAaokC,GAASloB,MAAK,SAAAuoB,GACzD,OAAO6B,GAAmB1T,EAAU6R,MAErCjoB,OAAM,SAAAC,GACL,MAAMA,MAKP,SAAS8pB,GAA8BnC,GAC5C,OAAO,SAACxR,EAAUC,GAEJA,IACZ,OAAO2Q,GAAQgD,qBAAqBpC,GAASloB,MAAK,SAAAuoB,GAC9C,OAAO6B,GAAmB1T,EAAU6R,MAErCjoB,OAAM,SAAAC,GACL,MAAMA,MAKd,SAAS6pB,GAAmB1T,EAAU6R,GAEnC,IAAIgC,EAAgB,GAOpB,OANAA,EAAcjpB,KAAKoV,EAAS4R,GAAaC,KACzCgC,EAAcjpB,KAAKoV,EAASsT,OAC5BO,EAAcjpB,KAAKoV,EAASuT,OAC5BM,EAAcjpB,KAAKoV,EAASsT,OAC5BO,EAAcjpB,KAAKoV,EAAS4D,GAA2BiO,EAAYvvB,cACnEuxB,EAAcjpB,KAAKoV,EAAS+S,IAAS,KAC9BrpB,QAAQsB,IAAI6oB,GAAevqB,MAAM,SAAAwqB,GAAC,OAAIjC,KAIzC,SAASkC,GAAM9C,EAAiBE,GACrC,OAAO,SAACnR,EAAUC,GAEhB,IAAInK,EAAUmb,EAAe,QAC1Bnb,IACDmb,EAAgBM,SAAWzb,GAG7B,IAAIxuB,EAAQ24B,IAEZ,OAAO2Q,GAAQmD,MAAM9C,EAAiB3pC,EAAM8F,YAAa+jC,GAAgB7nB,MAAK,SAAAuoB,GAC5E,OAAO6B,GAAmB1T,EACvBl4B,OAAOC,OAAO,GAAI8pC,EAAa,CAAEpuB,WAAYwtB,EAAgBxtB,cAC9D6F,MAAM,SAAAwqB,GAAC,OAAIjC,QAEZjoB,OAAM,SAAAC,GAEL,MAAMA,MAKP,SAASxH,GAAgB2xB,GAC9B,OAAO,SAAChU,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAEZ,OAAO2Q,GAAQvuB,gBAAgB/a,EAAM8F,YAAYqV,WAAW6G,MAAK,SAAAqpB,GAExD3S,EAAS0S,GAAuBC,IAEhC,IAAIsB,EAAetB,EAAwBroC,MAC3C,MAAO,CACN+X,gBAAiBswB,EAAwBtwB,gBACzCC,WAAYqwB,EAAwBrwB,WACpC4xB,gBAAiB7pC,aAAW4pC,EAAcD,GAC1C1pC,MAAO2pC,MAGdrqB,OAAM,SAAAC,GAEL,IAAIN,EAAW,CAAClH,iBAAiB,EAAOC,WAAY,MAEpD,OADA0d,EAAS0S,GAAuBnpB,IACzBG,QAAQa,QAAQhB,OAMxB,SAAS4qB,GAAclD,GAC1B,OAAO,SAACjR,EAAUC,GAEhB,OAAO2Q,GAAQuD,cAAclD,GAAiB3nB,MAAK,WAE3C0W,EAAS4D,MAER5D,EAAS+R,GAAqBjqC,OAAOC,OAAO,GAC1C,CACE0b,WAAYwtB,EAAgBxtB,WAC5BF,SAAU0tB,EAAgB1tB,gBAGpCqG,OAAM,SAAAC,GAEL,MAAMA,MAMT,SAASkpB,KAA0B,IAAjBtP,EAAgB,wDACrC,OAAO,SAACzD,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAEZ,IAAIwD,GAAUn8B,EAAM8F,YAAYuV,KAAOrb,EAAM8F,YAAY8V,cACvD,OAAOwG,QAAQa,QAAQjjB,EAAM8F,aAG/B,IAAIqV,EAAY,GAKhB,OAJGnb,EAAM8F,aAAe9F,EAAM8F,YAAYqV,YACxCA,EAAYnb,EAAM8F,YAAYqV,WAGzBmuB,GAAQmC,SAAStwB,GAAW6G,MAAK,SAACC,GAGhC,OADAyW,EAAS8S,GAAgBvpB,IAClBG,QAAQa,QAAQhB,MAE7BK,OAAM,SAAAC,GAEL,MAAMA,MAKT,SAASuqB,GAAe9vB,EAAO0sB,GAClC,OAAO,SAAChR,EAAUC,GAEhB,OAAO2Q,GAAQwD,eAAe9vB,EAAO0sB,GAAM1nB,MAAK,SAACwqB,GAGzC,OADA9T,EAAS4D,MACFla,QAAQa,QAAQupB,MAE5BlqB,OAAM,SAAAC,GAGL,MAFAmW,EAAS4D,MAEH/Z,MAKP,SAASwqB,GAASnC,GACvB,OAAO,SAAClS,EAAUC,GAEhB,OAAO2Q,GAAQyD,SAASnC,GAAgB5oB,MAAK,SAACC,GAGrC,OAFAyW,EAAS4D,MACT5D,EAASiS,GAAiBC,EAAgB3oB,IACnCA,KAEbK,OAAM,SAAAC,GAEL,MAAMA,MAKP,SAASyqB,GAAapC,EAAgBf,GAC3C,OAAO,SAACnR,EAAUC,GAEhB,OAAO2Q,GAAQ0D,aAAapC,EAAgBf,GAAgB7nB,MAAK,SAACC,GAEzDyW,EAAS4D,MAET5D,EAASiS,GAAiBC,EAAgB3oB,OAEhDK,OAAM,SAAAC,GAEL,MAAMA,MAML,SAASnH,KAAuB,IAApB6xB,EAAmB,wDACpC,OAAO,SAACvU,EAAUC,GAEhB,IAAI34B,EAAQ24B,IACZ,OAAIsU,GAAajtC,GAASA,EAAM8F,aAAuC,MAAxB9F,EAAM8F,YAAYsV,GACxDgH,QAAQa,UAGVqmB,GAAQluB,KAAK4G,MAAK,SAACC,GAEjByW,EAASqS,GAAU9oB,OAEzBK,OAAM,SAAAC,GAEL,MAAMA,MAMP,SAAS2qB,GAAeC,EAAaC,GAC1C,OAAO,SAAC1U,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAEZ,OAAO2Q,GAAQ4D,eAAeltC,EAAM8F,YAAYqV,UAAW,CAChCgyB,YAAaA,EACbC,YAAaA,IACdprB,MAAK,SAACC,GAGPyW,EAASuS,GAAsBzqC,OAAOC,OAAO,GAAIwhB,QAGvEK,OAAM,SAAAC,GAEL,MAAMA,MAKT,SAAS8qB,KAA+B,IAAflR,EAAc,wDAC5C,OAAO,SAACzD,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAEZ,OAAK34B,EAAM8F,YAAYsW,aAAe+f,EAC7BmN,GAAQ+D,gBAAgBrtC,EAAM8F,YAAYqV,WAAW6G,MAAK,SAAC5F,GAIzD,OAFA4W,GAAUsa,iCAAiClxB,EAAaA,EAAY8W,aACpEwF,EAASwS,GAAuB9uB,IACzBA,KAEbkG,OAAM,SAAAC,GAEL,MAAMA,KAILH,QAAQa,WAKZ,SAASsqB,GAAkBthB,GAChC,OAAO,SAACyM,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAGZ,OAAO2Q,GAAQiE,kBAAkBvtC,EAAM8F,YAAYqV,UAAW8Q,GAAMjK,MAAK,SAACC,GAKpE,OAHGyW,EAASuT,MACTvT,EAASyS,GAAyBlf,IAClCyM,EAAS4D,MACLra,KAEVK,OAAM,SAAAC,GAGL,MAAMA,MAMP,SAASirB,GAA0BC,GACxC,OAAO,SAAC/U,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAEZ,OAAOtX,EAAcmsB,0BAA0BxtC,EAAM8F,YAAYqV,UAAWsyB,GAAiBzrB,MAAK,SAAAwqB,GAEhG,OAAOA,KAENlqB,OAAM,SAAAC,GACL,MAAMA,MAMP,SAASmrB,GAA+BD,GAC7C,OAAO,SAAC/U,EAAUC,GAChB,IAAI34B,EAAQ24B,IAEZ,OAAOtX,EAAcqsB,+BAA+B1tC,EAAM8F,YAAYqV,UAAWsyB,GAAiBzrB,MAAK,SAAAwqB,GAErG,OAAOA,KAENlqB,OAAM,SAAAC,GACL,MAAMA,MAKP,SAASorB,KAAgC,IAAjBxR,EAAgB,wDAC3C,OAAO,SAACzD,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAEZ,OAAIwD,GAAWn8B,EAAM8F,aAAe9F,EAAM8F,YAAYuW,aAAerc,EAAM8F,YAAYuW,YAAYnE,OAC1F,KAGFoxB,GAAQqE,eAAe3tC,EAAM8F,YAAYqV,WAAW6G,MAAK,SAACC,GAExD,OADAyW,EAASgT,GAAsBzpB,IACxBA,KAEbK,OAAM,SAAAC,GAEL,MAAMA,MAKT,SAASqrB,GAAevxB,GAA6B,wDACxD,OAAO,SAACqc,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAEZ,OAAO2Q,GAAQsE,eAAe5tC,EAAM8F,YAAYqV,UAAWkB,GAAa2F,MAAK,SAACC,GACrEyW,EAASiT,GAAsB1pB,OAGrCK,OAAM,SAAAC,GAEL,MAAMA,MAKX,SAASsrB,GAAoBzD,GAClC,OAAO,SAAC1R,EAAUC,GACJA,IAEZ,OAAO2Q,GAAQuE,oBAAoBzD,GAC1BpoB,MAAK,SAACC,GACLyW,EAASkT,GAA2B3pB,OACnCK,OAAM,SAAAC,GACPmW,EAASmT,UAKhB,SAASiC,GAA+B5wB,GAC7C,MAAO,CAACiP,KAAM2G,KAA0C5V,QAGnD,SAAS6wB,KACd,MAAO,CAAC5hB,KAAM2G,MAGT,SAASkb,KACd,OAAO,SAACtV,EAAUC,GAChB,IAAI34B,EAAQ24B,IAEZ,OAAO2Q,GAAQ0E,wBAAwBhuC,EAAM8F,YAAYqV,WACxD6G,MAAK,SAACC,GACLyW,EAASoV,GAA+B7rB,OACvCK,OAAM,SAAAC,GACPmW,EAASqV,U,ICxYAE,G,YA5Db,WAAY/tC,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KACRzH,MAAO,IAAIL,MAAOC,cAFG,E,sEAM1B,OACE,4BAAQ7G,UAAU,eAClB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,wCACb,uBAAG1a,KAAK,KAAI,yBAAKgoB,IAAKnoB,eAAyBooB,IAAI,GAAGvN,UAAU,eAChE,gDAAqB,6BAArB,qCAGF,yBAAKA,UAAU,6CACb,oCACA,4BACA,4BAAI,uBAAG1a,KAAM4a,KAAT,2BACJ,4BAAI,uBAAG5a,KAAM4a,KAAT,sBAKJ,4BAAI,uBAAG5a,KAAM4a,IAAyC4L,OAAO,UAAzD,iBACJ,4BAAI,uBAAGxmB,KAAM4a,IAA4C4L,OAAO,UAA5D,qBAGN,yBAAK9L,UAAU,6CACb,2CACA,4BACA,4BAAI,uBAAG1a,KAAM4a,KAAT,wBACJ,4BAAI,uBAAG5a,KAAM4a,KAAT,4BACJ,4BAAI,uBAAG5a,KAAM4a,KAAT,wBACJ,4BAAI,uBAAG5a,KAAM4a,KAAT,qBACJ,4BAAI,uBAAG5a,KAAM4a,KAAT,kBACJ,4BAAI,uBAAG5a,KAAM4a,KAAT,0BAGN,yBAAKF,UAAU,6CACb,uCACA,4BACE,4BAAI,uBAAG1a,KAAM4a,KAAT,aACJ,4BAAI,uBAAG5a,KAAM4a,KAAT,UACJ,4BAAI,uBAAG5a,KAAM4a,KAAT,gBAGR,yBAAKF,UAAU,2CACb,0DAA6B1Z,KAAK2gB,KAAlC,kCAEF,yBAAKjH,UAAU,iGACb,8BAAM,uBAAG1a,KAAM4a,KAAT,gBAAN,QAA6E,uBAAG5a,KAAM4a,KAAT,2B,GArD7DwP,IAAMC,W,SCErBye,GAAiB,WAE1B9iB,IAAE,eAAe5nB,OAAS,GAE5B,IAAI2qC,KAAiB,eAIvB/iB,IAAE,oBAAoB6Z,MAAM,QAE5B7Z,IAAE,kBAAkB6Z,MAAM,QAE1B7Z,IAAE,kBAAkB6Z,MAAM,QAE1B7Z,IAAE,gBAAgB6Z,MAAM,SCclB7Z,GAAIvK,OAAOuK,EAEXgjB,GAAyB,SAACluC,GAE9B,OACE,6BAAS4f,UAAU,uBACf,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,yBACb,oDAAyB,6BAAzB,6BACA,uCAAY,8BAAM,uBAAG1a,KAAM4a,KAAT,WAAlB,0CAAuH,6BAAvH,qEACE,kBAAC,GAAD,CACE7gB,IAAI,WACJ8Y,QAAS/X,EAAMmuC,eACf5oC,SAAUvF,EAAMuF,SAChB2S,YAAalY,EAAMkY,YACnBvB,aAAc3W,EAAM2W,aACpB+sB,eAAgB1jC,EAAM0jC,eACtB7+B,MAAO7E,EAAM2W,aAAapV,IAAavB,EAAM2W,aAAanV,qBAAuB,kBACjF6e,WAAYrgB,EAAM2W,aAAapV,IAAavB,EAAM2W,aAAanV,qBAAuB,6BAclG4sC,G,YACJ,WAAYpuC,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACX8oB,SAAU,GACVylB,kBAAkB,EAClBC,wBAAwB,EACxBC,0BAA2B,+BAG7B,EAAKC,kBAAoB,EAAKA,kBAAkBhgB,KAAvB,gBACzB,EAAK6S,gBAAkB,EAAKA,gBAAgB7S,KAArB,gBACvB,EAAKigB,2BAA6B,EAAKA,2BAA2BjgB,KAAhC,gBAClC,EAAKuY,SAAW,EAAKA,SAASvY,KAAd,gBAChB,EAAKwU,iBAAmB,EAAKA,iBAAiBxU,KAAtB,gBACxB,EAAKkV,eAAiB,EAAKA,eAAelV,KAApB,gBACtB,EAAK6X,eAAiB,EAAKA,eAAe7X,KAApB,gBACtB,EAAK8X,gBAAkB,EAAKA,gBAAgB9X,KAArB,gBACvB,EAAK8S,aAAe,EAAKA,aAAa9S,KAAlB,gBACpB,EAAKkgB,oBAAsB,EAAKA,oBAAoBlgB,KAAzB,gBAC3B,EAAKmgB,sBAAwB,EAAKA,sBAAsBngB,KAA3B,gBAC7B,EAAKogB,iBAAmB,EAAKA,iBAAiBpgB,KAAtB,gBArBE,E,iFA2B1BtoB,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQsL,WACnBrlC,KAAKlG,MAAMigC,QAAQqH,eACnBphC,KAAKlG,MAAMigC,QAAQuI,qBACnBtiC,KAAKlG,MAAMigC,QAAQ0I,mBACnBziC,KAAKlG,MAAMigC,QAAQiJ,0BACnBhjC,KAAKlG,MAAMigC,QAAQ6I,cACnB5iC,KAAKlG,MAAMigC,QAAQtC,kBAGnBqQ,Kf3E6B,WAkBjC,IACA9iB,IAAE,oBAAoBgV,MAAM,CAC1BC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,MAAO,IACPC,aAAc,EACdC,UAAU,EACVC,cAAe,MAGjB,MAAMrgC,IAIN,IACA8qB,IAAE,gBAAgBgV,MAAM,CACtBC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,MAAO,IACPE,UAAU,EACVC,cAAe,IACfoO,WAAY,CACV,CACEC,WAAY,KACZC,SAAU,WAEZ,CACED,WAAY,IACZC,SAAU,CACRxO,aAAc,EACdyO,eAAgB,OAMxB,MAAM5uC,IAKN,IACA8qB,IAAE,gBAAgBgV,MAAM,CACtBC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,MAAO,IACPE,UAAU,EACVC,cAAe,IACfoO,WAAY,CACV,CACEC,WAAY,KACZC,SAAU,WAEZ,CACED,WAAY,IACZC,SAAU,CACRxO,aAAc,EACdyO,eAAgB,EAChB7O,MAAM,IAGV,CACE2O,WAAY,IACZC,SAAU,CACRxO,aAAc,EACdyO,eAAgB,EAChB7O,MAAM,OAMd,MAAM//B,IAON,SAAS6uC,IACH/jB,IAAEvK,QAAQuuB,QAAU,KACtBhkB,IAAE,qEAAqEikB,OACvEjkB,IAAE,qDAAqDkkB,SAAS,UAAUzhB,YAAY,UACtFzC,IAAE,kDAAkDmkB,IAAI,QAAS,aAAa9jB,GAAG,QAAS,aAAa,WACrGL,IAAEhlB,MAAMopC,SAASC,KAAK,sBAAsBC,cAC5CtkB,IAAEhlB,MAAM0nB,YAAY,eAGtB1C,IAAE,qEAAqE/lB,OACvE+lB,IAAE,qDAAqDyC,YAAY,WAavE,SAAS8hB,IACHvkB,IAAEvK,QAAQuuB,QAAU,KACtBhkB,IAAE,yBAAyBikB,OAC3BjkB,IAAE,yBAAyBkkB,SAAS,UAAUzhB,YAAY,UAC1DzC,IAAE,sBAAsBmkB,IAAI,QAAS,aAAa9jB,GAAG,QAAS,aAAa,WACzEL,IAAEhlB,MAAMopC,SAASC,KAAK,MAAMC,cAC5BtkB,IAAEhlB,MAAM0nB,YAAY,eAGtB1C,IAAE,yBAAyB/lB,OAC3B+lB,IAAE,yBAAyByC,YAAY,WAnB3C8hB,IACAR,IAEA/jB,IAAEvK,QAAQ4K,GAAG,UAAU,WACrBkkB,IACAR,OAmBF,IAAIS,EAAQ/uB,OAAOC,SAAS1b,KAAK2B,OAAO8Z,OAAOC,SAAS1b,KAAKyqC,YAAY,KAAO,GAChFzkB,IAAE,mBAAmB0kB,MAAK,WACb1kB,IAAE,IAAKhlB,MAAM2pC,KAAK,UAChBH,GACXxkB,IAAEhlB,MAAMqpC,KAAK,KAAKH,SAAS,aAK/BlkB,IAAE,qBAAqBK,GAAG,SAAS,SAAUnrB,GAC3C,IAAIsrB,EAASR,IAAEhlB,MAAMotB,KAAK,UAC1BpI,IAAE,iBAAiByC,YAAY,cAC/BzC,IAAEQ,EAAS,QAAQ0jB,SAAS,cAC5BlkB,IAAEQ,EAAS,WAAW0jB,SAAS,iBAIjClkB,IAAE,qBAAqBK,GAAG,SAAS,SAAUnrB,EAAG0vC,GAC9C5kB,IAAEhlB,MAAM6pC,QAAQ,SAASX,SAAS,eAAeY,WAAWriB,YAAY,kBAG9DsP,aAEZ,WACE,IAAIgT,EAAK/kB,IAAE,2BAA2BglB,OACpB,IAAdD,EAAG3sC,SACL2sC,EAAK/kB,IAAE,oBAAoB8kB,WAAWG,SAGxCF,EAAGV,KAAK,UAAUa,QAAQ,QAAS,EAAC,MARL,KAYjCllB,IAAE,qBAAqBK,GAAG,QAAS,cAAc,SAAUnrB,GACzD8qB,IAAEhlB,MAAMopC,SAASC,KAAK,iBAAiB5hB,YAAY,UACnDzC,IAAEhlB,MAAMipC,OACR/uC,EAAEytB,oBAQJ,SAAWwiB,GACT,IAAIC,EACAC,EAeAxB,EAdA7jB,IAAEvK,QAAQuuB,QAAU,KACtBoB,EAAW,IACXC,EAAY,KACHrlB,IAAEvK,QAAQuuB,QAAU,KAC7BoB,EAAW,GACXC,EAAY,KACHrlB,IAAEvK,QAAQuuB,QAAU,KAC7BoB,EAAW,GACXC,EAAY,KAEZD,EAAW,GACXC,EAAY,IAId,IAAIC,EAAI,CACNC,KAAM,SAAUtiB,GASd,OARA4gB,EAAWsB,EAAEK,OAAO,CAClBC,OAAQJ,EACRrB,MAAOoB,EACPM,SAAS,EACTC,OAAQ,QACRC,SAAU,QACT3iB,GACHkiB,EAAEnqC,MAAMotB,KAAK,WAAYyb,GAClB7oC,KAAK0pC,MAAK,WACf,IAAImB,EAAIV,EAAEnqC,MAEN9F,GADI2uC,EAAS6B,QAAU7B,EAAS6B,QAAUG,EAAEC,QACtCC,WAAW9tC,MAAM,IACvB2sC,EAAI,GACRO,EAAET,KAAKxvC,GAAG,SAAU8wC,EAAGvZ,GACrB,GAAI0Y,EAAEc,UAAUxZ,GAAI,CAClBmY,GAAK,uBAA0BnY,EAAIoX,EAAS4B,OAAU,OACtD,IAAK,IAAItf,EAAI,EAAGA,EAAI,GAAIA,IACtBye,GAAK,SAAWze,EAAI,UAEtBye,GAAK,kBAELA,GAAK,iBAAmBnY,EAAI,uBAGhCoZ,EAAEC,KAAKlB,GACPU,EAAEY,UAAUC,KAAKN,EAAGhC,OAGxBqC,UAAW,SAAUjjB,GACnB,OAAOjoB,KAAK0pC,MAAK,WACf,IAAIE,EAAIO,EAAEnqC,MACV4pC,EAAEwB,IAAI,CACJC,SAAU,WAEZlB,EAAE,KAAMP,GAAGwB,IAAI,CACbE,SAAU,WACV,MAAS,OAETb,OAAQxiB,EAAEwiB,OAAS,KACnBzB,MAAO/gB,EAAE+gB,MAAQ,KACjB,cAAe/gB,EAAEwiB,OAAS,OAE5BN,EAAE,KAAMP,GAAGwB,IAAI,CACbE,SAAU,WACVtC,MAAO/gB,EAAE+gB,MAAQ,OAEnBmB,EAAE,OAAQP,GAAGwB,IAAI,CACfG,QAAS,QACT,aAAc,SACdd,OAAQxiB,EAAEwiB,OAAS,KACnBzB,MAAO/gB,EAAE+gB,MAAQ,WAIvBwC,OAAQ,SAAUvjB,GAChB,OAAOjoB,KAAK0pC,MAAK,WACf,IAIIve,EACAjxB,EALAu3B,EAAI0Y,EAAEnqC,MACNgrC,EAAI/iB,EAAE8iB,WAAW9tC,MAAM,IACvBwuC,EAAItB,EAAE,KAAM1Y,GAAGr0B,OACfytC,EAAIV,EAAEnqC,MAAMotB,KAAK,YAGrB,GAAIqe,IAAMT,EAAE5tC,OAGV,GAFA+tB,EAAI6f,EAAE5tC,OAASquC,EACfA,EAAIT,EAAE5tC,OACF+tB,EAAI,EACNgf,EAAE,KAAM1Y,GAAG7G,MAAMO,GAAGugB,aACf,CAEL,IADAxxC,EAAI,GACGixB,KAAK,CACVjxB,GAAK,WACL,IAAK,IAAI0vC,EAAI,EAAGA,EAAI,GAAIA,IACtB1vC,GAAK,SAAW0vC,EAAI,UAEtB1vC,GAAK,aAEPu3B,EAAEka,QAAQzxC,GAGdiwC,EAAET,KAAKsB,GAAG,SAAUhoB,EAAG4oB,GACrB,IAAI3pB,EAAI,GACR,GAAmB,IAAf4oB,EAAED,SAMN,GAAIT,EAAEc,UAAUW,GAAI,CAClB,GAA6D,IAAzDzB,EAAE,iBAAmBnnB,EAAI,GAAK,YAAayO,GAAGr0B,OAAc,CAC9D,IAAK,IAAIyuC,EAAI,EAAGA,EAAI,GAAIA,IACtB5pB,GAAK,SAAW4pB,EAAI,UAEtB1B,EAAE,iBAAmBnnB,EAAI,GAAK,OAAQyO,GAAGqZ,KAAK7oB,GAEhDkoB,EAAE,iBAAmBnnB,EAAI,GAAK,OAAQyO,GAAGqa,QAAQ,CAC/CC,KAAMH,EAAIf,EAAEJ,QACXI,EAAED,SAAUC,EAAEF,aAEjBR,EAAE,iBAAmBnnB,EAAI,GAAK,OAAQyO,GAAGqZ,KAAK,SAAWc,EAAI,WAAWE,QAAQ,CAC9EC,IAAK,GACJlB,EAAED,SAAUC,EAAEF,aAlBjBR,EAAE,iBAAmBnnB,EAAI,GAAK,OAAQyO,GAAGqZ,KAAK,SAAWc,EAAI,WAAWR,IAAI,CAC1EW,IAAK,OAoBXzB,EAAEY,UAAUC,KAAK1Z,EAAGoZ,QAI1BV,EAAE6B,GAAGC,SAAW,SAAUhkB,GACxB,OAAIqiB,EAAEriB,GACGqiB,EAAEriB,GAAGikB,MAAMlsC,KAAMmsC,MAAMC,UAAUxhB,MAAMugB,KAAKkB,UAAW,IAE7C,kBAANpkB,GAAmBA,OAG5BkiB,EAAEhuB,MAAM,UAAY8L,EAAI,sCAFjBqiB,EAAEC,KAAK2B,MAAMlsC,KAAMqsC,YApIlC,CA0IGrnB,KAGH,IAAIsnB,EAAMtnB,IAAE,YAAYoI,KAAK,WAC7BpI,IAAE,YAAYinB,SAAS,CACrBvB,QAAS4B,EACT1B,SAAU,MAIZ7T,aAAY,WACV/R,IAAE,YAAYinB,SAAS,SAAUK,OAChC,KehQCC,K,yCAGiBhkB,EAAWC,GACAD,GACzBvoB,KAAKlG,OACLyuB,EAAU1X,cACV7Q,KAAKlG,MAAM+W,eACV0X,EAAU1X,aAAazT,OAAU4C,KAAKlG,MAAM+W,aAAazT,QAErC4C,KAAKlG,MAAMoX,iB,6CAKnC8T,GAAEV,UAAUkoB,OAAO,iB,sCAILzZ,GACd/yB,KAAKlG,MAAMigC,QAAQlG,yBAAyBd,EAAMvN,OAAO9mB,IACrDsB,KAAKlG,MAAM6a,gBACb3U,KAAK6gC,SAASjnB,KAEd5Z,KAAK6gC,SAASjnB,O,iDAISmZ,GACzB/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAY,qBAC5C2E,KAAKlG,MAAM6a,gBACb3U,KAAK6gC,SAASjnB,KAEd5Z,KAAK6gC,SAASjnB,O,mCAILmZ,GACX/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAY,gBAChD2E,KAAK6gC,SAASjnB,O,0CAGImZ,GAClB/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAY,qBAChD2E,KAAK6gC,SAASjnB,O,uCAGCmZ,M,qCAIFA,EAAOhC,GACpB/wB,KAAKlG,MAAMigC,QAAQyH,qBAAqBzQ,EAAS11B,IAAY,iB,qCAGhD03B,EAAO/H,M,sCAKN+H,EAAO0Z,M,4CAID1Z,GAAQ,IAAD,EACrB3Q,EAAQ2Q,EAAMvN,OAAOpD,MACrB7I,EAAOwZ,EAAMvN,OAAOjM,KAE1BvZ,KAAKi4B,UAAL,mBACG1e,EAAO6I,GADV,kCAEoB,GAFpB,wCAG0B,GAH1B,M,uCAOe2Q,GACfA,EAAMpL,iBAEN,IAAMjF,EAAW1iB,KAAKpG,MAAM8oB,SAE5B,IAAKzH,EAAcyxB,gBAAgBhqB,GAMjC,OALA1iB,KAAKi4B,SAAS,CACZkQ,kBAAkB,EAClBC,uBAAuD,IAA/BpoC,KAAKpG,MAAM8oB,SAAStlB,UAGvC,EAGT4C,KAAKlG,MAAMigC,QAAQjG,oBAAoB,uBAAwBpR,GAC/D1iB,KAAK6gC,SAAS,qBAAuBne,EAASqoB,c,+BAGvC4B,GACP3sC,KAAKlG,MAAM8yC,QAAQ1vB,KAAKyvB,K,0CAgExB,MA5DoB,CAElB,kBAAC,GAAD,CACE5zC,IAAI,UACJihB,MAAOha,KAAKlG,MAAM+W,aAClBsqB,gBAAiBn7B,KAAKm7B,kBAGxB,kBAAC,GAAD,CACEpiC,IAAI,WACJ0X,aAAczQ,KAAKlG,MAAM2W,eAG3B,kBAAC,GAAD,CACE1X,IAAI,2BACJ8zC,oBAAoB,kFACpBp8B,aAAczQ,KAAKlG,MAAM2W,aACzB4F,oBAAqBrW,KAAKlG,MAAMuc,sBAGlC,kBAAC,GAAD,CACEtd,IAAI,aACJoG,SAAUa,KAAKlG,MAAM6W,eACrBF,aAAczQ,KAAKlG,MAAM2W,aACzBqsB,iBAAkB98B,KAAK88B,mBAGzB,kBAAC,GAAD,eACC/jC,IAAI,eACJykC,eAAgBx9B,KAAKw9B,gBACjBx9B,KAAKlG,QAIV,kBAAC,GAAD,CACEf,IAAI,WACJiY,SAAUhR,KAAKlG,MAAMkX,SACrB8rB,iBAAkB98B,KAAK88B,iBACvBqD,eAAgBngC,KAAKmgC,eACrBC,gBAAiBpgC,KAAKogC,gBACtB3vB,aAAczQ,KAAKlG,MAAM2W,eAK3B,kBAAC,GAAD,CACE1X,IAAI,OACJihB,MAAOha,KAAKlG,MAAMiX,cAGpB,kBAAC,GAAD,CACEhY,IAAI,aACJ4b,gBAAiB3U,KAAKlG,MAAM6a,gBAC5BymB,aAAcp7B,KAAKwoC,oBACnBrN,gBAAiBn7B,KAAKuoC,2BACtB93B,aAAczQ,KAAKlG,MAAM2W,eAG3B,kBAAC,GAAD,CAAe1X,IAAI,c,+BAMrB,OACE,yBAAK2gB,UAAU,aAEb,kBAAC,GAAD,CACEa,SAAS,aACT9J,aAAczQ,KAAKlG,MAAM2W,aACzBN,aAAcnQ,KAAKlG,MAAMqW,aACzB0V,KAAM7lB,KAAKlG,MAAM4F,aAGnB,6BACE,kBAAC,GAAD,CACEy7B,gBAAiBn7B,KAAKm7B,gBACtBC,aAAcp7B,KAAKo7B,aACnBzmB,gBAAiB3U,KAAKlG,MAAM6a,gBAC5BlE,aAAczQ,KAAKlG,MAAM2W,aACzB/Q,YAAaM,KAAKlG,MAAM4F,YACxB47B,WAAYjgC,IACZqf,SAAU1a,KAAKlG,MAAM4gB,aAgBxB1a,KAAKsoC,yB,GA3OUlf,IAAMC,WAkP9B6e,GAASlJ,aAAe,CACtBC,OAAQC,IAAUC,QA6ELxE,oBA1Ef,SAAyB/gC,EAAOghC,GAC9B,IAAIpqB,EAAY,GAChB,GAAI5W,EAAMT,KAAM,CACd,IAAIA,EAAOS,EAAMT,KACZA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC7FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIlD,IAAIsV,EAAiB,GACjB/W,EAAM8W,UAAY9W,EAAM8W,SAASC,iBACnCA,EAAiB/W,EAAM8W,SAASC,gBAGlC,IAAIE,EAAe,GACfjX,EAAM8W,UAAY9W,EAAM8W,SAASG,eACnCA,EAAejX,EAAM8W,SAASG,cAGhC,IAAIE,EAAc,GACdnX,EAAM8W,UAAY9W,EAAM8W,SAASK,cACnCA,EAAcnX,EAAM8W,SAASK,aAG/B,IAAIC,EAAW,GACXpX,EAAM8W,UAAY9W,EAAM8W,SAASM,WACnCA,EAAWpX,EAAM8W,SAASM,UAG5B,IAAI87B,EAAc,GACdlzC,EAAM6W,eACRq8B,EAAclzC,EAAM6W,cAGtB,IAAIpR,EAAW,GACX4oC,EAAiB,KACjBj2B,EAAc,KACdpY,EAAM+X,eAAiB/X,EAAM+X,cAActS,WAC7CA,EAAWzF,EAAM+X,cAActS,SAC/B4oC,EAAiBruC,EAAM+X,cAAcE,QACrCG,EAAcpY,EAAM+X,cAAcK,aAGpC,IAAIP,GAAc,EAKlB,OAJI7X,EAAM+X,gBACRF,EAAc7X,EAAM+X,cAAcF,aAG7B,CACLpS,SAAWA,EACX4oC,eAAgBA,EAChBj2B,YAAaA,EACbP,YAAaA,EACbsE,WAAYnc,EAAM8F,YAAYoW,eAAeC,WAC7CpB,gBAAiB/a,EAAM8F,YAAYiV,gBACnCxE,aAAcK,EACdG,eAAgBA,EAChBK,SAAUA,EACVE,eAAgBtX,EAAM8W,SAASQ,eAC/BD,gBAAiBrX,EAAM8W,SAASO,gBAChCJ,aAAcA,EACdE,YAAaA,EACbN,aAAcq8B,EACdptC,YAAa9F,EAAM8F,YACnB2W,oBAAqBzc,EAAM8F,YAAY2W,wBAI3C,SAA4Bic,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI0yC,EAAgBjS,EAAekS,EAAiB9W,EAAiB+W,EAAalS,GAAgBzI,MAIlIqI,CAA6CuN,I,UCjY5D,IAAMgF,GACO,YADPA,GAEqB,0BAFrBA,GAKM,WAICC,GAAiB,CAC5B,CACEzuC,GAAI,EACJub,KAAM,yGACN2W,WAAY,aACZwc,cAAeF,GACftuC,OAAQC,8BACRK,YAAa,cACbmuC,MAAO,CACL,CACE3uC,GAAI,eACJQ,YAAa,cACb0xB,WAAY,aACZ0c,sBAAuB,8BACvBF,cAAeF,MAIrB,CACExuC,GAAI,EACJub,KAAM,+JACN2W,WAAY,cACZwc,cAAeF,GACftuC,OAAQC,8BACRK,YAAa,2BACbquC,gBAAgB,EAChBF,MAAO,CACL,CACE3uC,GAAI,iBACJQ,YAAa,2BACb0xB,WAAY,cACZ0c,sBAAuB,uBACvBF,cAAeF,MAIrB,CACExuC,GAAI,EACJub,KAAM,mFACN2W,WAAY,cACZwc,cAAeF,GACftuC,OAAQC,8BACRK,YAAa,2BACbquC,gBAAgB,EAChBF,MAAO,CACL,CACE3uC,GAAI,iBACJQ,YAAa,2BACb0xB,WAAY,cACZ0c,sBAAuB,uBACvBF,cAAeF,MAIrB,CACExuC,GAAI,EACJub,KAAM,0MACN2W,WAAY,aACZhyB,OAAQC,6BACRuuC,cAAeF,GACfluC,KAAM,4EACNquC,MAAO,CACL,CACE3uC,GAAI,mBACJM,KAAM,4EACNwmB,OAAQ,QACR8nB,sBAAuB,qBACvBF,cAAeF,OCxEVM,I,OAA+B,WAK5C,IACAxoB,IAAE,eAAeyoB,OAAM,SAAUvzC,GAC/BA,EAAEytB,iBACF,IAAInC,EAASR,IAAEhlB,MAAM2pC,KAAK,QAC1B3kB,IAAE,aAAa8mB,QAAQ,CACrB4B,UAAW1oB,IAAEQ,GAAQmoB,SAAS5B,KAC7B,QAGL,MAAM7xC,OCbO0zC,GAAoB,SAACC,EAAUC,GAG1C,IAAIC,GAAgB,EACtB,IACMF,IACFA,EAAW,oBAEV7oB,IAAE6oB,GAAUzwC,OAAS,IAEpB4nB,IAAE6oB,GAAU7T,MAAM,CAChBC,MAAM,EACNC,QAAQ,EACR8T,UAAWhpB,IAAE,mBACbipB,UAAWjpB,IAAE,mBACbmV,UAAU,EACVC,MAAO,IACP8T,MAAM,EACN7T,aAAc,EACdC,UAAU,EACVC,cAAe,MAGjBvV,IAAE6oB,GAAUxoB,GAAG,eAAe,SAAS0N,EAAOiH,EAAOmU,GAChDL,GACDA,EAAS/a,EAAOob,OAKzB,MAAMj0C,GACL6zC,GAAgB,EAChB3a,QAAQC,IAAI,oBAAqBn5B,GAIjC,OAAO6zC,GAIIK,GAAqB,WA4BlC,GAzBEZ,KDvB8C,WAIhD,IAEExoB,IAAE,iBAAiByoB,OAAM,SAAUvzC,GACjCA,EAAEytB,iBACF,IAAInC,EAASR,IAAEhlB,MAAM2pC,KAAK,qBAC1B3kB,IAAE,aAAa8mB,QAAQ,CACrB4B,UAAW1oB,IAAE,IAAMQ,GAAQmoB,SAAS5B,KACnC,QAGP,MAAM7xC,KCUJm0C,GAIFrpB,IAAE,iBAAiBspB,UAGnBtpB,IAAE,aAAaK,GAAG,qBAAqB,SAAUnrB,GAC/C8qB,IAAEhlB,MAAMqpC,KAAK,mBAAmByC,QAAQ,CACtCrB,OAAQzlB,IAAE9qB,EAAEq0C,eAAe9D,UAC1B,QAILzlB,IAAE,wBAAwBK,GAAG,QAAS,yBAAyB,SAAUnrB,GACvEA,EAAEytB,iBACF3C,IAAE,mBAAmByC,YAAY,WAGnCzC,IAAE,wBAAwBK,GAAG,QAAS,yBAAyB,SAAUnrB,GACvEA,EAAEytB,iBACF3C,IAAE,oBAAoByC,YAAY,WAGhCzC,IAAE,kBAAkB5nB,OAAS,EACpB,IAAI2qC,KAAiB,wBAOhC/iB,IAAE,eAAekkB,SAAS,WCjEtBsF,GAA4B,SAAC,GAClC,IADmCC,EACpC,EADoCA,WAAsBC,GAC1D,EADgDx4B,SAChD,EAD0Dw4B,mBAElDC,EAAc,8BA6BlB,OA3BGF,EAAW1d,QACZ4d,EAAc,kBAAC,GAAD,CACV5d,QAAS0d,EAAW1d,QACpBwM,SAAS,8BACTC,eAAgB,SAACG,EAAK5M,GAAN,OAAkB2d,EAAkB/Q,EAAK8Q,EAAW/vC,MAEnE,8BAAQ+vC,EAAW7d,aAGlB6d,EAAWzvC,KACf2vC,EAAc,uBAAGj1B,UAAU,8BACtB1a,KAAMyvC,EAAWzvC,KACjBwmB,OAAQipB,EAAW5d,WACnB9J,QAAS,SAAC4W,GAAD,OAAO+Q,EAAkB/Q,EAAK8Q,EAAW/vC,MACjD,8BAAQ+vC,EAAW7d,aAGrB6d,EAAWvvC,cACjByvC,EAAc,kBAAC,IAAD,CAAMj1B,UAAU,8BACzBqO,GAAI0mB,EAAWvvC,YACfsmB,OAAQipB,EAAW5d,WACnB9J,QAAS,SAAC4W,GAAD,OAAQ+Q,EAAkB/Q,EAAK8Q,EAAW/vC,MAClD,8BAAQ+vC,EAAW7d,cAMzB,yBAAKlX,UAAU,eACb,4BAAK+0B,EAAWx0B,MAChB,yBAAK+M,IAAKynB,EAAW7vC,OAAQ8a,UAAU,wBAAwBuN,IAAI,KACnE,6BAKC0nB,IAUIC,GAAb,YACI,WAAY90C,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACXu0C,aAAc,EACdU,iBAAiB,GAGnB,EAAKC,oBAAsB,EAAKA,oBAAoBxmB,KAAzB,gBARD,EADhC,iFAaMslB,GAAkB,oBAAqB5tC,KAAK8uC,uBAblD,4CAiBU9uC,KAAKpG,MAAMi1C,iBAAmB7uC,KAAKlG,MAAMuX,eAAiBrR,KAAKlG,MAAMuX,cAAcjU,OAAS,IAC9FwwC,GAAkB,oBAAqB5tC,KAAK8uC,qBAC5C9uC,KAAKi4B,SAAS,CAAC4W,iBAAiB,OAnBxC,0CAuBwB30C,EAAG60C,GACrB70C,EAAEytB,iBACF3nB,KAAKi4B,SAAS,CAACkW,aAAcY,MAzBnC,+BA4Ba,IAAD,EAE2F/uC,KAAKlG,MAA/F2W,EAFD,EAECA,aAAcY,EAFf,EAEeA,cAAeq9B,EAF9B,EAE8BA,kBAAmB78B,EAFjD,EAEiDA,QAFjD,KAE0Dm9B,WAF1D,EAE2Ez0B,iBAF3E,MAEqF,GAFrF,EAMFA,GADU,GAFAlJ,EAAcjU,OAGZ,UAGA,WAGM,8BAuBpB,OAtBGyU,EACc,kBAAC,GAAD,CAAkBoI,KAAMxJ,EAAapV,IAAkBoV,EAAanV,qBAAuB,0BAI1G,oCACE,qCAAKoe,UAAU,mBAAf,YAA4C,oBAC1C,yBAAKA,UAAU,SAAShb,GAAG,aACzB,4BAAQqnB,KAAK,SAASrM,UAAU,8BAChC,4BAAQqM,KAAK,SAASrM,UAAU,8BAChC,yBAAKA,UAAU,kBAAkBhb,GAAG,oBAEhC2S,EAAc+U,KAAK,SAACrnB,EAAQ5B,GAAT,OAAe,kBAAC,GAAD,CAA2BpE,IAAKoE,EAAG+Y,SAAe,GAAL/Y,EAAQsxC,WAAY1vC,EAAQ2vC,kBAAmBA,eArDlJ,GAA4CtlB,IAAMC,WC/DrC4lB,GAAmC,SAAC,GAChD,IADkDh1B,EACnD,EADmDA,KAEjD,OACI,yBAAKP,UAAU,sCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,+BACb,0BAAMA,UAAU,QAAQkiB,wBAAyBC,EAAmB5hB,SCC1Ei1B,GAAqB,SAAC,GAAD,IAAEC,EAAF,EAAEA,aAAF,OAEzB,6BACGA,EAAa/oB,KAAI,SAAAoD,GAAS,OACzB,0BAAMzwB,IAAKywB,EAAUzwB,KAAMywB,QAK3B4lB,GAAuB,SAAC,GAC7B,IAD8BvqB,EAC/B,EAD+BA,KAAMkV,EACrC,EADqCA,QAE7BvQ,EAAY,+BAEZ2lB,EAAe,GACfE,EAAgBxqB,EAAK5K,KACrBq1B,EAAoB,EAGxB,GAAID,EAAcpsB,QAAQ,MAAQ,EAAG,CAEnC,KAAOosB,EAAcpsB,QAAQ,MAAM,GAAKosB,EAAcpsB,QAAQ,MAAM,GAAG,CAErE,IAAIssB,EAAwBF,EAAcpsB,QAAQ,KAC9CusB,EAAyBH,EAAcpsB,QAAQ,KAG/CwsB,GADkBJ,EAAcK,UAAUH,EAAuBC,EAAuB,GACvDH,EAAcK,UAAUH,EAAsB,EAAGC,IAClFG,EAAkB,KAElBC,EAAgB,0BAAM72C,IAAKu2C,EACb1T,wBAAyBC,EAAmBwT,EAAcK,UAAU,EAAGH,MAEzFJ,EAAajyB,KAAK0yB,GAElB,IAAI,IAAIzyC,EAAE,EAAEA,EAAE0nB,EAAKwoB,MAAMjwC,OAAOD,IAC9B,GAAI0nB,EAAKwoB,MAAMlwC,GAAGuB,IAAM+wC,EAAgC,CACtDE,EAAkB9qB,EAAKwoB,MAAMlwC,GAC7B,MAIJ,GAAIwyC,EAAiB,CACnB,IAAIE,EAAsB,kBAAC,GAAD,CAAqB92C,IAAK42C,EAAgBjxC,GAAIq7B,QAASA,EAAS+V,IAAI,GAAGjrB,KAAM8qB,IACvGR,EAAajyB,KAAK2yB,GAGpBP,IAEAD,EAAgBA,EAAcK,UAAUF,EAAyB,GAInE,IAAIO,EAAW,0BACCh3C,IAAKu2C,EACL1T,wBAAyBC,EAAmBwT,KAE5DF,EAAajyB,KAAK6yB,GAElBvmB,EAAY,kBAAC,GAAD,CAAoB2lB,aAAcA,SAI9C3lB,EAAY,0BAAMoS,wBAAyBC,EAAmBhX,EAAK5K,QAGrE,OAAQuP,GAGNwmB,GAAsB,SAAC,GAC5B,IAD6BnrB,EAC9B,EAD8BA,KAAMsX,EACpC,EADoCA,SAAUpC,EAC9C,EAD8CA,QAC9C,IADuD+V,WACvD,MAD2D,eAC3D,EAEQtmB,EAAY,KAGhB,SAASymB,EAAYtS,EAAK9Y,GACtBkV,EAAQvE,wBAAwB3Q,EAAKuoB,eAsB3C,OAnBMvoB,EAAK7lB,KACPwqB,EAAY,uBACTxqB,KAAM6lB,EAAK7lB,KACX0a,UAAWo2B,EACX/oB,QAAS,SAAC4W,GAAD,OAAOsS,EAAYtS,EAAK9Y,IACjCW,OAAO,UACH2W,GAIHtX,EAAK3lB,cACXsqB,EAAY,kBAAC,IAAD,CACIzC,QAAS,SAAC4W,GAAD,OAAOsS,EAAYtS,EAAK9Y,IACjCnL,UAAWo2B,EACX/nB,GAAIlD,EAAK3lB,aACJi9B,IAIf3S,GAGJ0mB,GAAoB,SAAC,GAC1B,IAD2BrrB,EAC5B,EAD4BA,KAAMkV,EAClC,EADkCA,QAGhC,OACE,yBAAKrgB,UAAU,oEACb,yBAAKA,UAAU,6BAKb,yBAAKA,UAAU,sDACX,kBAAC,GAAD,CAAsBmL,KAAMA,EAAMkV,QAASA,KAG/C,yBAAKrgB,UAAU,qDACb,kBAAC,GAAD,CAAqBmL,KAAMA,EAAMkV,QAASA,EAAS+V,IAAI,IACrD,yBAAKp2B,UAAU,cAAcsN,IAAKnC,EAAKjmB,YAK7C,yBAAK8a,UAAU,qFACb,yBAAKA,UAAU,uBAEX,kBAAC,GAAD,CAAsBmL,KAAMA,EAAMkV,QAASA,QAO1CoW,GAAmB,SAAC,GAChC,IADiCzwC,EAClC,EADkCA,YAAa1F,EAC/C,EAD+CA,UAAW+/B,EAC1D,EAD0DA,QAAStpB,EACnE,EADmEA,aAG7D2/B,EAAsB,GACvBp2C,EAAUq2C,kBACXD,EAAsB,QAGxB,IAAIzxC,EAAQ8R,EAAapV,IAAkBoV,EAAanV,qBAAuB,iBAAmB80C,GAC9FE,EAAS7/B,EAAapV,IAAkBoV,EAAanV,qBAAuB,kBAAoB80C,GAEhGG,EAAcpD,GAWd,OATDztC,GAAeA,EAAY9C,QAE1B2zC,EADC5zC,aAAW+C,EAAY9C,MAAOf,KAAUE,qBAC3BoxC,GAAenkB,QAAO,SAAAod,GAAC,OAAwB,GAApBA,EAAEmH,kBAG7BJ,GAAenkB,QAAO,SAAAod,GAAC,OAAwB,GAApBA,EAAEmH,mBAKzC,yBAAK7zB,UAAU,YAEb,wBAAIA,UAAU,eACZ,0BAAMA,UAAU,QAAQkiB,wBAAyBC,EAAmBl9B,MAGtE,yBAAK+a,UAAW,0CACd,0BAAMkiB,wBAAyBC,EAAmByU,MAGlDC,EAAWnqB,KAAK,SAAAvB,GAAI,OAAI,kBAAC,GAAD,CAAmBA,KAAMA,EAAMkV,QAASA,EAAShhC,IAAK8rB,EAAKnmB,QAErF,8JC/KG8xC,GAAY,SAAC,GAAsC,IAAD,IAApCxxC,YAAoC,MAA/B,IAA+B,EAA1B+nB,EAA0B,EAA1BA,QAA0B,IAAjBxM,gBAAiB,MAAR,GAAQ,EAE/D,OACE,uBAAGb,UAAW,cAAgBa,GACxB,uBAAGvb,KAAMA,EAAM0a,UAAU,QAAQqN,QAASA,GACtC,uBAAGrN,UAAU,sCCWZ+2B,IAHHh2B,OAAOuK,EAGjB,YAEE,WAAYlrB,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACX82C,eAAgB,EAChBC,aAAc,EACdC,eAAe,EACfC,eAAgB,IAGlB,EAAKC,qBAAuB,EAAKA,qBAAqBxoB,KAA1B,gBAC5B,EAAKyoB,kBAAoB,EAAKA,kBAAkBzoB,KAAvB,gBACzB,EAAKsP,qBAAuB,EAAKA,qBAAqBtP,KAA1B,gBAC5B,EAAK0oB,iBAAmB,EAAKA,iBAAiB1oB,KAAtB,gBACxB,EAAK2oB,cAAgB,EAAKA,cAAc3oB,KAAnB,gBACrB,EAAK4oB,gBAAkB,EAAKA,gBAAgB5oB,KAArB,gBACvB,EAAK6oB,oBAAsB,EAAKA,oBAAoB7oB,KAAzB,gBAC3B,EAAK8oB,oBAAsB,EAAKA,oBAAoB9oB,KAAzB,gBAC3B,EAAK+oB,eAAiB,EAAKA,eAAe/oB,KAApB,gBAlBE,EAF9B,oFAyBI,IAAIgpB,EAAetxC,KAAKpG,MAAM82C,gBAE9BY,GAAgB71C,MAEIuE,KAAKlG,MAAMC,aAAaC,UAAU4F,QAEpD0xC,EAAetxC,KAAKlG,MAAMC,aAAaC,UAAU4F,MAEjD2xC,cAAcvxC,KAAKwxC,SACnBxxC,KAAKwxC,QAAU,KAEfxxC,KAAKlG,MAAM23C,cAAa,IAI1BzxC,KAAKi4B,SAAU,CAAEyY,eAAgBY,MAxCrC,0CA4CItxC,KAAKi4B,SAAS,CAAC0Y,aAAc,MA5CjC,gDA+C4Be,GAErBA,IAAcA,EAAU7/B,UAEnB6/B,EAAU33C,aAAaC,UAAU+Y,SAAW2+B,EAAU33C,aAAaC,UAAU4F,MAAQ,IAEnFI,KAAKpG,MAAMg3C,eAEX5wC,KAAKi4B,SAAS,CAAC2Y,eAAc,IAC7B5wC,KAAKi4B,SAAU,CAAEyY,eAAgB,IAC7B1wC,KAAKwxC,UACND,cAAcvxC,KAAKwxC,SACnBxxC,KAAKwxC,QAAU,MAElBxxC,KAAKwxC,QAAUza,YAAY/2B,KAAK8wC,qBAAsB,KAEhD9wC,KAAKwxC,SACbxxC,KAAKi4B,SAAU,CAAEyY,eAAgBgB,EAAU33C,aAAaC,UAAU4F,WAhE9E,6CAwEQI,KAAKwxC,UACND,cAAcvxC,KAAKwxC,SACnBxxC,KAAKwxC,QAAU,QA1EtB,0CA+EIxxC,KAAK43B,yBA/ET,yCAoFqBrP,EAAWC,GAC1BxoB,KAAK43B,yBArFX,uCAwFmB+F,GAEf,IAAIgU,EAAc3xC,KAAKlG,MAAM4F,aAAeM,KAAKlG,MAAM4F,YAAX,mBACxCkyC,EAAY5xC,KAAKlG,MAAM4F,aAAeM,KAAKlG,MAAM4F,YAAX,mBAExCiyC,IACOC,EACC5xC,KAAKlG,MAAMigC,QAAQ8X,2BAGnBlU,EAAIhW,iBACJ3nB,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,SAnGtC,6CA0GkB5Z,KAAKlG,MAAMigC,UA1G7B,oCA+GgBr6B,EAAa1F,EAAW83C,EAAarhC,GACjD,IAAIlQ,EACAwxC,EACAC,EACAC,EACAC,EACAC,EA0EJ,OAzEGn4C,EAAU4F,OAAS,KACpBmyC,EAAc,kBACdC,EAAa,mDACbC,EAAY,UACZC,EAAS,OACTC,EAAU,MACV5xC,EAAckQ,EAAY,oCAEpBzW,EAAU4F,OAAS,KACzBmyC,EAAc,kBACdC,EAAa,mDACbC,EAAY,UACZC,EAAS,MACTC,EAAU,MACV5xC,EAAckQ,EAAY,+BAEpBzW,EAAU4F,OAAS,KACzBmyC,EAAc,kBACdC,EAAa,mDACbC,EAAY,UACZC,EAAS,MACTC,EAAU,MACV5xC,EAAckQ,EAAY,4BAEpBzW,EAAU4F,OAAS,KACzBmyC,EAAc,kBACdC,EAAa,oDACbC,EAAY,UACZC,EAAS,OACTC,EAAU,MACV5xC,EAAckQ,EAAY,iCAG1BshC,EAAc,kBACdC,EAAa,mDACbC,EAAY,UACZC,EAAS,QACTC,EAAU,QACV5xC,EAAckQ,EAAY,iCAIxB,6BAASiJ,UAAU,eAAehb,GAAG,QACnC,yBAAKgb,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,gCACb,sCAAYha,EAAYyU,YAAxB,KACA,uBAAGuF,UAAU,qBAAb,sCAA+D,6BAA/D,wDACqD,6BADrD,6CACoG,uBAAG1a,KAAM4a,KAAT,QADpG,KAEA,uBAAGF,UAAU,aAAb,yCAA+D,6BAA/D,+BACA,kBAAC,IAAD,CAAMqO,GAAInO,IAA4CF,UAAU,6BAA4B,yBAAKsN,IAAKnoB,iBAA2B6a,UAAU,YAAYuN,IAAI,KAA3J,2BAGF,yBAAKvN,UAAU,qFACb,yBAAKA,UAAU,cACf,yBAAKA,UAAU,cACX,wBAAIA,UAAU,SAAd,YACA,wBAAIA,UAAU,gBAAgB1f,EAAU4F,OACxC,wBAAI8Z,UAAU,QAAQ1f,EAAU0Y,gBAAhC,IAAiD,uBAAG1T,KAAK,IAAI0a,UAAU,eAAesM,cAAY,UAAUosB,iBAAe,SAASzzC,MAAO4B,EAAa8xC,sBAAqB9xC,GAAa,yBAAKymB,IAAKnoB,iBAA2B6a,UAAU,sBAAsBuN,IAAI,SAGvQ,yBAAKvN,UAAU,eACb,yBAAKA,UAAU,YACf,yBAAKA,UAAU,YACf,yBAAKA,UAAU,UAAUwP,MAAO,CAACopB,UAAUP,EAAaQ,WAAYP,KACpE,0BAAM9oB,MAAO,CAACspB,gBAAgBP,EAAWlG,IAAImG,EAASO,KAAKN,MAE7D,kBAAC,IAAD,CAAMpqB,GAAInO,IAA4CF,UAAU,WAAU,yBAAKsN,IAAKnoB,iBAA2B6a,UAAU,YAAYuN,IAAI,KAAzI,sBAzLhB,0CAkMsBvnB,EAAa1F,GAAW,IAAD,OAErCyW,EAAezQ,KAAKlG,MAAM2W,aAC1BiiC,EAAqC,MAAd1yC,KAAKwxC,QAAgB,SAAW,GACvDmB,EAA+BD,EAAuB,SAmD3D,OAjDc,yBAAKh5B,UAAU,+BAC1B,uBAAGA,UAAWg5B,GAEZ,0BAAMh5B,UAAU,oCAAoCjJ,EAAapV,IAAkBoV,EAAanV,qBAAuB,mBACrH,0BAAMoe,UAAU,cACd04B,iBAAe,MACfpsB,cAAY,UACZ4sB,aAAYniC,EAAapV,IAAkBoV,EAAanV,qBAAuB,mCAC/E+2C,sBAAoB,GACpBQ,YAAU,OACVl0C,MAAM,IACN,uBAAG+a,UAAU,iDAIjB,0BAAMA,UAAU,qBAAqBkiB,wBAAyBC,EAAmB7hC,EAAU0Y,mBAG3F,0BAAMgH,UAAU,oBAAoBkiB,wBAAyBC,EAAmB7hC,EAAU2Y,cAI5F,uBAAG+G,UAAWi5B,GACZ,0BAAM/W,wBAAyBC,EAAmB7hC,EAAU4Y,gBAI9D,yBAAK8G,UAAU,aAEb,uBAAGA,UAAU,oDAAoDqN,QAAS,kBAAK,EAAKjtB,MAAMg5C,YAAY,KACnG9yC,KAAKlG,MAAM2W,aAAX,sBAIL,yBAAKiJ,UAAU,iCACX,yBAAKA,UAAU,YACb,uBAAGA,UAAU,oDAAoDqN,QAAS,kBAAK,EAAKjtB,MAAMg5C,YAAY,KACnG9yC,KAAKlG,MAAM2W,aAAX,uBAKT,yBAAKiJ,UAAU,0CACb,uBAAGA,UAAU,oEAAoE1a,KAAK,+BACnFgB,KAAKlG,MAAM2W,aAAX,mBApPX,0CA4PsB/Q,EAAa1F,EAAW+sB,GAEvB/mB,KAAKlG,MAAM2W,aAA9B,IACIiiC,EAAqC,MAAd1yC,KAAKwxC,QAAgB,SAAW,GACvDmB,EAA+BD,EAAuB,SAEtDK,EAAU,KACVC,GAAmB,EAgCxB,OA/BIh5C,EAAU2Y,WAAmC,SAAtB3Y,EAAU2Y,YAClCqgC,GAAmB,GACnBD,EAAU/yC,KAAKlG,MAAM2W,aAAa,qBAAuBzW,EAAU2Y,cAEjEogC,EAAUA,EAAQ/wB,QAAQ,gBAAiBtiB,EAAYyU,eAK9C,yBAAKuF,UAAU,+BAE1B,uBAAGA,UAAW,gBAAkBg5B,GAE9B,0BAAMh5B,UAAU,qBAAqBkiB,wBAAyBC,EAAmB7hC,EAAU0Y,mBAG3F,0BAAMgH,UAAU,oBAAoBkiB,wBAAyBC,EAAmB7hC,EAAU2Y,cAI5F,0BAAM+G,UAAU,eAAe1Z,KAAKlG,MAAM2W,aAAX,kBAE/B,uBAAGiJ,UAAW,uBAAyBi5B,GACrC,0BAAM/W,wBAAyBC,EAAmBkX,MAInDC,GAAoB,kBAAC,GAAD,CAAWh0C,KAAK,mBAAmB+nB,QAASA,EAASxM,SAAU,uBAAyBo4B,OA/RnH,uCAuSI3yC,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAiB,qBAvSzD,sCA2SkBqE,EAAa1F,EAAW83C,EAAajB,EAAgBoC,EAAOxiC,GAE1E,IAAIyiC,EAAalzC,KAAKixC,cAAcvxC,EAAa1F,EAAW83C,EAAarhC,GAErD,8BAiBpB,MAfoC,OAAjCwiC,EAAM75C,wBACU4G,KAAKoxC,oBAAoB1xC,EAAa1F,EAAWgG,KAAKqxC,gBAGtDrxC,KAAKmxC,oBAAoBzxC,EAAa1F,GAMxD,yBAAK0f,UAAWm3B,GACbqC,KA5TR,+BAuUM,IAAIziC,EAAezQ,KAAKlG,MAAM2W,aAC1BzW,EAAYgG,KAAKlG,MAAMC,aAAX,UACZ+3C,EAAc9xC,KAAKpG,MAAM82C,eAAiB,EAAI1wC,KAAKpG,MAAM82C,eAAgB12C,EAAU4F,MAEnFuzC,EAAgB,8BACpB,GAAGnzC,KAAKlG,MAAM+X,QACZshC,EAAgB,kBAAC,GAAD,CAAkBl5B,KAAMxJ,EAAapV,IAAkBoV,EAAanV,qBAAuB,6BAExG,GAAItB,EAAU+Y,QACjBogC,EAAgB,kBAAC,GAAD,CAAkBzzC,YAAaM,KAAKlG,MAAM4F,YAAc1F,UAAWA,EAAW+/B,QAAS/5B,KAAKlG,MAAMigC,QAAWtpB,aAAcA,IAExIzW,EAAUgZ,oBAGLhZ,EAAUiZ,WACdkgC,EAAgB,kBAAC,GAAD,CAAkCl5B,KAAMxJ,EAAY,uBAEhEzW,EAAUkZ,yBACdigC,EAAgB,kBAAC,GAAD,CAAkCl5B,KAAMxJ,EAAY,mBAEhEzW,EAAUmZ,UAGVnZ,EAAUqZ,kBAKf,GAAIrT,KAAKpG,MAAM+2C,YAMf,CAYHwC,EAFmBnzC,KAAKkxC,gBAAgBlxC,KAAKlG,MAAM4F,YAAa1F,EAAW83C,EAAa9xC,KAAKpG,MAAMi3C,eAAgB7wC,KAAKlG,MAAMm5C,MAAOxiC,QAfrI0iC,EAAgB,6BACI,kBAAC,GAAD,CAAkBl5B,KAAMxJ,EAAapV,IAAkBoV,EAAanV,qBAAuB,wBAC1F,yBAAKoe,UAAU,SAASsN,IAAKhtB,EAAU4E,OAAQw0C,OAAQpzC,KAAK+wC,qBAkBjF,OAAOoC,MAxXf,GAAoC/pB,IAAMC,YA4X1ConB,GAAezR,aAAe,CAC5BC,OAAQC,IAAUC,Q,cC7YdkU,GAAsB,SAACv5C,GAIzB,OACE,oCACE,yBAAK4f,UAAU,iCACX,yBAAKA,UAAU,gCAAgCsN,IAAKltB,EAAM8E,UAE9D,6BACI,2BACC9E,EAAMmgB,SAYbq5B,GAAmB,SAACx5C,GAEtB,IAAI0oB,EAAS1oB,EAAMy5C,OAASz5C,EAAM05C,WAAa,EAAI,GAC/C50C,EAAM,uCAAmC4jB,EAAnC,QAEd,OACI,yBAAK9I,UAAU,QACX,yBAAKA,UAAU,cAAchb,GAAI,WAAa5E,EAAMgwB,OAChD,wBAAIpQ,UAAU,QACV,4BAAQA,UAAU,eAClBsM,cAAY,WACZqW,cAAa,aAAeviC,EAAMgwB,MAClC5D,gBAAc,OACdoW,gBAAe,YAAcxiC,EAAMgwB,OAClChwB,EAAM+4B,SAKf,yBAAKn0B,GAAI,YAAc5E,EAAMgwB,MAC1BpQ,UAAW,aAAe5f,EAAMmF,KAAM,OAAQ,IAC9CknB,kBAAgB,aAChBoW,cAAY,cACP,yBAAK7iB,UAAU,kBACX,kBAAC,GAAD,CACA9a,OAAQA,EACRqb,KAAMngB,EAAMmgB,WAkB1Bw5B,GAAc,WAEpB,OAAQ,yBAAK/5B,UAAU,uBACP,yBAAKA,UAAU,2BACX,yBAAKA,UAAU,UACX,yBAAKA,UAAU,mBACf,yBAAKA,UAAU,sDAAf,qBAAsF,6BAAtF,iBAGR,yBAAKA,UAAU,qCACX,yBAAKA,UAAU,UACX,yBAAKA,UAAU,mBACf,yBAAKA,UAAU,uDAAf,cAOlBg6B,GAAc,SAAC,GAAgC,IAA/BC,EAA8B,EAA9BA,UAAWC,EAAmB,EAAnBA,cAAmB,EAEAC,mBAASD,GAFT,oBAE1CE,EAF0C,KAExBC,EAFwB,KAI7CC,EAAcL,EAAUG,GACxBl1C,EAAS,GACTqb,EAAO,GACV,GAAG+5B,EAAgB,CACf,IAAIxxB,EAASwxB,EAAYT,OAASS,EAAYR,WAAa,EAAI,GAC/D50C,EAAM,uCAAmC4jB,EAAnC,QACNvI,EAAO+5B,EAAY/5B,KAGvB,OACA,yBAAKP,UAAU,mCACP,yBAAKA,UAAU,aACX,2BAAOA,UAAU,wBACb,wBAAIhb,GAAG,QACFi1C,GAAaA,EAAUvtB,KAAI,SAACvB,EAAM1nB,GAC/B,OACI,wBAAIpE,IAAKoE,EACLuc,UAAW,wCAA2Cvc,GAAK22C,EAAmB,oBAAoB,IAClG/sB,QAAS,SAAC7sB,GAAOA,EAAEytB,iBAAkBosB,EAAoB52C,KAC7D,uBAAG6B,KAAK,IAAI6lB,EAAKgO,WAI7B,wBAAInZ,UAAU,cAItB,yBAAKA,UAAU,cACVi6B,GAAa,kBAAC,GAAD,CACd/0C,OAAQA,EACRqb,KAAMA,OAcTg6B,GAAe,SAACn6C,GAEzB,OAEA,yBAAK4f,UAAU,yEACX,yBAAKA,UAAU,0BACX,iCACI,yBAAKA,UAAU,+BACX,kBAAC,GAAD,MACA,kBAAC,GAAD,CAAai6B,UAAW75C,EAAM65C,UAAWC,cAAe,IAExD,yBAAKl6B,UAAU,uCACP,yBAAKhb,GAAG,YAAYgb,UAAU,oBACzB5f,EAAM65C,WAAa75C,EAAM65C,UAAUvtB,KAAI,SAACvB,EAAM1nB,GAAP,OAAa,kBAAC,GAAD,eAAkBpE,IAAKoE,GAAO0nB,EAA9B,CAAoCiF,MAAO3sB,EAAG8B,KAAW,GAAL9B,eClJ5H+2C,GAAyB,SAACp6C,GAEvC,OACI,6BAAS4f,UAAU,0CACnB,yBAAKA,UAAU,aAEX,yBAAKA,UAAU,QAAf,IACE,yBAAKA,UAAU,qCACb,yBAAKA,UAAU,qCACb,yBAAKA,UAAU,cACb,uBAAG1a,KAAM4a,KAAT,QAEC9f,EAAMq6C,YAAc,uBAAGn1C,KAAM4a,KAAqC,+CAA9C,KACrB,uBAAG5a,KAAK,aAAa0a,UAAU,cAA/B,qBCIV06B,IAHI35B,OAAOuK,EAGmB,SAAC,GAAmD,IAAlDypB,EAAiD,EAAjDA,WAAYC,EAAqC,EAArCA,kBAAqC,IAAlBn0B,gBAAkB,MAAP,GAAO,EAEjFo0B,EAAc,8BA4BhB,OA1BGF,EAAW1d,QACZ4d,EAAc,kBAAC,GAAD,CACV5d,QAAS0d,EAAW1d,QACpBwM,SAAU,mBAAqBhjB,EAC/BijB,eAAgB,SAACG,EAAK5M,GAAN,OAAkB2d,EAAkB/Q,EAAK8Q,EAAW/vC,MAEnE,8BAAQ+vC,EAAW7d,YAAc,mBAGhC6d,EAAWzvC,KACf2vC,EAAc,uBAAGj1B,UAAW,mBAAqBa,EAC5Cvb,KAAMyvC,EAAWzvC,KACjBwmB,OAAQipB,EAAW5d,WACnB9J,QAAS,SAAC4W,GAAD,OAAO+Q,EAAkB/Q,EAAK8Q,EAAW/vC,MACjD,8BAAQ+vC,EAAW7d,YAAc,mBAGnC6d,EAAWvvC,cACjByvC,EAAc,kBAAC,IAAD,CAAMj1B,UAAW,mBAAqBa,EAC/CwN,GAAI0mB,EAAWvvC,YACfsmB,OAAQipB,EAAW5d,WACnB9J,QAAS,SAAC4W,GAAD,OAAQ+Q,EAAkB/Q,EAAK8Q,EAAW/vC,MAClD,8BAAQ+vC,EAAW7d,YAAc,oBAIhC+d,IAQPH,GAA4B,SAAC,GAClC,IADmCC,EACpC,EADoCA,WAEhC,OACE,yBAAK/0B,UAAU,eACZ,yBAAKsN,IAAKynB,EAAW7vC,OAAQ8a,UAAU,yCAAyCuN,IAAI,OAYhFotB,GAAb,YACI,WAAYv6C,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACXu0C,aAAc,EACdU,iBAAiB,GAGnB,EAAKC,oBAAsB,EAAKA,oBAAoBxmB,KAAzB,gBARD,EADhC,iFAaMslB,GAAkB,oBAAqB5tC,KAAK8uC,uBAblD,4CAiBU9uC,KAAKlG,MAAM+X,UAAY7R,KAAKpG,MAAMi1C,iBAAmB7uC,KAAKlG,MAAMuX,eAAiBrR,KAAKlG,MAAMuX,cAAcjU,OAAS,GAClHwwC,GAAkB,oBAAqB5tC,KAAK8uC,sBAC7C9uC,KAAKi4B,SAAS,CAAC4W,iBAAiB,MAnB1C,0CAwBwB30C,EAAG60C,GACrB70C,EAAEytB,iBACF,IACE3nB,KAAKi4B,SAAS,CAACkW,aAAcY,IAE/B,MAAMva,GACJpB,QAAQC,IAAI,sBAAuBmB,MA9B3C,+BAkCa,IAAD,EACyGx0B,KAAKlG,MAA7G2W,EADD,EACCA,aAAcY,EADf,EACeA,cAAe88B,EAD9B,EAC8BA,aAAcO,EAD5C,EAC4CA,kBAAmB78B,EAD/D,EAC+DA,QAD/D,EACwEm9B,WADxE,EACyFz0B,SAC7F4zB,EAAenuC,KAAKpG,MAAMu0C,aAC1B,IAAImG,EAAQjjC,EAAcjU,OAEtBm3C,EAAc,KACfljC,GAAiBA,EAAcjU,OAAS,IACzCm3C,EAAcljC,EAAc88B,IAU9B,IAAIgF,EAAgB,8BA4CpB,OA3CGthC,EACDshC,EAAe,kBAAC,GAAD,CAAkBl5B,KAAMxJ,EAAapV,IAAkBoV,EAAanV,qBAAuB,0BAEnG+V,GAAiBA,EAAcjU,OAAS,IAE/C+1C,EACE,oCACA,yBAAKz5B,UAAU,kBACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,sBACX,wBAAIA,UAAU,qBAAd,0CACA,uBAAGhb,GAAG,2BAGZ,yBAAKgb,UAAU,6CACT,yBAAKA,UAAU,8CAA8Chb,GAAG,cAC9D,4BAAQqnB,KAAK,SAASrM,UAAU,uCAChC,4BAAQqM,KAAK,SAASrM,UAAU,uCAChC,yBAAKA,UAAU,kBAAkBhb,GAAG,oBAEhC2S,EAAc+U,KAAK,SAACrnB,EAAQ5B,GAAT,OAAe,kBAAC,GAAD,CAA2BpE,IAAKoE,EAAG+Y,SAAe,GAAL/Y,EAAQsxC,WAAY1vC,EAAQ2vC,kBAAmBA,SAIpI,yBAAKh1B,UAAU,0CAEX66B,GACA,yBAAK76B,UAAU,iEACL,wBAAIA,UAAU,QAAS66B,EAAYt6B,MAAQ,wBAA3C,MACA,uBAAGP,UAAU,IAAK66B,EAAYh0C,aAC9B,kBAAC,GAAD,CAA6BkuC,WAAY8F,EAAa7F,kBAAmBA,EAAmBn0B,SAAS,8BAaxH44B,MA/Ff,GAAmD/pB,IAAMC,WC1C1CmrB,G,YA3Bb,WAAY16C,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KACRzH,MAAO,IAAIL,MAAOC,cAFG,E,sEAM1B,OACE,4BAAQ7G,UAAU,iCACR,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,qCACb,uDAA0B1Z,KAAK2gB,KAA/B,wFAEF,yBAAKjH,UAAU,sBACb,wBAAIA,UAAU,kBACZ,4BAAI,uBAAG1a,KAAM4a,KAAT,yBACJ,4BAAI,uBAAG5a,KAAM4a,KAAT,6B,GAlBKwP,IAAMC,W,0CCyB1BorB,IAFFh6B,OAAOi6B,GAElB,YAEI,WAAY56C,EAAOsuB,GAAS,IAAD,8BACvB,4CAAMtuB,EAAOsuB,KAGRxuB,MAAQ,CACXiY,SAAS,EACT8iC,cAAe,EACf7a,SAAS,GAGX,EAAK8a,yBAA2B,EAAKA,yBAAyBtsB,KAA9B,gBAVT,EAF/B,iFAeyB,IAAD,OAClBtoB,KAAKi4B,SAAS,CAACpmB,SAAQ,IACvB7R,KAAKlG,MAAMigC,QAAQplB,gBAAgB9Y,KAAUC,kBAAkB8f,MAAK,SAAA1hB,GAGhE,EAAKJ,MAAMigC,QAAQsL,UAAS,GAAMzpB,MAAK,SAACi5B,GACtC,EAAK/6C,MAAMigC,QAAQ1C,eAAeh8B,KAClC,EAAKvB,MAAMigC,QAAQjE,iBAAiB,CAAC7J,cAAc,EAAMC,gBAAgB,EAAMC,gBAAiB,IAAOvQ,MAAK,WACtGwyB,KC9Cc,WAKhC,GAAIppB,IAAE,yBAAyB5nB,OAAS,EAC3B,IAAI2qC,KAAiB,yBAKlC,IAAI+M,EAAa,mBASjB,SAASC,EAAWjrB,EAAOkrB,GACzB,IAuFsBC,EAvFlBC,EAAe5wB,SAASC,eAAe,WAAauF,GACxD,GAA6B,oBAAjBorB,GAAgD,MAAhBA,EAAsB,CAEhE,IACIC,EADQD,EAAaE,WAAW,MACfC,qBAAqB,EAAG,EAAG,EAAG,KACnDF,EAASG,aAAa,EAAG,sBACzBH,EAASG,aAAa,GAAK,wBAC3BH,EAASG,aAAa,EAAG,uBAQzB,IALA,IAAIC,EAAa,GAEbC,EAAQR,EACRS,EAAIT,EAEC73C,EAAI,EAAGA,EAAIq4C,EAAOr4C,IAAK,CAC9Bs4C,GAAKpzB,KAAKqzB,MAAM,IAAK,GAAArzB,KAAK4U,UAE1B,IAAI0e,GAqEcV,EArEY93C,EAAI,EAsE/By4C,KAAO,CAAC,KAAM,EAAG,IAAIC,IAAIZ,EAAM,KAAKa,OAAOhB,IApE9CS,EAAWr4B,KAAK,CAAEu4B,EAAGA,EAAGllB,EAAGolB,IAGf,IAAII,KAAMb,EAAc,CACpC,KAAQ,OACR,KAAQ,CAEN,SAAY,CAAC,CACX,MAAS,GACT,KAAQK,EACR,KAAQ,QACR,YAAe,kBACf,gBAAmBJ,EACnB,YAAe,EACf,YAAe,MAGnB,QAAW,CACT,YAAc,EACd,OAAU,CACR,SAAW,GAEb,SAAY,CACV,SAAY,UACZ,gBAAmB,cACnB,cAAiB,GACjB,gBAAmB,UACnB,eAAkB,SAClB,aAAgB,GAChB,eAAkB,UAClB,cAAiB,OACjB,eAAiB,GAEnB,OAAU,CACR,MAAS,CAAC,CACR,KAAQ,OACR,KAAQ,CACN,cAAiB,MAEnB,MAAS,CACP,SAAW,GAEb,UAAa,CACX,SAAW,KAGf,MAAS,CAAC,CACR,UAAa,CACX,MAAS,qBACT,SAAW,GAEb,MAAS,CACP,UAAa,wBACb,SAAY,WAjF1BJ,EAAU,EAAG,KACbA,EAAU,EAAG,IACbA,EAAU,EAAG,IDgCKiB,GACA,EAAK/d,SAAS,CAACpmB,SAAS,eAzB1C,gDAgC8B6/B,GACpBA,IACGA,EAAUhyC,YAAYiV,iBAEzB3U,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,IAA6B,WAAaA,QApC5E,yCAyCuB2O,EAAWC,GAE1B,GAA+B,GAA5BxoB,KAAKpG,MAAM+6C,cAAmB,CAC/B,IAAIv3C,EAAS4C,KAAKlG,MAAMC,aAAayZ,aAAapW,OAC/CA,EAAS,GACV4C,KAAKi4B,SAAS,CAAC0c,cAAev3C,SAIhC,IAAI4C,KAAKpG,MAAMiY,UAAY7R,KAAKpG,MAAMkgC,SAAW95B,KAAKpG,MAAM+6C,cAAgB,EAAE,CAC5E,IAAIsB,EAAY,YAAOj2C,KAAKlG,MAAMC,aAAayZ,cAC/CiH,OAAM,aAAiBw7B,GACvBj2C,KAAKi4B,SAAS,CAAC6B,SAAS,OArDpC,+CA2D6BtmB,GAEvB,IAAI0iC,GAAW,EACf,GAAG1iC,GAAgBA,EAAapW,OAAS,EAEvC,IAAI,IAAID,EAAI,EAAGA,EAAIqW,EAAapW,SAAW84C,EAAU/4C,IAChDqW,EAAarW,IAAMqW,EAAarW,GAAGyC,MAAQ,IAC5Cs2C,GAAW,GAKjB,OAAQA,IAvEd,+BA4EE,IAAIC,EAAK,GACLC,EAAW,GACf,OAAQp2C,KAAKlG,MAAMC,aAAaC,UAAU0Y,iBACxC,IAAK,gBACHyjC,EAAOn2C,KAAKlG,MAAM2W,aAAX,mCACP2lC,EAAW,uBACX,MAEA,IAAK,UACLD,EAAOn2C,KAAKlG,MAAM2W,aAAX,8BACP2lC,EAAW,UACX,MAEA,IAAK,OACLD,EAAOn2C,KAAKlG,MAAM2W,aAAX,2BACP2lC,EAAW,OACX,MAEA,IAAK,YACLD,EAAOn2C,KAAKlG,MAAM2W,aAAX,+BACP2lC,EAAW,mBACX,MAEA,IAAK,YACLD,EAAOn2C,KAAKlG,MAAM2W,aAAX,gCACP2lC,EAAW,YAMf,OACA,8BACM,0BAAM13C,GAAG,mBACb,yBAAKgb,UAAU,wBACb,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,aAAc0V,KAAM7lB,KAAKlG,MAAM4F,YAAa4mB,cAAc,IAEzF,6BAAS5M,UAAU,kBAAkBhb,GAAG,WACtC,yBAAKgb,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kCACb,yBAAKA,UAAU,iBACf,wBAAIA,UAAU,SAAS,kBAGvB,yBAAKA,UAAU,qBACb,yCACA,wBAAIA,UAAU,gBAAgBC,KAAK,WACjC,wBAAID,UAAU,YACZ,uBAAGA,UAAU,WAAWhb,GAAG,yBAAyBsnB,cAAY,OAAOhnB,KAAK,sBAAsB2a,KAAK,MAAM2iB,gBAAc,qBAAqB+Z,gBAAc,QAA9J,aAEF,wBAAI38B,UAAU,YACZ,uBAAGA,UAAU,WAAWhb,GAAG,kBAAkBsnB,cAAY,OAAOhnB,KAAK,eAAe2a,KAAK,MAAM2iB,gBAAc,cAAc+Z,gBAAc,SAAzI,aAEF,wBAAI38B,UAAU,YACZ,uBAAGA,UAAU,kBAAkBhb,GAAG,iBAAiBsnB,cAAY,OAAOhnB,KAAK,cAAc2a,KAAK,MAAM2iB,gBAAc,aAAa+Z,gBAAc,SAA7I,SAIJ,yBAAK38B,UAAU,eAEb,yBAAKA,UAAU,gBAAgBhb,GAAG,qBAAqBib,KAAK,WAAWwM,kBAAgB,0BACrF,4BAAQznB,GAAG,eACX,yBAAKgb,UAAU,wDACb,4BACE,wCACA,wBAAIA,UAAU,SAAS1Z,KAAKlG,MAAMC,aAAaC,UAAU4F,QAE3D,4BACE,sCACA,wBAAI8Z,UAAU,SAASkiB,wBAAyBC,EAAmBua,QASzE,yBAAK18B,UAAU,gBAAgBhb,GAAG,cAAcib,KAAK,WAAWwM,kBAAgB,mBAC9E,4BAAQznB,GAAG,eACX,yBAAKgb,UAAU,uDACb,4BACE,wCACA,wBAAIA,UAAU,SAAS1Z,KAAKlG,MAAMC,aAAaC,UAAU4F,QAE3D,4BACE,sCACA,wBAAI8Z,UAAU,SAASkiB,wBAAyBC,EAAmBua,QASzE,yBAAK18B,UAAU,4BAA4Bhb,GAAG,aAAaib,KAAK,WAAWwM,kBAAgB,kBACzF,4BAAQznB,GAAG,eACX,yBAAKgb,UAAU,wDACb,4BACE,wCACA,wBAAIA,UAAU,SAAS1Z,KAAKlG,MAAMC,aAAaC,UAAU4F,QAE3D,4BACE,sCACA,wBAAI8Z,UAAU,SAASkiB,wBAAyBC,EAAmBua,WAa/E,yBAAK18B,UAAU,oDACb,yBAAKA,UAAU,wBACb,yCAAc,0BAAMA,UAAU,QAAQwP,MAAO,CAACspB,gBAAgB,YAAhD,UAAmE,gDACjF,2BAAIxyC,KAAKlG,MAAM2W,aAAX,iCACJ,yCAAc,0BAAMiJ,UAAU,QAAQwP,MAAO,CAACspB,gBAAgB,YAAhD,WAAoE,+CAClF,2BAAIxyC,KAAKlG,MAAM2W,aAAX,gCACJ,oCAAS,0BAAMiJ,UAAU,QAAQwP,MAAO,CAACspB,gBAAgB,YAAhD,WAAoE,+CAC7E,2BAAIxyC,KAAKlG,MAAM2W,aAAX,4BACJ,uCAAY,0BAAMiJ,UAAU,QAAQwP,MAAO,CAACspB,gBAAgB,YAAhD,WAAoE,+CAChF,2BAAIxyC,KAAKlG,MAAM2W,aAAX,+BACJ,6CAAkB,0BAAMiJ,UAAU,QAAQwP,MAAO,CAACspB,gBAAgB,YAAhD,WAAoE,6CACtF,2BAAIxyC,KAAKlG,MAAM2W,aAAX,0CAQlB,6BAASiJ,UAAU,eAAewP,MAAO,CAACotB,aAAc,UACtD,yBAAK58B,UAAU,aACb,yBAAKA,UAAU,OAEb1Z,KAAKpG,MAAMiY,SAAY,kBAAC,GAAD,CAAkBsrB,aAAa,SACrDn9B,KAAKpG,MAAMiY,SAAa,oCACvB,yBAAK6H,UAAU,4BACX,4BAAQqM,KAAK,SAASrM,UAAU,qCAAqCsM,cAAY,QAAQqW,cAAY,kBACnG,yBAAK3iB,UAAU,YAAYsN,IAAKnoB,qBAElC,yBAAK6a,UAAU,8BAA8BsN,IAAKnoB,oBAClD,4BAAKmB,KAAKlG,MAAMC,aAAaC,UAAU0Y,gBAAkB,IAAM1S,KAAKlG,MAAMC,aAAaC,UAAU2Y,WACjG,2BAAIwjC,IAGLn2C,KAAKlG,MAAMq6C,YAAc,yBAAKz6B,UAAU,4BACvC,4BAAQqM,KAAK,SAASrM,UAAU,qCAAqCsM,cAAY,QAAQqW,cAAY,kBACnG,yBAAK3iB,UAAU,YAAYsN,IAAKnoB,qBAElC,yBAAK6a,UAAU,8BAA8BsN,IAAKnoB,oBAClD,2DACA,gKAWZ,yBAAK6a,UAAU,kBACb,kBAAC,GAAD,OAGF,yBAAKA,UAAU,wBACb,yBAAKhb,GAAG,gBAAgBgb,UAAU,QAAQC,KAAK,UAC7C,yBAAKD,UAAU,8CAA8CC,KAAK,YAChE,yBAAKD,UAAU,iBACb,yBAAKA,UAAU,gBACb,4CACA,uBAAG1a,KAAK,IAAI2a,KAAK,SAAS2lB,eAAa,QAAQ5lB,UAAU,iBAAgB,yBAAKA,UAAU,YAAYsN,IAAKnoB,wBAE3G,yBAAK6a,UAAU,wBAlQzB,GAA2C0P,IAAMC,YA4RjDorB,GAAsBzV,aAAe,CACnCC,OAAQC,IAAUC,QAoDLxE,oBAjDf,SAAyB/gC,EAAOghC,GAC9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIlD,IAAIyxC,EAAc,GAwBlB,OAvBGlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAKnB7W,EAAM+X,eAAiB/X,EAAM+X,cAActS,WACjCzF,EAAM+X,cAActS,SACdzF,EAAM+X,cAAcE,SAIpCjY,EAAM+X,eAAiB/X,EAAM+X,cAAcQ,gBAC3BvY,EAAM+X,cAAcQ,eAGtB,YAAOvY,EAAMuX,cAAcE,eAGzCzX,EAAM+X,eACO/X,EAAM4X,gBAAgBC,YAG/B,CACLtB,aAAcK,EACdC,aAAcq8B,EACd/yC,aAAcH,EAAMG,aACpB2F,YAAc9F,EAAM8F,YACpBy0C,aAAcx3C,aAAW/C,EAAM8F,YAAY9C,MAAOf,KAAUY,gBAIhE,SAA4B61B,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI4yC,EAAanS,EAAeC,GAAgBzI,MAKhFqI,CAA6C8Z,I,UE3W/C8B,GAAwB,SAAC,GACpC,OAD4C,gBAE1C,yBAAK78B,UAAU,qBCAb88B,ICDI/7B,OAAOuK,EA0BeoE,IAAMC,UDzBd,SAAC,GAA0M,IAAzM3G,EAAwM,EAAxMA,SAA2B+lB,GAA6K,EAA9LtN,gBAA8L,EAA7KsN,uBAAuBC,EAAsJ,EAAtJA,iBAAkBP,EAAoI,EAApIA,iBAAkBC,EAAkH,EAAlHA,uBAAwBC,EAA0F,EAA1FA,0BAA2BoO,EAA+D,EAA/DA,yBAA0BhmC,EAAqC,EAArCA,aAAqC,IAAvBimC,iBAAuB,SAChO,OACE,6BAASh9B,UAAW,oBAAsB2uB,GACvCqO,GAAa,yBAAKh9B,UAAU,eAC7B,yBAAKA,UAAU,gBACb,yBAAKA,UAAU,mBACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,eACb,yBAAKA,UAAU,kBACb,0BAAMA,UAAU,yBACbjJ,EAAapV,IAAwBoV,EAAanV,qBAAuB,gBAE5E,0BAAMoe,UAAU,+CACbjJ,EAAapV,IAAwBoV,EAAanV,qBAAuB,4BAE5E,0BAAMoe,UAAU,uBACbjJ,EAAapV,IAAwBoV,EAAanV,qBAAuB,eAGhF,6BACE,0BAAMoe,UAAU,qBACbjJ,EAAapV,IAAwBoV,EAAanV,qBAAuB,cAG9E,yBAAKoe,UAAU,iBACb,0BAAMi9B,SAAUjO,GACd,yBAAKhvB,UAAU,wBACb,yBAAKA,UAAW,8BAAgCyuB,EAAmB,aAAe,KAChF,0BAAMzuB,UAAU,kCACd,2BACEqM,KAAK,SACL6wB,QAAQ,OACRn1B,UAAU,IACVlI,KAAK,WACL7a,GAAG,mBACHgb,UAAW,kDAAoDyuB,EAAmB,qBAAuB,IACzG/lB,MAAOM,EACPm0B,SAAUpO,EACVqO,YAAarmC,EAAapV,IAAwBoV,EAAanV,qBAAuB,yBACxF,0BAAMoe,UAAY0uB,EAAyB,GAAMD,EAAmB,mDAAqD,OAG7H,yBAAKzuB,UAAU,8BACZ,4BACEqM,KAAK,SACLrM,UAAU,oDACTjJ,EAAapV,IAAwBoV,EAAanV,qBAAuB,2BAI/E,yBAAKoe,UAAU,8BACZ+8B,GACD,8BAAOhmC,EAAapV,IAAiBoV,EAAanV,qBAAuB,6BAK/E,yBAAKoe,UAAU,oBACb,yBAAKsN,IAAKnoB,qBAA+BooB,IAAI,wBAsB7DuvB,GAAgB9b,aAAe,CAC7B2N,0BAA2B,IAGdmO,UEhFAO,GANW,SAACj9C,GAEvB,OAAO,+BCGJ,SAASk9C,GAAyB1lC,GACvC,MAAO,CAACyU,KAAM2G,KAAmCpb,iBAG5C,SAAS2lC,GAAkB/sB,GAAgC,IAAf6L,EAAc,wDAC/D,OAAO,SAACzD,EAAUC,GAEhB,IAAI34B,EAAQ24B,IACZ,OAAIwD,GAAWn8B,EAAMuX,cAAcG,eAAiB1X,EAAMuX,cAAcG,cAAclU,OAAS,EACtF,KAGFqsB,GAAUytB,iBAAiBt9C,EAAM8F,YAAawqB,GAAiBtO,MAAK,SAAAtK,GACzEghB,EAAS0kB,GAAyB1lC,OACjC4K,OAAM,SAAAC,GACP,MAAMA,MAKL,SAASg7B,GAAyB9lC,GACvC,MAAO,CAAC0U,KAAM2G,KAAuCrb,iBAGhD,SAAS+lC,KAAgC,wDAC9C,OAAO,SAAC9kB,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAKZ,OAAOvG,GAASqrB,iBAAiBz9C,EAAMG,aAAcH,EAAM8F,YAAa9F,EAAM+X,eAAeiK,MAAK,SAAAvK,GAChGihB,EAAS6kB,GAAyB9lC,OACjC6K,OAAM,SAAAC,GACP,MAAMA,MAKL,SAASm7B,GAAmCrmC,GACjD,MAAO,CAAC8U,KAAM2G,KAA0Czb,mBAGnD,SAASsmC,GAAgCvmC,GAC9C,MAAO,CAAC+U,KAAM2G,KAAuC1b,YAGhD,SAASwmC,KAAuC,wDACrD,OAAO,SAACllB,EAAUC,GAEhB,IAAI34B,EAAQ24B,IAOZ,OAFAD,EAASglB,IAAmC,IAErC3sB,GAAY8sB,wBAAwB79C,EAAM8F,aAAakc,MAAK,SAAA5K,GACjEshB,EAASilB,GAAgCvmC,OACxCkL,OAAM,SAAAC,GAEP,MADAmW,EAASglB,IAAmC,IACtCn7B,MAKL,SAASu7B,GAA2Bt9B,GACzC,OAAO,SAACkY,EAAUC,GAAX,OAAyBD,EAAS,CAACvM,KAAM2G,KAAyCtS,cCtBjFK,OAAOuK,EAAjB,IAIa2yB,GAAb,YACE,WAAY79C,EAAOsuB,GAAU,IAAD,sBAC1B,4CAAMtuB,EAAOsuB,IAGb,IAAIwvB,EAAiB,CACnBnH,GACAgE,GACA8B,IAPwB,OAgB1B,EAAK38C,MAAQ,CACXi+C,qBAAsBD,EACtBE,oBARwB,CACxB,iBACA,wBACA,yBAMAj+C,YAAY,EACZo5C,MAAQx4C,KAAaC,mBACrBgoB,SAAU,GACVylB,kBAAkB,EAClBC,wBAAwB,EACxBC,0BAA2B,8BAC3Bz2B,UAAW,KACXmmC,sBAAsB,GAGxB,EAAKlX,SAAW,EAAKA,SAASvY,KAAd,gBAChB,EAAK0vB,qBAAuB,EAAKA,qBAAqB1vB,KAA1B,gBAC5B,EAAKomB,kBAAoB,EAAKA,kBAAkBpmB,KAAvB,gBACzB,EAAKkV,eAAiB,EAAKA,eAAelV,KAApB,gBACtB,EAAK2vB,yBAA2B,EAAKA,yBAAyB3vB,KAA9B,gBAChC,EAAKggB,kBAAoB,EAAKA,kBAAkBhgB,KAAvB,gBACzB,EAAK4vB,0BAA4B,EAAKA,0BAA0B5vB,KAA/B,gBACjC,EAAK6vB,kBAAoB,EAAKA,kBAAkB7vB,KAAvB,gBACzB,EAAKmpB,aAAe,EAAKA,aAAanpB,KAAlB,gBAEpB,EAAK8vB,6BAA+B,EAAKA,6BAA6B9vB,KAAlC,gBACpC,EAAK+vB,mCAAqC,EAAKA,mCAAmC/vB,KAAxC,gBAxChB,EAD9B,iFA4CuB,IAAD,OAElBtoB,KAAKlG,MAAMigC,QAAQplB,gBAAgB9Y,KAAUC,kBAAkB8f,MAAK,SAAA1hB,GAG9DyC,aAAWzC,EAAE0C,MAAOf,KAAUC,mBAC9Ba,aAAWzC,EAAE0C,MAAOf,KAAUW,WAKlC,EAAK1C,MAAMigC,QAAQsL,UAAS,GAAMzpB,MAAK,SAACi5B,GACtC,EAAK/6C,MAAMigC,QAAQ1C,eAAeh8B,KAElC,IAAI43C,EAAQ,KACR4B,EAAgB,QAAcA,EAAgB,OAAhB,YAChC5B,EAAQx4C,KAAa,aAAeo6C,EAAgB,OAAhB,YAGtC,IAAIyD,GAAmB,EACnBrF,IACF,EAAKhb,SAAS,CAACgb,MAAOA,IACtBqF,GAAoBrF,EAAM55C,sBAG5B,EAAKS,MAAMigC,QAAQkd,kBAAkBqB,EAAmB,EAAI,IAAI,GAEhE,EAAKx+C,MAAMigC,QAAQjE,iBAAiB,CAAC7J,cAAc,EAAMC,gBAAgB,EAAMC,gBAAiB,IAAOvQ,MAAK,SAAA1hB,GACtG,EAAKJ,MAAMigC,QAAQqH,eAAexlB,MAAK,SAACjK,GAErC,EAAKsmB,SAAS,CAAErmB,UAAYD,EAAcC,YAC1C,EAAK9X,MAAMigC,QAAQqd,uBAEnBl7B,OAAM,SAAAhiB,GACL,EAAKJ,MAAMigC,QAAQqd,uBAGvB,EAAKt9C,MAAMigC,QAAQyd,iCA9BxB,EAAK19C,MAAM8yC,QAAQ1vB,KAAKtD,IAA6B,WAAaA,QAoCvE5Z,KAAKlG,MAAMigC,QAAQtC,kBvD5HhB,WACL,IAAIt6B,EAAI,GAEJA,EAAIsd,OAAOC,SAAS1b,KAAKikB,QAAQ,OAAS,IAC5C9lB,IAEAgnB,EADsB1J,OAAOC,SAAS1b,KAAK2B,OAAOxD,EAAGsd,OAAOC,SAAS1b,KAAK5B,OAASD,KuDyHnF0+B,GAEAuS,KACAtG,OA5FJ,gDA+F4B4J,GACpBA,IACGA,EAAU/8B,iBAEb3U,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,IAA6B,WAAaA,QAnG1E,2CAwGuBQ,EAAU2Y,GAC7B,IAAMwlB,EAAev4C,KAAKlG,MAAMwX,cAAc+3B,MAAK,SAAAxkB,GAAI,OAAIA,EAAKzK,WAAaA,KACvE+Z,EAAUokB,GAAgBA,EAAax/C,IAE7CiH,KAAKlG,MAAMigC,QAAQ2d,2BAA2Bt9B,GAC9Cpa,KAAKlG,MAAMigC,QAAQ7F,kBAAkBC,KA7GzC,mCAgHeqkB,GAEXx4C,KAAKi4B,SAAS,CAACp+B,WAAY2+C,MAlH/B,+BAqHW7L,GACL3sC,KAAKlG,MAAM8yC,QAAQ1vB,KAAKyvB,KAtH9B,wCAyHoBhP,EAAKrI,GACrB,GAAIt1B,KAAKlG,MAAMuX,eAAiBrR,KAAKlG,MAAMuX,cAAcjU,OAAS,EAAG,CACnE,IAAIq7C,EAAc,KAClB,IAAK,IAAIC,KAAe14C,KAAKlG,MAAMuX,cACjC,GAAIrR,KAAKlG,MAAMuX,cAAcqnC,GAAah6C,IAAM42B,EAAU,CACxDmjB,EAAcz4C,KAAKlG,MAAMuX,cAAcqnC,GACvC,MAIDD,GAAeA,EAAY3nB,YAC5B9wB,KAAKlG,MAAMigC,QAAQyH,qBACjB,CACE5vB,UAAY6mC,EAAY7mC,UACxBkd,cAAe2pB,EAAY3pB,cAC3BM,UAAYqpB,EAAYrpB,WAE1B/zB,IACA,UAIJ2E,KAAKlG,MAAMigC,QAAQ1E,sBAAsBC,GAK3C,OAFAt1B,KAAKlG,MAAMigC,QAAQ1E,sBAAsBC,IAElC,IApJX,qCAuJiBvC,EAAOhC,GACpB/wB,KAAKlG,MAAMigC,QAAQyH,qBAAqBzQ,EAAS11B,OAxJrD,+CA2J2B03B,EAAOhC,GAC9B/wB,KAAKlG,MAAMigC,QAAQyH,qBAAqBzQ,EAAS11B,OA5JrD,0CAiKI,OAAO2E,KAAKlG,MAAMq6C,WACjBn0C,KAAKo4C,+BACLp4C,KAAKq4C,uCAnKV,2DAsKuC,IAAD,OAC9Bl7C,EAAI,EAEJw7C,EAAsB34C,KAAKlG,MAAM2W,aAAazQ,KAAKpG,MAAMq5C,MAAMx5C,iBAC/DiG,EAAcM,KAAKlG,MAAM4F,YAE7B,GAA4B,qBAAxBM,KAAKpG,MAAMq5C,MAAMl6C,IAA4B,CAC/C,IAAIiB,EAAYgG,KAAKlG,MAAMC,aAAX,UAEZC,GAAaA,EAAU2Y,WAAajT,GAAsC,SAAvB1F,EAAU2Y,YAC/DgmC,EAAsB34C,KAAKlG,MAAM2W,aAAa,qBAAuBzW,EAAU2Y,cAE7EgmC,EAAsBA,EAAoB32B,QAAQ,gBAAiBtiB,EAAYyU,cAKrF,IAAIykC,EAAuB,8BAC3B,GAAI54C,KAAKpG,MAAMq5C,OAASjzC,KAAKpG,MAAMq5C,MAAMv5C,qBtD3Of,IsD2OsCsG,KAAKpG,MAAMgY,UAAkD,CAC3H,IAAIinC,EAAuB74C,KAAKpG,MAAMq5C,MAAM35C,cAAgB,kCAAmC,GAC/Fu/C,GAAwB74C,KAAKpG,MAAMq5C,MAAM55C,qBAAuB,wBAAyB,GAEzFu/C,EACE,kBAAC,GAAD,CACE/mC,QAAS7R,KAAKlG,MAAMC,aAAa8X,QACjCR,cAAerR,KAAKlG,MAAMuX,cAC1Bq9B,kBAAmB1uC,KAAK0uC,kBACxBj+B,aAAczQ,KAAKlG,MAAM2W,aACzBu+B,WAAW,MACXz0B,SAAUs+B,IAKhB,IAAIC,EACA,6BAAS//C,IAAKoE,IAAKuc,UAAU,wBAC3B,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,wBACb,yBAAKA,UAAU,qCACb,wBAAIA,UAAU,eAAd,wBACA,kBAAC,GAAD,CACEjJ,aAAczQ,KAAKlG,MAAM2W,aACzBpR,SAAUW,KAAKlG,MAAMuF,SACrB8S,eAAgBnS,KAAKlG,MAAMqY,eAC3BN,QAAS7R,KAAKlG,MAAMmuC,iBAAmBjoC,KAAKpG,MAAMC,WAClD2jC,eAAgBx9B,KAAKw9B,eACrBU,oBAAqBl+B,KAAKpG,MAAMq5C,MAAM15C,qBACtCghB,SAAS,qBACT5b,MAAOg6C,EACP3a,aAAa,IAGdh+B,KAAKlG,MAAMqY,gBAAkB/X,OAAOizB,KAAKrtB,KAAKlG,MAAMqY,gBAAgB/U,OAAS,GAC7E,oCACC,4BAAI,uBAAGsc,UAAU,yBAAyB1a,KAAK,GAAG+nB,QAAS,SAAC7sB,GAAoG,OAA7FA,EAAEytB,iBAAkB,EAAKsQ,SAAS,CAAC8f,sBAAuB,EAAKn+C,MAAMm+C,wBAA+B,IAAnK,mCAEF/3C,KAAKpG,MAAMm+C,sBAAwB,kBAAC,GAAD,CACjCtnC,aAAczQ,KAAKlG,MAAM2W,aACzB0B,eAAgBnS,KAAKlG,MAAMqY,eAC3BN,QAAS7R,KAAKlG,MAAMmuC,iBAAmBjoC,KAAKpG,MAAMC,WAClD2jC,eAAgBx9B,KAAKw9B,eACrB7+B,MAAOg6C,EACP3a,aAAa,MAMpB4a,EAED,yBAAKl/B,UAAU,cACb,uBAAG1a,KAAM4a,KAAT,QAEC5Z,KAAKlG,MAAMq6C,YAAc,uBAAGn1C,KAAM4a,KAAqC,+CAA9C,KAC1B,uBAAG5a,KAAK,aAAa0a,UAAU,cAA/B,mBASVq/B,EAAiB,yBAAKhgD,IAAKoE,MAwB/B,OAtBI6C,KAAKpG,MAAMq5C,MAAM55C,sBtD/SK,IsD+SmB2G,KAAKpG,MAAMgY,YACtDmnC,EAAmB,0BAAMhgD,IAAKoE,OAcJ,CAC1B27C,EACAC,KA7QN,qDAqRiC,IAAD,OACxB57C,EAAI,EACJw7C,EAAsB34C,KAAKlG,MAAM2W,aAAazQ,KAAKpG,MAAMq5C,MAAMx5C,iBAC/DiG,EAAcM,KAAKlG,MAAM4F,YAE7B,GAA4B,qBAAxBM,KAAKpG,MAAMq5C,MAAMl6C,IAA4B,CAC/C,IAAIiB,EAAYgG,KAAKlG,MAAMC,aAAX,UACZC,GAAaA,EAAU2Y,WAAajT,GAAsC,SAAvB1F,EAAU2Y,YAC/DgmC,EAAsB34C,KAAKlG,MAAM2W,aAAa,qBAAuBzW,EAAU2Y,cAE7EgmC,EAAsBA,EAAoB32B,QAAQ,gBAAiBtiB,EAAYyU,cAKrF,IAAI6kC,GAAeh5C,KAAKlG,MAAMmuC,gBAAkBjoC,KAAKpG,MAAMC,YAAqC,MAAvBmG,KAAKlG,MAAMuF,UAAoBW,KAAKlG,MAAMuF,SAASjC,OAAS,EAE1G,8BAC3B,GAAI4C,KAAKpG,MAAMq5C,OAASjzC,KAAKpG,MAAMq5C,MAAMv5C,qBtD1Vf,IsD0VsCsG,KAAKpG,MAAMgY,UAAkD,CAC3H,IAAIinC,EAAuB74C,KAAKpG,MAAMq5C,MAAM35C,cAAgB,kCAAmC,GAC/Fu/C,GAAwB74C,KAAKpG,MAAMq5C,MAAM55C,qBAAuB,wBAAyB,GAGvF,kBAAC,GAAD,CACEwY,QAAS7R,KAAKlG,MAAMC,aAAa8X,QACjCR,cAAerR,KAAKlG,MAAMuX,cAC1Bq9B,kBAAmB1uC,KAAK0uC,kBACxBj+B,aAAczQ,KAAKlG,MAAM2W,aACzBu+B,WAAW,MACXz0B,SAAUs+B,IAMhB,IAAIC,EAAe,8BAEfG,EAAkBD,EAAc,GAAG,WAEnCE,EAAUl5C,KAAKlG,MAAMC,cAAgBiG,KAAKlG,MAAMC,aAAauZ,aAAetT,KAAKlG,MAAMC,aAAauZ,YAAYC,MAAQvT,KAAKlG,MAAMC,aAAauZ,YAAYC,KAAKnW,OAEjK+7C,EAAkBD,EAAU,8FACA,0GAE5BE,EAAcF,EAAU,wHACV,SAElBJ,EACE,6BAAS//C,IAAKoE,IAAKuc,UAAWu/B,EAAkB,wBAC9C,yBAAKv/B,UAAU,aACb,yBAAKA,UAAU,qCACb,yBAAKA,UAAWy/B,GACd,yBAAKz/B,UAAU,oEACb,yBAAKA,UAAU,uDACX,yBAAKA,UAAU,eACX,0BAAMA,UAAU,uCAAhB,wBACA,4BAAQA,UAAU,4CAA4C2/B,oBAAkB,wBAAhF,sBAGF,kBAAC,GAAD,CACE5oC,aAAczQ,KAAKlG,MAAM2W,aACzBpR,SAAUW,KAAKlG,MAAMuF,SACrB8S,eAAgBnS,KAAKlG,MAAMqY,eAC3BN,QAAS7R,KAAKlG,MAAMmuC,iBAAmBjoC,KAAKpG,MAAMC,WAClD2jC,eAAgBx9B,KAAKw9B,eACrBU,oBAAqBl+B,KAAKpG,MAAMq5C,MAAM15C,qBACtCghB,SAAS,qBACT5b,MAAOg6C,EACP3a,aAAa,IAGdh+B,KAAKlG,MAAMqY,gBAAkB/X,OAAOizB,KAAKrtB,KAAKlG,MAAMqY,gBAAgB/U,OAAS,GAC9E,oCACA,yBAAKsc,UAAU,wBACX,8BAAM,uBAAGA,UAAU,mCAAmC1a,KAAK,GAAG+nB,QAAS,SAAC7sB,GAAoG,OAA7FA,EAAEytB,iBAAkB,EAAKsQ,SAAS,CAAC8f,sBAAuB,EAAKn+C,MAAMm+C,wBAA+B,IAA7K,mCAEH/3C,KAAKpG,MAAMm+C,sBAAwB,kBAAC,GAAD,CAChCtnC,aAAczQ,KAAKlG,MAAM2W,aACzB0B,eAAgBnS,KAAKlG,MAAMqY,eAC3BN,QAAS7R,KAAKlG,MAAMmuC,iBAAmBjoC,KAAKpG,MAAMC,WAClD2jC,eAAgBx9B,KAAKw9B,eACrB7+B,MAAOg6C,EACP3a,aAAa,EACbzjB,SAAS,2BAS3B,yBAAKb,UAAW0/B,GACZ,kBAAC,GAAD,CACEjF,WAAYn0C,KAAKlG,MAAMq6C,WACvBR,UAAW3zC,KAAKlG,MAAMC,aAAauZ,YAAYC,WAU/D,IAAIwlC,EAAiB,yBAAKhgD,IAAKoE,MA6B/B,OA3BI6C,KAAKpG,MAAMq5C,MAAM55C,sBtDnbK,IsDmbmB2G,KAAKpG,MAAMgY,YACtDmnC,EAAmB,0BAAMhgD,IAAKoE,OAIF,CAC5B27C,EACAC,EAEA,kBAAC,GAAD,CACIhgD,IAAKoE,IACL0U,QAAS7R,KAAKlG,MAAMC,aAAa8X,QACjCR,cAAerR,KAAKlG,MAAMuX,cAC1Bq9B,kBAAmB1uC,KAAK0uC,kBACxBj+B,aAAczQ,KAAKlG,MAAM2W,aACzBu+B,WAAW,OACXz0B,SAAS,wBACT4zB,aAAcnuC,KAAKpG,MAAMu0C,eAE3B,kBAAC,GAAD,CACGp1C,IAAKoE,IACLg3C,WAAYn0C,KAAKlG,MAAMq6C,gBArZlC,kDAiaI,IAEImF,EACF,kBAAC,GAAD,CACEznC,QAAS7R,KAAKlG,MAAMC,aAAa8X,QACjCpB,aAAczQ,KAAKlG,MAAM2W,aACzB1W,aAAciG,KAAKlG,MAAMC,aACzBggC,QAAS/5B,KAAKlG,MAAMigC,QACpBr6B,YAAaM,KAAKlG,MAAM4F,YACxB+xC,aAAczxC,KAAKyxC,aACnBwB,MAAOjzC,KAAKpG,MAAMq5C,MAClBH,YAAa9yC,KAAKg4C,uBAIK,8BAC3B,GAAIh4C,KAAKpG,MAAMq5C,OAASjzC,KAAKpG,MAAMq5C,MAAMv5C,qBtDpef,IsDoesCsG,KAAKpG,MAAMgY,UAAkD,CAC3H,IAAIinC,EAAuB74C,KAAKpG,MAAMq5C,MAAM35C,cAAgB,kCAAmC,GAC/Fu/C,GAAwB74C,KAAKpG,MAAMq5C,MAAM55C,qBAAuB,wBAAyB,GAGvF,kBAAC,GAAD,CACEwY,QAAS7R,KAAKlG,MAAMC,aAAa8X,QACjCR,cAAerR,KAAKlG,MAAMuX,cAC1Bq9B,kBAAmB1uC,KAAK0uC,kBACxBj+B,aAAczQ,KAAKlG,MAAM2W,aACzBu+B,WAAW,MACXz0B,SAAUs+B,IAKhB,IAAIU,IAAoD,GAAnCv5C,KAAKlG,MAAMuX,cAAcjU,QAC1Co8C,EAAeD,EAAe,WAAa,GAI7C,yBAAK7/B,UAAU,OACb,yBAAKA,UAAW8/B,EAAgB,qCAC7BF,IAUP,OAAOA,IAldX,0CAueM,OAfEt5C,KAAKlG,MAAMC,aAAauY,QACT,kBAAC,GAAD,CAAmC2H,KAAMja,KAAKlG,MAAM2W,aAAX,mBAEvC,kBAAC,GAAD,CACjBoB,QAAS7R,KAAKlG,MAAMC,aAAa8X,QACjCpB,aAAczQ,KAAKlG,MAAM2W,aACzB1W,aAAciG,KAAKlG,MAAMC,aACzBggC,QAAS/5B,KAAKlG,MAAMigC,QACpBr6B,YAAaM,KAAKlG,MAAM4F,YACxB+xC,aAAczxC,KAAKyxC,aACnBwB,MAAOjzC,KAAKpG,MAAMq5C,MAClBH,YAAa9yC,KAAKg4C,yBAne1B,+BA4eM,IAAIyB,EAAgBz5C,KAAKm4C,oBACrBuB,EAAqB15C,KAAKsoC,oBAE9B,OACE,yBAAK5uB,UAAU,aACZ1Z,KAAKlG,MAAMq6C,YAAc,kBAAC,GAAD,MAC1B,0BAAMz1C,GAAG,mBACT,yBAAKgb,UAAW1Z,KAAKlG,MAAMq6C,WAAa,0BAA2B,WAEjE,kBAAC,EAAD,CAAMhkC,aAAcnQ,KAAKlG,MAAMqW,aAAc0V,KAAM7lB,KAAKlG,MAAM4F,YAAa4mB,cAAc,IACxFmzB,GAGAC,EAED,yBAAKhgC,UAAU,kBACf,kBAAC,GAAD,YA5fZ,GAAmC0P,IAAMC,WAmgBzCsuB,GAAc3Y,aAAe,CAC3BC,OAAQC,IAAUC,QAmELxE,oBAhEf,SAAyB/gC,EAAOghC,GAC9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIlD,IAAIyxC,EAAc,GACflzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGtB,IAAIpR,EAAW,GACX4oC,EAAiB,KAClBruC,EAAM+X,eAAiB/X,EAAM+X,cAActS,WAC5CA,EAAWzF,EAAM+X,cAActS,SAC/B4oC,EAAiBruC,EAAM+X,cAAcE,SAGvC,IAAIM,EAAiB,GAClBvY,EAAM+X,eAAiB/X,EAAM+X,cAAcQ,iBAC5CA,EAAiBvY,EAAM+X,cAAcQ,gBAGvC,IAAId,EAAa,YAAOzX,EAAMuX,cAAcE,eAExCI,GAAc,EAKlB,OAJG7X,EAAM+X,gBACPF,EAAc7X,EAAM4X,gBAAgBC,aAG/B,CACLtB,aAAcK,EACdC,aAAcq8B,EAEdztC,SAAWA,EACX4oC,eAAgBA,EAChB91B,eAAgBA,EAEhBV,YAAaA,EACbkD,gBAAiB/a,EAAM8F,YAAYiV,gBACnCC,WAAYhb,EAAM8F,YAAYkV,WAE9BtD,cAAe1X,EAAMuX,cAAcG,cACnCD,cAAeA,EACfL,SAAUpX,EAAMuX,cAAcH,SAC9BE,eAAgBtX,EAAMuX,cAAcD,eACpCD,gBAAiBrX,EAAMuX,cAAcF,gBACrCG,qBAAsBxX,EAAMuX,cAAcC,qBAE1CrX,aAAcH,EAAMG,aACpB2F,YAAc9F,EAAM8F,YACpBy0C,aAAcx3C,aAAW/C,EAAM8F,YAAY9C,MAAOf,KAAUY,gBAIhE,SAA4B61B,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI0yC,EAAgB7W,EAAiB+W,EAAanS,EAAe6e,EAAsB5e,GAAgBzI,MAIvIqI,CAA6Cgd,I,SC5lB7CiC,GA1BK,SAAC,GAIZ,IAHPC,EAGM,EAHNA,eAGM,IAFNt/B,gBAEM,MAFK,GAEL,EADN4hB,EACM,EADNA,SAGF,OACI,6BAASziB,UAAW,oBAAsBa,GACxC,yBAAKb,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,+DACb,yBAAKA,UAAU,gBACf,yBAAKsN,IAAKnoB,UAAoB6a,UAAU,8BAA8BuN,IAAI,KACrEkV,GAEH0d,OCZRC,GAAiB,SAAC,GAA+B,IAEjDC,EAFoBloC,EAA4B,EAA5BA,QAGpBmoC,EAAS,6BAOb,OALAD,EALoD,EAAnBtpC,aAKX,UAElBoB,IACHmoC,GAAS,uCAGR,4BACIj0B,KAAK,SACLrM,UAAWsgC,GACVD,EACAloC,GAAW,0BAAM6H,UAAU,qDAAqDC,KAAK,SAASsgC,cAAY,WA2GpGC,GAtGG,SAAC,GAQV,IAPPzpC,EAOM,EAPNA,aACAomC,EAMM,EANNA,SACAsD,EAKM,EALNA,cACAh+B,EAIM,EAJNA,MACAonB,EAGM,EAHNA,gBACA6W,EAEM,EAFNA,sBACAvoC,EACM,EADNA,QAIMwoC,EAAgB,eAChBl+B,EAAMvF,OAAUuF,EAAMvF,MAAMxZ,OAAO,IACrCi9C,GAAiB,eAGnB,IAAIC,EAAc,wBAEdn+B,EAAMo+B,SAAYp+B,EAAMo+B,QAAQn9C,OAAO,IACzCk9C,GAAe,eAOrB,OAGE,kBAAC,GAAD,CACET,eAAgB,0BAAMngC,UAAU,aAAhB,wNAEN,6BACA,6HAEC,0BAAMi9B,SAAUwD,GAEf,yBAAKzgC,UAAU,oBACb,2BAAOqM,KAAK,QAAQrnB,GAAG,QAAQ6a,KAAK,QAAQG,UAAW2gC,EAAexD,SAAUA,EAAUz0B,MAAOmhB,EAAgB3sB,MAAO4jC,aAAa,QACrI,2BAAOC,QAAQ,QAAQvxB,MAAO,CAACwxB,OAAO,OAAOC,SAAS,OAAOC,MAAM,0BAAnE,uBACCz+B,EAAMvF,OACL,oCACE,yBAAKoQ,IAAKnoB,eAAyB6a,UAAU,uBAAuBuN,IAAI,KACxE,yBAAKvN,UAAU,oBACVyC,EAAMvF,SAMhB,yBAAK8C,UAAU,oBACd,2BAAOqM,KAAM80B,WAAWn8C,GAAG,UAAU6a,KAAK,UAAU6I,MAAOmhB,EAAgBgX,QAAS1D,SAAUA,EAAUn9B,UAAW4gC,EAAaQ,cAAc,QAC9I,2BAAOL,QAAQ,WAAWvxB,MAAO,CAACwxB,OAAO,OAAOC,SAAS,OAAOC,MAAM,0BAAtE,YACA,uBAAGlhC,UAAU,iBAAgB,yBAAKsN,IAAKnoB,aAAuB6a,UAAU,qBAAqBuN,IAAI,MAChG9K,EAAMo+B,SACL,oCACE,yBAAK7gC,UAAU,oBACVyC,EAAMo+B,WAMhBp+B,EAAMkqB,OACL,yBAAK3sB,UAAU,sBACb,0BAAMkiB,wBAAyBC,EAAmB1f,EAAMkqB,UAI5D,yBAAK3sB,UAAU,mCACb,2BAAOA,UAAU,mBAAmBqM,KAAK,WAAWrnB,GAAG,aAAa6a,KAAK,aAAawhC,QAASxX,EAAgBxtB,WAAY8gC,SAAUA,IACrI,2BAAOn9B,UAAU,mBAAmB+gC,QAAQ,cAA5C,gBAMF,uBAAGz7C,KAAK,IAAI0a,UAAU,4BAA4BqN,QAASqzB,GAA3D,uBACE,kBAAC,GAAD,CACMvoC,QAASA,EACTpB,aAAcA,IAEtB,8CAAmB,kBAAC,IAAD,CAAMsX,GAAInO,KAAV,uB,qBC9CpBohC,G,YA/Db,WAAYlhD,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACXqhD,UAAU,GAJc,E,kFAW1B,IAAIj7C,KAAKpG,MAAMqhD,UACVj7C,KAAKlG,MAAMu4B,eAAe,CAC3B,IAAI3gB,EAAS1R,KAAKlG,MAAMu4B,eACxBryB,KAAKi4B,SAAS,CAACgjB,UAAU,IAAO,kBAAMC,KAAO,qEAAuExpC,EAAS,mB,+BAYjI,OAAQ,yBAAKgI,UAAU,Y,GA3BS0P,IAAMC,W,UCoB3B8xB,GArBM,SAAC,GAAyC,IAAvCC,EAAsC,EAAtCA,aAAcC,EAAwB,EAAxBA,kBACpC,OAEE,kBAAC,KAAD,CACEC,UAAW,EACX7hC,IAAK2hC,EACLhe,KAAK,YACLme,QAAS9/C,IACTo7C,SAAUwE,EACVG,UAAWH,EACXI,UAAWJ,EACXK,MAAM,iBCXCC,I,OAAiB,WAG9B32B,IAAE,qBAAqBK,GAAG,SAAU,uBAAuB,WACjC,KAAlBL,IAAEhlB,MAAM47C,MACV52B,IAAEhlB,MAAMkpC,SAAS,UAEjBlkB,IAAEhlB,MAAMynB,YAAY,aAIxBzC,IAAE,yCAAyC0kB,MAAK,WACxB,KAAlB1kB,IAAEhlB,MAAM47C,OACV52B,IAAEhlB,MAAMkpC,SAAS,aAIrBlkB,IAAE,8BAA8B62B,aAIhC72B,IAAEV,UAAUe,GAAG,QAAS,6BAA6B,SAAUnrB,GAC7D8qB,IAAEhlB,MAAMkpC,SAAS,QACjBlkB,IAAEhlB,MAAMopC,SAASC,KAAK,aAAaM,KAAK,OAAQ,QAChDzvC,EAAEytB,oBAGJ3C,IAAEV,UAAUe,GAAG,QAAS,uBAAuB,SAAUnrB,GACvD8qB,IAAEhlB,MAAMynB,YAAY,QACpBzC,IAAEhlB,MAAMopC,SAASC,KAAK,aAAaM,KAAK,OAAQ,YAChDzvC,EAAEytB,oBAMN3C,IAAE,sBAAsBK,GAAG,UAAU,WAC/BL,IAAEhlB,MAAMulB,GAAG,YACbP,IAAEhlB,MAAM6pC,QAAQ,mBAAmBR,KAAK,gBAAgB5hB,YAAY,UAEpEzC,IAAEhlB,MAAM6pC,QAAQ,mBAAmBR,KAAK,gBAAgBH,SAAS,aAKrElkB,IAAE,sBAAsB0kB,MAAK,WACvB1kB,IAAEhlB,MAAMulB,GAAG,YACbP,IAAEhlB,MAAM6pC,QAAQ,mBAAmBR,KAAK,gBAAgB5hB,YAAY,UAEpEzC,IAAEhlB,MAAM6pC,QAAQ,mBAAmBR,KAAK,gBAAgBH,SAAS,aAKrElkB,IAAE,iBAAiBspB,YC9BNwN,GAAb,YACE,WAAYhiD,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACX2pC,gBAAkB,CAChB3sB,MAAO9c,EAAM6b,oBACb4kC,QAAS,GACTxkC,WAAYjc,EAAM8b,uBAEpBgH,OAAQ,GACRm/B,WAAW,EACXC,qBAAqB,EACrBnqC,SAAS,EACTopC,SAAU,KACVgB,QAAS,KACTC,YAAY,EACZC,WAAa,EACbC,gBAAgB,EAChBC,gBAAgB,GAGlB,EAAKC,oBAAsB,EAAKA,oBAAoBh0B,KAAzB,gBAC3B,EAAK8xB,sBAAyB,EAAKA,sBAAsB9xB,KAA3B,gBAC9B,EAAK6xB,cAAiB,EAAKA,cAAc7xB,KAAnB,gBACtB,EAAKi0B,kBAAoB,EAAKA,kBAAkBj0B,KAAvB,gBACzB,EAAKk0B,aAAe,EAAKA,aAAal0B,KAAlB,gBACpB,EAAKm0B,QAAU,EAAKA,QAAQn0B,KAAb,gBACf,EAAKo0B,mBAAqB,EAAKA,mBAAmBp0B,KAAxB,gBAC1B,EAAKq0B,gBAAkB,EAAKA,gBAAgBr0B,KAArB,gBACvB,EAAK+yB,kBAAoB,EAAKA,kBAAkB/yB,KAAvB,gBACzB,EAAKs0B,iBAAmB,EAAKA,iBAAiBt0B,KAAtB,gBACxB,EAAKu0B,kBAAoB,EAAKA,kBAAkBv0B,KAAvB,gBAEzB,EAAK8yB,aAAehyB,IAAM0zB,YAjCA,EAD9B,iFAqC0B,IAAD,OAEbC,iBAAM/8C,KAAKlG,MAAM4gB,SAASsiC,QAAQ7e,GAAK4e,iBAAM/8C,KAAKlG,MAAM4gB,SAASsiC,QAAQC,GAC3Ej9C,KAAKi4B,SAAS,CAAEmkB,gBAAgB,IAGlCp8C,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBAGpBz3B,KAAKlG,MAAMigC,QAAQsL,WAAWzpB,MAAM,SAAAwqB,GACjC,GAAI,EAAKtsC,MAAMgc,eAAeC,WAAY,CACxC,IAAImnC,EAA2B,EAAKtjD,MAAM2pC,gBAC1C2Z,EAAwBtmC,MAAQ,EAAK9c,MAAMgc,eAAeD,SAC1DqnC,EAAwBnnC,YAAa,EACrC,EAAKkiB,SAAS,CAAEsL,gBAAiB2Z,IAGnC,EAAKP,kBAAkB/gC,MAAK,SAAAwqB,GAC1B,IAAImU,EAAUwC,iBAAM,EAAKjjD,MAAM4gB,SAASsiC,QAAQ7e,EAC5CtoB,EAAWknC,iBAAM,EAAKjjD,MAAM4gB,SAASsiC,QAAQC,EAEjD,GAAI1C,GAAW1kC,EAAU,CACvB,IAAIgQ,EAAO,EAAKjsB,MAAM2pC,gBACtB1d,EAAKjP,MAAQf,EACbgQ,EAAK00B,QAAUA,EAEf,EAAKtiB,SAAS,CAACsL,gBAAiB1d,IAAQ,WACtC,EAAK22B,yBAMbx8C,KAAK48C,mBACLjB,OAxER,sCA4EqB9U,GAAU,IAAD,OACvB,OAAO7mC,KAAKlG,MAAMigC,QAAQ/kB,GAAG6xB,GAAUjrB,MAAK,SAAAwqB,GACzC,EAAKnO,SAAS,CAACgjB,UAAW,OAC1B/+B,OAAM,SAAAhiB,SA/EhB,wCAoFuBijD,GAChBn9C,KAAKi4B,SAAS,CAACikB,YAAa,IAEzBl8C,KAAKlG,MAAMkb,IAAMmoC,GAClBn9C,KAAKlG,MAAMigC,QAAQ4K,UAAU,CAACjmC,GAAIy+C,MAxF3C,gDA4F+BzL,GAKvB,GAAIA,EAAU/8B,gBAAd,CAGE,IAAIrX,EAAM,GAEV,GAAI0C,KAAKpG,MAAMwiD,eAAgB,CAC3B,IAAIgB,EAAML,iBAAM/8C,KAAKlG,MAAM4gB,SAASsiC,QAAQ7e,EACzCif,GAAOA,EAAIhgD,OAAS,KACrBggD,EAAMA,EAAIz8C,OAAO,EAAE,KAErBrD,EAAMo0C,EAAU78B,aAAe68B,EAAU78B,aAAe+E,IAAsC,MAAQwjC,EAG1G,GAAW,IAAP9/C,EAAW,CACXA,EAAMsc,IAEN,IAAIyjC,EAAYr9C,KAAKlG,MAAM8gB,MAAM8e,OAAO2jB,UACpCC,EAASP,iBAAM/8C,KAAKlG,MAAM4gB,SAASsiC,QAAQM,OAE3C5L,EAAU78B,aAEVvX,EADCo0C,EAAU78B,aAAaoO,QAAQrJ,MAAkC,EAC5D83B,EAAU78B,cAAgByoC,EAAS,WAAahwB,mBAAmBgwB,GAAU,IAE7E5L,EAAU78B,aAGTwoC,EACT//C,EAAM,IAAM+/C,EACHC,IACThgD,EAAM,GAAKggD,GAIjBt9C,KAAKlG,MAAM8yC,QAAQ1vB,KAAK5f,OAjC1B,CAqCA,GAAIo0C,EAAU/7B,qBAAuB3V,KAAKlG,MAAM6b,oBAAqB,CACnE,IAAI4tB,EAAkBnpC,OAAOC,OAAO,GAAI2F,KAAKpG,MAAM2pC,iBACnDA,EAAgB3sB,MAAQ86B,EAAU/7B,oBAClC4tB,EAAgBxtB,WAAa/V,KAAKlG,MAAM8b,sBACxC5V,KAAKi4B,SAAS,CAAEsL,oBAGlBvjC,KAAK48C,sBA7Ib,wCAgJuBvZ,GACXA,GACArjC,KAAKy8C,QAAQpZ,GAGjBrjC,KAAKi4B,SAAS,CAACokB,gBAAgB,EAAMxqC,SAAS,MArJtD,yCAyJM,GAAI7R,KAAKpG,MAAMyiD,eACb,IACEr8C,KAAKo7C,aAAamC,QAAQC,QAC1Bx9C,KAAKi4B,SAAS,CAACokB,gBAAgB,IAEjC,MAAM7nB,GACJpB,QAAQC,IAAImB,MA/JtB,6CAsKOx0B,KAAKlG,MAAMigC,QAAQqK,0BAA0BpkC,KAAKpG,MAAM2pC,gBAAgB3sB,MAAO5W,KAAKpG,MAAM2pC,gBAAgBxtB,cAtKjH,0CAyKyBgd,GAChB,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KAEvBgqB,EAAkBvjC,KAAKpG,MAAM2pC,gBACjCA,EAAgBka,GAA+B,aAAtB1qB,EAAMvN,OAAOO,KAAsBgN,EAAMvN,OAAOu1B,QAAUhoB,EAAMvN,OAAOpD,MAEhG,IAAIxF,EAAS5c,KAAKpG,MAAMgjB,OAGxB,OAFAA,EAAO6gC,GAAS,GAETz9C,KAAKi4B,SAAS,CAAEsL,gBAAiBA,EAAiB3mB,OAAQA,MAlL1E,wCAqLuB+gB,GAChBA,EAAIhW,iBAEJ3nB,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,OAxL/B,4CA2L0B+jB,GACpBA,EAAIhW,iBAEJ3nB,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,OA9L9B,yCAiMuB+jB,GACjBA,EAAIhW,iBACJ3nB,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,OAnM9B,oCAsMkB6V,GACVA,EAAMpL,iBACN3nB,KAAKw8C,iBAxMb,qCA4MMx8C,KAAKi4B,SAAS,CAAEpmB,SAAS,IAGxB,IAAI+K,EAAS5c,KAAKpG,MAAMgjB,OACxBA,EAAS,GACT5c,KAAKi4B,SAAS,CAAErb,OAAQA,IAEnB5c,KAAK09C,mBAKV19C,KAAKo7C,aAAamC,QAAQI,UAJxB39C,KAAKi4B,SAAS,CAAEpmB,SAAS,EAAOuqC,gBAAgB,MApNzD,8BA2NY/Y,GAAO,IAAD,OAGRua,EAAmB,CAAE/nC,SAAU7V,KAAKpG,MAAM2pC,gBAAgB3sB,MACrCgJ,SAAU5f,KAAKpG,MAAM2pC,gBAAgBgX,QACrCxkC,WAAY/V,KAAKpG,MAAM2pC,gBAAgBxtB,WACvCqS,QAJN,MAOfxL,EAAS,GACX5c,KAAKpG,MAAMqhD,UAA6B,MAAjBj7C,KAAKlG,MAAMkb,GAGnChV,KAAKlG,MAAMigC,QAAQsM,MAAMuX,EAAkBva,GAAOnnB,OAAO,SAAAhiB,GAEvC,KAAZA,EAAEk8B,OACDxZ,EAAM,MAAY,EAAK9iB,MAAM2W,aAAapV,IAAc,EAAKvB,MAAM2W,aAAanV,qBAAuB,uBAEvF,KAAZpB,EAAEk8B,OAENxZ,EAAM,MAAY,EAAK9iB,MAAM2W,aAAapV,IAAc,EAAKvB,MAAM2W,aAAanV,qBAAuB,uBAEvF,KAAZpB,EAAEk8B,OAENxZ,EAAM,MAAY,EAAK9iB,MAAM2W,aAAapV,IAAc,EAAKvB,MAAM2W,aAAanV,qBAAuB,4BAEvF,KAAZpB,EAAEk8B,OAENxZ,EAAM,MAAY,EAAK9iB,MAAM2W,aAAapV,IAAc,EAAKvB,MAAM2W,aAAanV,qBAAuB,4C7DhR9G,WAGH,IAGI,OAFAuiD,aAAaC,QAFP,SAGND,aAAaE,WAHP,MAIC,EACT,MAAM7jD,GACJ,OAAO,G6D4QE2hC,GACFjf,EAAM,MAAY,EAAK9iB,MAAM2W,aAAX,2BAGnBmM,EAAM,MAAY,EAAK9iB,MAAM2W,aAAX,YAIvB,EAAKwnB,SAAS,CAAErb,OAAQA,EAAQ/K,SAAS,OAExCmsC,SAAS,SAAA9jD,GAEN,EAAKJ,MAAM6a,kBACd,EAAKsjB,SAAS,CAAEpmB,SAAS,EAAOuqC,gBAAgB,IAChD,EAAKQ,uBAMH58C,KAAKpG,MAAMuiD,WAAa1gD,KACvBmhB,EAAM,MAAY5c,KAAKlG,MAAM2W,aAAapV,IAAc2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,eACvG0E,KAAKi4B,SAAS,CAAErb,OAAQA,EAAQ/K,SAAS,EAAOuqC,gBAAgB,KAI9DzyB,YAAW,WAEP,EAAKsO,SAAS,CAACkkB,WAAY,EAAKviD,MAAMuiD,WAAa,IACnD,EAAKQ,kBACL,EAAKH,iBACN/gD,OA1RlB,yCAkSS,IAAIgiB,GAAc,EACdb,EAAS,GAET2B,EAAatD,EAAcuD,cAAcxe,KAAKpG,MAAM2pC,gBAAgB3sB,OACpE2H,IACA3B,EAAOhG,MAAQ2H,EACfd,GAAc,GAGlB,IAAIwgC,EAAYhjC,EAAc0E,iBAAiB3f,KAAKpG,MAAM2pC,gBAAgBgX,SAQ1E,OAPI0D,IACArhC,EAAO29B,QAAU0D,EACjBxgC,GAAc,GAGlBzd,KAAKi4B,SAAS,CAACrb,OAAQA,IAEhBa,IAnThB,+BAuTQ,IAAIygC,EACJ,6BACG,kBAAC,GAAD,CACMztC,aAAczQ,KAAKlG,MAAM2W,aACzBomC,SAAU72C,KAAKs8C,oBACfnC,cAAen6C,KAAKm6C,cACpBh+B,MAAOnc,KAAKpG,MAAMgjB,OAClB2mB,gBAAiBvjC,KAAKpG,MAAM2pC,gBAC5B6W,sBAAuBp6C,KAAKo6C,sBAC5BvoC,QAAS7R,KAAKpG,MAAMiY,QACpBssC,QAASn+C,KAAKpG,MAAMsiD,cAQ7B,OAJGl8C,KAAKpG,MAAMwiD,iBACZ8B,EAAY,kBAAC,GAAD,CAAkBjkC,KAAK,MAIjC,6BACG,kBAAC,GAAD,CACGmhC,aAAcp7C,KAAKo7C,aACnBC,kBAAmBr7C,KAAKq7C,oBAE5B,kBAAC,GAAD,CACEhpB,eAAgBryB,KAAKlG,MAAMkb,GAC3B6nC,kBAAmB78C,KAAK68C,kBACxBuB,WAAY,IAEd,kBAAC,EAAD,CAAMz1B,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAciX,YAAY,IAEzE82B,EAED,kBAAC,GAAD,WAxVd,GAA+B90B,IAAMC,WA8VrCyyB,GAAU9c,aAAe,CACvBC,OAAQC,IAAUC,QAsCLxE,oBAlCf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GAKnB,OAJIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGhB,CACLuE,GAAIpb,EAAM8F,YAAYsV,GACtB7E,aAAcK,EACdC,aAAcq8B,EACdn3B,oBAAqB/b,EAAM8F,YAAYiW,oBACvCC,sBAAuBhc,EAAM8F,YAAYkW,sBACzCjB,gBAAiB/a,EAAM8F,YAAYiV,gBACnCE,aAAcjb,EAAM8F,YAAYmV,aAChCiB,eAAgBlc,EAAM8F,YAAYoW,eAClCpW,YAAc9F,EAAM8F,gBAIxB,SAA4B4yB,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,GAAe3a,MAIlEqI,CAA6CmhB,IC1I7CuC,G,gIAjR+BC,EAAa7a,GAErD,IAAOvoB,EAAUzf,IAA+B,qCAE5C2wB,EAAiB,CAChBhR,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACR,eAAgB,mBAChB,cAAekoB,GAGhBjoB,KAAMC,KAAKC,UAAU,CACjB4iC,iBAIP,OAAO3iC,MAAMT,EAASkR,GAAgBxQ,MAAK,SAAAC,GAEnC,OAAKA,EAASC,GAIHD,EAASE,OAHTC,QAAQC,OAAOJ,MAMhCK,OAAM,SAAUC,GAClB,MAAMA,O,iDAIwBpH,EAAWupC,GAEzC,IAAOpjC,EAAUzf,IAA+B,4BAE5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAE1B,IAAIqX,EAAiB,CAChBhR,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAU,CACjB4iC,iBAIP,OAAO3iC,MAAMT,EAASkR,GAAgBxQ,MAAK,SAAAC,GAEnC,OAAKA,EAASC,GAIHD,EAASE,OAHTC,QAAQC,OAAOJ,MAMhCK,OAAM,SAAUC,GAClB,MAAMA,O,+CAIsBpH,EAAW0uB,GAEzC,IAAOvoB,EAAUzf,IAA+B,0BAE5C8f,EAAU,CACdA,eAA0B,oBAiBxB,OAhBCxG,IACDwG,EAAQ,cAAgBxG,GAEvB0uB,IACCloB,EAAQ,eAAiBkoB,GAYpB9nB,MAAMT,EAVM,CAChBE,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,IAM0BK,MAAK,SAAAC,GAEnC,OAAKA,EAASC,GAIHD,EAASE,OAHTC,QAAQC,OAAOJ,MAMhCK,OAAM,SAAUC,GAClB,MAAMA,O,uDAI8BsnB,GAEtC,IAAOvoB,EAAUzf,IAA+B,mCAgB9C,OAAOkgB,MAAMT,EAdM,CAChBE,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACR,eAAgB,mBAChB,cAAekoB,KAQmB7nB,MAAK,SAAAC,GAEnC,OAAKA,EAASC,GAIHD,EAASE,OAHTC,QAAQC,OAAOJ,MAMhCK,OAAM,SAAUC,GAClB,MAAMA,O,0DAIiCpH,EAAWupC,EAAa7a,GAEjE,IAAOvoB,EAAUzf,IAA+B,sCAC5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAEvB0uB,IACCloB,EAAQ,eAAiBkoB,GAE7B,IAAIrX,EAAiB,CAChBhR,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAU,CACjB4iC,iBAIP,OAAO3iC,MAAMT,EAASkR,GAAgBxQ,MAAK,SAAAC,GAEnC,OAAKA,EAASC,GAIHD,EAASE,OAHTC,QAAQC,OAAOJ,MAMhCK,OAAM,SAAUC,GAClB,MAAMA,O,kDAIyBpH,EAAWupC,GAE1C,IAAOpjC,EAAUzf,IAA+B,6BAE5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAG1B,IAAIqX,EAAiB,CAChBhR,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAU,CACjB4iC,iBAIP,OAAO3iC,MAAMT,EAASkR,GAAgBxQ,MAAK,SAAAC,GAEnC,OAAKA,EAASC,GAIHD,EAASE,OAHTC,QAAQC,OAAOJ,MAMhCK,OAAM,SAAUC,GAClB,MAAMA,O,gDAIuBpH,EAAW0uB,GAE1C,IAAOvoB,EAAUzf,IAA+B,2BAC5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAEvB0uB,IACCloB,EAAQ,eAAiBkoB,GAE7B,IAAIrX,EAAiB,CAChBhR,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAU,KAIxB,OAAOC,MAAMT,EAASkR,GAAgBxQ,MAAK,SAAAC,GAEnC,OAAKA,EAASC,GAIHD,EAASE,OAHTC,QAAQC,OAAOJ,MAMhCK,OAAM,SAAUC,GAClB,MAAMA,O,wDAI+BpH,EAAWqH,EAAQqnB,GAE1D,IAAOvoB,EAAUzf,IAA+B,oCAE5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAEvB0uB,IACCloB,EAAQ,eAAiBkoB,GAE7B,IAAIrX,EAAiB,CAChBhR,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACRC,KAAMC,KAAKC,UAAU,CAClB6iC,YAAaniC,KAIpB,OAAOT,MAAMT,EAASkR,GAAgBxQ,MAAK,SAAAC,GAEnC,OAAKA,EAASC,GAIHD,EAASE,OAHTC,QAAQC,OAAOJ,MAMhCK,OAAM,SAAUC,GAClB,MAAMA,S,KC/MHqiC,GAhEU,SAAC,GAA0K,IAAxKjlC,EAAuK,EAAvKA,KAAMsZ,EAAiK,EAAjKA,MAAOgkB,EAA0J,EAA1JA,SAAUC,EAAgJ,EAAhJA,YAAa10B,EAAmI,EAAnIA,MAAOjG,EAA4H,EAA5HA,MAA4H,IAArHq+B,oBAAqH,MAAtG,KAAsG,MAAhGiE,oBAAgG,SAA3EC,EAA2E,EAA3EA,QAA2E,IAAlEj9B,iBAAkE,MAAtD,IAAsD,MAAjDk9B,gBAAiD,aAA/BC,kBAA+B,MAAlB,aAAkB,EAE1LC,EAAW,eAGV1iC,GAASA,EAAM/e,OAAS,IAC1ByhD,GAAY,eAGd,IAAIr1B,EAAc,8BAyClB,OAxCGi1B,IACDj1B,EAAc,yBAAK9P,UAAWklC,GAExB,2BACE74B,KAAK,MACL+4B,UAAU,UACVpwB,KAAK,IACLkoB,QAAQ,OACRmI,uBAAqB,UACrBt9B,UAAWA,EACXlI,KAAMA,EACN7a,GAAI6a,EACJG,UAAWmlC,EACXrE,aAAcA,EACd1D,YAAaA,EACb10B,MAAOA,EACPu8B,SAAUA,EACV9H,SAAUA,IAGV,2BAAO4D,QAASlhC,GAAOsZ,GAEtB1W,GACC,oCACE,yBAAK6K,IAAKnoB,eAAyB6a,UAAU,uBAAuBuN,IAAI,KACxE,yBAAKvN,UAAU,oBACNyC,IAKbuiC,GAAW,yBAAKhlC,UAAU,wBAAuB,uBAAGA,UAAU,cAAc04B,iBAAe,MAAMpsB,cAAY,UAAU4sB,aAAY8L,EAAO,UACtI,uBAAGhlC,UAAU,0CACZglC,EAAO,aAOdl1B,GCvCRw1B,GAAyB,SAAC,GAAwC,IAElEjF,EAF4BloC,EAAqC,EAArCA,QAASssC,EAA4B,EAA5BA,QAGrCnE,EAAS,6BAOb,OALAD,EALqE,EAAnBtpC,aAK5B,UAElBoB,IACHmoC,GAAS,uCAGR,4BACIj0B,KAAK,SACLk5B,UAAWd,EACXzkC,UAAWsgC,GACVD,EACAloC,GAAW,0BAAM6H,UAAU,qDAAqDC,KAAK,SAASsgC,cAAY,WA6EpGiF,GAxEW,SAAC,GAWlB,IAVPzuC,EAUM,EAVNA,aACAomC,EASM,EATNA,SACAyH,EAQM,EARNA,YACAnE,EAOM,EAPNA,cACAgF,EAMM,EANNA,SACAC,EAKM,EALNA,YACAC,EAIM,EAJNA,aACAC,EAGM,EAHNA,SACAztC,EAEM,EAFNA,QACAssC,EACM,EADNA,QAGF,OACE,kBAAC,GAAD,CACEtE,eAAgB,0BAAMngC,UAAU,aAAhB,sNAChBa,SAAS,YAEC,6BACA,0EAEC,0BAAMo8B,SAAUwD,GAEf,yBAAKzgC,UAAU,oBACP,kBAAC,GAAD,CACAH,KAAK,OACL7a,GAAG,OACHo4C,YAAY,gBACZ10B,MAAOk8B,EACPzrB,MAAM,gBACNgkB,SAAUA,EACV2D,aAAa,MACbr+B,MAAOgjC,EACP19B,UAAW,EACXm9B,WAAW,sBAGlBQ,GACD,yBAAK1lC,UAAU,uBACb,0BAAMkiB,wBAAyBC,EAAmBujB,MAGrDC,GACC,yBAAK3lC,UAAU,sBACb,0BAAMkiB,wBAAyBC,EAAmBwjB,MAIpD,kBAAC,GAAD,CACMxtC,QAASA,EACTssC,QAASA,EACT1tC,aAAcA,IAEpB,uDAA4B,uBAAGzR,KAAK,GAAG+nB,QAASu4B,GAApB,aChB7BC,GA5De,SAAC,GAKvB,EAJN9uC,aAIO,IAHP0pC,EAGM,EAHNA,cACAiF,EAEM,EAFNA,YACAC,EACM,EADNA,aAGF,OACE,kBAAC,GAAD,CACExF,eAAgB,KAChBt/B,SAAS,YAEP,yBAAKb,UAAU,sDACb,uDACA,6EACA,0BAAMA,UAAU,sBACd,yBAAKA,UAAU,aACf,yBAAKA,UAAU,OACb,yBAAKA,UAAU,mBAAmBqN,QAAS,SAAC7sB,GAAOigD,EAAcjgD,EAAG,OAClE,2BAAOwf,UAAU,yDAAyDqM,KAAK,QAAQrnB,GAAG,QAAQ6a,KAAK,kBACvG,2BAAOG,UAAU,gDAAgD+gC,QAAQ,SACvE,yBAAKzzB,IAAKnoB,kBAA4B6a,UAAU,iBAAiBuN,IAAI,KADvE,UAKF,yBAAKvN,UAAU,mBAAmBqN,QAAS,SAAC7sB,GAAOigD,EAAcjgD,EAAG,OAClE,2BAAOwf,UAAU,yDAAyDqM,KAAK,QAAQrnB,GAAG,QAAQ6a,KAAK,mBACvG,2BAAOG,UAAU,gDAAgD+gC,QAAQ,SACvE,yBAAKzzB,IAAKnoB,eAAyB6a,UAAU,iBAAiBuN,IAAI,KADpE,cAULm4B,GACO,yBAAK1lC,UAAU,uBACb,0BAAMkiB,wBAAyBC,EAAmBujB,MAGrDC,GACC,yBAAK3lC,UAAU,sBACb,0BAAMkiB,wBAAyBC,EAAmBwjB,SCxBvDG,GAAb,YACE,WAAY1lD,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACXylD,aAAc,GACdxtC,SAAS,EACTopC,SAAU,KACVkB,WAAa,EACbD,YAAY,EACZuD,iBAAkB,GAClBN,SAAU,KACVO,oBAAoB,EACpBC,gBAAiB,KACjBtD,gBAAgB,GAGlB,EAAKuD,gBAAkB,EAAKA,gBAAgBt3B,KAArB,gBACvB,EAAKu3B,yBAA4B,EAAKA,yBAAyBv3B,KAA9B,gBACjC,EAAKw3B,yBAA2B,EAAKA,yBAAyBx3B,KAA9B,gBAChC,EAAKy3B,eAAiB,EAAKA,eAAez3B,KAApB,gBACtB,EAAKq0B,gBAAkB,EAAKA,gBAAgBr0B,KAArB,gBACvB,EAAK03B,gBAAkB,EAAKA,gBAAgB13B,KAArB,gBACvB,EAAK+yB,kBAAoB,EAAKA,kBAAkB/yB,KAAvB,gBACzB,EAAKs0B,iBAAmB,EAAKA,iBAAiBt0B,KAAtB,gBACxB,EAAK23B,gBAAkB,EAAKA,gBAAgB33B,KAArB,gBACvB,EAAKu0B,kBAAoB,EAAKA,kBAAkBv0B,KAAvB,gBAEzB,EAAK8yB,aAAehyB,IAAM0zB,YA3BA,EAD9B,iFA+BuB,IAAD,OAEdx/C,EAAM,GACVA,EAAMsc,IAEN5Z,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GAExC,IAAIojD,EAASP,iBAAM,EAAKjjD,MAAM4gB,SAASsiC,QAAQM,OAC/C,OAAIpjD,EAAEya,iBAAoBhY,aAAWzC,EAAE0C,MAAOf,KAAUU,WAMnDI,aAAWzC,EAAE0C,MAAOf,KAAUW,YAC/Bc,EAAOggD,GAAkB1jC,SACzB,EAAK9f,MAAM8yC,QAAQ1vB,KAAK5f,KAK5B,EAAKxD,MAAMigC,QAAQ1C,eAAeh8B,UAClC,EAAKvB,MAAMigC,QAAQtC,oBAbjBn6B,EAAMsc,KAA+B0jC,EAAS,WAAahwB,mBAAmBgwB,GAAU,SACxF,EAAKxjD,MAAM8yC,QAAQ1vB,KAAK5f,OAgB5B0C,KAAK48C,mBACLjB,OA1DJ,gDA6D4BjK,GAExB,IAAIp0C,EAAM,GACV,GAAGo0C,EAAUhyC,aAAegyC,EAAUhyC,YAAYiV,gBAAgB,CAEhE,IAAI2oC,EAASP,iBAAM/8C,KAAKlG,MAAM4gB,SAASsiC,QAAQM,OAE5C3gD,aAAW+0C,EAAUhyC,YAAY9C,MAAOf,KAAUW,aAE3Ck1C,EAAU78B,aAEVvX,EADCo0C,EAAU78B,aAAaoO,QAAQrJ,MAAkC,EAC5D83B,EAAU78B,aAAe,WAAayY,mBAAmBgwB,GAEzD5L,EAAU78B,aAETyoC,IACThgD,EAAM,GAAKggD,GAEbt9C,KAAKlG,MAAM8yC,QAAQ1vB,KAAK5f,OA/EpC,wCAoFoB+lC,GAEZA,GACArjC,KAAKigD,gBAAgB5c,GAGzBrjC,KAAKi4B,SAAS,CAACokB,gBAAgB,EAAMxqC,SAAS,MA1FlD,yCA8FI,GAAI7R,KAAKpG,MAAMyiD,eACb,IACEr8C,KAAKo7C,aAAamC,QAAQC,QAC1Bx9C,KAAKi4B,SAAS,CAACokB,gBAAgB,IAEjC,MAAM7nB,GACJpB,QAAQC,IAAImB,MApGpB,wCAyGoB,IAAD,OAMf,OAJGx0B,KAAKlG,MAAMkb,IACZhV,KAAKi4B,SAAS,CAACikB,YAAa,IAGvBl8C,KAAKlG,MAAMigC,QAAQ/kB,KAAK4G,MAAK,SAAAwqB,GAElC,OADA,EAAKnO,SAAS,CAACgjB,UAAW,IACnB7U,KACNlqB,OAAM,SAAAhiB,SAlHb,wCAuHoBijD,GAChBn9C,KAAKi4B,SAAS,CAACikB,YAAa,IAEzBl8C,KAAKlG,MAAMkb,IAAMmoC,GAClBn9C,KAAKlG,MAAMigC,QAAQ4K,UAAU,CAACjmC,GAAIy+C,MA3HxC,sCA+HkBpqB,EAAO+Q,GAAS,IAAD,OAC7B/Q,EAAMpL,iBACN3nB,KAAKi4B,SAAS,CAAEynB,mBAA+B,MAAX5b,EAAiB6b,gBAAiB7b,EAASqb,SAAU,OACvF,WACKrb,GACD,EAAKkc,gBAAgBjtB,QApI/B,wCA0II/yB,KAAKi4B,SAAS,CAAEonB,aAAc,KAAMD,YAAa,KAAMvtC,SAAS,IAE7D7R,KAAKpG,MAAM+lD,iBACZ3/C,KAAKo7C,aAAamC,QAAQI,YA7IhC,sCAgJkBta,GAAO,IAAD,OAEhBS,EAAU9jC,KAAKpG,MAAM+lD,gBAErBO,EAAiB,KACP,KAAXpc,EACDoc,EAAiBC,GAAgBC,yBAAyBpgD,KAAKlG,MAAM4F,YAAYqV,UAAWsuB,GACzE,KAAXS,IACRoc,EAAiBC,GAAgBE,0BAA0BrgD,KAAKlG,MAAM4F,YAAYqV,UAAWsuB,IAG5F6c,GACCA,EAAetkC,MAAM,SAAC0kC,GAEjBA,GAAgBA,EAAalsC,QAC9B,EAAK6jB,SAAS,CAAEynB,oBAAoB,EAAMP,SAAU,GAAIE,aAAciB,EAAajB,aAAcD,YAAa,OAE9G,EAAKnnB,SAAS,CAAEynB,oBAAoB,EAAOP,SAAU,UAEtDjjC,OAAO,SAAAhiB,GAEQ,KAAZA,EAAEk8B,OACFl8B,EAAE6hB,OAAOH,MAAM,SAAA0kC,GACRA,EACH,EAAKroB,SAAS,CAAEonB,aAAciB,EAAajB,aAAcD,YAAa,OAEtE,EAAKnnB,SAAS,CAAEonB,aAAc,8CAA+CD,YAAa,UAI9F,EAAKnnB,SAAS,CAAEonB,aAAc,4JAA6JD,YAAa,OAG5M,EAAKnnB,SAAS,CAAEynB,oBAAoB,IACpC,EAAK9C,sBAEJoB,SAAS,WACR,EAAK/lB,SAAS,CAACpmB,SAAS,SArLpC,+CA0L2BkhB,GAEvB,IAAI0sB,EAAmBz/C,KAAKpG,MAAM6lD,iBAGlC,OAFAA,EAAmB1sB,EAAMvN,OAAOpD,MAEzBpiB,KAAKi4B,SAAS,CAAEwnB,iBAAkBA,EAAkBN,SAAU,SA/LzE,+CAkM2BpsB,GAAO,IAAD,OAI7B,GAFAA,EAAMpL,kBAED3nB,KAAKpG,MAAM6lD,kBAAqBz/C,KAAKpG,MAAM6lD,iBAAiBriD,OAAS,IAAM4C,KAAKpG,MAAM6lD,iBAAiB7kC,MAAM,aAChH5a,KAAKi4B,SAAS,CAACknB,SAAU,uCAEvB,CACFn/C,KAAKi4B,SAAS,CAAEonB,aAAc,KAAMD,YAAa,KAAMvtC,SAAS,IAEhE,IAAI0uC,EAAmB,KACU,KAA9BvgD,KAAKpG,MAAM+lD,gBACZY,EAAmBJ,GAAgBK,2BAA2BxgD,KAAKlG,MAAM4F,YAAYqV,UAAW/U,KAAKpG,MAAM6lD,kBACrE,KAA9Bz/C,KAAKpG,MAAM+lD,kBACnBY,EAAmBJ,GAAgBM,4BAA4BzgD,KAAKlG,MAAM4F,YAAYqV,UAAW/U,KAAKpG,MAAM6lD,mBAG9Gc,EAAiB3kC,MAAM,SAAC0kC,GAEnBA,EAAalsC,QACd,EAAK6jB,SAAS,CAAEonB,aAAciB,EAAajB,aAAcD,YAAa,OAEtE,EAAKW,oBAEN7jC,OAAO,SAAAhiB,GACQ,KAAZA,EAAEk8B,OACJl8B,EAAE6hB,OAAOH,MAAM,SAAA0kC,GACX,EAAKroB,SAAS,CAAEonB,aAAciB,EAAajB,aAAcD,YAAa,UAGxE,EAAKnnB,SAAS,CAAEonB,aAAc,4GAA6GD,YAAa,UAEzJpB,SAAS,WACR,EAAK/lB,SAAS,CAACpmB,SAAS,UAnOpC,uCAwOmB,IAAD,OAEd7R,KAAKlG,MAAMigC,QAAQ+L,sBAAsB9lC,KAAKpG,MAAM+lD,iBAAiB/jC,MAAK,SAAAwqB,GAExE,GAAGA,EAAExpC,OAASD,aAAWypC,EAAExpC,MAAOf,KAAUW,WAAW,CACrD,IAAI8gD,EAASP,iBAAM,EAAKjjD,MAAM4gB,SAASsiC,QAAQM,OAC5CA,GAAU1jC,MACX0jC,EAAS,IAEX,IAAIoD,EAActa,EAAEvxB,cAAiByoC,GAAkB1jC,IACvD,EAAK9f,MAAM8yC,QAAQ1vB,KAAKwjC,QAGxB,EAAKzoB,SAAS,CAAConB,aAAc,2KAE9BnjC,OAAM,SAAAhiB,GAEQ,KAAZA,EAAEk8B,OACDl8B,EAAE6hB,OAAOH,MAAM,SAAA+kC,GACb,EAAK1oB,SAAS,CAAConB,aAAcsB,EAAKtB,kBAItC,EAAKpnB,SAAS,CAAConB,aAAc,qLA/PrC,+BAoQY,IAAD,OACL,OACI,6BACI,kBAAC,GAAD,CACEjE,aAAcp7C,KAAKo7C,aACnBC,kBAAmBr7C,KAAKq7C,oBAU5B,kBAAC,EAAD,CAAM1yB,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAciX,YAAY,IAEzEpnB,KAAKpG,MAAM8lD,oBACV,6BACE,kBAAC,GAAD,CACEjvC,aAAczQ,KAAKlG,MAAM2W,aACzB0pC,cAAen6C,KAAK4/C,gBACpBP,aAAcr/C,KAAKpG,MAAMylD,aACzBxtC,QAAS7R,KAAKpG,MAAMiY,QACpButC,YAAap/C,KAAKpG,MAAMwlD,gBAI5Bp/C,KAAKpG,MAAM8lD,oBACX,6BACE,kBAAC,GAAD,CACEjvC,aAAczQ,KAAKlG,MAAM2W,aACzB0pC,cAAen6C,KAAK6/C,yBACpBhJ,SAAU72C,KAAK8/C,yBACfR,SAAU,SAACplD,GAAO,EAAK0lD,gBAAgB1lD,EAAG,OAC1CilD,SAAUn/C,KAAKpG,MAAMulD,SACrBttC,QAAS7R,KAAKpG,MAAMiY,QACpButC,YAAap/C,KAAKpG,MAAMwlD,YACxBC,aAAcr/C,KAAKpG,MAAMylD,aACzBlB,QAASn+C,KAAKpG,MAAMsiD,cAK1B,kBAAC,GAAD,WAhTZ,GAAkC9yB,IAAMC,WAsTxCm2B,GAAaxgB,aAAe,CAC1BC,OAAQC,IAAUC,QAsCLxE,oBAlCf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GAKnB,OAJIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGhB,CACLuE,GAAIpb,EAAM8F,YAAYsV,GACtB7E,aAAcK,EACdC,aAAcq8B,EACdn3B,oBAAqB/b,EAAM8F,YAAYiW,oBACvCC,sBAAuBhc,EAAM8F,YAAYkW,sBACzCjB,gBAAiB/a,EAAM8F,YAAYiV,gBACnCE,aAAcjb,EAAM8F,YAAYmV,aAChCiB,eAAgBlc,EAAM8F,YAAYoW,eAClCpW,YAAc9F,EAAM8F,gBAIxB,SAA4B4yB,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,GAAe3a,MAIlEqI,CAA6C6kB,IC1V7CoB,GA5BS,SAAC,GAAkF,IAAjFC,EAAgF,EAAhFA,UAAWC,EAAqE,EAArEA,YAAaC,EAAwD,EAAxDA,WAAY5G,EAA4C,EAA5CA,cAAen7C,EAA6B,EAA7BA,KAA6B,IAAvBgiD,kBAAuB,SAEtGC,EAAY,4BAAQl7B,KAAK,SAASrM,UAAU,8BAA8BqnC,GAK1E,OAJD/hD,IACDiiD,EAAY,uBAAGl7B,KAAK,SAASP,OAAO,SAASkT,IAAI,sBAAsB15B,KAAMA,EAAM+nB,QAASozB,EAAezgC,UAAU,yCAAyCqnC,IAK1J,kBAAC,GAAD,CACElH,eAAgBmH,GAAc,0BAAMtnC,UAAU,aAAhB,oOAA6P,uBAAG1a,KAAK,KAAR,kBAA7P,QAAgS,uBAAGA,KAAK,KAAR,mBAE5T,wBAAI0a,UAAU,eAAemnC,GACvB,uBAAGjlB,wBAAyBC,EAAmBilB,KAC/C,0BAAMnK,SAAUwD,GACP4G,GAAcE,KC+ExBC,GAlGG,SAAC,GAAoM,IAAnM3nC,EAAkM,EAAlMA,KAAMsZ,EAA4L,EAA5LA,MAAOgkB,EAAqL,EAArLA,SAAUC,EAA2K,EAA3KA,YAAa10B,EAA8J,EAA9JA,MAAOjG,EAAuJ,EAAvJA,MAAuJ,IAAhJsiC,oBAAgJ,aAA3H0C,oBAA2H,MAA9G,KAA8G,EAAxGzC,EAAwG,EAAxGA,QAAwG,IAA/Fj9B,iBAA+F,MAArF,IAAqF,MAAhFk9B,gBAAgF,aAAhEM,gBAAgE,aAAhDL,kBAAgD,MAArC,mBAAqC,MAAjB74B,YAAiB,MAAZ,OAAY,EAE7M84B,EAAW,eAEH,YAAR94B,IACH84B,EAAW,qBACXD,EAAW,8CAIPziC,GAASA,EAAM/e,OAAS,IAC1ByhD,GAAY,eAGd,IAAIr1B,EAAc,8BAsElB,OApEGi1B,IAECj1B,EADU,YAARzD,EAEF,yBAAKrM,UAAWklC,GACd,8BACMn9B,UAAWA,EACXlI,KAAMA,EACN7a,GAAI6a,EACJG,UAAWmlC,EACX/H,YAAaA,EACb10B,MAAOA,EACPy0B,SAAUA,EACV2D,aAAc2G,EACdxC,SAAUA,EACVM,SAAUA,IAEfP,GACC,uBAAGhlC,UAAU,eAAesM,cAAY,UAAUosB,iBAAe,SAASzzC,MAAO+/C,EAAO,UAAc,yBAAK13B,IAAKnoB,cAAwB6a,UAAU,sBAAsBuN,IAAI,MAG9K,2BAAOwzB,QAASlhC,GAAOsZ,GACvB,yBAAKn0B,GAAG,oBAAoBwqB,MAAO,CAACuhB,OAAQ,QAAS/wB,UAAU,sBAC9DyC,GACC,oCACE,yBAAK6K,IAAKnoB,eAAyB6a,UAAU,uBAAuBuN,IAAI,KACxE,yBAAKvN,UAAU,oBACNyC,KASf,yBAAKzC,UAAWklC,GACd,2BACM74B,KAAMA,EACNtE,UAAWA,EACXlI,KAAMA,EACN7a,GAAI6a,EACJG,UAAWmlC,EACX/H,YAAaA,EACb10B,MAAOA,EACPy0B,SAAUA,EACV2D,aAAc2G,EACdxC,SAAUA,EACVM,SAAUA,IAEfP,GACC,uBAAGhlC,UAAU,eAAesM,cAAY,UAAUosB,iBAAe,SAASzzC,MAAO+/C,EAAO,UAAc,yBAAK13B,IAAKnoB,cAAwB6a,UAAU,sBAAsBuN,IAAI,MAG9K,2BAAOwzB,QAASlhC,GAAOsZ,GACtB1W,GACC,oCACE,yBAAK6K,IAAKnoB,eAAyB6a,UAAU,uBAAuBuN,IAAI,KACxE,yBAAKvN,UAAU,oBACNyC,MAUXqN,GC+BC43B,GAnHS,SAAC,GAAiG,IAAhG1iD,EAA+F,EAA/FA,GAAI6a,EAA2F,EAA3FA,KAAMsZ,EAAqF,EAArFA,MAAOgkB,EAA8E,EAA9EA,SAAUz0B,EAAoE,EAApEA,MAAOjG,EAA6D,EAA7DA,MAAOuiC,EAAsD,EAAtDA,QAAsD,IAA7CE,kBAA6C,MAAhC,aAAgC,MAAlByC,cAAkB,SAEnHC,EAAkB/nC,EAElBgoC,EAAa,aAAe7iD,EAO5Byd,IAAUA,EAAK,IAAUA,EAAM4C,WAK/B5C,IAAUA,EAAK,IAAUA,EAAM4C,WAK/B5C,IAAUA,EAAK,IAAUA,EAAM4C,WAInC,IAAIyiC,EAAgB,GAChB3C,EAAW,eAGX1iC,IACEklC,IACFG,EAAgBrlC,EAAK,GAAUA,EAAK,GAAS,IAAM,IAErDqlC,GAAiBrlC,EAAK,GAASA,EAAK,GAAS,IAAM,IACnDqlC,GAAiBrlC,EAAK,GAASA,EAAK,GAAS,IAAM,IAGjD0iC,GAAW,cAEJ1iC,EAAM4C,YACb8/B,GAAW,cACX2C,EAAgBrlC,GAASA,EAAM4C,YAIjC,IAAI0iC,EAAwB,WAE1B,IAAIC,EAAap9B,SAASC,eAAeg9B,GAAYn/B,MAEjDs/B,IACFA,EAAaL,EAAQ,IAAK,MAG5B,IAAIM,EAAOD,EAAWzkD,MAAM,KACxBmlB,EAAQ,GAEVA,EADCi/B,EACM,CACL,GAAOM,EAAK,IAAM,GAClB,GAAOA,EAAK,IAAM,IAIb,CACL,GAAMA,EAAK,IAAM,GACjB,GAAOA,EAAK,IAAM,GAClB,GAAOA,EAAK,IAAM,IAUtB9K,EAPU,CACRrxB,OAAQ,CACNjM,KAAM+nC,EACNl/B,MAAOA,MAOZ,OACG,yBAAK1I,UAAWklC,GACZ,2BAAO74B,KAAMs7B,EAAS,QAAU,OAAQ3nC,UAAWmlC,EAC9CtlC,KAAMgoC,EACN7iD,GAAI6iD,EACJn/B,MAAOi/B,EAAUj/B,EAAK,GAAO,IAAIA,EAAK,GAAUA,EAAK,GAAO,IAAIA,EAAK,GAAO,IAAIA,EAAK,GACrFy0B,SAAU,WAAK4K,KAA0BjH,aAAa,MACtD5D,QAASyK,EAAQ,oBAAqB,6BACtC1iD,MAAO+/C,EAAUA,EAAO,SAAa,KAEzCA,GACD,uBAAGvmB,MAAM,eAAenS,cAAY,UAAUosB,iBAAe,SAASzzC,MAAO+/C,EAAO,UAAc,yBAAK13B,IAAKnoB,cAAwBs5B,MAAM,sBAAsBlR,IAAI,MAEpK,2BAAOwzB,QAASlhC,GAAM,8BAAOsZ,IAE5B2uB,GACC,oCACE,yBAAK9nC,UAAU,oBACN8nC,MCrEVI,GAvBU,SAAC,GAA6G,IAA5GvlC,EAA2G,EAA3GA,SAAUF,EAAiG,EAAjGA,MAAO1L,EAA0F,EAA1FA,aAAcomC,EAA4E,EAA5EA,SAA4E,IAAlE4H,oBAAkE,aAA7CG,kBAA6C,MAAhC,aAAgC,MAAlBF,eAAkB,MAAV,KAAU,EAEhIr1B,EAAY,qCAchB,OAbGo1B,IACDp1B,EAAY,kBAAC,GAAD,CACZ3qB,GAAG,MACH6a,KAAK,MACL6I,MAAO/F,EAASsB,IAChBkV,MAAOpiB,EAAapV,IAAiBoV,EAAanV,qBAAuB,aACzEu7C,SAAUA,EACV16B,MAAOA,EACPuiC,QAASA,EACTE,WAAYA,KAINv1B,GCsCKw4B,GA1DK,SAAC,GAAwG,IAAvGtoC,EAAsG,EAAtGA,KAAas9B,GAAyF,EAAhGhkB,MAAgG,EAAzFgkB,UAAyF,IAA/E4H,oBAA+E,SAA1Dr8B,EAA0D,EAA1DA,MAAOjG,EAAmD,EAAnDA,MAAmD,IAA5C5B,gBAA4C,MAAjC,4BAAiC,EAEnHunC,EAAY,SAASriC,EAAQg+B,GAQ9B5G,EAPY,CACRrxB,OAAS,CACLjM,KAAOkkC,EACPr7B,MAAQ3C,MAOd4J,EAAY,qCAkChB,OAjCGo1B,IACCp1B,EAAa,yBAAK3P,UAAWa,GAC7B,yBAAKb,UAAU,oBACf,0BAAMA,UAAU,gBAAhB,WAA6C,6BAC7C,yBAAKA,UAAU,4CACb,2BAAOA,UAAU,mBAAmBqM,KAAK,QAAQxM,KAAK,SAAS7a,GAAG,cAAc0jB,MAAM,UAAU24B,QAAkB,KAAT34B,EAAcy0B,SAAUiL,EAAUx5B,U,EAAW,IAAK/O,KAC3J,2BAAOG,UAAU,mCAAmC+gC,QAAQ,eAA5D,SAIF,yBAAK/gC,UAAU,4CACb,2BAAOA,UAAU,mBAAmBqM,KAAK,QAAQxM,KAAK,SAAS7a,GAAG,gBAAgB0jB,MAAM,UAAU24B,QAAkB,KAAT34B,EAAcy0B,SAAUiL,EAAUx5B,U,EAAW,IAAK/O,KAC7J,2BAAOG,UAAU,mCAAmC+gC,QAAQ,iBAA5D,WAIF,yBAAK/gC,UAAU,+BACb,2BAAOA,UAAU,mBAAmBqM,KAAK,QAAQxM,KAAK,SAAS7a,GAAG,eAAe0jB,MAAM,UAAU24B,QAAkB,KAAT34B,EAAcy0B,SAAUiL,EAAUx5B,U,EAAW,IAAK/O,KAC5J,2BAAOG,UAAU,mCAAmC+gC,QAAQ,gBAA5D,UAIDt+B,GACS,yBAAKzC,UAAU,+CACNyC,MASfkN,G,qBChDD04B,GAAb,0GACwBC,EAAMjtC,GACxB,IAAIktC,EAAgB30B,mBAAmB00B,GACnC9mC,EAAUzf,IAAsCwmD,EAEhD1mC,EAAU,CACdA,eAA0B,oBAS1B,OARAA,EAAQ,cAAgBxG,EAQjB4G,MAAMT,EAPC,CACVE,OAAQ,MACRC,KAAM,OACNC,YAAa,UACbC,QAASA,IAGkBK,MAAK,SAAAC,GAChC,IAAKA,EAASC,GACV,OAAOE,QAAQC,OAAOJ,GAEtB,IACI,OAAOA,EAASE,OAClB,MAAOI,GAEL,OADAiX,QAAQjX,MAAM,sBAAuBA,GAC9B,OAGZD,OAAM,SAAUC,GAEf,MADAiX,QAAQC,IAAI,iBAAkBlX,GACvBA,SA5BrB,KAiCa+lC,GAAb,qHACmCC,EAAU9e,GACvC,IAAOnoB,EAAUzf,IAA+B,uBAC5C0f,EAAU,CACZC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACP,eAAgB,mBAChB,cAAe8nB,GAEjB7nB,KAAMC,KAAKC,UAAUymC,IAGvB,OAAOxmC,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAC9B,OAAKA,EAASC,GAILD,EAASC,GAHTE,QAAQC,OAAOJ,MAM1BK,OAAM,SAAUC,GAChB,MAAMA,SAvBhB,KA4BaimC,GAAb,kHAC8BD,GAC1B,IAAIhnC,EAAU,CACZC,OAAQ,OACRC,KAAM,UACNE,QAAS,CACP,eAAgB,oCAChB,OAAS,aAEXC,KAAMoR,GAAUy1B,WAAWF,IAG7BxmC,MAAMlgB,IAAoC0f,GAASS,MAAK,SAAAC,GACtD,OAAKA,EAASC,GAGLD,EAFAG,QAAQC,OAAOJ,MAIvBK,OAAM,SAAUC,GACjB,MAAMA,OAnBZ,yCAuB4BgmC,EAAU9e,GAClC,IAAOnoB,EAAUzf,IAA+B,gBAC5C0f,EAAU,CACZC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAAS,CACP,eAAgB,mBAChB,cAAe8nB,GAEjB7nB,KAAMC,KAAKC,UAAUymC,IAGvB,OAAOxmC,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAC9B,OAAKA,EAASC,GAILD,EAASC,GAHTE,QAAQC,OAAOJ,MAM1BK,OAAM,SAAUC,GAChB,MAAMA,SA7Cd,KC2HemmC,GApLf,YAEE,WAAYxoD,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERyuB,SAAW,EAAK/8C,MAAM+8C,SAC3B,EAAK0L,eAAiB,EAAKzoD,MAAMyoD,eAEjC,EAAKC,aAAe,EAAKA,aAAal6B,KAAlB,gBACpB,EAAKm6B,cAAiB,EAAKA,cAAcn6B,KAAnB,gBAEtB,EAAK1uB,MAAQ,CACV8oD,cAAe,GACfC,sBAAuB,GACvBC,gBAAe,EACfC,oBAAmB,GAbE,EAF9B,2EAmBkB9vB,GACZ,IAAIvN,EAASuN,EAAMvN,OACfs9B,EAA2B,aAAhBt9B,EAAOO,KAAsBP,EAAOu1B,QAAUv1B,EAAOpD,MAChE2gC,EAAev9B,EAAOjM,KAE1BvZ,KAAK62C,SACH,CACIrxB,OAAS,CACLjM,KAAMwpC,EACN3gC,MAAO0gC,OA5BvB,mCAiCgBC,EAAcC,EAASC,GAAmB,IAAD,OAC1CD,EACAjB,GAAiBS,aAAaQ,EAAShjD,KAAKlG,MAAMib,WAAW6G,MAAK,SAAAsnC,GAC9D,IAAMC,EAAe1nC,KAAKshC,MAAMmG,GAChCD,EAAkBE,GAAgBA,EAAY,OAAcA,EAAaC,OAAS,OAEjFlnC,OAAM,SAAAL,GACH,EAAK0mC,eAAe,CAChB/8B,OAAQ,CACJjM,KAAMwpC,QAGfnnC,MAAK,SAAAsnC,GACJ,EAAKjrB,SAAS,CAAE2qB,gBAAgB,EAAOC,oBAAoB,OAInE7iD,KAAKi4B,SAAS,CAAE2qB,gBAAgB,EAAOC,oBAAoB,MAlD1E,+BAuDc,IAAD,OACDQ,EAAiBrjD,KAAKpG,MAAMgpD,eAAgB,uBAAwB,eACpEU,EAAiBtjD,KAAKpG,MAAMipD,mBAAoB,iCAAkC,yBAEtFQ,GAAkBrjD,KAAKlG,MAAMypD,aAAe,aAAe,GAC3DD,GAAkBtjD,KAAKlG,MAAM0pD,iBAAmB,aAAe,GAE1DxjD,KAAKlG,MAAMslB,yBACdkkC,GAAkB,WAMftjD,KAAKlG,MAAMypD,cAAgBvjD,KAAKlG,MAAM0pD,iBAdtC,IAkBC9E,EAAW1+C,KAAKlG,MAAhB4kD,QAEN,OACE,oCACE,yBAAKhlC,UAAW1Z,KAAKlG,MAAM2pD,WAAc,0BAA4BzjD,KAAKlG,MAAM2pD,WAAc,oBAC5F,yBAAK/pC,UAAU,qBACZ,2BAAO+gC,QAAQ,WAAf,oBACA,6BACD,kBAAC,KAAD,CACIr4B,MAAOpiB,KAAKlG,MAAMmlB,QAClBykC,WAAY,CAACnqC,KAAMvZ,KAAKlG,MAAM6pD,YAAajlD,GAAIsB,KAAKlG,MAAM6pD,YAAajqC,UAAW2pC,EAAgBvM,YAAa92C,KAAKlG,MAAMg9C,aAC1H8M,aAAc,GACdC,UAAW,CAACC,QAAQ,EAAGvR,WAAY,2BACzBwR,aAAc,MAAQC,UAAW,gCAAiC3Y,SAAU,OAC5E4Y,UAAW,SACrBC,MAAOlkD,KAAKpG,MAAM8oD,cAClByB,aAAc,SAACt/B,GAAD,OAAUA,GACxBgyB,SAAU,SAAC9jB,EAAO9T,GAChB,EAAKgZ,SAAS,CAAE2qB,gBAAgB,IAChC,EAAKH,cAAc1vB,GACnB,EAAKyvB,aAAa,EAAK1oD,MAAM6pD,YAAa1kC,GAAS,SAACilC,GACpD,EAAKjsB,SAAS,CAAEyqB,cAAewB,EAAOtB,gBAAgB,QAG1DwB,SAAU,SAACnlC,EAAS4F,GACN,EAAKgyB,SAAU,CAACrxB,OAAS,CAACjM,KAAM,EAAKzf,MAAM6pD,YAAYvhC,MAAOnD,KAC9D,EAAKgZ,SAAS,CAAEyqB,cAAe,CAAE79B,MAE/Cw/B,WAAY,SAACx/B,EAAMy/B,GAAP,OACA,yBAAK5qC,UAAW4qC,EAAgB,mBAAqB,aAAcz/B,MAIhF7kB,KAAKlG,MAAMypD,cACR,yBAAK7pC,UAAU,+CACN1Z,KAAKlG,MAAMypD,gBAM5B,yBAAK7pC,UAAW1Z,KAAKlG,MAAM2pD,WAAc,mCAAqCzjD,KAAKlG,MAAM2pD,WAAY,GAAK,WAAazjD,KAAKlG,MAAM2pD,WAAY,GAAM,yCAClJ,yBAAK/pC,UAAU,qEACb,2BAAOH,KAAMvZ,KAAKlG,MAAMyqD,yBAA0B7qC,UAAU,mBAAmBqM,KAAK,WAAW3D,MAAM,GAAG1jB,GAAIsB,KAAKlG,MAAMyqD,yBAA0BxJ,QAAS/6C,KAAKlG,MAAMslB,uBAAuB,UAAU,GAAIy3B,SAAU72C,KAAKyiD,gBACzN,2BAAO/oC,UAAU,mCAAmC+gC,QAASz6C,KAAKlG,MAAMyqD,0BAAxE,0CAGC7F,GAAW,uBAAGhlC,UAAU,0BAA0BsM,cAAY,UAAUosB,iBAAe,SAASzzC,MAAO+/C,EAAO,SAAc9L,aAAY8L,EAAO,UAAc,yBAAK13B,IAAKnoB,cAAwB6a,UAAU,sBAAsBuN,IAAI,OAEtO,yBAAKvN,UAAU,gCACZ1Z,KAAKlG,MAAMslB,wBAA4B,oCAAE,2BAAOolC,IAAI,eAAX,qBAAkD,8BAC5F,kBAAC,KAAD,CACIpiC,MAAOpiB,KAAKlG,MAAM2qD,YAClBf,WAAY,CAACnqC,KAAMvZ,KAAKlG,MAAM4qD,gBAAiBhmD,GAAIsB,KAAKlG,MAAM4qD,gBAAiBhrC,UAAW4pC,EAAgBxM,YAAa92C,KAAKlG,MAAM6qD,oBAClIf,aAAc,GACdC,UAAW,CAACC,QAAQ,EAAGvR,WAAY,2BACzBwR,aAAc,MAAQC,UAAW,gCAAiC3Y,SAAU,OAC5E4Y,UAAW,SACrBC,MAAOlkD,KAAKpG,MAAM+oD,sBAClBwB,aAAc,SAACt/B,GAAD,OAAUA,GACxBgyB,SAAU,SAAC9jB,EAAO9T,GAChB,EAAKgZ,SAAS,CAAE4qB,oBAAoB,IACpC,EAAKJ,cAAc1vB,GACnB,EAAKyvB,aAAa,EAAK1oD,MAAM4qD,gBAAiBzlC,GAAS,SAACilC,GACxD,EAAKjsB,SAAS,CAAE0qB,sBAAuBuB,EAAOrB,oBAAoB,QAGpEuB,SAAU,SAACnlC,EAAS4F,GAClB,EAAKgyB,SAAU,CAACrxB,OAAS,CAACjM,KAAM,EAAKzf,MAAM4qD,gBAAgBtiC,MAAOnD,KAClE,EAAKgZ,SAAS,CAAE0qB,sBAAuB,CAAE99B,MAE3Cw/B,WAAY,SAACx/B,EAAMy/B,GAAP,OACV,yBAAK5qC,UAAW4qC,EAAgB,mBAAqB,aAAcz/B,MAIvE7kB,KAAKlG,MAAMslB,wBAAyBpf,KAAKlG,MAAM0pD,kBAC/C,yBAAK9pC,UAAU,gDACN1Z,KAAKlG,MAAM0pD,yBAvJtC,GAAmCp6B,IAAMC,WCJnCrE,GAAIvK,OAAOuK,EAyEF4/B,GAvEO,SAAC,GAAoI,IAAnIrrC,EAAkI,EAAlIA,KAAMsZ,EAA4H,EAA5HA,MAAOgkB,EAAqH,EAArHA,SAAUC,EAA2G,EAA3GA,YAAa10B,EAA8F,EAA9FA,MAAOjG,EAAuF,EAAvFA,MAAuF,IAAhFsiC,oBAAgF,SAA3DC,EAA2D,EAA3DA,QAA2D,IAAlDj9B,iBAAkD,MAAxC,IAAwC,MAAnCm9B,kBAAmC,MAAxB,mBAAwB,EAGtJ55B,GAAEV,UAAUe,GAAG,QAAS,6BAA6B,SAAUnrB,GAC7D8qB,GAAEhlB,MAAMkpC,SAAS,QACjBlkB,GAAEhlB,MAAMopC,SAASC,KAAK,aAAaM,KAAK,OAAQ,QAChDzvC,EAAEytB,oBAGJ3C,GAAEV,UAAUe,GAAG,QAAS,uBAAuB,SAAUnrB,GACvD8qB,GAAEhlB,MAAMynB,YAAY,QACpBzC,GAAEhlB,MAAMopC,SAASC,KAAK,aAAaM,KAAK,OAAQ,YAChDzvC,EAAEytB,oBAGH,IAAIk3B,EAAW,wBAGV1iC,GAASA,EAAM/e,OAAS,IAC1ByhD,GAAY,eAGd,IAAIr1B,EAAc,8BAmClB,OAjCGi1B,IACDj1B,EACA,yBAAK9P,UAAWklC,GACV,2BACE74B,KAAK,WACLtE,UAAWA,EACXlI,KAAMA,EACN7a,GAAI6a,EACJG,UAAWmlC,EACX/H,YAAaA,EACb10B,MAAOA,EACPy0B,SAAUA,EACV2D,aAAa,QACf,uBAAG9gC,UAAU,iBAAgB,yBAAKsN,IAAKnoB,aAAuB6a,UAAU,qBAAqBuN,IAAI,MAChGy3B,GACC,uBAAGhlC,UAAU,eAAesM,cAAY,UAAUosB,iBAAe,SAASzzC,MAAO+/C,EAAO,UAAc,yBAAK13B,IAAKnoB,cAAwB6a,UAAU,sBAAsBuN,IAAI,MAG5K,2BAAOwzB,QAASlhC,GAAOsZ,GAGtB1W,GACC,oCACE,yBAAK6K,IAAKnoB,eAAyB6a,UAAU,uBAAuBuN,IAAI,KACxE,yBAAKvN,UAAU,oBACNyC,MAQfqN,GCzCRq7B,IAFIpqC,OAAOuK,EAEC,SAAC,GAClB,IADmB+tB,EACpB,EADoBA,QAElB,OAEE,yBAAKr5B,UAAU,eAEb,2BAAOA,UAAU,2BACjB,yBAAKye,MAAM,qBAAqBxe,KAAK,QAAQiiB,wBAAyBC,EAAmBkX,QAwPzF+R,G,YAEJ,WAAYhrD,EAAOsuB,GAAS,IAAD,8BACvB,4CAAMtuB,EAAOsuB,KACRxuB,MAAQ,CACXmrD,gBAAgB,GAHK,E,6HAYRx8B,EAAWC,M,uCAI5BxoB,KAAKi4B,SAAS,CAAC8sB,gBAAkB/kD,KAAKpG,MAAMmrD,mB,wCAG3B,IAAD,EACiI/kD,KAAKlG,MAAjJuiB,EADW,EACXA,SAAU2oC,EADC,EACDA,OAAQnO,EADP,EACOA,SAAUoO,EADjB,EACiBA,OAAQroC,EADzB,EACyBA,OAAQ2lC,EADjC,EACiCA,eAAgB9xC,EADjD,EACiDA,aAA4C6L,GAD7F,EAC+D4oC,mBAD/D,EACmFC,SADnF,EAC6F7oC,YAD7F,EACyG8oC,SADzG,EACmHC,WACnI,OACE,oCACA,0BAAMjqC,OAAO,QACb,yBAAK1B,UAAU,OACb,yBAAKA,UAAU,kBACX,kBAAC,GAAD,CACEH,KAAK,QACL7a,GAAG,QACHo4C,YAAarmC,EAAapV,IAAiBoV,EAAanV,qBAAuB,aAC/E8mB,MAAO/F,EAASzF,MAChBic,MAAOpiB,EAAapV,IAAiBoV,EAAanV,qBAAuB,eACzEu7C,SAAUA,EACV16B,MAAOS,EAAOhG,MACd8nC,QAASjuC,EAAapV,IAAgBoV,EAAanV,qBAAuB,iBAC1EmjD,cAAeniC,IAAeA,EAAU,MACxCyJ,KAAK,QACL64B,WAAW,sBAEjB,yBAAKllC,UAAU,uCACX,kBAAC,GAAD,CACEH,KAAK,YACL7a,GAAG,YACHo4C,YAAarmC,EAAapV,IAAiBoV,EAAanV,qBAAuB,kBAC/E8mB,MAAO/F,EAAS5F,UAChBoc,MAAOpiB,EAAapV,IAAiBoV,EAAanV,qBAAuB,oBACzEu7C,SAAUA,EACV16B,MAAOS,EAAOnG,UACdmoC,WAAW,mBACXH,cAAeniC,IAAeA,EAAU,aAE9C,yBAAK5C,UAAW,kDAAoD1Z,KAAKpG,MAAMmrD,eAAiB,GAAK,YACjG,kBAAC,GAAD,CACExrC,KAAK,aACL7a,GAAG,aACHo4C,YAAarmC,EAAapV,IAAiBoV,EAAanV,qBAAuB,mBAC/E8mB,MAAQpiB,KAAKpG,MAAMmrD,eAAiB1oC,EAAS3F,WAAa,GAC1Dmc,MAAOpiB,EAAapV,IAAiBoV,EAAanV,qBAAuB,qBACzEu7C,SAAUA,EACV16B,MAAOS,EAAOlG,WACd+nC,cAAeniC,IAAeA,EAAU,WACxCsiC,WAAW,sBAWjB,yBAAKllC,UAAU,kBACX,kBAAC,GAAD,CACEH,KAAK,WACL7a,GAAG,WACHo4C,YAAarmC,EAAapV,IAAiBoV,EAAanV,qBAAuB,iBAC/E8mB,MAAO/F,EAAS1F,SAChBkc,MAAOpiB,EAAapV,IAAiBoV,EAAanV,qBAAuB,mBACzEu7C,SAAUA,EACV16B,MAAOS,EAAOjG,SACd8nC,cAAeniC,IAAeA,EAAU,SACxCsiC,WAAW,sBAGjB,yBAAKllC,UAAW,+BAAkC1Z,KAAKlG,MAAMurD,WAAyB,YAAZ,aACtE,kBAAC,GAAD,CACEhpC,SAAUA,EACVF,MAAOS,EAAOe,IACdlN,aAAcA,EACdomC,SAAUA,EACV+H,WAAW,mBACXH,cAAeniC,IAAeA,EAAU,OAI9C,yBAAK5C,UAAW,+BAAkC1Z,KAAKlG,MAAMurD,WAAyB,YAAZ,aACxE,kBAAC,GAAD,CACE9rC,KAAK,SACL7a,GAAG,SACH0jB,MAAO/F,EAASoD,OAChBoT,MAAOpiB,EAAapV,IAAiBoV,EAAanV,qBAAuB,gBACzEu7C,SAAUA,EACV16B,MAAOS,EAAO6C,OACdg/B,cAAeniC,IAAeA,EAAU,OACxC/B,SAAU,sBAAyBva,KAAKlG,MAAMurD,WAAwB,GAAX,gBAI5D/oC,IAAeA,EAAU,UAC5B,kBAAC,GAAD,CACEqnC,YAAY,UACZY,yBAAyB,yBACzBG,gBAAgB,kBAChBD,YAAapoC,EAASiD,gBACtBL,QAAS5C,EAAS4C,QAClBG,uBAAwB/C,EAAS+C,uBACjCyT,MAAOpiB,EAAapV,IAAiBoV,EAAanV,qBAAuB,iBACzEgqD,qBAAsB70C,EAAapV,IAAiBoV,EAAanV,qBAAuB,sBACxFiqD,4BAA6B90C,EAAapV,IAAiBoV,EAAanV,qBAAuB,0BAC/Fw7C,YAAarmC,EAAapV,IAAiBoV,EAAanV,qBAAuB,eAC/EqpD,mBAAoBl0C,EAAapV,IAAiBoV,EAAanV,qBAAuB,oBACtFu7C,SAAUA,EACV0L,eAAgBA,EAChBgB,aAAc3mC,EAAOqC,QACrBukC,iBAAkB5mC,EAAO0C,gBACzBo/B,QAASjuC,EAAapV,IAAgBoV,EAAanV,qBAAuB,mBAC1EmoD,WAAa,MAGVnnC,IAAeA,EAAU,SAC1B,yBAAK5C,UAAU,wCACX,kBAAC,GAAD,CACIH,KAAK,SACL7a,GAAG,SACHo4C,YAAY,SACZ10B,MAAO/F,EAASD,OAChByW,MAAOpiB,EAAapV,IAAiBoV,EAAanV,qBAAuB,gBACzEu7C,SAAUA,EACV16B,MAAOS,EAAOR,OACdqF,UAAW,GACXg9B,cAAeniC,IAAeA,EAAU,OACxCsiC,WAAW,sBAKvB,yBAAKllC,UAAU,wCACX,kBAAC,GAAD,CACEH,KAAK,WACL7a,GAAG,WACHo4C,YAAarmC,EAAapV,IAAiBoV,EAAanV,qBAAuB,gBAC/E8mB,MAAO/F,EAASuD,SAChBiT,MAAOpiB,EAAapV,IAAiBoV,EAAanV,qBAAuB,kBACzEu7C,SAAUA,EACV6H,QAASjuC,EAAapV,IAAgBoV,EAAanV,qBAAuB,oBAC1EmjD,cAAeniC,IAAeA,EAAU,MACxCH,MAAOS,EAAOgD,SACdg/B,WAAW,wBAGdtiC,IAAeA,EAAU,UACxB,yBAAK5C,UAAU,4CACb,yBAAKA,UAAU,mCACb,0BAAMA,UAAU,8BAAhB,aACA,2BACAA,UAAU,mBACVqM,KAAK,WACLg1B,QAAS1+B,EAASwD,QAClBtG,KAAK,UACL7a,GAAG,UACHm4C,SAAUA,IAEV,2BAAOn9B,UAAU,mBAAmB+gC,QAAQ,WAA5C,8CACwC,uBAAG/gC,UAAU,WAAW8L,OAAO,SAASxmB,KAAM4a,KAA9C,gBADxC,YACsJ,uBAAGF,UAAU,WAAW8L,OAAO,SAASxmB,KAAM4a,KAA9C,kBADtJ,2JAECgD,GAAUA,EAAOiD,SAClB,oCACE,yBAAKmH,IAAKnoB,eAAyB6a,UAAU,oCAAoCuN,IAAI,KACrF,yBAAKvN,UAAU,+CACNkD,EAAOiD,cAQvBvD,IAAeA,EAAU,gBAC1B,yBAAK5C,UAAU,uDACb,yBAAKA,UAAU,kDACf,0BAAMA,UAAU,8BAAhB,2CACE,2BACAA,UAAU,mBACVqM,KAAK,WACLxM,KAAK,gBACLwhC,QAAS1+B,EAASmpC,cAClB9mD,GAAG,gBACHm4C,SAAUA,IAEV,2BAAOn9B,UAAU,mCAAmC+gC,QAAQ,iBAA5D,mKAIC79B,GAAUA,EAAO4oC,eAClB,oCACE,yBAAKx+B,IAAKnoB,eAAyB6a,UAAU,uBAAuBuN,IAAI,KACxE,yBAAKvN,UAAU,gDACNkD,EAAO4oC,mBAUtBxlD,KAAKlG,MAAMurD,YACb,yBAAK3rC,UAAU,4BACb,0BAAMA,UAAU,YAAhB,oBACA,4BAAQqM,KAAK,SAASgB,QAASi+B,EAAQtrC,UAAW,mBAAoBurC,EAAS,YAAa,KAA5F,cAKHroC,GAAUA,EAAM,QAAc,kBAAC,GAAD,CAAWm2B,QAASn2B,EAAM,a,+BAQtD,IAAD,EAE6I5c,KAAKlG,MAAnBurD,GAF/H,EAEChpC,SAFD,EAEW2oC,OAFX,EAEmBnO,SAFnB,EAE6BoO,OAF7B,EAEqCroC,OAFrC,EAE6C2lC,eAF7C,EAE6D9xC,aAF7D,EAE2Ey0C,mBAF3E,EAE+FC,SAF/F,EAEyG7oC,WAFzG,EAEqH8oC,SAFrH,EAE+HC,YAEnI,OACI,oCACIA,GACA,wCAAIrlD,KAAKylD,kBAAT,MAGCJ,GACC,6BAAS3rC,UAAW,kCAClB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,0CACZ,yBAAKA,UAAU,iCAAf,IAEC,4BAAI,mCAAQ,0BAAMA,UAAU,cAAxB,MAAJ,kBAEF,yBAAKA,UAAU,+BAEb,wEAA6C,6BAA7C,wDACC1Z,KAAKylD,4B,GAjQSr8B,IAAMC,WA8V9Bq8B,G,YA7Db,WAAY5rD,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACT+rD,eAAe,GAGnB,EAAKC,cAAgB,EAAKA,cAAct9B,KAAnB,gBAPG,E,2EAUdyK,GAAO,IAAD,OAClBA,EAAMpL,iBACN3nB,KAAKi4B,SAAS,CAAC0tB,eAAe,IAAO,kBAAM,EAAK7rD,MAAMkrD,OAAOjyB,Q,0CAI7D4oB,O,gDAGwBjK,GACrB1xC,KAAKpG,MAAM+rD,eAAiBjU,GAAaA,EAAU90B,QAAU80B,EAAU90B,OAAOrG,UAE7EvW,KAAKi4B,SAAS,CAAC0tB,eAAe,IAAQ,kBAAM9pB,EAAqB6V,EAAU90B,OAAOkD,e,+BAQtF,IAAI+lC,EAAezrD,OAAOC,OAAO,GAAI2F,KAAKlG,MAAO,CAACkrD,OAAQhlD,KAAK4lD,gBAE/D,OAAQ,kBAAC,GAA8BC,O,GAlCZz8B,IAAMC,WCvhB/By8B,G,YAEJ,WAAYhsD,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACTyiB,SAAW,CACTsB,IAAK,CAAEC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IAC3BmB,QAAQ,GACRK,gBAAiB,GACjBF,wBAAwB,EACxBqiB,OAAQ,GACR+jB,eAAe,GAEjB5oC,OAAQ,CAACe,IAAK,CAAEC,GAAI,GAAIC,GAAI,GAAIC,GAAI,KACpCmnC,QAAQ,EACRc,aAAa,EACb1J,gBAAgB,EAEf//B,WAAY,CACTF,QAAQ,IAIhB,EAAK4pC,eAAiB,EAAKA,eAAe19B,KAApB,gBACtB,EAAK29B,eAAiB,EAAKA,eAAe39B,KAApB,gBACtB,EAAKg0B,oBAAsB,EAAKA,oBAAoBh0B,KAAzB,gBAC3B,EAAK49B,kCAAoC,EAAKA,kCAAkC59B,KAAvC,gBACzC,EAAK69B,sBAAwB,EAAKA,sBAAsB79B,KAA3B,gBAC7B,EAAK89B,uBAAyB,EAAKA,uBAAuB99B,KAA5B,gBAC9B,EAAK+9B,6BAA+B,EAAKA,6BAA6B/9B,KAAlC,gBACpC,EAAK+yB,kBAAoB,EAAKA,kBAAkB/yB,KAAvB,gBACzB,EAAKs0B,iBAAmB,EAAKA,iBAAiBt0B,KAAtB,gBAExB,EAAK8yB,aAAehyB,IAAM0zB,YAhCF,E,iFAoC1B98C,KAAKlG,MAAMigC,QAAQ4L,SACnB3lC,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQsL,WAEnBrlC,KAAK48C,mBAEL,IAAI0J,EAActmD,KAAKpG,MAAMyiB,SAC7Brc,KAAKi4B,SAAS,CAAC5b,SAAUiqC,IAGzBtmD,KAAKqmD,iC,wCAGWhjB,GAEZA,GACFrjC,KAAKimD,eAAe5iB,GAGtBrjC,KAAKi4B,SAAS,CAACokB,gBAAgB,M,yCAI/B,GAAIr8C,KAAKpG,MAAMyiD,eAAgB,CAC7B,IACEr8C,KAAKo7C,aAAamC,QAAQC,QAE5B,MAAMhpB,GACJpB,QAAQC,IAAImB,GAEdx0B,KAAKi4B,SAAS,CAACokB,gBAAgB,O,qDAKjC,GAAIr8C,KAAKlG,MAAM4F,aAAeM,KAAKlG,MAAM4F,YAAYsW,YAAY,CAE/D,IAAIuwC,EAAKvmD,KAAKlG,MAAM4F,YAAYsW,YAChCuwC,EAAG3mC,SAAW,GACE,MAAb2mC,EAAG9mC,OACJ8mC,EAAG9mC,OAAS8mC,EAAG9mC,OAAS,IAAI,IACtB8mC,EAAG9mC,OAAS,IAEpB,IAAIsmC,EAAwD,KAA1ChJ,iBAAM/8C,KAAKlG,MAAM4gB,SAASsiC,QAA1B,EAElBh9C,KAAKi4B,SAAS,CAAC5b,SAAUkqC,EAAIR,mB,gDAIPrU,GACnBA,EAAU/8B,iBACV3U,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,KAE5B5Z,KAAK48C,qB,+CAKN,OADA58C,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,MACjB,I,qCAGM6V,GAEbA,EAAMpL,iBAGN3nB,KAAKi4B,SAAS,CAACgtB,QAAS,IAEtB,IAAIuB,EAAmBvrC,EAAcuB,iBAAiBxc,KAAKpG,MAAMyiB,SAAUrc,KAAKpG,MAAM0iB,YAEtF,GAAGkqC,EAAiB7pC,QAElB3c,KAAKo7C,aAAamC,QAAQI,cAGrB,CACL,IAAI2I,EAActmD,KAAKpG,MAAMyiB,SAC7BiqC,EAAY7pC,oBAAsB+pC,EAAiB/pC,oBACnD6pC,EAAY5pC,qBAAuB8pC,EAAiB9pC,qBAEpD1c,KAAKi4B,SAAS,CAAC5b,SAAUiqC,EAAa1pC,OAAQ4pC,EAAiB5pC,OAAQqoC,QAAS,O,qCAIvExhB,GAAgB,IAAD,OAC5BzjC,KAAKmmD,sBAAsBnmD,KAAKpG,MAAMyiB,SAAUonB,GAAgB7nB,MAAK,SAAAwqB,GACjE,EAAKtsC,MAAM8yC,QAAQ1vB,KAAKtD,QACvBsC,OAAM,SAAAhiB,GAEP,IAAI0iB,EAAS,EAAKhjB,MAAMgjB,OACpB6pC,EAAO,KAEX,GAAgB,KAAZvsD,EAAEk8B,OACJqwB,EAAM,EAAK3sD,MAAM2W,aAAapV,IAAiB,EAAKvB,MAAM2W,aAAanV,qBAAuB,uBAEzF,GAAgB,KAAZpB,EAAEk8B,OACXqwB,EAAM,EAAK3sD,MAAM2W,aAAapV,IAAiB,EAAKvB,MAAM2W,aAAanV,qBAAuB,4BAG3F,GAAgB,KAAZpB,EAAEk8B,OACT,GAAG,EAAKx8B,MAAMmsD,YACZ,EAAKjsD,MAAM8yC,QAAQ1vB,KAAKtD,SACpB,CACJ6sC,EAAM,EAAK3sD,MAAM2W,aAAapV,IAAiB,EAAKvB,MAAM2W,aAAanV,qBAAuB,kBAC9F,IAAI3B,EAAO,EACTgwB,YAAW,WACThwB,EAAKG,MAAM8yC,QAAQ1vB,KAAKtD,OACvB,UAGc,KAAZ1f,EAAEk8B,OACXl8B,EAAE6hB,OAAOH,MAAK,SAASC,GACrBe,EAAOrG,UAAW,EAElBsF,EAAS2U,SAAQ,SAAArU,GACfS,EAAOT,EAAMshC,OAASthC,EAAM42B,WAG3Bl3B,EAASze,OAAS,IACnBwf,EAAOkD,SAAWjE,EAAS,GAAG4hC,OAG7B5hC,EAASwjC,eACVoH,EAAM5qC,EAASwjC,cAGjB1lD,EAAKs+B,SAAS,CAACrb,OAAQA,EAAQqoC,QAAS,OAGrB,KAAZ/qD,EAAEk8B,SACXqwB,EAAM,EAAK3sD,MAAM2W,aAAX,aAIJg2C,IACFA,EAAMvsD,EAAE64C,SAGVn2B,EAAM,OAAa6pC,EACnB,EAAKxuB,SAAS,CAACrb,OAAQA,EAAQqoC,QAAS,S,4CAIxB5oC,EAAUonB,GAC9B,IAAIijB,EAAqBtsD,OAAOC,OAAO,GAAIgiB,GAS3C,OAPAuQ,GAAU+5B,qCAAqCD,EAAoBrqC,EAASsB,IAAIG,GAAIzB,EAASsB,IAAIE,GAAIxB,EAASsB,IAAIC,IAElH8oC,EAAmBjnC,OAAS,KACxBpD,EAASoD,QAA6B,KAAnBpD,EAASoD,SAC9BinC,EAAmBjnC,OAA4B,KAAnBpD,EAASoD,QAGhCzf,KAAKlG,MAAMigC,QAAQ6M,aAAa8f,EAAoBjjB,K,0CAGzC1Q,GAEhB,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KAEvB8C,EAAWrc,KAAKpG,MAAMyiB,SACpB+F,EAA8B,aAAtB2Q,EAAMvN,OAAOO,KAAsBgN,EAAMvN,OAAOu1B,QAAUhoB,EAAMvN,OAAOpD,MACrF/F,EAASohC,GAASr7B,EAElB,IAAIxF,EAAS5c,KAAKpG,MAAMgjB,OAWxB,OAVAA,EAAO6gC,GAAkB,OAATA,EAAiB,GAAK,GAE1B,SAATA,IACDphC,EAASI,qBAAsB,GAGrB,UAATghC,IACDphC,EAASK,sBAAuB,GAG3B1c,KAAKi4B,SAAS,CAAE5b,SAAUA,EAAUO,OAAOA,M,wDAGpBmW,GAEhC,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KACvBqD,EAAS5c,KAAKpG,MAAMgjB,OAMxB,OALImW,EAAMvN,OAAO4Q,QAAUrD,EAAMvN,OAAO4Q,OAGxCxZ,EAAO6gC,GAASz9C,KAAKlG,MAAM2W,aAAX,wBAETzQ,KAAKi4B,SAAS,CAAErb,OAAOA,M,+BAI9B,OACE,6BACM,kBAAC,GAAD,CACEw+B,aAAcp7C,KAAKo7C,aACnBC,kBAAmBr7C,KAAKq7C,oBAE1B,kBAAC,EAAD,CAAM1yB,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAciX,YAAY,IAC1E,kBAAC,GAAD,CACE49B,OAAQhlD,KAAKgmD,eACbnP,SAAU72C,KAAKs8C,oBACf1/B,OAAQ5c,KAAKpG,MAAMgjB,OACnBqoC,OAAQjlD,KAAKpG,MAAMqrD,OACnB5oC,SAAUrc,KAAKpG,MAAMyiB,SACrBkmC,eAAgBviD,KAAKkmD,kCACrB5pC,WAAYtc,KAAKpG,MAAM0iB,WACvB7L,aAAczQ,KAAKlG,MAAM2W,aACzB20C,SAAUplD,KAAKlG,MAAM2W,aAAX,oBAGb,kBAAC,GAAD,W,GAzPoB2Y,IAAMC,WA+PrCy8B,GAAiB9mB,aAAe,CAC9BC,OAAQC,IAAUC,QAiCLxE,oBA9Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GAKnB,OAJIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGhB,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,gBACnC0B,oBAAqBzc,EAAM8F,YAAY2W,wBAI3C,SAA4Bic,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,GAAe3a,MAIlEqI,CAA6CmrB,ICtStDc,G,YAEJ,WAAY9sD,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACXwiB,OAAQ,GACRijC,aAAc,GACdD,YAAa,GACbD,SAAU,KACV8F,QAAQ,EACR5I,gBAAgB,EAChBwK,cAAc,GAGhB,EAAKC,eAAiB,EAAKA,eAAex+B,KAApB,gBACtB,EAAKy+B,aAAe,EAAKA,aAAaz+B,KAAlB,gBACpB,EAAK0+B,YAAc,EAAKA,YAAY1+B,KAAjB,gBACnB,EAAK2+B,uBAAyB,EAAKA,uBAAuB3+B,KAA5B,gBAC9B,EAAK+yB,kBAAoB,EAAKA,kBAAkB/yB,KAAvB,gBACzB,EAAKs0B,iBAAmB,EAAKA,iBAAiBt0B,KAAtB,gBACxB,EAAK4+B,SAAW,EAAKA,SAAS5+B,KAAd,gBAChB,EAAK6+B,YAAc,EAAKA,YAAY7+B,KAAjB,gBAEnB,EAAK8yB,aAAehyB,IAAM0zB,YAtBF,E,iFA0B1B98C,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAK48C,mBAEL58C,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,S,gDAIlBw3C,GACnBA,EAAU/8B,iBACb3U,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,KAG1B5Z,KAAK48C,qB,wCAGWvZ,GAAO,IAAD,OAElBA,IACCrjC,KAAKpG,MAAMitD,aACZ7mD,KAAKi4B,SAAS,CAAC4uB,cAAc,IAC1B,kBAAM,EAAKM,YAAY9jB,MAG1BrjC,KAAKknD,SAAS7jB,IAIlBrjC,KAAKi4B,SAAS,CAACokB,gBAAgB,M,yCAI/B,GAAIr8C,KAAKpG,MAAMyiD,eAAgB,CAC7B,IACEr8C,KAAKo7C,aAAamC,QAAQC,QAE5B,MAAMhpB,GACJpB,QAAQC,IAAImB,GAEdx0B,KAAKi4B,SAAS,CAACokB,gBAAgB,O,qCAIpBtpB,GAGb,IAAI3W,EAAS2W,EAAMvN,OAAOpD,MAE1B,OAAOpiB,KAAKi4B,SAAS,CAAE7b,OAAQA,EAAQ+iC,SAAU,S,mCAGtCpsB,GAEXA,EAAMpL,kBAGD3nB,KAAKpG,MAAMwiB,QAAuC,IAA5Bpc,KAAKpG,MAAMwiB,OAAOhf,SAAiB4C,KAAKpG,MAAMwiB,OAAOxB,MAAM,aACpF5a,KAAKi4B,SAAS,CAACknB,SAAU,mCAGzBn/C,KAAKo7C,aAAamC,QAAQI,Y,+BAIrBta,GAAO,IAAD,OACbrjC,KAAKi4B,SAAS,CAAEonB,aAAc,KAAMD,YAAa,KAAM6F,QAAQ,IAE/D9E,GAAgBiH,kCAAkCpnD,KAAKlG,MAAM4F,YAAYqV,UAAW/U,KAAKpG,MAAMwiB,OAAQinB,GAAOznB,MAAM,SAAC0kC,GAEhHA,EAAalsC,QACd,EAAK6jB,SAAS,CAAEonB,aAAciB,EAAajB,aAAcD,YAAa,OAEtE,EAAK6H,4BAEN/qC,OAAO,SAAAhiB,GAEQ,KAAZA,EAAEk8B,OACEl8B,EAAE6hB,OAAOH,MAAM,SAAA0kC,GACX,EAAKroB,SAAS,CAAEonB,aAAciB,EAAajB,aAAcD,YAAa,UAG9E,EAAKnnB,SAAS,CAAEonB,aAAc,4GAA6GD,YAAa,UAEzJpB,SAAS,WACR,EAAK/lB,SAAS,CAACgtB,QAAQ,S,+CAM7BjlD,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,O,kCAGdmZ,GAAO,IAAD,OAChBA,EAAMpL,iBACN3nB,KAAKi4B,SAAS,CAAC4uB,cAAc,IAAO,WAClC,EAAKzL,aAAamC,QAAQI,e,kCAIlBta,GAAO,IAAD,OAChB8c,GAAgBiH,kCAAkCpnD,KAAKlG,MAAM4F,YAAYqV,UAAW/U,KAAKpG,MAAMwiB,OAAQinB,GAAOznB,MAAK,WACjH,EAAKqc,SAAS,CAACmnB,YAAa,6BAC5B,IAAIzlD,EAAO,EACTgwB,YAAW,WACThwB,EAAKs+B,SAAS,CAACmnB,YAAa,SAC3B,QACJljC,OAAM,SAAAhiB,GACQ,KAAZA,EAAEk8B,OACHl8B,EAAE6hB,OAAOH,MAAM,SAAA+kC,GACb,EAAK1oB,SAAS,CAAConB,aAAcsB,EAAKtB,kBAIpC,EAAKpnB,SAAS,CAAConB,aAAc,qL,+BAQjC,OACI,yBAAK3lC,UAAU,sBACb,kBAAC,GAAD,CACI0hC,aAAcp7C,KAAKo7C,aACnBC,kBAAmBr7C,KAAKq7C,oBAE1B,kBAAC,EAAD,CAAM1yB,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAciX,YAAY,IAC1E,6BAAS1N,UAAU,0CACf,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,0CACb,yBAAKA,UAAU,iCAAf,IAEE,4BAAI,mCAAQ,0BAAMA,UAAU,cAAxB,MAAJ,yBAEF,yBAAKA,UAAU,+BACb,yBAAKA,UAAU,wBACb,yBAAKsN,IAAKnoB,oBAA8B6a,UAAU,GAAGuN,IAAI,eAG3D,8DAAmC,6BAAnC,+CAAqF,6BAArF,kCACA,0BAAO0vB,SAAU32C,KAAK+mD,aAAcrtC,UAAU,gEAC5C,yBAAKA,UAAU,+BACf,kBAAC,GAAD,CACIH,KAAK,SACL7a,GAAG,SACHo4C,YAAY,SACZ10B,MAAOpiB,KAAKpG,MAAMwiB,OAClByW,MAAM,SACNgkB,SAAU72C,KAAK8mD,eACf3qC,MAAOnc,KAAKpG,MAAMulD,SAClB19B,UAAW,GACXm9B,WAAW,sBAEf,yBAAKllC,UAAU,mBACf,4BAAQqM,KAAK,SAASrM,UAAW,8BAAgC1Z,KAAKpG,MAAMqrD,OAAS,YAAa,KAAlG,aAEDjlD,KAAKpG,MAAMylD,cACV,yBAAK3lC,UAAU,sBACb,0BAAMkiB,wBAAyBC,EAAmB77B,KAAKpG,MAAMylD,iBAG/Dr/C,KAAKpG,MAAMwlD,aACX,yBAAK1lC,UAAU,uBACb,0BAAMkiB,wBAAyBC,EAAmB77B,KAAKpG,MAAMwlD,sBAU3E,kBAAC,GAAD,W,GA5MuBh2B,IAAMC,WAkN3Cu9B,GAAuB5nB,aAAe,CACpCC,OAAQC,IAAUC,QAgCLxE,oBA7Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GAKnB,OAJIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGhB,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,GAAe3a,MAIlEqI,CAA6CisB,IClPtDS,G,YAEJ,WAAYvtD,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACX6lD,iBAAkB,GAClBJ,aAAc,GACdD,YAAa,GACbD,SAAU,KACV8F,QAAQ,EACR5I,gBAAgB,EAChBwK,cAAc,GAGhB,EAAK/G,yBAA2B,EAAKA,yBAAyBx3B,KAA9B,gBAChC,EAAKy+B,aAAe,EAAKA,aAAaz+B,KAAlB,gBACpB,EAAKg/B,cAAgB,EAAKA,cAAch/B,KAAnB,gBACrB,EAAKy3B,eAAiB,EAAKA,eAAez3B,KAApB,gBACtB,EAAKi/B,OAAS,EAAKA,OAAOj/B,KAAZ,gBACd,EAAK+yB,kBAAoB,EAAKA,kBAAkB/yB,KAAvB,gBACzB,EAAKs0B,iBAAmB,EAAKA,iBAAiBt0B,KAAtB,gBACxB,EAAK4+B,SAAW,EAAKA,SAAS5+B,KAAd,gBAChB,EAAKk/B,cAAgB,EAAKA,cAAcl/B,KAAnB,gBAErB,EAAK8yB,aAAehyB,IAAM0zB,YAvBF,E,iFA2B1B98C,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKi4B,SAAS,CAACgtB,QAAQ,IACvBjlD,KAAK48C,qB,gDAGmBlL,GAKxB1xC,KAAK48C,qB,wCAGWvZ,GAAO,IAAD,OAElBA,IACCrjC,KAAKpG,MAAMitD,aACZ7mD,KAAKi4B,SAAS,CAAC4uB,cAAc,IAC1B,kBAAM,EAAKW,cAAcnkB,MAG5BrjC,KAAKknD,SAAS7jB,IAIlBrjC,KAAKi4B,SAAS,CAACokB,gBAAgB,EAAM4I,QAAQ,M,yCAI7C,GAAIjlD,KAAKpG,MAAMyiD,eACb,IACEr8C,KAAKo7C,aAAamC,QAAQC,QAC1Bx9C,KAAKi4B,SAAS,CAACokB,gBAAgB,IAEjC,MAAM7nB,GACJpB,QAAQC,IAAImB,M,+CAKOzB,GAEvB,IAAI0sB,EAAmBz/C,KAAKpG,MAAM6lD,iBAGlC,OAFAA,EAAmB1sB,EAAMvN,OAAOpD,MAEzBpiB,KAAKi4B,SAAS,CAAEwnB,iBAAkBA,EAAkBN,SAAU,S,mCAG1DpsB,GAEXA,EAAMpL,kBAED3nB,KAAKpG,MAAM6lD,kBAAqBz/C,KAAKpG,MAAM6lD,iBAAiBriD,OAAS,IAAM4C,KAAKpG,MAAM6lD,iBAAiB7kC,MAAM,aAChH5a,KAAKi4B,SAAS,CAACknB,SAAU,mCAGzBn/C,KAAKo7C,aAAamC,QAAQI,Y,+BAIrBta,GAAO,IAAD,OAEbrjC,KAAKi4B,SAAS,CAAEonB,aAAc,KAAMD,YAAa,KAAM6F,QAAQ,IAE/D9E,GAAgBsH,mCAAmCznD,KAAKpG,MAAM6lD,iBAAkBpc,GAAOznB,MAAM,SAAC0kC,GAEzFA,EAAalsC,QACd,EAAK6jB,SAAS,CAAEonB,aAAciB,EAAajB,aAAcD,YAAa,QAEtE,EAAKnnB,SAAS,CAACgtB,QAAQ,IACvB,EAAKlF,eAAeO,OAErBpkC,OAAO,SAAAhiB,GACY,KAAZA,EAAEk8B,OACJl8B,EAAE6hB,OAAOH,MAAM,SAAA0kC,GACX,EAAKroB,SAAS,CAAEonB,aAAciB,EAAajB,aAAcD,YAAa,UAGtE,EAAKnnB,SAAS,CAAEonB,aAAc,4GAA6GD,YAAa,OAE5J,EAAKxC,sBAEXoB,SAAS,WACL,EAAK/lB,SAAS,CAACgtB,QAAQ,S,qCAIhB3E,GAAc,IAAD,OAE1BtgD,KAAKlG,MAAMigC,QAAQkM,8BAA8B,KAAKrqB,MAAK,SAAAwqB,GAEzD,GAAGA,EAAExpC,OAASD,aAAWypC,EAAExpC,MAAOf,KAAUE,qBAAqB,CAC/D,IAAI2kD,EAActa,EAAEvxB,cAAgB+E,IACpC,EAAK9f,MAAM8yC,QAAQ1vB,KAAKwjC,QAGxB,EAAKzoB,SAAS,CAAConB,aAAc,4KAE9BnjC,OAAM,SAAAhiB,GAEQ,KAAZA,EAAEk8B,OACDl8B,EAAE6hB,OAAOH,MAAM,SAAA+kC,GACb,EAAK1oB,SAAS,CAAConB,aAAcsB,EAAKtB,kBAItC,EAAKpnB,SAAS,CAAConB,aAAc,uL,oCAKrBtsB,GAAO,IAAD,OAClBA,EAAMpL,iBACN3nB,KAAKi4B,SAAS,CAAC4uB,cAAc,IAAO,WAClC,EAAKzL,aAAamC,QAAQI,e,oCAKhBta,GAAO,IAAD,OAElB8c,GAAgBuH,iCAAiCrkB,GAAOznB,MAAK,WAC3D,EAAKqc,SAAS,CAACmnB,YAAa,6FAC5B,IAAIzlD,EAAO,EACTgwB,YAAW,WACThwB,EAAKs+B,SAAS,CAACmnB,YAAa,KAAMC,aAAc,KAAMF,SAAU,SAC/D,QACJjjC,OAAM,SAAAhiB,GACQ,KAAZA,EAAEk8B,OACHl8B,EAAE6hB,OAAOH,MAAM,SAAA+kC,GACb,EAAK1oB,SAAS,CAAConB,aAAcsB,EAAKtB,kBAIpC,EAAKpnB,SAAS,CAAConB,aAAc,uL,6BAM5BtsB,GACLA,EAAMpL,iBACN3nB,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,IAAgC,U,+BAIxD,OACI,yBAAKF,UAAU,sBACb,kBAAC,GAAD,CACI0hC,aAAcp7C,KAAKo7C,aACnBC,kBAAmBr7C,KAAKq7C,oBAE1B,kBAAC,EAAD,CAAM1yB,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAciX,YAAY,IAC1E,6BAAS1N,UAAU,0CACf,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,0CACb,yBAAKA,UAAU,iCAAf,IACG,uBAAG1a,KAAK,GAAG+nB,QAAS/mB,KAAKunD,OAAQ7tC,UAAU,aAAY,yBAAKsN,IAAKnoB,cAAwB6a,UAAU,YAAYuN,IAAI,MACpH,4BAAI,mCAAQ,0BAAMvN,UAAU,cAAxB,MAAJ,wBAEF,yBAAKA,UAAU,+BACb,yBAAKA,UAAU,wBACb,yBAAKsN,IAAKnoB,eAAyB6a,UAAU,GAAGuN,IAAI,eAGtD,+DAAoC,6BAApC,wDAA+F,6BAA/F,qDACA,0BAAO0vB,SAAU32C,KAAK+mD,aAAcrtC,UAAU,gEAC5C,yBAAKA,UAAU,+BACf,kBAAC,GAAD,CACIH,KAAK,OACL7a,GAAG,OACHo4C,YAAY,gBACZ10B,MAAOpiB,KAAKpG,MAAM6lD,iBAClB5sB,MAAM,gBACNgkB,SAAU72C,KAAK8/C,yBACf3jC,MAAOnc,KAAKpG,MAAMulD,SAClB19B,UAAW,EACXm9B,WAAW,sBAEf,yBAAKllC,UAAU,mBACf,4BAAQqM,KAAK,SAASrM,UAAW,8BAAgC1Z,KAAKpG,MAAMqrD,OAAS,YAAa,KAAlG,WAEDjlD,KAAKpG,MAAMylD,cACV,yBAAK3lC,UAAU,sBACb,0BAAMkiB,wBAAyBC,EAAmB77B,KAAKpG,MAAMylD,iBAG/Dr/C,KAAKpG,MAAMwlD,aACX,yBAAK1lC,UAAU,uBACb,0BAAMkiB,wBAAyBC,EAAmB77B,KAAKpG,MAAMwlD,gBAGjE,kDAAuB,uBAAGpgD,KAAK,GAAG+nB,QAAS/mB,KAAKsnD,eAAzB,iBAOjC,kBAAC,GAAD,W,GAtO4Bl+B,IAAMC,WA4OhDg+B,GAA4BroB,aAAe,CACzCC,OAAQC,IAAUC,QAgCLxE,oBA7Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GAKnB,OAJIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGhB,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,GAAe3a,MAIlEqI,CAA6C0sB,IC9QtDM,G,YAEJ,WAAY7tD,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACXqhD,SAAU,KACVwE,iBAAkB,GAClBJ,aAAc,GACdD,YAAa,GACbD,SAAU,KACV8F,QAAQ,EACR5I,gBAAgB,EAChBwK,cAAc,GAGhB,EAAKlK,gBAAkB,EAAKA,gBAAgBr0B,KAArB,gBACvB,EAAKw3B,yBAA2B,EAAKA,yBAAyBx3B,KAA9B,gBAChC,EAAKy+B,aAAe,EAAKA,aAAaz+B,KAAlB,gBACpB,EAAK0+B,YAAc,EAAKA,YAAY1+B,KAAjB,gBACnB,EAAKy3B,eAAiB,EAAKA,eAAez3B,KAApB,gBACtB,EAAKi/B,OAAS,EAAKA,OAAOj/B,KAAZ,gBACd,EAAK+yB,kBAAoB,EAAKA,kBAAkB/yB,KAAvB,gBACzB,EAAKs0B,iBAAmB,EAAKA,iBAAiBt0B,KAAtB,gBACxB,EAAK4+B,SAAW,EAAKA,SAAS5+B,KAAd,gBAChB,EAAK6+B,YAAc,EAAKA,YAAY7+B,KAAjB,gBAEnB,EAAK8yB,aAAehyB,IAAM0zB,YAzBF,E,iFA4BP,IAAD,OAClB98C,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAK48C,mBAIL58C,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GAEpCA,EAAEya,iBAAoBhY,aAAWzC,EAAE0C,MAAOf,KAAUQ,gBACtD,EAAKvC,MAAM8yC,QAAQ1vB,KAAKtD,U,wCAMZ,IAAD,OACf,OAAO5Z,KAAKlG,MAAMigC,QAAQ/kB,KAAK4G,MAAK,SAAAwqB,GAElC,OADA,EAAKnO,SAAS,CAACgjB,UAAW,IACnB7U,KACNlqB,OAAM,SAAAhiB,S,gDAKew3C,GACnBA,EAAU/8B,iBAEb3U,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,KAG1B5Z,KAAK48C,qB,wCAGWvZ,GAAO,IAAD,OAElBA,IACCrjC,KAAKpG,MAAMitD,aACZ7mD,KAAKi4B,SAAS,CAAC4uB,cAAc,IAC1B,kBAAM,EAAKM,YAAY9jB,MAG1BrjC,KAAKknD,SAAS7jB,IAIlBrjC,KAAKi4B,SAAS,CAACokB,gBAAgB,EAAM4I,QAAQ,M,yCAI7C,GAAIjlD,KAAKpG,MAAMyiD,eACb,IACEr8C,KAAKo7C,aAAamC,QAAQC,QAC1Bx9C,KAAKi4B,SAAS,CAACokB,gBAAgB,IAEjC,MAAM7nB,GACJpB,QAAQC,IAAImB,M,+CAKOzB,GAEvB,IAAI0sB,EAAmBz/C,KAAKpG,MAAM6lD,iBAGlC,OAFAA,EAAmB1sB,EAAMvN,OAAOpD,MAEzBpiB,KAAKi4B,SAAS,CAAEwnB,iBAAkBA,EAAkBN,SAAU,S,mCAG1DpsB,GAEXA,EAAMpL,kBAED3nB,KAAKpG,MAAM6lD,kBAAqBz/C,KAAKpG,MAAM6lD,iBAAiBriD,OAAS,IAAM4C,KAAKpG,MAAM6lD,iBAAiB7kC,MAAM,aAChH5a,KAAKi4B,SAAS,CAACknB,SAAU,mCAGzBn/C,KAAKo7C,aAAamC,QAAQI,Y,+BAIrBta,GAAO,IAAD,OACXrjC,KAAKi4B,SAAS,CAAEonB,aAAc,KAAMD,YAAa,KAAM6F,QAAQ,IAE/D9E,GAAgByH,oCAAoC5nD,KAAKlG,MAAM4F,YAAYqV,UAAW/U,KAAKpG,MAAM6lD,iBAAkBpc,GAAOznB,MAAM,SAAC0kC,GAE5HA,EAAalsC,QACd,EAAK6jB,SAAS,CAAEonB,aAAciB,EAAajB,aAAcD,YAAa,OAEtE,EAAKW,oBAEN7jC,OAAO,SAAAhiB,GACQ,KAAZA,EAAEk8B,OACJl8B,EAAE6hB,OAAOH,MAAM,SAAA0kC,GACX,EAAKroB,SAAS,CAAEonB,aAAciB,EAAajB,aAAcD,YAAa,UAGxE,EAAKnnB,SAAS,CAAEonB,aAAc,4GAA6GD,YAAa,OAE5J,EAAKxC,sBACFoB,SAAS,WACR,EAAK/lB,SAAS,CAACgtB,QAAQ,S,uCAKhB,IAAD,OAEdjlD,KAAKlG,MAAMigC,QAAQkM,8BAA8B,KAAKrqB,MAAK,SAAAwqB,GAEzD,GAAGA,EAAExpC,QAAUD,aAAWypC,EAAExpC,MAAOf,KAAUU,YAAcI,aAAWypC,EAAExpC,MAAOf,KAAUW,aAAeG,aAAWypC,EAAExpC,MAAOf,KAAUS,gBAAiB,CACrJ,IAAIokD,EAActa,EAAEvxB,cAAgB+E,IACpC,EAAK9f,MAAM8yC,QAAQ1vB,KAAKwjC,QAGxB,EAAKzoB,SAAS,CAAConB,aAAc,0KAE9BnjC,OAAM,SAAAhiB,GAEQ,KAAZA,EAAEk8B,OACDl8B,EAAE6hB,OAAOH,MAAM,SAAA+kC,GACb,EAAK1oB,SAAS,CAAConB,aAAcsB,EAAKtB,kBAItC,EAAKpnB,SAAS,CAAConB,aAAc,qL,kCAKvBtsB,GAAO,IAAD,OAChBA,EAAMpL,iBACN3nB,KAAKi4B,SAAS,CAAC4uB,cAAc,IAAO,WAClC,EAAKzL,aAAamC,QAAQI,e,kCAIlBta,GAAO,IAAD,OAEhB8c,GAAgBiH,kCAAkCpnD,KAAKlG,MAAM4F,YAAYqV,UAAW,GAAIsuB,GAAOznB,MAAK,WAClG,EAAKqc,SAAS,CAACmnB,YAAa,6BAC5B,IAAIzlD,EAAO,EACTgwB,YAAW,WACThwB,EAAKs+B,SAAS,CAACmnB,YAAa,KAAMC,aAAc,KAAMF,SAAU,SAC/D,QACJjjC,OAAM,SAAAhiB,GACQ,KAAZA,EAAEk8B,OACHl8B,EAAE6hB,OAAOH,MAAM,SAAA+kC,GACb,EAAK1oB,SAAS,CAAConB,aAAcsB,EAAKtB,kBAIpC,EAAKpnB,SAAS,CAAConB,aAAc,qL,6BAK5BtsB,GACLA,EAAMpL,iBACN3nB,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,4B,+BAIxB,OACI,yBAAKxD,UAAU,sBACZ,kBAAC,GAAD,CACG0hC,aAAcp7C,KAAKo7C,aACnBC,kBAAmBr7C,KAAKq7C,oBAE1B,kBAAC,EAAD,CAAM1yB,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAciX,YAAY,IAC1E,6BAAS1N,UAAU,0CACf,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,0CACb,yBAAKA,UAAU,iCAAf,IACG,uBAAG1a,KAAK,GAAG+nB,QAAS/mB,KAAKunD,OAAQ7tC,UAAU,aAAY,yBAAKsN,IAAKnoB,cAAwB6a,UAAU,YAAYuN,IAAI,MACpH,4BAAI,mCAAQ,0BAAMvN,UAAU,cAAxB,MAAJ,yBAEF,yBAAKA,UAAU,+BACb,yBAAKA,UAAU,wBACb,yBAAKsN,IAAKnoB,oBAA8B6a,UAAU,GAAGuN,IAAI,eAG3D,6DAAkC,6BAAlC,wDACA,0BAAO0vB,SAAU32C,KAAK+mD,aAAcrtC,UAAU,gEAC5C,yBAAKA,UAAU,+BACf,kBAAC,GAAD,CACIH,KAAK,OACL7a,GAAG,OACHo4C,YAAY,gBACZ10B,MAAOpiB,KAAKpG,MAAM6lD,iBAClB5sB,MAAM,gBACNgkB,SAAU72C,KAAK8/C,yBACf3jC,MAAOnc,KAAKpG,MAAMulD,SAClB19B,UAAW,EACXm9B,WAAW,sBAEf,yBAAKllC,UAAU,mBACf,4BAAQqM,KAAK,SAASrM,UAAW,8BAAgC1Z,KAAKpG,MAAMqrD,OAAS,YAAa,KAAlG,WAEDjlD,KAAKpG,MAAMylD,cACV,yBAAK3lC,UAAU,sBACb,0BAAMkiB,wBAAyBC,EAAmB77B,KAAKpG,MAAMylD,iBAG/Dr/C,KAAKpG,MAAMwlD,aACX,yBAAK1lC,UAAU,uBACb,0BAAMkiB,wBAAyBC,EAAmB77B,KAAKpG,MAAMwlD,gBAGjE,kDAAuB,uBAAGpgD,KAAK,GAAG+nB,QAAS/mB,KAAKgnD,aAAzB,iBAOjC,kBAAC,GAAD,W,GAvP6B59B,IAAMC,WA6PjDs+B,GAA6B3oB,aAAe,CAC1CC,OAAQC,IAAUC,QAgCLxE,oBA7Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GAKnB,OAJIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGhB,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,GAAe3a,MAIlEqI,CAA6CgtB,IC5S/CE,GAAb,YACE,WAAY/tD,EAAOsuB,GAAS,qEACftuB,EAAOsuB,IAFtB,iFAMOpoB,KAAKlG,MAAMigC,QAAQ4L,SACnB3lC,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,OAP/B,+BAYQ,OACI,kCAbZ,GAAgCkM,IAAMC,WAmBtCw+B,GAAW7oB,aAAe,CACxBC,OAAQC,IAAUC,QAcLxE,oBAVf,SAAyB/gC,EAAOghC,GAC9B,MAAO,MAGT,SAA4BtI,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI4yC,GAAe3a,MAInDqI,CAA6CktB,ICkD7CC,IAlELrtC,OAAOuK,EAES,SAAC,GAAoF,IAAlFvU,EAAiF,EAAjFA,aAAcomC,EAAmE,EAAnEA,SAAU16B,EAAyD,EAAzDA,MAAOE,EAAkD,EAAlDA,SAAU0rC,EAAwC,EAAxCA,iBAAkBC,EAAsB,EAAtBA,gBAQtF,OAJI7rC,GAASA,EAAM/e,OAAS,GACT,aAKjB,kBAAC,GAAD,CACAy8C,eAAgB,0BAAMngC,UAAU,aAAhB,oOAA6P,uBAAG1a,KAAK,KAAR,kBAA7P,QAAgS,uBAAGA,KAAK,KAAR,mBAEjT,6BACC,wBAAIm5B,MAAM,eAAe1nB,EAAapV,IAAuBoV,EAAanV,qBAAuB,cACjG,uBAAGsgC,wBAAyBC,EAAmBprB,EAAapV,IAAuBoV,EAAanV,qBAAuB,cACvH,0BAAMq7C,SAAUoR,GACd,yBAAKruC,UAAU,oBACb,2BAAOqM,KAAK,QAAQrnB,GAAG,QAAQ6a,KAAK,QAAQG,UAAWyC,EAAMvF,MAAQ,0BAA4B,eAAgBigC,SAAUA,EAAUz0B,MAAO/F,EAASzF,MAAOkgC,YAAarmC,EAAapV,IAAuBoV,EAAanV,qBAAuB,oBAAqBk/C,aAAa,QACnR,2BAAOC,QAAQ,QAAQvxB,MAAO,CAACwxB,OAAO,SAAtC,uBACCv+B,EAAMvF,OACH,oCACE,yBAAKoQ,IAAKnoB,eAAyB6a,UAAU,uBAAuBuN,IAAI,KACxE,yBAAKvN,UAAU,oBACVyC,EAAMvF,SAMnB,kBAAC,GAAD,CACEyF,SAAUA,EACVF,MAAOA,EAAMwB,IACblN,aAAcA,EACdomC,SAAUA,EACV6H,QAASjuC,EAAapV,IAAsBoV,EAAanV,qBAAuB,cAChFsjD,WAAW,qBAGb,4BACI74B,KAAK,SACLrM,UAAWsuC,EAAkB,sCAAwC,8BACpEv3C,EAAY,mBACZu3C,GAAmB,yBAAK7vB,MAAM,6CAA6Cxe,KAAK,UAC/E,0BAAMwe,MAAM,WAAZ,gBAIR,+BAAI,kBAAC,IAAD,CAAMpQ,GAAG,UAAUtX,EAAapV,IAAuBoV,EAAanV,qBAAuB,wBC7CtF2sD,IAFHxtC,OAAOuK,EAEjB,YACE,WAAYlrB,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACXuW,aAAc,GACdkM,SAAW,CACTzF,MAAO9c,EAAM6b,oBACbgI,IAAK,CAAEC,GAAI,GAAIC,GAAI,GAAIC,GAAI,KAE7BlB,OAAQ,CAAEe,IAAK,CAAEC,GAAI,GAAIC,GAAI,GAAIC,GAAI,KACrCu+B,gBAAgB,EAChB6L,YAAa,kBAGf,EAAK5L,oBAAsB,EAAKA,oBAAoBh0B,KAAzB,gBAC3B,EAAK6/B,2BAA8B,EAAKA,2BAA2B7/B,KAAhC,gBACnC,EAAKy/B,iBAAoB,EAAKA,iBAAiBz/B,KAAtB,gBACzB,EAAK8/B,qBAAuB,EAAKA,qBAAqB9/B,KAA1B,gBAC5B,EAAK+yB,kBAAoB,EAAKA,kBAAkB/yB,KAAvB,gBACzB,EAAKs0B,iBAAmB,EAAKA,iBAAiBt0B,KAAtB,gBAExB,EAAK8yB,aAAehyB,IAAM0zB,YArBA,EAD9B,iFA0BO98C,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAElC2E,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAK48C,mBAELjB,OA/BP,gDAkC8BjK,GACxB,GAAIA,EAAU/7B,qBAAuB3V,KAAKlG,MAAM6b,oBAAqB,CACnE,IAAI0G,EAAWjiB,OAAOC,OAAO,GAAI2F,KAAKpG,MAAMyiB,UAC5CA,EAASzF,MAAQ86B,EAAU/7B,oBAC3B3V,KAAKi4B,SAAS,CAAE5b,aAElBrc,KAAK48C,qBAxCX,wCA2CsBvZ,GAEZA,GACFrjC,KAAKooD,qBAAqB/kB,GAG5BrjC,KAAKi4B,SAAS,CAACokB,gBAAgB,MAjDrC,yCAqDM,GAAIr8C,KAAKpG,MAAMyiD,eAAgB,CAC7B,IACEr8C,KAAKo7C,aAAamC,QAAQC,QAE5B,MAAMhpB,GACJpB,QAAQC,IAAImB,GAEdx0B,KAAKi4B,SAAS,CAACokB,gBAAgB,OA5DvC,0CAiEyBtpB,GAEhB,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KAEvB8C,EAAWrc,KAAKpG,MAAMyiB,SAC1BA,EAASohC,GAAS1qB,EAAMvN,OAAOpD,MAE/B,IAAIxF,EAAS5c,KAAKpG,MAAMgjB,OAGxB,OAFAA,EAAO6gC,GAAS,GAETz9C,KAAKi4B,SAAS,CAAE5b,SAAUA,EAAUO,OAAQA,MA3E5D,iDA8E+B+gB,GAGzB,OAFA39B,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,WAEjB,IAjFb,uCAoFqBygB,GAIf,GAHA39B,KAAKi4B,SAAS,CAAE+vB,iBAAiB,IAEjCrqB,EAAIhW,iBACC3nB,KAAK09C,mBAOV,OAFA19C,KAAKo7C,aAAamC,QAAQI,WAEnB,EANL39C,KAAKi4B,SAAS,CAAE+vB,iBAAiB,MAzFzC,2CAkGyB3kB,GAAO,IAAD,OAErBhnB,EAAWrc,KAAKpG,MAAMyiB,SAC1BuQ,GAAU+5B,qCAAqCtqC,EAAUA,EAASsB,IAAIG,GAAIzB,EAASsB,IAAIE,GAAIxB,EAASsB,IAAIC,IACxG,IAAIhB,EAAS,GACbsmB,GAAQmlB,eAAehsC,EAAUgnB,GAAOznB,MAAM,WAC5C,EAAKqc,SAAS,CAAE+vB,iBAAiB,EAAOE,YAAa,4BACpDhsC,OAAO,SAAAhiB,GACQ,KAAZA,EAAEk8B,OACJxZ,EAAO0rC,QAAU,EAAKxuD,MAAM2W,aAAapV,IAAuB,EAAKvB,MAAM2W,aAAanV,qBAAuB,aAE/GshB,EAAO0rC,QAAU,EAAKxuD,MAAM2W,aAAX,YAGnB,EAAKwnB,SAAS,CAACrb,OAAQA,SAhH/B,yCAsHS,IAAIa,GAAc,EACdb,EAAS,CACbA,IAAa,CAAEgB,GAAI,GAAIC,GAAI,GAAIC,GAAI,KAE/BS,EAAatD,EAAcuD,cAAcxe,KAAKpG,MAAMyiB,SAASzF,OAC7D2H,IACA3B,EAAOhG,MAAQ2H,EACfd,GAAc,GAIlB,IAAIkkC,EAAO3hD,KAAKpG,MAAMyiB,SAASsB,IAe/B,OAdIgkC,EAAK/jC,KACRhB,EAAOe,IAAIC,GAAK,eAChBH,GAAc,GAEXkkC,EAAK9jC,KACRjB,EAAOe,IAAIE,GAAK,iBAChBJ,GAAc,GAEXkkC,EAAK7jC,KACRlB,EAAOe,IAAIG,GAAK,gBAChBL,GAAc,GAEfzd,KAAKi4B,SAAS,CAACrb,OAAQA,IAEhBa,IAhJhB,+BAqJM,IAAI8qC,EAAc,KAIlB,OAFkBvoD,KAAKpG,MAAMsuD,aAI3B,IAAK,iBACDK,EAAc,kBAACC,GAAD,CACb/3C,aAAczQ,KAAKlG,MAAM2W,aACzBomC,SAAU72C,KAAKs8C,oBACfngC,MAAOnc,KAAKpG,MAAMgjB,OAClBP,SAAUrc,KAAKpG,MAAMyiB,SACrB0rC,iBAAkB/nD,KAAK+nD,iBACxBC,gBAAiBhoD,KAAKpG,MAAMouD,kBAEhC,MAEA,IAAK,uBACDO,EAAc,kBAAC,GAAD,CACZ1H,UAAW7gD,KAAKlG,MAAM2W,aAAapV,IAAuB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,qBACzGwlD,YAAa9gD,KAAKlG,MAAM2W,aAAapV,IAAuB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,oBAC3GylD,WAAY/gD,KAAKlG,MAAM2W,aAAX,OACZ0pC,cAAen6C,KAAKmoD,2BACpBnH,YAAY,IAMlB,OACI,6BACG,kBAAC,GAAD,CACG5F,aAAcp7C,KAAKo7C,aACnBC,kBAAmBr7C,KAAKq7C,oBAE5B,kBAAC,EAAD,CAAM1yB,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAciX,YAAY,IACzEmhC,EACD,kBAAC,GAAD,WA1Ld,GAAwCn/B,IAAMC,YAgM9C4+B,GAAmBjpB,aAAe,CAChCC,OAAQC,IAAUC,QAgCLxE,oBA5Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAInD,IAAIyxC,EAAc,GAKjB,OAJElzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGd,CACLkF,oBAAqB/b,EAAM8F,YAAYiW,oBACvCxF,aAAcK,EACdC,aAAcq8B,MAIlB,SAA4Bxa,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,GAAiBxI,MAIrDqI,CAA6CstB,ICxI7CQ,GApHO,SAAC,GAAuD,IAAtDzF,EAAqD,EAArDA,QAASnM,EAA4C,EAA5CA,SAAUmO,EAAkC,EAAlCA,OAAQpoC,EAA0B,EAA1BA,OAA0B,EAAlBnM,aAEvD,OAEE,6BAASiJ,UAAU,wBACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,gCACf,gEAEA,kGACE,6BADF,gBACqB,uBAAG1a,KAAK,+CAA+CwmB,OAAO,UAA9D,QADrB,yBAEE,6BAFF,mFAGE,6BAHF,4BAIE,yBAAK9L,UAAU,wBAEb,0BAAOi9B,SAAUqO,GACjB,2BAAOj/B,KAAK,SAASxM,KAAK,QAAQ6I,MAAO3mB,MACzC,2BAAOsqB,KAAK,SAASxM,KAAK,SAAS6I,MAAO3mB,IAA4B,4BACtE,2BAAOsqB,KAAK,SAASxM,KAAK,aAAa7a,GAAG,aAAa0jB,MAAO3mB,MAE5D,yBAAKie,UAAU,OACb,yBAAKA,UAAU,mBACb,kBAAC,GAAD,CACEH,KAAK,OACL7a,GAAG,OACHo4C,YAAY,aACZ10B,MAAO4gC,EAAQzpC,KACfsZ,MAAM,cACNgkB,SAAUA,EACV16B,MAAOS,EAAOrD,OAGhB,kBAAC,GAAD,CACEA,KAAK,WACL7a,GAAG,WACHo4C,YAAY,YACZ10B,MAAO4gC,EAAQ0F,SACf71B,MAAM,aACNgkB,SAAUA,EACV16B,MAAOS,EAAO8rC,WAGhB,kBAAC,GAAD,CACEnvC,KAAK,QACL7a,GAAG,QACHo4C,YAAY,sBACZ10B,MAAO4gC,EAAQpsC,MACfic,MAAM,SACNgkB,SAAUA,EACV16B,MAAOS,EAAOhG,QAGhB,kBAAC,GAAD,CACE2C,KAAK,QACL7a,GAAG,QACHo4C,YAAY,eACZ10B,MAAO4gC,EAAQ2F,MACf91B,MAAM,gBACNgkB,SAAUA,EACV16B,MAAOS,EAAO+rC,SAGlB,yBAAKjvC,UAAU,mBACb,kBAAC,GAAD,CACIH,KAAK,UACL7a,GAAG,UACHo4C,YAAY,UACZ10B,MAAO4gC,EAAQ4F,QACf/1B,MAAM,WACNgkB,SAAUA,EACV16B,MAAOS,EAAOgsC,UAGhB,kBAAC,GAAD,CACE7iC,KAAK,WACLxM,KAAK,cACL7a,GAAG,cACHo4C,YAAY,cACZ10B,MAAO4gC,EAAQziD,YACfsyB,MAAM,WACNpR,UAAU,MACVo1B,SAAUA,EACV16B,MAAOS,EAAOrc,gBAMrBqc,EAAOisC,SAAW,yBAAKnvC,UAAU,OAChC,yBAAKA,UAAU,UACb,yBAAKA,UAAU,sBACZkD,EAAOisC,WAKd,4BAAQ9iC,KAAK,SAASrM,UAAU,mBAAhC,iBCnGLovC,GAAqB,WAIlC,IAEE9jC,IAAE,sBAAsB8lB,KAAKie,WAC7B/jC,IAAE,YAAYgkC,OAAM,WAClB,IACIC,EAJQ,IAGKjkC,IAAE,YAAY42B,MAAMx+C,OAErC4nB,IAAE,sBAAsB8lB,KAAKme,EAAgB,WAE/C,MAAM/uD,MCiBFgvD,G,YACJ,WAAYpvD,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACXopD,QAAU,CACRzpC,KAAM,GACNmvC,SAAU,GACV9xC,MAAO,GACP+xC,MAAO,GACPC,QAAS,GACTroD,YAAa,IAEf87C,gBAAgB,EAChBz/B,OAAQ,IAGV,EAAKusC,sBAAwB,EAAKA,sBAAsB7gC,KAA3B,gBAC7B,EAAK8gC,mBAAqB,EAAKA,mBAAmB9gC,KAAxB,gBAC1B,EAAK+gC,qBAAuB,EAAKA,qBAAqB/gC,KAA1B,gBAC5B,EAAKghC,gBAAkB,EAAKA,gBAAgBhhC,KAArB,gBAEvB,EAAK+yB,kBAAoB,EAAKA,kBAAkB/yB,KAAvB,gBACzB,EAAKs0B,iBAAmB,EAAKA,iBAAiBt0B,KAAtB,gBACxB,EAAK8yB,aAAehyB,IAAM0zB,YAvBA,E,iFA4BxB98C,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBAEnBqxB,KACAnN,KACA37C,KAAK48C,qB,wCAGWvZ,GAEZA,GACFrjC,KAAKspD,gBAAgBjmB,GAGvBrjC,KAAKi4B,SAAS,CAACokB,gBAAgB,M,yCAI/B,GAAIr8C,KAAKpG,MAAMyiD,eAAgB,CAC7B,IACEr8C,KAAKo7C,aAAamC,QAAQC,QAE5B,MAAMhpB,GACJpB,QAAQC,IAAImB,GAEdx0B,KAAKi4B,SAAS,CAACokB,gBAAgB,O,6CAM/B,IAAI5+B,GAAc,EACdb,EAAS,GAET2sC,EAAYtuC,EAAcyD,cAAc,YAAa1e,KAAKpG,MAAMopD,QAAQzpC,MACxEgwC,IACA3sC,EAAOrD,KAAOgwC,EACd9rC,GAAc,GAGlB,IAAIU,EAAgBlD,EAAcyD,cAAc,YAAa1e,KAAKpG,MAAMopD,QAAQ0F,UAC5EvqC,IACAvB,EAAO8rC,SAAWvqC,EAClBV,GAAc,GAGlB,IAAI+rC,EAAmBvuC,EAAcyD,cAAc,UAAW1e,KAAKpG,MAAMopD,QAAQziD,aAC7EipD,IACA5sC,EAAOrc,YAAcipD,EACrB/rC,GAAc,GAGlB,IAAIgsC,EAAexuC,EAAcyD,cAAc,UAAW1e,KAAKpG,MAAMopD,QAAQ4F,SACzEa,IACA7sC,EAAOgsC,QAAUa,EACjBhsC,GAAc,GAGlB,IAAIc,EAAatD,EAAcuD,cAAcxe,KAAKpG,MAAMopD,QAAQpsC,OAC5D2H,IACA3B,EAAOhG,MAAQ2H,EACfd,GAAc,GAGlB,IAAIisC,EAAazuC,EAAcqD,eAAete,KAAKpG,MAAMopD,QAAQ2F,OAQjE,OAPIe,IACA9sC,EAAO+rC,MAAQe,EACfjsC,GAAc,GAGlBzd,KAAKi4B,SAAS,CAACrb,OAAQA,IAEhBa,I,4CAGWsV,GAClBA,EAAMpL,iBACF3nB,KAAK2pD,wBACP3pD,KAAKo7C,aAAamC,QAAQI,Y,sCAIhBta,GAAO,IAAD,OAElB+e,GAAawH,mBAAmB5pD,KAAKpG,MAAMopD,QAAS3f,GAAOznB,MAAK,SAAA+kC,GAE9D,EAAK7mD,MAAM8yC,QAAQ1vB,KAAKtD,QAGzBsC,OAAM,SAAAhiB,GAEL,IAAI0iB,EAAS,GACG,KAAZ1iB,EAAEk8B,OACJxZ,EAAOisC,QAAU,8BACG,KAAZ3uD,EAAEk8B,OACVxZ,EAAOisC,QAAU,cAGjBjsC,EAAOisC,QAAU,iDAGnB,EAAK5wB,SAAS,CAACrb,gB,yCAIFmW,GAEf,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KAEvBypC,EAAUhjD,KAAKpG,MAAMopD,QACzBA,EAAQvF,GAAS1qB,EAAMvN,OAAOpD,MAE9B,IAAIxF,EAAS5c,KAAKpG,MAAMgjB,OAGxB,OAFAA,EAAO6gC,GAAS,GAETz9C,KAAKi4B,SAAS,CAAE+qB,QAASA,EAASpmC,OAAQA,M,6CAKnD,OADA5c,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,MACjB,I,+BAKP,IAAIqrC,EAAc,kBAAC,GAAD,CAClBvD,OAAQhlD,KAAKmpD,sBACbtS,SAAU72C,KAAKopD,mBACfxsC,OAAQ5c,KAAKpG,MAAMgjB,OACnBomC,QAAShjD,KAAKpG,MAAMopD,QACpBvyC,aAAczQ,KAAKlG,MAAM2W,eAGvB,OAEG,yBAAKiJ,UAAU,0BACb,kBAAC,GAAD,CACC0hC,aAAcp7C,KAAKo7C,aACnBC,kBAAmBr7C,KAAKq7C,oBAExB,kBAAC,EAAD,CAAM1yB,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAcsY,UAAU,cAAc3C,WAAW,EAAM4C,SAAS,yDAAyD7C,KAAM7lB,KAAKlG,MAAM4F,cACzL6oD,EACD,kBAAC,GAAD,W,GA3Kcn/B,IAAMC,WAkLlC6/B,GAAclqB,aAAe,CAC3BC,OAAQC,IAAUC,QA6BLxE,oBA1Bf,SAAyB/gC,EAAOghC,GAC9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAInD,IAAIyxC,EAAc,GAKjB,OAJElzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGd,CACLN,aAAcK,EACdC,aAAcq8B,MAIlB,SAA4Bxa,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,EAAalS,GAAgBzI,MAIhFqI,CAA6CuuB,ICzG7CW,GAlIa,SAAC,GAAuD,IAAtD7G,EAAqD,EAArDA,QAASnM,EAA4C,EAA5CA,SAAUmO,EAAkC,EAAlCA,OAAQpoC,EAA0B,EAA1BA,OAA0B,EAAlBnM,aAE7D,OAEE,6BAASiJ,UAAU,wBACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,gCACf,uDAEA,uHAA4F,6BAA5F,iEAC0B,6BAD1B,0EAEX,uBAAG1a,KAAK,mDAAmDwmB,OAAO,UAAlE,mBAA8F,6BAFnF,oFAIX,uBAAGxmB,KAAK,kDAAkDwmB,OAAO,UAAjE,SAJW,KAKZ,6BALY,6CAME,yBAAK9L,UAAU,wBAEb,0BAAOi9B,SAAUqO,GACjB,2BAAOj/B,KAAK,SAASxM,KAAK,QAAQ6I,MAAO3mB,MACzC,2BAAOsqB,KAAK,SAASxM,KAAK,SAAS6I,MAAO3mB,IAA4B,4BACtE,2BAAOsqB,KAAK,SAASxM,KAAK,aAAa7a,GAAG,aAAa0jB,MAAO3mB,MAE5D,yBAAKie,UAAU,OACb,yBAAKA,UAAU,mBACb,kBAAC,GAAD,CACEH,KAAK,OACL7a,GAAG,OACHo4C,YAAY,aACZ10B,MAAO4gC,EAAQzpC,KACfsZ,MAAM,cACNgkB,SAAUA,EACV16B,MAAOS,EAAOrD,OAGhB,kBAAC,GAAD,CACEA,KAAK,WACL7a,GAAG,WACHo4C,YAAY,YACZ10B,MAAO4gC,EAAQ0F,SACf71B,MAAM,aACNgkB,SAAUA,EACV16B,MAAOS,EAAO8rC,WAGhB,kBAAC,GAAD,CACEnvC,KAAK,QACL7a,GAAG,QACHo4C,YAAY,sBACZ10B,MAAO4gC,EAAQpsC,MACfic,MAAM,SACNgkB,SAAUA,EACV16B,MAAOS,EAAOhG,QAGhB,kBAAC,GAAD,CACE2C,KAAK,QACL7a,GAAG,QACHo4C,YAAY,eACZ10B,MAAO4gC,EAAQ2F,MACf91B,MAAM,gBACNgkB,SAAUA,EACV16B,MAAOS,EAAO+rC,SAGlB,yBAAKjvC,UAAU,mBACb,kBAAC,GAAD,CACIH,KAAK,UACL7a,GAAG,UACHo4C,YAAY,UACZ10B,MAAO4gC,EAAQ4F,QACf/1B,MAAM,WACNgkB,SAAUA,EACV16B,MAAOS,EAAOgsC,UAWhB,kBAAC,GAAD,CACE7iC,KAAK,WACLxM,KAAK,cACL7a,GAAG,cACHo4C,YAAY,cACZ10B,MAAO4gC,EAAQziD,YACfsyB,MAAM,WACNpR,UAAU,MACVo1B,SAAUA,EACV16B,MAAOS,EAAOrc,gBAUrBqc,EAAOisC,SAAW,yBAAKnvC,UAAU,OAChC,yBAAKA,UAAU,UACb,yBAAKA,UAAU,sBACZkD,EAAOisC,WAKd,4BAAQ9iC,KAAK,SAASrM,UAAU,mBAAhC,iBCpFZowC,G,YACJ,WAAYhwD,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACXopD,QAAU,CACRzpC,KAAM,GACNmvC,SAAU,GACV9xC,MAAO,GACP+xC,MAAO,GACPC,QAAS,GACTroD,YAAa,IAEf87C,gBAAgB,EAChBz/B,OAAQ,IAGV,EAAKusC,sBAAwB,EAAKA,sBAAsB7gC,KAA3B,gBAC7B,EAAK8gC,mBAAqB,EAAKA,mBAAmB9gC,KAAxB,gBAC1B,EAAK+gC,qBAAuB,EAAKA,qBAAqB/gC,KAA1B,gBAC5B,EAAKghC,gBAAkB,EAAKA,gBAAgBhhC,KAArB,gBAEvB,EAAK+yB,kBAAoB,EAAKA,kBAAkB/yB,KAAvB,gBACzB,EAAKs0B,iBAAmB,EAAKA,iBAAiBt0B,KAAtB,gBACxB,EAAK8yB,aAAehyB,IAAM0zB,YAvBA,E,iFA4BxB98C,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBAEnBqxB,KACAnN,KACA37C,KAAK48C,qB,wCAGWvZ,GAEZA,GACFrjC,KAAKspD,gBAAgBjmB,GAGvBrjC,KAAKi4B,SAAS,CAACokB,gBAAgB,M,yCAI/B,GAAIr8C,KAAKpG,MAAMyiD,eAAgB,CAC7B,IACEr8C,KAAKo7C,aAAamC,QAAQC,QAE5B,MAAMhpB,GACJpB,QAAQC,IAAImB,GAEdx0B,KAAKi4B,SAAS,CAACokB,gBAAgB,O,6CAM/B,IAAI5+B,GAAc,EACdb,EAAS,GAET2sC,EAAYtuC,EAAcyD,cAAc,YAAa1e,KAAKpG,MAAMopD,QAAQzpC,MACxEgwC,IACA3sC,EAAOrD,KAAOgwC,EACd9rC,GAAc,GAGlB,IAAIU,EAAgBlD,EAAcyD,cAAc,YAAa1e,KAAKpG,MAAMopD,QAAQ0F,UAC5EvqC,IACAvB,EAAO8rC,SAAWvqC,EAClBV,GAAc,GAGlB,IAAI+rC,EAAmBvuC,EAAcyD,cAAc,UAAW1e,KAAKpG,MAAMopD,QAAQziD,aAC7EipD,IACA5sC,EAAOrc,YAAcipD,EACrB/rC,GAAc,GAGlB,IAAIgsC,EAAexuC,EAAcyD,cAAc,UAAW1e,KAAKpG,MAAMopD,QAAQ4F,SACzEa,IACA7sC,EAAOgsC,QAAUa,EACjBhsC,GAAc,GAGlB,IAAIc,EAAatD,EAAcuD,cAAcxe,KAAKpG,MAAMopD,QAAQpsC,OAC5D2H,IACA3B,EAAOhG,MAAQ2H,EACfd,GAAc,GAGlB,IAAIisC,EAAazuC,EAAcqD,eAAete,KAAKpG,MAAMopD,QAAQ2F,OAQjE,OAPIe,IACA9sC,EAAO+rC,MAAQe,EACfjsC,GAAc,GAGlBzd,KAAKi4B,SAAS,CAACrb,OAAQA,IAEhBa,I,4CAGWsV,GAClBA,EAAMpL,iBACF3nB,KAAK2pD,wBACP3pD,KAAKo7C,aAAamC,QAAQI,Y,sCAIhBta,GAAO,IAAD,OAElB6e,GAAmB6H,wBAAwB/pD,KAAKpG,MAAMopD,QAAS3f,GAAOznB,MAAK,SAAA+kC,GAEzE,EAAK7mD,MAAM8yC,QAAQ1vB,KAAKtD,QAGzBsC,OAAM,SAAAhiB,GAEL,IAAI0iB,EAAS,GACG,KAAZ1iB,EAAEk8B,OACJxZ,EAAOisC,QAAU,8BACG,KAAZ3uD,EAAEk8B,OACVxZ,EAAOisC,QAAU,cAGjBjsC,EAAOisC,QAAU,iDAGnB,EAAK5wB,SAAS,CAACrb,gB,yCAIFmW,GAEf,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KAEvBypC,EAAUhjD,KAAKpG,MAAMopD,QACzBA,EAAQvF,GAAS1qB,EAAMvN,OAAOpD,MAE9B,IAAIxF,EAAS5c,KAAKpG,MAAMgjB,OAGxB,OAFAA,EAAO6gC,GAAS,GAETz9C,KAAKi4B,SAAS,CAAE+qB,QAASA,EAASpmC,OAAQA,M,6CAKnD,OADA5c,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,MACjB,I,+BAKP,IAAIqrC,EAAc,kBAAC,GAAD,CAClBvD,OAAQhlD,KAAKmpD,sBACbtS,SAAU72C,KAAKopD,mBACfxsC,OAAQ5c,KAAKpG,MAAMgjB,OACnBomC,QAAShjD,KAAKpG,MAAMopD,QACpBvyC,aAAczQ,KAAKlG,MAAM2W,eAGvB,OAEG,yBAAKiJ,UAAU,0BACb,kBAAC,GAAD,CACC0hC,aAAcp7C,KAAKo7C,aACnBC,kBAAmBr7C,KAAKq7C,oBAExB,kBAAC,EAAD,CAAM1yB,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAcsY,UAAU,cAAc3C,WAAW,EAAM4C,SAAS,yDAAyD7C,KAAM7lB,KAAKlG,MAAM4F,cACzL6oD,EACD,kBAAC,GAAD,W,GA3KoBn/B,IAAMC,WAkLxCygC,GAAoB9qB,aAAe,CACjCC,OAAQC,IAAUC,QA6BLxE,oBA1Bf,SAAyB/gC,EAAOghC,GAC9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAInD,IAAIyxC,EAAc,GAKjB,OAJElzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGd,CACLN,aAAcK,EACdC,aAAcq8B,MAIlB,SAA4Bxa,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,EAAalS,GAAgBzI,MAIhFqI,CAA6CmvB,ICvI7CE,GA3FY,SAAC,GAA6F,IAA3Fv5C,EAA0F,EAA1FA,aAAcomC,EAA4E,EAA5EA,SAAU16B,EAAkE,EAAlEA,MAAOE,EAA2D,EAA3DA,SAAU4tC,EAAiD,EAAjDA,iBAAkBhF,EAA+B,EAA/BA,OAA+B,IAAvBI,kBAAuB,SAClH6E,EAAkB,wBAClBC,EAAqB,wBACrBC,EAAiB,wBAEhBjuC,GAAUA,EAAMkuC,OAChBH,GAAkB,eAGlB/tC,GAASA,EAAMmuC,OACjBF,GAAkB,eAGhBjuC,GAAUA,EAAMouC,WAChBJ,GAAsB,eAMzB,OACJ,6BACM,0BAAMxT,SAAUsT,GAChB,yBAAKvwC,UAAU,KAET2C,EAAQ,aAAmB,yBAAK3C,UAAY2rC,EAAiC,yCAApB,qBACzD,2BAAOt/B,KAAM80B,WAAWn8C,GAAG,OAAO6a,KAAK,OAAO6I,MAAO/F,EAASguC,KAAMxT,SAAUA,EAAU2D,aAAa,MAAM9gC,UAAWwwC,EAAiBpT,YAAY,iBACnJ,uBAAGp9B,UAAU,iBAAgB,yBAAKsN,IAAKnoB,aAAuB6a,UAAU,qBAAqBuN,IAAI,MACjG,2BAAOu9B,IAAI,QAAX,gBACGroC,EAAMkuC,MACG,yBAAK3wC,UAAU,oBACVyC,EAAMkuC,OAMzB,yBAAK3wC,UAAY2rC,EAAiC,0BAApB,qBAC5B,2BAAOt/B,KAAM80B,WAAWn8C,GAAG,OAAO6a,KAAK,OAAO6I,MAAO/F,EAASiuC,KAAMzT,SAAUA,EAAU2D,aAAa,MAAM9gC,UAAW0wC,EAAgBtT,YAAY,iBAClJ,uBAAGp9B,UAAU,iBAAgB,yBAAKsN,IAAKnoB,aAAuB6a,UAAU,qBAAqBuN,IAAI,MACjG,2BAAOu9B,IAAI,QAAX,gBACGroC,EAAMmuC,MACG,yBAAK5wC,UAAU,oBACVyC,EAAMmuC,OAMzB,yBAAK5wC,UAAY2rC,EAAiC,wCAApB,qBACxB,2BAAOt/B,KAAM80B,WAAWn8C,GAAG,WAAY6a,KAAK,WAAY6I,MAAO/F,EAASkuC,SAAU1T,SAAUA,EAAU2D,aAAa,MAAM9gC,UAAWywC,EAAoBrT,YAAY,yBACpK,uBAAGp9B,UAAU,iBAAgB,yBAAKsN,IAAKnoB,aAAuB6a,UAAU,qBAAqBuN,IAAI,MACjG,2BAAOu9B,IAAI,YAAX,wBACEroC,EAAMouC,UACA,yBAAK7wC,UAAU,oBACVyC,EAAMouC,YAMrBlF,GAAc,oCACd,4BACEt/B,KAAK,SACLrM,UAAWurC,EAAS,sCAAwC,8BAC3Dx0C,EAAY,mBACZw0C,GAAU,yBAAK9sB,MAAM,6CAA6Cxe,KAAK,UACtE,0BAAMwe,MAAM,WAAZ,gBAGJ,+BAAI,kBAAC,IAAD,CAAMpQ,GAAInO,KAAiCnJ,EAAapV,IAAuBoV,EAAanV,qBAAuB,wBAG1H6gB,EAAMmsC,SAAW,yBAAK5uC,UAAU,sBAAsByC,EAAMmsC,aC3D1DkC,GAAb,YACE,WAAY1wD,EAAOsuB,GAAS,IAAD,8BACpB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACTuW,aAAc,GACdkM,SAAW,CACRguC,KAAM,GACNC,KAAM,GACNC,SAAU,IAEb3tC,OAAQ,GACRqoC,QAAQ,EACRiD,YAAa,iBACb/pB,EAAG,MAGV,EAAKme,oBAAsB,EAAKA,oBAAoBh0B,KAAzB,gBAC3B,EAAK2hC,iBAAoB,EAAKA,iBAAiB3hC,KAAtB,gBACzB,EAAKmiC,sBAAwB,EAAKA,sBAAsBniC,KAA3B,gBAC7B,EAAKoiC,oBAAsB,EAAKA,oBAAoBpiC,KAAzB,gBAnBJ,EAD7B,iFAuB0B,IAAD,OAEjBtoB,KAAKlG,MAAMigC,QAAQtC,kBAEnBz3B,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GAExC,GAAIyC,aAAWzC,EAAE0C,MAAOf,KAAUU,YAC9BI,aAAWzC,EAAE0C,MAAOf,KAAUW,WADlC,CASA,IAAI2hC,EAAI4e,iBAAM,EAAKjjD,MAAM4gB,SAASsiC,QAAQ7e,EAK1C,GAJGA,GAAKA,EAAE/gC,OAAS,KACjB+gC,EAAIA,EAAEx9B,OAAO,EAAG,KAGdw9B,EAAG,CACL,IAAI9hB,EAAW,EAAKziB,MAAMyiB,SAC1BA,EAASsuC,aAAc,EACvB,EAAK1yB,SAAS,CAACkG,IAAG9hB,SAAUA,IAG9Bs/B,UAlBI,EAAK7hD,MAAM8yC,QAAQ1vB,KAAKtD,IAA6B,WAAaA,UA/BhF,gDAsD8B83B,GACnBA,EAAU/8B,iBAEb3U,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,IAA6B,WAAaA,OAzD1E,0CA6DyBmZ,GAChB,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KAEvB8C,EAAWrc,KAAKpG,MAAMyiB,SAC1BA,EAASohC,GAAS1qB,EAAMvN,OAAOpD,MAE/B,IAAIxF,EAAS5c,KAAKpG,MAAMgjB,OAGxB,OAFAA,EAAO6gC,GAAS,GAETz9C,KAAKi4B,SAAS,CAAE5b,SAAUA,EAAUO,OAAOA,MAtE3D,0CAyEyB+gB,GACjB39B,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,OA1EhC,uCA6EqB+jB,GAAK,IAAD,OAKjB,GAJA39B,KAAKi4B,SAAS,CAAEgtB,QAAQ,IAExBtnB,EAAIhW,iBAEC3nB,KAAKyqD,wBAAV,CAKA,IAAI7tC,EAAS,GAETguC,EAAU5qD,KAAKpG,MAAMyiB,SAASguC,KAC/BrqD,KAAKpG,MAAMyiB,SAAX,cACDuuC,EAAU5qD,KAAKpG,MAAMukC,GAIvB,IAAIxkC,EAAOqG,KAoBX,OAnBAA,KAAKlG,MAAMigC,QAAQ+M,eAAe8jB,EAAS5qD,KAAKpG,MAAMyiB,SAASiuC,MAAM1uC,MACjE,SAAAwqB,GAEI,OAAOzsC,EAAKG,MAAMigC,QAAQ+L,wBAAwBlqB,MAAK,SAAAwqB,GACnD,IAAIsa,EAActa,EAAEvxB,cAAgB+E,IACpC,EAAK9f,MAAM8yC,QAAQ1vB,KAAKwjC,SAGjCxkC,OAAM,SAAAhiB,GACU,KAAZA,EAAEk8B,OACDxZ,EAAO0rC,QAAU,EAAKxuD,MAAM2W,aAAapV,IAAuB,EAAKvB,MAAM2W,aAAanV,qBAAuB,aAG/GshB,EAAO0rC,QAAU,EAAKxuD,MAAM2W,aAAX,YAGrB,EAAKwnB,SAAS,CAACgtB,QAAQ,EAAOroC,OAAQA,QAGnC,EAhCH5c,KAAKi4B,SAAS,CAAEgtB,QAAQ,MAnFpC,8CAwHS,IAAIxnC,GAAc,EACdb,EAAS,GAIT8C,EAAgBzE,EAAc0E,iBAAiB3f,KAAKpG,MAAMyiB,SAASiuC,MACnE5qC,IACA9C,EAAO0tC,KAAO5qC,EACdjC,GAAc,GAGlB,IAAIotC,EAAqB5vC,EAAc0E,iBAAiB3f,KAAKpG,MAAMyiB,SAASkuC,UAoB5E,OAnBIM,IACAjuC,EAAO2tC,SAAWM,EAClBptC,GAAc,GAGdzd,KAAKpG,MAAMyiB,SAAX,aACSrc,KAAKpG,MAAMyiB,SAASguC,OACvBztC,EAAOytC,KAAOrqD,KAAKlG,MAAM2W,aAAapV,IAAuB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,6BAC5GmiB,GAAc,GAIpBzd,KAAKpG,MAAMyiB,SAASiuC,MAAQtqD,KAAKpG,MAAMyiB,SAASkuC,WAClD3tC,EAAO0rC,QAAUtoD,KAAKlG,MAAM2W,aAAapV,IAAuB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,0BAC/GmiB,GAAc,GAGhBzd,KAAKi4B,SAAS,CAACrb,OAAQA,IAEhBa,IAvJhB,+BA2JM,IAAI8qC,EAAc,KAElB,OAAOvoD,KAAKpG,MAAMsuD,aAEhB,IAAK,iBACDK,EAAc,kBAAC,GAAD,CACb93C,aAAczQ,KAAKlG,MAAM2W,aACzBomC,SAAU72C,KAAKs8C,oBACfngC,MAAOnc,KAAKpG,MAAMgjB,OAClBP,SAAUrc,KAAKpG,MAAMyiB,SACrB4tC,iBAAkBjqD,KAAKiqD,iBACvBhF,OAAQjlD,KAAKpG,MAAMqrD,OACnBI,WAAYrlD,KAAKlG,MAAMurD,aAE5B,MAEA,IAAK,wBACHkD,EAAc,kBAAC,GAAD,CACd1H,UAAW7gD,KAAKlG,MAAM2W,aAAapV,IAAuB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,qBACzGwlD,YAAa9gD,KAAKlG,MAAM2W,aAAapV,IAAuB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,oBAC3GylD,WAAY/gD,KAAKlG,MAAM2W,aAAX,OACZ0pC,cAAen6C,KAAK0qD,sBAKtB,OACI,oCAGE,6BACE,kBAAC,EAAD,CAAM/hC,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAciX,YAAY,IAE1E,kBAAC,GAAD,CACAyyB,eAAgB,kBAAC,GAAD,OAEb0O,SA/LnB,GAAwCn/B,IAAMC,WAuM9CmhC,GAAmBxrB,aAAe,CAChCC,OAAQC,IAAUC,QAiCLxE,oBA7Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAInD,IAAIyxC,EAAc,GAKjB,OAJElzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGd,CACLN,aAAcK,EACdC,aAAcq8B,EACdn4B,gBAAiB/a,EAAM8F,YAAYiV,gBACnCjV,YAAc9F,EAAM8F,gBAIxB,SAA4B4yB,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,GAAe3a,MAIlEqI,CAA6C6vB,IClPtD3F,IAHIpqC,OAAOuK,EAGC,SAAC,GAClB,IADmB+tB,EACpB,EADoBA,QAElB,OAEE,yBAAKr5B,UAAU,eAEb,2BAAOA,UAAU,2BAEjB,yBAAKA,UAAU,wCACZ,yBAAKA,UAAU,iBACd,0BAAMkiB,wBAAyBC,EAAmBkX,UAyE7C+X,G,YAhEb,WAAYhxD,EAAOsuB,GAAS,qEAClBtuB,EAAOsuB,I,iFAIfuzB,O,yCAGiBpzB,EAAWC,M,+BAKvB,IAAD,EAEiIxoB,KAAKlG,MAArIuiB,EAFD,EAECA,SAAkBw6B,GAFnB,EAEWmO,OAFX,EAEmBnO,UAAkBj6B,GAFrC,EAE6BqoC,OAF7B,EAEqCroC,QAAQ2lC,EAF7C,EAE6CA,eAAgB9xC,EAF7D,EAE6DA,aAF7D,EAE2Ey0C,mBAF3E,EAE+FC,SAF/F,EAEyG7oC,WAFzG,EAEqH8oC,SAEzH,OACU,0BAAMhqC,OAAO,QACX,yBAAK1B,UAAU,OACf,yBAAKA,UAAU,2BACC,kBAAC,GAAD,CACIiqC,YAAY,UACZY,yBAAyB,yBACzBG,gBAAgB,kBAChBD,YAAapoC,EAASiD,gBACtBL,QAAS5C,EAAS4C,QAClBG,uBAAwB/C,EAAS+C,uBACjCyT,MAAOpiB,EAAapV,IAAiBoV,EAAanV,qBAAuB,iBACzEgqD,qBAAsB70C,EAAapV,IAAiBoV,EAAanV,qBAAuB,sBACxFiqD,4BAA6B90C,EAAapV,IAAiBoV,EAAanV,qBAAuB,0BAC/Fw7C,YAAarmC,EAAapV,IAAiBoV,EAAanV,qBAAuB,eAC/EqpD,mBAAoBl0C,EAAapV,IAAiBoV,EAAanV,qBAAuB,oBACtFu7C,SAAUA,EACV0L,eAAgBA,EAChBgB,aAAc3mC,EAAOqC,QACrBukC,iBAAkB5mC,EAAO0C,gBACzBo/B,QAASjuC,EAAapV,IAAgBoV,EAAanV,qBAAuB,uBAKnGshB,GAAUA,EAAM,QAAc,kBAAC,GAAD,CAAWm2B,QAASn2B,EAAM,c,GA5ClCwM,IAAMC,WCAjC0hC,I,mBACF,WAAYjxD,EAAOsuB,GAAU,IAAD,sBACxB,4CAAMtuB,EAAOsuB,IAEb,IAAMsR,EAASqjB,iBAAMjjD,EAAM4gB,SAASsiC,QAHZ,OAIxB,EAAKpjD,MAAQ,CACTyiB,SAAW,CAAGsB,IAAK,CAAEC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IAAOmB,QAAQ,GAAIK,gBAAiB,GAAIF,wBAAwB,EAAQhD,OAAQ,IACzHQ,OAAQ,GAERqoC,QAAQ,EACRC,oBAAoB,EACpB8F,eAAe,EACf1uC,WAAY,CACV1F,OAAO,EACPgJ,UAAU,EACV4lC,eAAe,EACf3lC,SAAS,EACTZ,SAAS,GAEX7E,SAAUsf,EAAM,KAAWA,EAAM,KAAW,EAC5CjX,UAAU,GAEd,EAAKwoC,wBAA0B,EAAKA,wBAAwB3iC,KAA7B,gBAC/B,EAAKg0B,oBAAsB,EAAKA,oBAAoBh0B,KAAzB,gBAC3B,EAAK49B,kCAAoC,EAAKA,kCAAkC59B,KAAvC,gBACzC,EAAK69B,sBAAwB,EAAKA,sBAAsB79B,KAA3B,gBAC7B,EAAK68B,SAAW,EAAKA,SAAS78B,KAAd,gBAzBQ,E,iFA4BP,IAAD,OAuBlB,GAnBAtoB,KAAKlG,MAAMigC,QAAQtC,kBAEnBz3B,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GAE9ByC,aAAWzC,EAAE0C,MAAOf,KAAUW,YAChC,EAAK1C,MAAM8yC,QAAQ1vB,KAAKtD,IAA6B,WAAaA,KAEpE,EAAK9f,MAAMigC,QAAQ1C,eAAeh8B,KAElC,EAAKvB,MAAMigC,QAAQkN,iBAAgB,GAAM/qB,OAAM,SAAAhiB,GAE5B,KAAZA,EAAEk8B,QACH,EAAK6B,SAAS,CAAE+yB,eAAe,UAK7CrP,KAE0B,GAAvB37C,KAAKpG,MAAMwgB,SAAe,CAE3B,IADA,IAAI8wC,EAAM5mC,SAASC,eAAe,QAAQ4X,SAClCh/B,EAAG,EAAGA,EAAG+tD,EAAI9tD,OAAQD,IAC3B+tD,EAAI/tD,GAAGuc,UAAY,GAErBwxC,EAAIlrD,KAAKpG,MAAMwgB,SAAS,GAAGV,UAAY,UAGzC1Z,KAAKmrD,UAAY/hC,IAAM0zB,c,gDAICpL,GAEtB,GAAKA,EAAU/8B,iBAKb,GAAG+8B,EAAUhyC,YAAYsW,YAAa,CAClC,IAAIswC,EAAclsD,OAAOC,OAAO,GAAKq3C,EAAUhyC,YAAYsW,aAC3DhW,KAAKorD,gBAAgB9E,GACI,MAAtBA,EAAY7mC,OACb6mC,EAAY7mC,OAAS6mC,EAAY7mC,OAAS,IAAI,IACxC6mC,EAAY7mC,OAAS,IAC7Bzf,KAAKi4B,SAAS,CAAC5b,SAAUiqC,UAT3BtmD,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,IAA6B,WAAcA,O,gCAc/D1f,EAAG4vB,EAAOrH,GAClBvoB,EAAEytB,iBACFztB,EAAEmxD,kBAEF,IADA,IAAIH,EAAMhxD,EAAEoxD,cAAcC,WAAWpvB,SAC7Bh/B,EAAG,EAAGA,EAAG+tD,EAAI9tD,OAAQD,IAC3B+tD,EAAI/tD,GAAGuc,UAAY,GAErBxf,EAAEoxD,cAAc5xC,UAAY,UAC5B1Z,KAAKi4B,SAAS,CAAC7d,SAAU0P,EAAOrH,SAAUA,M,uCAG3Bkb,GAAK,IAAD,OAKnB,GAJA39B,KAAKi4B,SAAS,CAAEgtB,QAAQ,IAExBtnB,EAAIhW,iBAEC3nB,KAAKyqD,wBAAV,CAKA,IAAI7tC,EAAS,GAETguC,EAAU5qD,KAAKpG,MAAMyiB,SAAS0qB,YAqBlC,OApBG/mC,KAAKpG,MAAMyiB,SAAX,cACDuuC,EAAU5qD,KAAKpG,MAAMukC,GAIvBn+B,KAAKlG,MAAMigC,QAAQ+M,eAAe8jB,EAAS5qD,KAAKpG,MAAMyiB,SAAS2qB,aAAaprB,MAC1E,SAAAwqB,GAEE,EAAKtsC,MAAM8yC,QAAQ1vB,KAAKtD,QACzBsC,OAAM,SAAAhiB,GACU,KAAZA,EAAEk8B,OACDxZ,EAAO0rC,QAAU,EAAKxuD,MAAM2W,aAAapV,IAAuB,EAAKvB,MAAM2W,aAAanV,qBAAuB,aAG/GshB,EAAO0rC,QAAU,EAAKxuD,MAAM2W,aAAX,YAGrB,EAAKwnB,SAAS,CAACgtB,QAAQ,EAAOroC,OAAQA,QAGnC,EA3BH5c,KAAKi4B,SAAS,CAAEgtB,QAAQ,M,8CAgC9B,IAAIxnC,GAAc,EACdb,EAAS,GAIT8C,EAAgBzE,EAAc0E,iBAAiB3f,KAAKpG,MAAMyiB,SAAS2qB,aACnEtnB,IACA9C,EAAOoqB,YAActnB,EACrBjC,GAAc,GAGlB,IAAIotC,EAAqB5vC,EAAc0E,iBAAiB3f,KAAKpG,MAAMyiB,SAASmvC,iBAoB5E,OAnBIX,IACAjuC,EAAO4uC,gBAAkBX,EACzBptC,GAAc,GAGdzd,KAAKpG,MAAMyiB,SAAX,aACSrc,KAAKpG,MAAMyiB,SAAS0qB,cACvBnqB,EAAOmqB,YAAc/mC,KAAKlG,MAAM2W,aAAapV,IAAuB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,6BACnHmiB,GAAc,GAIpBzd,KAAKpG,MAAMyiB,SAAS2qB,aAAehnC,KAAKpG,MAAMyiB,SAASmvC,kBACzD5uC,EAAO0rC,QAAUtoD,KAAKlG,MAAM2W,aAAapV,IAAuB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,0BAC/GmiB,GAAc,GAGhBzd,KAAKi4B,SAAS,CAACrb,OAAQA,IAEhBa,I,0CAGWkgB,GAClB39B,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,O,sCAGViM,GACd,IAAI4lC,EAAe,GACnB,GAAG5lC,EAAM,CACP,IAAI6lC,EAAW7lC,EAAI,UAAgB,IAAMA,EAAI,SAC7C4lC,EAAavuC,KAAKwuC,GACf7lC,EAAI,aACL6lC,EAAW7lC,EAAI,UAAgB,IAAOA,EAAI,WAAe,GAAK,IAAMA,EAAI,SACxE4lC,EAAavuC,KAAKwuC,IAGtB1rD,KAAKi4B,SAAS,CAACwzB,aAAcA,M,8CAGP14B,GAAQ,IAAD,OAC7BA,EAAMpL,iBACJ,IAAI6+B,EAAmBvrC,EAAcuB,iBAAiBxc,KAAKpG,MAAMyiB,SAAUrc,KAAKpG,MAAM0iB,YAExF,GAAIkqC,EAAiB7pC,QACjB3c,KAAKi4B,SAAS,CAACgtB,QAAS,EAAMC,oBAAoB,IAElDllD,KAAKmmD,sBAAsBnmD,KAAKpG,MAAMyiB,UAAUT,MAAK,SAAAwqB,GAGnD,GAFA,EAAKnO,SAAS,CAAEgtB,QAAQ,EAAOC,oBAAoB,IAEhD9e,GAAKA,EAAEulB,iBAGR,OAAO,EAAK7xD,MAAMigC,QAAQ+L,wBAAwBlqB,MAAK,SAAAwqB,GACrD,IAAIsa,EAActa,EAAEvxB,cAAgB+E,IACpC,EAAK9f,MAAM8yC,QAAQ1vB,KAAKwjC,MAK1B,EAAK5mD,MAAM8yC,QAAQ1vB,KAAKtD,QAEzBsC,OAAM,SAAAhiB,GACP,IAAI0iB,EAAS,EAAKhjB,MAAMgjB,OACpB6pC,EAAO,KAEK,KAAZvsD,EAAEk8B,OACJqwB,EAAM,EAAK3sD,MAAM2W,aAAapV,IAAkB,EAAKvB,MAAM2W,aAAanV,qBAAuB,qBAE3E,KAAZpB,EAAEk8B,OACVqwB,EAAM,EAAK3sD,MAAM2W,aAAapV,IAAkB,EAAKvB,MAAM2W,aAAanV,qBAAuB,oBAE1E,KAAZpB,EAAEk8B,SACXqwB,EAAM,EAAK3sD,MAAM2W,aAAX,aAIJg2C,IACFA,EAAMvsD,EAAE64C,SAGVn2B,EAAM,OAAa6pC,EACnB,EAAKxuB,SAAS,CAACrb,OAAQA,EAAQqoC,QAAS,EAAOC,oBAAoB,WAElE,CACL,IAAIoB,EAActmD,KAAKpG,MAAMyiB,SAC7BiqC,EAAY7pC,oBAAsB+pC,EAAiB/pC,oBACnD6pC,EAAY5pC,qBAAuB8pC,EAAiB9pC,qBAEpD1c,KAAKi4B,SAAS,CAAC5b,SAAUiqC,EAAa1pC,OAAQ4pC,EAAiB5pC,OAAQqoC,QAAQ,O,4CAG7D5oC,EAAUonB,GAC9B,IAAImoB,EAAmBxxD,OAAOC,OAAO,GAAIgiB,GASzC,OAPAuQ,GAAU+5B,qCAAqCiF,EAAkBvvC,EAASsB,IAAIG,GAAIzB,EAASsB,IAAIE,GAAIxB,EAASsB,IAAIC,IAEhHguC,EAAiBnsC,OAAS,KACtBpD,EAASoD,QAA6B,KAAnBpD,EAASoD,SAC9BmsC,EAAiBnsC,OAA4B,KAAnBpD,EAASoD,QAG9Bzf,KAAKlG,MAAMigC,QAAQoN,kBAAkBykB,K,0CAG1B74B,GAEhB,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KACvB8C,EAAWrc,KAAKpG,MAAMyiB,SACpB+F,EAA8B,aAAtB2Q,EAAMvN,OAAOO,KAAsBgN,EAAMvN,OAAOu1B,QAAUhoB,EAAMvN,OAAOpD,MACrF/F,EAASohC,GAASr7B,EAElB,IAAIxF,EAAS5c,KAAKpG,MAAMgjB,OAWxB,OAVAA,EAAO6gC,GAAkB,OAATA,EAAiB,GAAK,GAE1B,SAATA,IACHphC,EAASI,qBAAsB,GAGnB,UAATghC,IACHphC,EAASK,sBAAuB,GAGzB1c,KAAKi4B,SAAS,CAAE5b,SAAUA,EAAUO,OAAOA,M,wDAGtBmW,GAEhC,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KACvBqD,EAAS5c,KAAKpG,MAAMgjB,OAMxB,OALImW,EAAMvN,OAAO4Q,QAAUrD,EAAMvN,OAAO4Q,OAGxCxZ,EAAO6gC,GAASz9C,KAAKlG,MAAM2W,aAAX,wBAETzQ,KAAKi4B,SAAS,CAAErb,OAAOA,M,+BAGrBmW,GACPA,EAAMpL,iBAEN3nB,KAAKlG,MAAM+xD,QAAQC,W,+BAGX,IAAD,OACHvD,EAAc,KA2EhB,OAxEAA,EADEvoD,KAAKpG,MAAMoxD,cACC,kBAAC,GAAD,CAAkC/wC,KAAMja,KAAKlG,MAAM2W,aAAX,8BAE/CzQ,KAAKlG,MAAM4F,YAAYsW,YAQhB,oCAENhW,KAAKpG,MAAMwgB,UAAmC,GAAvBpa,KAAKpG,MAAMwgB,UAAiB,kBAAC,GAAD,CACnD4qC,OAAQhlD,KAAKirD,wBACbpU,SAAU72C,KAAKs8C,oBACf1/B,OAAQ5c,KAAKpG,MAAMgjB,OACnBqoC,OAAQjlD,KAAKpG,MAAMqrD,OACnB5oC,SAAUrc,KAAKpG,MAAMyiB,SACrBkmC,eAAgBviD,KAAKkmD,kCACrBz1C,aAAczQ,KAAKlG,MAAM2W,aACzBy0C,mBAAoBllD,KAAKpG,MAAMsrD,mBAC/BC,SAAUnlD,KAAKmlD,SACf7oC,WAAYtc,KAAKpG,MAAM0iB,WACvB8oC,SAAUplD,KAAKlG,MAAM2W,aAAapV,IAAiB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,YAClG+pD,YAAY,IAGZrlD,KAAKpG,MAAMwgB,UAAmC,GAAvBpa,KAAKpG,MAAMwgB,UAAiB,kBAAC,GAAD,CACnD4qC,OAAQhlD,KAAKirD,wBACbpU,SAAU72C,KAAKs8C,oBACf1/B,OAAQ5c,KAAKpG,MAAMgjB,OACnBqoC,OAAQjlD,KAAKpG,MAAMqrD,OACnB5oC,SAAUrc,KAAKpG,MAAMyiB,SACrBkmC,eAAgBviD,KAAKkmD,kCACrBz1C,aAAczQ,KAAKlG,MAAM2W,aACzBy0C,mBAAoBllD,KAAKpG,MAAMsrD,mBAC/BC,SAAUnlD,KAAKmlD,SACf7oC,WAAYtc,KAAKpG,MAAM0iB,WACvB8oC,SAAUplD,KAAKlG,MAAM2W,aAAapV,IAAiB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,cA6BpG,8BA/DE,kBAAC,GAAD,CACE6hC,aAAa,SACbljB,KAAMja,KAAKlG,MAAM2W,aAAapV,IAAkB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,gBAC/F8hC,KAAK,QAkEb,8BACE,0BAAM1+B,GAAG,mBACX,yBAAKgb,UAAU,wBACZ,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,aAAe0V,KAAM7lB,KAAKlG,MAAM4F,YAAa4mB,cAAc,IAE1F,6BAAS5M,UAAU,kBAClB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,UACb,4CAOV,6BAASA,UAAU,uBACnB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,8DACb,2BAAOA,UAAU,aACf,wBAAIhb,GAAG,OAAO+a,IAAKzZ,KAAK+rD,MACtB,wBAAIryC,UAAU,UAAUqN,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,GAAG,KAAQ,uBAAG8E,KAAK,KAAR,iBACnE,wBAAI+nB,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,GAAG,KAAQ,uBAAG8E,KAAK,KAAR,oBAG9CgB,KAAKpG,MAAMwgB,WAAoC,GAAvBpa,KAAKpG,MAAMwgB,UAAwC,GAAvBpa,KAAKpG,MAAMwgB,WAAkB,4BAC9E,4BAAQ2M,QAAS,SAAC7sB,GAAK,EAAK+wD,wBAAwB/wD,IAAK6rB,KAAK,SAASrM,UAAW,8BAAgC1Z,KAAKpG,MAAMqrD,OAAS,YAAc,KAApJ,eACGjlD,KAAKpG,MAAMqrD,QAAU,yBAAKvrC,UAAU,6CAA6CC,KAAK,UACrF,0BAAMD,UAAU,WAAhB,iBAIP1Z,KAAKpG,MAAMwgB,UAAmC,GAAvBpa,KAAKpG,MAAMwgB,UAAiB,4BAClD,4BAAQ2M,QAAS,SAAC7sB,GAAK,EAAK+vD,iBAAiB/vD,IAAK6rB,KAAK,SAASrM,UAAW,8BAAgC1Z,KAAKpG,MAAMqrD,OAAS,YAAc,KAA7I,kBACGjlD,KAAKpG,MAAMqrD,QAAU,yBAAKvrC,UAAU,6CAA6CC,KAAK,UACrF,0BAAMD,UAAU,WAAhB,iBAIL1Z,KAAKpG,MAAMwgB,UAAmC,GAAvBpa,KAAKpG,MAAMwgB,UAAiB,4BAClD,4BAAQ2M,QAAS,SAAC7sB,GAAK,EAAKixD,UAAU5N,QAAQ0O,mBAAoBlmC,KAAK,SAASrM,UAAW,8BAAgC1Z,KAAKpG,MAAMqrD,OAAS,YAAc,KAA7J,gBACGjlD,KAAKpG,MAAMqrD,QAAU,yBAAKvrC,UAAU,6CAA6CC,KAAK,UACrF,0BAAMD,UAAU,WAAhB,oBAQY,GAAvB1Z,KAAKpG,MAAM6oB,UAAqB,yBAAK/I,UAAU,4DAC7C6uC,GAIjB,yBAAK7uC,UAAU,+BACb,yBAAKhb,GAAG,aACN,yBAAKgb,UAAU,QACb,yBAAKA,UAAU,cAAchb,GAAG,cAC9B,wBAAIgb,UAAU,QACZ,4BAAQqN,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,GAAG,IAAOwf,UAAU,yBAAyBsM,cAAY,WAAWqW,cAAY,eAAenW,gBAAc,OAAOoW,gBAAc,eAA1K,kBAMJ,yBAAK59B,GAAG,cAAcgb,UAAU,WAAWyM,kBAAgB,aAAaoW,cAAY,cAClF,yBAAK7iB,UAAU,uBACX1Z,KAAKpG,MAAMwgB,UAAmC,GAAvBpa,KAAKpG,MAAMwgB,UAAiBpa,KAAKpG,MAAM6oB,UAAa8lC,KAKnF,yBAAK7uC,UAAU,QACb,yBAAKA,UAAU,cAAchb,GAAG,cAC9B,wBAAIgb,UAAU,QACZ,4BAAQqN,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,GAAG,IAAOwf,UAAU,yBAAyBsM,cAAY,WAAWqW,cAAY,eAAenW,gBAAc,OAAOoW,gBAAc,eAA1K,qBAMJ,yBAAK59B,GAAG,cAAcgb,UAAU,WAAWyM,kBAAgB,aAAaoW,cAAY,cAClF,yBAAK7iB,UAAU,uBACX1Z,KAAKpG,MAAMwgB,UAAmC,GAAvBpa,KAAKpG,MAAMwgB,UAAiBpa,KAAKpG,MAAM6oB,UAAa8lC,MAoCrF,yBAAK7uC,UAAU,uBACd1Z,KAAKpG,MAAMwgB,WAAoC,GAAvBpa,KAAKpG,MAAMwgB,UAAwC,GAAvBpa,KAAKpG,MAAMwgB,WAAkB,uBAAG2M,QAAS,SAAC7sB,GAAK,EAAK+wD,wBAAwB/wD,IAAKwf,UAAW,8BAAgC1Z,KAAKpG,MAAMqrD,OAAS,YAAc,KAAjI,gBACjFjlD,KAAKpG,MAAMqrD,QAAU,yBAAKvrC,UAAU,6CAA6CC,KAAK,UACvE,0BAAMD,UAAU,WAAhB,gBAGf1Z,KAAKpG,MAAMwgB,UAAmC,GAAvBpa,KAAKpG,MAAMwgB,UAAiB,uBAAG2M,QAAS,SAAC7sB,GAAK,EAAK+vD,iBAAiB/vD,IAAKwf,UAAW,8BAAgC1Z,KAAKpG,MAAMqrD,OAAS,YAAc,KAA1H,mBACnDjlD,KAAKpG,MAAMqrD,QAAU,yBAAKvrC,UAAU,6CAA6CC,KAAK,UACvE,0BAAMD,UAAU,WAAhB,gBAKf1Z,KAAKpG,MAAMwgB,UAAmC,GAAvBpa,KAAKpG,MAAMwgB,UAAiB,uBAAG2M,QAAS,SAAC7sB,GAAK,EAAKixD,UAAU5N,QAAQ0O,mBAAoBvyC,UAAW,8BAAgC1Z,KAAKpG,MAAMqrD,OAAS,YAAc,KAA1I,iBACnDjlD,KAAKpG,MAAMqrD,QAAU,yBAAKvrC,UAAU,6CAA6CC,KAAK,UACvE,0BAAMD,UAAU,WAAhB,qBASR,kBAAC,GAAD,W,GA5fkB0P,IAAMC,YAkgBlC0hC,GAAc/rB,aAAe,CAC3BC,OAAQC,IAAUC,QAgCLxE,oBA7Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GAKnB,OAJIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGhB,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,EAAalS,GAAgBzI,MAIhFqI,CAA6CowB,ICpjB/CmB,GAAqB,SAAC,GAAyC,IAAxC7kB,EAAuC,EAAvCA,gBAAiBwP,EAAsB,EAAtBA,SAAUj6B,EAAY,EAAZA,OAC7D,OACI,oCACE,yBAAKlD,UAAU,oBAAf,4BACE,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,mCAEb,2BACAA,UAAU,mBACVqM,KAAK,WACL3D,MAAOilB,EAAe,QACtB9tB,KAAK,UACL7a,GAAG,UACHm4C,SAAUA,IAEV,2BAAOn9B,UAAU,mBAAmB+gC,QAAQ,WAA5C,iOAGC79B,GAAUA,EAAOiD,SACd,oCACE,yBAAKmH,IAAKnoB,eAAyB6a,UAAU,uCAAuCuN,IAAI,KACxF,yBAAKvN,UAAU,+CACNkD,EAAOiD,YAM1B,yBAAKnG,UAAU,kBACb,yBAAKA,UAAU,mCAEb,2BACAA,UAAU,mBACVqM,KAAK,WACL3D,MAAOilB,EAAe,SACtB9tB,KAAK,WACL7a,GAAG,WACHm4C,SAAUA,IAEV,2BAAOn9B,UAAU,mBAAmB+gC,QAAQ,YAA5C,8HAGC79B,GAAUA,EAAOwG,UACd,oCACE,yBAAK4D,IAAKnoB,eAAyB6a,UAAU,uCAAuCuN,IAAI,KACxF,yBAAKvN,UAAU,+CACNkD,EAAOwG,eC+HrB+oC,G,YAvKX,WAAYryD,EAAOsuB,GAAU,qEACnBtuB,EAAOsuB,I,iFjCuCnBpD,IAAE,iBAAiBspB,Y,+BiC/BR,IAAD,EAE6FtuC,KAAKlG,MAAlGutC,EAFA,EAEAA,gBAAiB2d,EAFjB,EAEiBA,OAAQnO,EAFzB,EAEyBA,SAAUj6B,EAFnC,EAEmCA,OAAQqoC,EAF3C,EAE2CA,OAAQx0C,EAFnD,EAEmDA,aAAc82C,EAFjE,EAEiEA,OAFjE,IAEyE6E,gBAFzE,SAGFC,EAAUxtD,EAAW,YAAcwoC,EAAe,YACtD,OACE,8BACE,yBAAK3tB,UAAU,OACb,yBAAKA,UAAW0yC,EAAW,SAAU,mBAErC,yBAAK1yC,UAAU,UACXkD,GAAUA,EAAM,QACb,yBAAKlD,UAAU,qBAAqBC,KAAK,SAClC,0BAAMiiB,wBAAyBC,EAAmBjf,EAAM,UACvDA,EAAM,MAAY,qCAAU,uBAAGmK,QAASwgC,EAAQr+B,MAAO,CAACojC,MAAO,mBAAoB5R,OAAQ,aAA/D,cAAV,iCAI/B,yBAAKhhC,UAAU,sBACb,yBAAKA,UAAU,oBACb,4BAAQA,UAAW,wBAA2BkD,GAAUA,EAAM,WAAkB,aAAe,IAC7Fle,GAAG,qBACH6a,KAAK,aACLs9B,SAAUA,EACVz0B,MAAOilB,EAAe,YACtB,4BAAQjlB,MAAOvH,EAAmBC,OAAlC,SACA,4BAAQsH,MAAOvH,EAAmBG,MAAlC,QACA,4BAAQoH,MAAOvH,EAAmBE,QAAlC,WAEF,2BAAO0/B,QAAQ,sBAAf,eACA,yBAAK/gC,UAAU,oBAAoBkD,EAAM,cAG7C,yBAAKlD,UAAW0yC,EAAW,kCAAoC,4CAC7D,yBAAK1yC,UAAU,IACb,yBAAKA,UAAU,YAAYsN,IAAKqlC,EAASnjC,MAAO,CAACqjC,SAAS,MAAOC,OAAO,mBAAoBvlC,IAAI,OAGpG,yBAAKvN,UAAU,sBACb,kBAAC,GAAD,CACEH,KAAK,YACL7a,GAAG,YACHyiD,aAAa,MACbrK,YAAa,4BACb10B,MAAOilB,EAAe,UACtBxU,MAAO,aACPgkB,SAAUA,EACV16B,MAAOS,EAAM,UACbgiC,WAAW,sBAEf,yBAAKllC,UAAU,sBACb,kBAAC,GAAD,CACEH,KAAK,aACL7a,GAAG,aACHyiD,aAAa,MACbrK,YAAa,cACb10B,MAAOilB,EAAe,WACtBxU,MAAO,cACPgkB,SAAUA,EACV16B,MAAOS,EAAM,WACbgiC,WAAW,sBAEf,yBAAKllC,UAAU,sBACb,kBAAC,GAAD,CACEH,KAAK,aACL7a,GAAG,aACHyiD,aAAa,MACbrK,YAAa,cACb10B,MAAOilB,EAAe,WACtBxU,MAAO,cACPgkB,SAAUA,EACV16B,MAAOS,EAAM,WACbgiC,WAAW,sBAEf,yBAAKllC,UAAU,sBACb,kBAAC,GAAD,CACMhb,GAAG,cACH6a,KAAK,cACL6I,MAAOilB,EAAe,YACtBxU,MAAO,gBACPgkB,SAAUA,EACV16B,MAAOS,EAAM,YACbgiC,WAAY,sBAGpB,yBAAKllC,UAAU,sBACb,kBAAC,GAAD,CACQH,KAAK,SACL7a,GAAG,qBACHo4C,YAAa,cACb10B,MAAOilB,EAAe,OACtBxU,MAAO,cACPgkB,SAAUA,EACV16B,MAAOS,EAAM,OACbgiC,WAAW,sBAErB,yBAAKllC,UAAU,sBACb,kBAAC,GAAD,CACQH,KAAK,kBACL7a,GAAG,0BACHo4C,YAAa,qCACb10B,MAAOilB,EAAe,gBACtBxU,MAAO,qCACPgkB,SAAUA,EACV6H,QAAU,CAACljD,SAAU,gCACrB2gB,MAAOS,EAAM,gBACbgiC,WAAW,sBAErB,yBAAKllC,UAAU,sBACb,kBAAC,GAAD,CACMhb,GAAG,eACH6a,KAAK,eACL6I,MAAOilB,EAAe,aACtBxU,MAAO,WACPgkB,SAAUA,EACV16B,MAAOS,EAAM,aACbgiC,WAAY,mBACZF,QAAU,CAACljD,SAAU,4LACrB6lD,OAAQha,EAAe,YAAkBxsB,EAAmBC,SAEpE,yBAAKpB,UAAU,sBACb,kBAAC,GAAD,CACQH,KAAK,mBACL7a,GAAG,mBACHo4C,YAAa,sBACb10B,MAAOilB,EAAe,iBACtBxU,MAAO,wCACPgkB,SAAUA,EACV16B,MAAOS,EAAM,iBACbgiC,WAAW,uBAIvB,yBAAMllC,UAAW0yC,EAAW,2BAA4B,qCACtD,yBAAK1yC,UAAU,IACb,yBAAKA,UAAU,YAAYsN,IAAKqlC,EAASnjC,MAAO,CAACqjC,SAAS,MAAOC,OAAO,mBAAoBvlC,IAAI,QAKtG,yBAAKvN,UAAU,UAEb,kBAAC,GAAD,CACE2tB,gBAAiBA,EACjBwP,SAAUA,EACVj6B,OAAQA,IAGV,uBAAGmK,QAASi+B,EAAQtrC,UAAU,kBAAkBulC,SAAUgG,GAClD,8BAAQx0C,EAAapV,IAA8BoV,EAAanV,qBAAuB,aACtF2pD,GAAU,0BAAM9sB,MAAM,qDAAqDxe,KAAK,SAASsgC,cAAY,gB,GA/J5F7wB,IAAMC,WCN9BojC,GAAwB,CAC5B,CAACrqC,MAAO,MAAOnI,KAAM,yBACrB,CAACmI,MAAO,MAAOnI,KAAM,kBACrB,CAACmI,MAAO,KAAMnI,KAAM,wBACpB,CAACmI,MAAO,KAAMnI,KAAM,0BACpB,CAACmI,MAAO,KAAMnI,KAAM,0BACpB,CAACmI,MAAO,MAAOnI,KAAM,oBACrB,CAACmI,MAAO,MAAOnI,KAAM,sCACrB,CAACmI,MAAO,MAAOnI,KAAM,mBAyJRyyC,GAtJc,SAAC,GAAkG,IAAhGrlB,EAA+F,EAA/FA,gBAAiB2d,EAA8E,EAA9EA,OAAQnO,EAAsE,EAAtEA,SAAUj6B,EAA4D,EAA5DA,OAAQqoC,EAAoD,EAApDA,OAAQx0C,EAA4C,EAA5CA,aAAc82C,EAA8B,EAA9BA,OAA8B,IAAtB6E,gBAAsB,SAEzHC,EAAUxtD,EAAW,aAAewoC,EAAe,WAEnDslB,GAAgB,EAapB,OAREA,EAJmC,OAAhCtlB,EAAe,WAA4D,MAAhCA,EAAe,WAC9B,MAAhCA,EAAe,WAA2D,MAAhCA,EAAe,WACzB,OAAhCA,EAAe,WAA4D,OAAhCA,EAAe,WAA4D,OAAhCA,EAAe,WAA4D,OAAhCA,EAAe,UAW/I,8BACE,yBAAK3tB,UAAU,OAEf,yBAAKA,UAAU,UACTkD,GAAUA,EAAM,QACf,yBAAKlD,UAAU,qBAAqBC,KAAK,SACtC,0BAAMiiB,wBAAyBC,EAAmBjf,EAAM,UACvDA,EAAM,MAAY,qCAAU,uBAAGmK,QAASwgC,EAAQr+B,MAAO,CAACojC,MAAO,mBAAoB5R,OAAQ,aAA/D,cAAV,iCAI3B,yBAAKhhC,UAAW0yC,EAAW,SAAU,mBAEnC,yBAAK1yC,UAAW0yC,EAAW,kCAAmC,4CAC5D,yBAAK1yC,UAAU,IACb,yBAAKA,UAAU,YAAYsN,IAAKqlC,EAASnjC,MAAO,CAACqjC,SAAS,MAAOC,OAAO,mBAAoBvlC,IAAI,OAGpG,yBAAKvN,UAAU,sBACb,kBAAC,GAAD,CACEH,KAAK,YACL7a,GAAG,YACHyiD,aAAa,MACbrK,YAAa,4BACb10B,MAAOilB,EAAe,UACtBxU,MAAO,aACPgkB,SAAUA,EACV16B,MAAOS,EAAM,UACbgiC,WAAW,sBAEf,yBAAKllC,UAAU,sBACb,kBAAC,GAAD,CACEH,KAAK,aACL7a,GAAG,aACHyiD,aAAa,MACbrK,YAAa,cACb10B,MAAOilB,EAAe,WACtBxU,MAAO,cACPgkB,SAAUA,EACV16B,MAAOS,EAAM,WACbgiC,WAAW,sBAEf,yBAAKllC,UAAU,sBACb,kBAAC,GAAD,CACEH,KAAK,aACL7a,GAAG,aACHyiD,aAAa,MACbrK,YAAa,cACb10B,MAAOilB,EAAe,WACtBxU,MAAO,cACPgkB,SAAUA,EACV16B,MAAOS,EAAM,WACbgiC,WAAW,sBAEf,yBAAKllC,UAAU,sBACZ,kBAAC,GAAD,CACKhb,GAAG,cACH6a,KAAK,cACL6I,MAAOilB,EAAe,YACtBxU,MAAO,gBACPgkB,SAAUA,EACV16B,MAAOS,EAAM,YACbgiC,WAAY,sBAGpB,yBAAKllC,UAAU,sBACb,yBAAKA,UAAU,oBACb,4BAAQA,UAAWkD,EAAM,UAAgB,iCAAmC,sBACpEle,GAAG,YACH6a,KAAK,YACLs9B,SAAUA,EACVz0B,MAAOilB,EAAe,WAErBolB,GAAsBrmC,KAAK,SAACvB,EAAM1nB,GAAP,OAAa,4BAAQpE,IAAK8rB,EAAKzC,MAAOA,MAAOyC,EAAKzC,OAAQyC,EAAK5K,UAEnG,2BAAOwgC,QAAQ,aAAf,SACA,yBAAK/gC,UAAU,oBAAoBkD,EAAM,aAG7C,yBAAKlD,UAAU,sBACb,kBAAC,GAAD,CACEH,KAAK,SACL7a,GAAG,sBACHyiD,aAAa,MACbrK,YAAa,uCACb10B,MAAOilB,EAAe,OACtBxU,MAAO,uCACPgkB,SAAUA,EACV16B,MAAOS,EAAM,OACbgiC,WAAW,sBAGf+N,GACA,yBAAKjzC,UAAU,sBACb,kBAAC,GAAD,CACEH,KAAK,aACL7a,GAAG,0BACHyiD,aAAa,MACbrK,YAAa,cACb10B,MAAOilB,EAAe,WACtBxU,MAAO,cACPgkB,SAAUA,EACV16B,MAAOS,EAAM,WACbgiC,WAAW,uBAKjB,yBAAKllC,UAAW0yC,EAAW,2BAA4B,qCACrD,yBAAK1yC,UAAU,IACb,yBAAKA,UAAU,YAAYsN,IAAKqlC,EAASnjC,MAAO,CAACqjC,SAAS,MAAOC,OAAO,mBAAoBvlC,IAAI,QAItG,yBAAKvN,UAAU,UAEb,kBAAC,GAAD,CACE2tB,gBAAiBA,EACjBwP,SAAUA,EACVj6B,OAAQA,IAGV,uBAAGmK,QAASi+B,EAAQtrC,UAAU,kBAAkBulC,SAAUgG,GAClD,8BAAQx0C,EAAapV,IAA8BoV,EAAanV,qBAAuB,aACtF2pD,GAAU,0BAAM9sB,MAAM,qDAAqDxe,KAAK,SAASsgC,cAAY,aC3KzG2S,GACb,CAAC,CAAC,KAAO,mBAAmB,OAAS,IACrC,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,uBAAuB,OAAS,OAAO,CAAC,KAAO,cAAc,OAAS,OAAO,CAAC,KAAO,sBAAsB,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,YAAY,OAAS,OAAO,CAAC,KAAO,iBAAiB,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,YAAY,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,mBAAgB,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,uBAAuB,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,eAAe,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,sBAAmB,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,oBAAoB,OAAS,OAAO,CAAC,KAAO,kCAAkC,OAAS,OAAO,CAAC,KAAO,oCAAoC,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,gBAAgB,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,0BAA0B,OAAS,OAAO,CAAC,KAAO,+BAA+B,OAAS,OAC7/C,CAAC,KAAO,2BAA2B,OAAS,OAAO,CAAC,KAAO,oBAAoB,OAAS,OAAO,CAAC,KAAO,cAAc,OAAS,OAAO,CAAC,KAAO,gBAAgB,OAAS,OAAO,CAAC,KAAO,eAAe,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,oBAAoB,OAAS,IAAI,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,OAAO,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,mBAAmB,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,iBAAiB,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,eAAe,OAAS,IAAI,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,qBAAqB,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,iBAAiB,OAAS,IAAI,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,iBAAiB,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,iBAAiB,OAAS,IAAI,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,OAAO,OAAS,OAAO,CAAC,KAAO,mBAAmB,OAAS,OAAO,CAAC,KAAO,kCAAkC,OAAS,OAAO,CAAC,KAAO,gBAAgB,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,uBAAuB,OAAS,IACr9C,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,iBAAiB,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,gBAAgB,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,YAAY,OAAS,OAAO,CAAC,KAAO,YAAY,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,oBAAoB,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,+CAA+C,OAAS,OAAO,CAAC,KAAO,YAAY,OAAS,OAAO,CAAC,KAAO,OAAO,OAAS,OAAO,CAAC,KAAO,gBAAgB,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,YAAY,OAAS,OAAO,CAAC,KAAO,oCAAoC,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,iBAAiB,OAAS,IAAI,CAAC,KAAO,YAAY,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,cAAc,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,iCAAiC,OAAS,OAAO,CAAC,KAAO,OAAO,OAAS,OAAO,CAAC,KAAO,4BAA4B,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAC58C,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,wBAAwB,OAAS,OAAO,CAAC,KAAO,yCAAyC,OAAS,OAAO,CAAC,KAAO,qBAAqB,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,iBAAiB,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,mCAAmC,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,cAAc,OAAS,OAAO,CAAC,KAAO,gBAAgB,OAAS,OAAO,CAAC,KAAO,YAAY,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,YAAY,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,eAAe,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,mBAAmB,OAAS,OAAO,CAAC,KAAO,6CAA6C,OAAS,OAAO,CAAC,KAAO,OAAO,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,2BAA2B,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,YAAY,OAAS,OAChgD,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,gBAAgB,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,iBAAiB,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,YAAY,OAAS,OAAO,CAAC,KAAO,cAAc,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,OAAO,OAAS,OAAO,CAAC,KAAO,cAAc,OAAS,OAAO,CAAC,KAAO,OAAO,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,OAAO,OAAS,OAAO,CAAC,KAAO,mBAAmB,OAAS,OAAO,CAAC,KAAO,mBAAmB,OAAS,OAAO,CAAC,KAAO,cAAc,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,4BAA4B,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,cAAc,OAAS,OAAO,CAAC,KAAO,kCAAkC,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,qBAAqB,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,eAAe,OAAS,OAAO,CAAC,KAAO,kBAAkB,OAAS,OAC36C,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,YAAY,OAAS,OAAO,CAAC,KAAO,+CAA+C,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,yBAAyB,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,eAAe,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,cAAc,OAAS,OAAO,CAAC,KAAO,iCAAwB,OAAS,OAAO,CAAC,KAAO,OAAO,OAAS,IAAI,CAAC,KAAO,cAAc,OAAS,OAAO,CAAC,KAAO,eAAe,OAAS,OAAO,CAAC,KAAO,uBAAuB,OAAS,OAAO,CAAC,KAAO,YAAY,OAAS,OAAO,CAAC,KAAO,mBAAmB,OAAS,IAAI,CAAC,KAAO,2BAA2B,OAAS,OAAO,CAAC,KAAO,OAAO,OAAS,OAAO,CAAC,KAAO,8BAA8B,OAAS,OAAO,CAAC,KAAO,OAAO,OAAS,OAAO,CAAC,KAAO,WAAW,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,aAAa,OAAS,OAAO,CAAC,KAAO,eAAe,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,QAAQ,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,sBAAsB,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,4BAA4B,OAAS,OAAO,CAAC,KAAO,+BAA+B,OAAS,OAAO,CAAC,KAAO,UAAU,OAAS,OAAO,CAAC,KAAO,SAAS,OAAS,OAAO,CAAC,KAAO,iBAAiB,OAAS,IACphD,CAACrzC,KAAM,uCAAwCszC,OAAQ,OACvD,CAACtzC,KAAM,gBAAiBszC,OAAQ,OAChC,CAACtzC,KAAM,UAAWszC,OAAQ,OAC1B,CAACtzC,KAAM,aAAcszC,OAAQ,OAC7B,CAACtzC,KAAM,qBAAsBszC,OAAQ,OACrC,CAACtzC,KAAM,mCAAoCszC,OAAQ,OACnD,CAACtzC,KAAM,oCAAqCszC,OAAQ,OACpD,CAACtzC,KAAM,2BAA4BszC,OAAQ,OAC3C,CAACtzC,KAAM,sBAAuBszC,OAAQ,OACtC,CAACtzC,KAAM,WAAYszC,OAAQ,OAC3B,CAACtzC,KAAM,UAAWszC,OAAQ,OAC1B,CAACtzC,KAAM,oBAAqBszC,OAAQ,OACpC,CAACtzC,KAAM,QAASszC,OAAQ,OACxB,CAACtzC,KAAM,QAASszC,OAAQ,OACxB,CAACtzC,KAAM,UAAWszC,OAAQ,OAC1B,CAACtzC,KAAM,eAAgBszC,OAAQ,OAC/B,CAACtzC,KAAM,SAAUszC,OAAQ,OACzB,CAACtzC,KAAM,WAAYszC,OAAQ,QCmGZC,GAvGS,SAAC,GAAkG,IAAhGzlB,EAA+F,EAA/FA,gBAAiB2d,EAA8E,EAA9EA,OAAQnO,EAAsE,EAAtEA,SAAUj6B,EAA4D,EAA5DA,OAAQqoC,EAAoD,EAApDA,OAAQx0C,EAA4C,EAA5CA,aAAc82C,EAA8B,EAA9BA,OAA8B,IAAtB6E,gBAAsB,SAExH,OACE,0BAAM1yC,UAAU,gEAEZ,yBAAKA,UAAU,UACXkD,GAAUA,EAAM,QACb,yBAAKlD,UAAU,qBAAqBC,KAAK,SAClC,0BAAMiiB,wBAAyBC,EAAmBjf,EAAM,UACvDA,EAAM,MAAY,qCAAU,uBAAGmK,QAASwgC,EAAQr+B,MAAO,CAACojC,MAAO,mBAAoB5R,OAAQ,aAA/D,cAAV,iCAIjC,yBAAKhhC,UAAW0yC,EAAW,qBAAsB,+BAC7C,kBAAC,GAAD,CACE7yC,KAAK,YACL7a,GAAG,YACHyiD,aAAa,MACbrK,YAAa,4BACb10B,MAAOilB,EAAe,UACtBxU,MAAO,aACPgkB,SAAUA,EACV16B,MAAOS,EAAM,UACbgiC,WAAW,sBAEf,yBAAKllC,UAAW0yC,EAAW,qBAAsB,+BAC/C,kBAAC,GAAD,CACE7yC,KAAK,aACL7a,GAAG,aACHyiD,aAAa,MACbrK,YAAa,cACb10B,MAAOilB,EAAe,WACtBxU,MAAO,cACPgkB,SAAUA,EACV16B,MAAOS,EAAM,WACbgiC,WAAW,sBAEf,yBAAKllC,UAAW0yC,EAAW,qBAAsB,+BAC/C,kBAAC,GAAD,CACE7yC,KAAK,aACL7a,GAAG,aACHyiD,aAAa,MACbrK,YAAa,cACb10B,MAAOilB,EAAe,WACtBxU,MAAO,cACPgkB,SAAUA,EACV16B,MAAOS,EAAM,WACbgiC,WAAW,sBAEf,yBAAMllC,UAAW0yC,EAAW,qBAAsB,+BAC/C,kBAAC,GAAD,CACK1tD,GAAG,cACH6a,KAAK,cACL6I,MAAOilB,EAAe,YACtBxU,MAAO,gBACPgkB,SAAUA,EACV16B,MAAOS,EAAM,YACbgiC,WAAY,sBAGpB,yBAAKllC,UAAW0yC,EAAW,qBAAsB,+BACjD,yBAAK1yC,UAAU,oBACX,4BAAQA,UAAW,wBAA2BkD,GAAUA,EAAM,YAAmB,cAAgB,IACzFle,GAAG,yBACH6a,KAAK,cACLs9B,SAAUA,EACVz0B,MAAOilB,EAAe,aAC3BulB,GAAUxmC,KAAI,SAACvB,EAAM1nB,GAAP,OAAa,4BAAQpE,IAAK8rB,EAAKgoC,OAAS1vD,EAAE4tC,WAAY3oB,MAAOyC,EAAKgoC,QAAShoC,EAAKtL,UAEjG,2BAAOkhC,QAAQ,0BAAf,mBACA,yBAAK/gC,UAAU,oBAAoBkD,EAAM,eAG7C,yBAAKlD,UAAW0yC,EAAW,qBAAsB,+BAC/C,kBAAC,GAAD,CACE7yC,KAAK,SACL7a,GAAG,iBACHyiD,aAAa,MACbrK,YAAa,kBACb10B,MAAOilB,EAAe,OACtBxU,MAAO,kBACPgkB,SAAUA,EACV16B,MAAOS,EAAM,OACbgiC,WAAW,sBAGjB,yBAAKllC,UAAU,UAEf,kBAAC,GAAD,CACE2tB,gBAAiBA,EACjBwP,SAAUA,EACVj6B,OAAQA,IAGV,uBAAGmK,QAASi+B,EAAQtrC,UAAU,kBAAkBulC,SAAUgG,GAClD,8BAAQx0C,EAAapV,IAA8BoV,EAAanV,qBAAuB,aACtF2pD,GAAU,0BAAM9sB,MAAM,qDAAqDxe,KAAK,SAASsgC,cAAY,aCrHzG8S,GACM,KADNA,GAEC,KAFDA,GAGC,KCCDC,GAAmB,SAAC,GAA6E,IAA5EC,EAA2E,EAA3EA,iBAAkB1vD,EAAyD,EAAzDA,oBAAqBC,EAAoC,EAApCA,eAAgBC,EAAoB,EAApBA,eACrF,OACE,yBAAKic,UAAU,kBACb,yDACA,+BACInc,GAAuB,yBAAKmc,UAAU,aAAaqN,QAAS,SAACgM,GAASk6B,EAAiBl6B,EAAOg6B,MAC9F,2BAAOrzC,UAAU,0BAA0BqM,KAAK,QAAQxM,KAAK,UAAU7a,GAAG,WAAW0jB,MAAM,YAC3F,2BAAO1I,UAAU,mBAAmB+gC,QAAQ,YAC1C,yBAAKzzB,IAAKnoB,YAAsB6a,UAAU,YAAYuN,IAAI,KAD5D,sBAKAzpB,GAAkB,yBAAKkc,UAAU,aAAaqN,QAAS,SAACgM,GAASk6B,EAAiBl6B,EAAOg6B,MACzF,2BAAOrzC,UAAU,0BAA0BqM,KAAK,QAAQxM,KAAK,UAAU7a,GAAG,WAAW0jB,MAAM,YAC3F,2BAAO1I,UAAU,mBAAmB+gC,QAAQ,YAC1C,yBAAKzzB,IAAKnoB,kBAA4B6a,UAAU,YAAYuN,IAAI,KADlE,cAKAxpB,GAAkB,yBAAKic,UAAU,aAAaqN,QAAS,SAACgM,GAASk6B,EAAiBl6B,EAAOg6B,MACzF,2BAAOrzC,UAAU,0BAA0BqM,KAAK,QAAQxM,KAAK,UAAU7a,GAAG,WAAW0jB,MAAM,YAC3F,2BAAO1I,UAAU,mBAAmB+gC,QAAQ,YAC1C,yBAAKzzB,IAAKnoB,kBAA4B6a,UAAU,YAAYuN,IAAI,KADlE,gBCrBCimC,GAAuB,SAAC,GAAsH,IAArHC,EAAoH,EAApHA,SAAUC,EAA0G,EAA1GA,kBAAmB7F,EAAuF,EAAvFA,OAAQhqD,EAA+E,EAA/EA,oBAAqBC,EAA0D,EAA1DA,eAAgBC,EAA0C,EAA1CA,eAAgB02C,EAA0B,EAA1BA,WAAYhY,EAAc,EAAdA,SAEtIkxB,EAAqB9vD,GAAuBC,GAAkBC,EAC9D6vD,GAAc/vD,EAAsB,EAAE,IACrBE,EAAiB,EAAE,IACnBD,EAAiB,EAAE,GAElC+vD,GAAeH,EACf7+B,EAAag/B,EAAc,IAAI,IACnC,OACQ,6BAAS7zC,UAAWyzC,GACd,yBAAKzzC,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,0CACZ,8BACK2zC,GAAsB,yBAAK3zC,UAAW,+BAAiC6U,GAAjD,KAClBg/B,GAAe,uBAAGxmC,QAASwgC,EAAQ7tC,UAAU,aAAY,yBAAKsN,IAAKnoB,cAAwB6a,UAAU,YAAYuN,IAAI,MACvH,4BAAI,8BAAOsH,EAAP,IAAmB,0BAAM7U,UAAU,cAAnC,MAAJ,2BAEH2zC,GAAsB,yBAAK3zC,UAAU,iBACpC,sDAEF,yBAAKA,UAAU,gBACb,yBAAKsN,IAAKnoB,UAAoB6a,UAAU,8CAA8CuN,IAAI,KACzFomC,GACC,uBAAG3zC,UAAU,uBAAb,kCAAkE,8BAAO4zC,GAAzE,gBAAwG,6BACzF,GAAdA,GAAmBnZ,GAAc,uHAA4F,6BAA5F,gDACjCmZ,EAAa,GAAK,8EAAmD,gCAGtED,GACD,2IAAgH,6BAAhH,6GACAlxB,GAEH,oCCAtBqxB,G,YACF,WAAY1zD,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACTupB,UAAY,CACTX,OAAQ,GACRtB,WAAY,GACZJ,UAAW,MACXjB,SAAS,EACTuD,UAAU,EACV0J,YAAc,CAAElP,GAAI,GAAIC,GAAI,GAAIC,GAAI,KAEvCiG,gBAAiB,CACdvB,OAAQ,GACRirC,YAAa,MACb5tC,SAAS,EACTuD,UAAU,EACV0J,YAAc,CAAElP,GAAI,GAAIC,GAAI,GAAIC,GAAI,KAEvC2F,gBAAiB,CACdjB,OAAQ,GACRmB,gBAAiB,GACjB+pC,iBAAkB,GAClB5pC,aAAe,CAAElG,GAAI,GAAIC,GAAI,GAAIC,GAAI,IACrC8F,WAAY/I,EAAmBC,MAC/B+E,SAAS,EACTuD,UAAU,EACV0J,YAAc,CAAElP,GAAI,GAAIC,GAAI,GAAIC,GAAI,KAGvCvgB,qBAAsB,EACtBC,gBAAiB,EACjBC,gBAAiB,EACjB2vD,kBAAmB,KACnBxwC,OAAQ,GACRqoC,QAAQ,EACRC,oBAAoB,EACpB8F,eAAe,EACf2C,kBAAmB,KACnBC,cAAe,GAInB,EAAKC,4BAA8B,EAAKA,4BAA4BvlC,KAAjC,gBACnC,EAAKwlC,4BAA8B,EAAKA,4BAA4BxlC,KAAjC,gBACnC,EAAKylC,uBAAyB,EAAKA,uBAAuBzlC,KAA5B,gBAC9B,EAAK68B,SAAW,EAAKA,SAAS78B,KAAd,gBAChB,EAAK0lC,oBAAsB,EAAKA,oBAAoB1lC,KAAzB,gBAC3B,EAAK2lC,gCAAkC,EAAKA,gCAAgC3lC,KAArC,gBACvC,EAAK4lC,mBAAqB,EAAKA,mBAAmB5lC,KAAxB,gBAC1B,EAAK6lC,4BAA8B,EAAKA,4BAA4B7lC,KAAjC,gBACnC,EAAK8lC,eAAiB,EAAKA,eAAe9lC,KAApB,gBAnDE,E,iFAsDP,IAAD,OAElBtoB,KAAKlG,MAAMigC,QAAQtC,kBAEnBz3B,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GAEtC,EAAKi0D,4BAA4B,EAAKr0D,MAAM8C,OAE5C,EAAK9C,MAAMigC,QAAQ1C,eAAeh8B,KAElC,IAAI2a,EAAc,EAAKlc,MAAMkc,YAE1BA,GAAeA,EAAYS,UAC5B,EAAK23C,eAAep4C,GAGpB,EAAKlc,MAAMigC,QAAQkN,iBAAgB,GAAOrrB,MAAK,SAAA5F,GAC3C,EAAKo4C,eAAep4C,W,qCASjBA,GACb,IAAI2H,EAAM,CAAEC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IAC5BuwC,EAAYr4C,EAAYS,WAAa,GACrCC,EAAaV,EAAYU,YAAc,GACvC43C,EAAat4C,EAAYW,UAAY,GACtCX,EAAY2H,KAAM3H,EAAY2H,IAAIG,KACjCH,EAAM3d,KAAKlG,MAAMkc,YAAY2H,KAEjC3d,KAAKi4B,SAAS,CACZ9U,UAAW/oB,OAAOC,OAAO,GAAI2F,KAAKpG,MAAMupB,UAAW,CAAC2J,YAAanP,EAAK0wC,YAAW33C,aAAY43C,eAC7FvqC,gBAAiB3pB,OAAOC,OAAO,GAAI2F,KAAKpG,MAAMmqB,gBAAiB,CAAC+I,YAAanP,EAAK0wC,YAAW33C,aAAY43C,eACzG7qC,gBAAiBrpB,OAAOC,OAAO,GAAI2F,KAAKpG,MAAM6pB,gBAAiB,CAACqJ,YAAanP,EAAK0wC,YAAW33C,aAAY43C,mB,kDAIjF1xD,GAE1B,IAAIU,EAAMD,aAAoBT,GAE9B,OADAoD,KAAKi4B,SAAS36B,GACPA,I,gDAGiBo0C,GAEnBA,EAAU/8B,iBAEX3U,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,IAA6B,WAAaA,O,0CAIpDjgB,EAAMg0D,GAAmB,IAAD,OAC1Ch0D,EAAKG,MAAMigC,QAAQuN,+BAA+B,CAACqmB,sBAAoB/xC,MAAK,SAAAwqB,GAE1E,IAAIxpB,EAASjjB,EAAKC,MAAMgjB,OACpB2xC,GAAW,EACf,GAAGnoB,EAAEooB,YACH,GAAGpoB,EAAEqoB,eAEH90D,EAAKG,MAAMigC,QAAQ+L,wBAAwBlqB,MAAK,SAAAwqB,GAE9C,GAAGA,EAAExpC,OAASD,aAAWypC,EAAExpC,MAAOf,KAAUC,kBAAkB,CAC5D,IAAI4kD,EAActa,EAAEvxB,aACpB,IAAI6rC,EACEA,EAAc9mC,IACIjgB,EAAKw0D,4BAA4B/nB,EAAExpC,OAEtCc,SAAW,IACxBgjD,EAAc9mC,KAGtB,EAAK9f,MAAM8yC,QAAQ1vB,KAAKwjC,QAGxB9jC,EAAM,OAAajjB,EAAKG,MAAM2W,aAAapV,IAA8B1B,EAAKG,MAAM2W,aAAanV,qBAAuB,mBACxH3B,EAAKs+B,SAAS,CAACrb,OAAQA,EAAQqoC,QAAS,EAAOC,oBAAoB,OAEpEhpC,OAAM,SAAAhiB,GACL0iB,EAAM,OAAajjB,EAAKG,MAAM2W,aAAapV,IAA8B1B,EAAKG,MAAM2W,aAAanV,qBAAuB,0BACxH3B,EAAKs+B,SAAS,CAACrb,OAAQA,EAAQqoC,QAAS,EAAOC,oBAAoB,WAGrE,CAEFtoC,EAAM,OAAajjB,EAAKG,MAAM2W,aAAapV,IAA8B1B,EAAKG,MAAM2W,aAAanV,qBAAuB,mBACxH,IAAIozD,EAAa/0D,EAAKG,MAAM2W,aAAapV,IAA8B1B,EAAKG,MAAM2W,aAAanV,qBAAuB,2BAClHqzD,EAAah1D,EAAKG,MAAM2W,aAAapV,IAA8B1B,EAAKG,MAAM2W,aAAanV,qBAAuB,uBACnH3B,EAAKC,MAAMwzD,mBAAqBL,IACjCnwC,EAAM,OAAa8xC,EAAa/0D,EAAKG,MAAM2W,aAAapV,IAA8B1B,EAAKG,MAAM2W,aAAanV,qBAAuB,4BAA8BqzD,EACnK/xC,EAAM,KAAWmwC,IAETpzD,EAAKC,MAAMwzD,mBAAqBL,IACxCnwC,EAAM,OAAa8xC,EAAa/0D,EAAKG,MAAM2W,aAAapV,IAA8B1B,EAAKG,MAAM2W,aAAanV,qBAAuB,4BAA8BqzD,EACnK/xC,EAAM,KAAWmwC,IAETpzD,EAAKC,MAAMwzD,mBAAqBL,KACxCnwC,EAAM,OAAa8xC,EAAa/0D,EAAKG,MAAM2W,aAAapV,IAA8B1B,EAAKG,MAAM2W,aAAanV,qBAAuB,iCAAmCqzD,EACxK/xC,EAAM,KAAWmwC,IAGnBpzD,EAAKs+B,SAAS,CAACrb,OAAQA,EAAQqoC,QAAS,EAAOC,oBAAoB,SAE7D9e,EAAEwoB,YACVL,GAAW,EAELnoB,EAAEyoB,YACRjyC,EAAM,OAAajjB,EAAKG,MAAM2W,aAAapV,IAA8B1B,EAAKG,MAAM2W,aAAanV,qBAAuB,kBACxH3B,EAAKs+B,SAAS,CAACrb,OAAQA,EAAQqoC,QAAS,EAAOC,oBAAoB,KAEnEqJ,GAAW,EAGVA,IACI50D,EAAKC,MAAMg0D,cAAgB,IAC5Bj0D,EAAKs+B,SAAS,CAAC21B,cAAej0D,EAAKC,MAAMg0D,cAAgB,IACzDjkC,YAAW,WACThwB,EAAKq0D,oBAAoBr0D,EAAMg0D,KAC9B,OAGH/wC,EAAM,OAAajjB,EAAKG,MAAM2W,aAAapV,IAA8B1B,EAAKG,MAAM2W,aAAanV,qBAAuB,kBACxH3B,EAAKs+B,SAAS,CAACrb,OAAQA,EAAQqoC,QAAS,EAAOC,oBAAoB,SAIxEhpC,OAAM,SAAAhiB,GACP,IAAI0iB,EAASjjB,EAAKC,MAAMgjB,OACpB6pC,EAAO,KAEK,KAAZvsD,EAAEk8B,OACJqwB,EAAM9sD,EAAKG,MAAM2W,aAAapV,IAA8B1B,EAAKG,MAAM2W,aAAanV,qBAAuB,qBACvF,KAAZpB,EAAEk8B,QACPl8B,EAAEshB,MAAQthB,EAAEshB,KAAK6jC,eACjBoH,EAAMvsD,EAAEshB,KAAK6jC,cAGZoH,IACFA,EAAM9sD,EAAKG,MAAM2W,aAAapV,IAA8B1B,EAAKG,MAAM2W,aAAanV,qBAAuB,SAG7GmrD,GADSvsD,EAAEk8B,OACLz8B,EAAKG,MAAM2W,aAAX,aAMRmM,EAAM,OAAa6pC,EACnB9sD,EAAKs+B,SAAS,CAACrb,OAAQA,EAAQqoC,QAAS,EAAOC,oBAAoB,S,yCAIpDnyB,EAAO+7B,GACxB9uD,KAAKi4B,SAAS,CAACm1B,kBAAmB0B,EAAkBlyC,OAAQ,O,kDAGlCmW,GAAQ,IAAD,OACjCA,EAAMpL,iBAGN3nB,KAAKiuD,kCAAkCryC,MAAK,SAAA4qC,GACtCA,EAAiB7pC,SACnB,EAAKsb,SAAS,CAACgtB,QAAS,EAAMC,oBAAoB,EAAOyI,kBAAmB,KAAM/wC,OAAQ,KAE1F,EAAKmxC,yBAAyBnyC,MAAK,SAAAwqB,GAEjC,EAAKnO,SAAS,CAAC01B,kBAAmBvnB,EAAEunB,kBAAmBC,cAAe,EAAGhxC,OAAQ,KAGjF,IAAIjjB,EAAO,EACXgwB,YAAW,WACThwB,EAAKq0D,oBAAoBr0D,EAAMysC,EAAEunB,qBAClClyD,QAGAygB,OAAM,SAAAhiB,GACP,IAAI0iB,EAAS,EAAKhjB,MAAMgjB,OACpB6pC,EAAO,KAEK,KAAZvsD,EAAEk8B,OACJqwB,EAAM,EAAK3sD,MAAM2W,aAAapV,IAA8B,EAAKvB,MAAM2W,aAAanV,qBAAuB,qBAEvF,KAAZpB,EAAEk8B,QACPl8B,EAAEshB,OACAthB,EAAEshB,KAAKqzC,WACRpI,EAAM,EAAK3sD,MAAM2W,aAAapV,IAA8B,EAAKvB,MAAM2W,aAAanV,qBAAuB,kBACnGpB,EAAEshB,KAAKuzC,aACftI,EAAM,EAAK3sD,MAAM2W,aAAapV,IAA8B,EAAKvB,MAAM2W,aAAanV,qBAAuB,oBAI3GmrD,IACFA,EAAM,EAAK3sD,MAAM2W,aAAapV,IAA8B,EAAKvB,MAAM2W,aAAanV,qBAAuB,SAGxF,KAAZpB,EAAEk8B,SACXqwB,EAAM,EAAK3sD,MAAM2W,aAAX,aAGRmM,EAAM,OAAa6pC,EACnB,EAAKxuB,SAAS,CAACrb,OAAQA,EAAQqoC,QAAS,EAAOC,oBAAoB,QAIrE,EAAKjtB,SAAS,CAACrb,OAAQ4pC,EAAiB5pC,OAAQqoC,QAAQ,S,+CAO5D,IAAI+J,EAAe,GACnB,GAAGhvD,KAAKpG,MAAMwzD,mBAAqBL,GAA4B,CAE7DiC,EAAaX,UAAYruD,KAAKpG,MAAM6pB,gBAAgB4qC,UACpDW,EAAat4C,WAAa1W,KAAKpG,MAAM6pB,gBAAgB/M,WACrDs4C,EAAaV,WAAatuD,KAAKpG,MAAM6pB,gBAAgB6qC,WACrD,IAAIW,EAAariC,GAAUsiC,qCAAqClvD,KAAKpG,MAAM6pB,gBAAgBqJ,YAAYhP,GAAI9d,KAAKpG,MAAM6pB,gBAAgBqJ,YAAYjP,GAAI7d,KAAKpG,MAAM6pB,gBAAgBqJ,YAAYlP,IAC7LoxC,EAAaliC,YAAcmiC,EAAW/hC,YAEtC8hC,EAAaG,SAAY,CACvBxrC,gBAAiB3jB,KAAKpG,MAAM6pB,gBAAgBE,gBAC5CnB,OAAQxiB,KAAKpG,MAAM6pB,gBAAgBjB,OACnCkrC,iBAAkB1tD,KAAKpG,MAAM6pB,gBAAgBiqC,iBAC7C5pC,aAAc9jB,KAAKpG,MAAM6pB,gBAAgBK,aAAahG,GAAK,IAC7C9d,KAAKpG,MAAM6pB,gBAAgBK,aAAajG,IACtC7d,KAAKpG,MAAM6pB,gBAAgBG,YAAc/I,EAAmBC,MAAQ,GAAK,IAAM9a,KAAKpG,MAAM6pB,gBAAgBK,aAAalG,IACvIgG,WAAY5jB,KAAKpG,MAAM6pB,gBAAgBG,iBAEpC,GAAG5jB,KAAKpG,MAAMwzD,mBAAqBL,GAA4B,CAEpEiC,EAAaX,UAAYruD,KAAKpG,MAAMmqB,gBAAgBsqC,UACpDW,EAAat4C,WAAa1W,KAAKpG,MAAMmqB,gBAAgBrN,WACrDs4C,EAAaV,WAAatuD,KAAKpG,MAAMmqB,gBAAgBuqC,WACjDW,EAAariC,GAAUsiC,qCAAqClvD,KAAKpG,MAAMmqB,gBAAgB+I,YAAYhP,GAAI9d,KAAKpG,MAAMmqB,gBAAgB+I,YAAYjP,GAAI7d,KAAKpG,MAAMmqB,gBAAgB+I,YAAYlP,IAC7LoxC,EAAaliC,YAAcmiC,EAAW/hC,YAEtC8hC,EAAaI,SAAY,CACvB3B,YAAaztD,KAAKpG,MAAMmqB,gBAAgB0pC,YACxCjrC,OAAQxiB,KAAKpG,MAAMmqB,gBAAgBvB,aAEhC,GAAGxiB,KAAKpG,MAAMwzD,mBAAqBL,GAAiC,CAEvEiC,EAAaX,UAAYruD,KAAKpG,MAAMupB,UAAUkrC,UAC9CW,EAAat4C,WAAa1W,KAAKpG,MAAMupB,UAAUzM,WAC/Cs4C,EAAaV,WAAatuD,KAAKpG,MAAMupB,UAAUmrC,WAC3CW,EAAariC,GAAUsiC,qCAAqClvD,KAAKpG,MAAMupB,UAAU2J,YAAYhP,GAAI9d,KAAKpG,MAAMupB,UAAU2J,YAAYjP,GAAI7d,KAAKpG,MAAMupB,UAAU2J,YAAYlP,IAC3KoxC,EAAaliC,YAAcmiC,EAAW/hC,YAEtC8hC,EAAaK,eAAkB,CAC7BvuC,UAAW9gB,KAAKpG,MAAMupB,UAAUrC,UAChC0B,OAAQxiB,KAAKpG,MAAMupB,UAAUX,OAC7BtB,WAAYlhB,KAAKpG,MAAMupB,UAAUjC,YAIvC,OAAOlhB,KAAKlG,MAAMigC,QAAQqN,0BAA0B4nB,K,wDAKpD,OAAGhvD,KAAKpG,MAAMwzD,mBAAqBL,GAC1B9xC,EAAcq0C,uCAAuCtvD,KAAKpG,MAAM6pB,iBACjEzjB,KAAKpG,MAAMwzD,mBAAqBL,GAC/B9xC,EAAcs0C,uCAAuCvvD,KAAKpG,MAAMmqB,iBACjE/jB,KAAKpG,MAAMwzD,mBAAqBL,GAC/B9xC,EAAcu0C,iCAAiCxvD,KAAKpG,MAAMupB,WAE5DnH,QAAQa,QAAQ,CAACF,SAAS,EAAO6pC,iBAAkB,CAAC5pC,OAAO,CAAC,8B,kDAGzCmW,GAE1B,IAAM3Q,EAA8B,aAAtB2Q,EAAMvN,OAAOO,KAAsBgN,EAAMvN,OAAOu1B,QAAUhoB,EAAMvN,OAAOpD,MACrF,GAAGpiB,KAAKpG,MAAMwzD,mBAAqBL,GAA4B,CAC7D,IAAMtP,EAAQ1qB,EAAMvN,OAAOjM,KACvBwK,EAAkB/jB,KAAKpG,MAAMmqB,gBACjCA,EAAgB05B,GAASr7B,EACzB,IAAIxF,EAAS5c,KAAKpG,MAAMgjB,OAExB,OADAA,EAAO6gC,GAAS,GACTz9C,KAAKi4B,SAAS,CAAElU,gBAAiBA,EAAiBnH,OAAOA,IAE3D,GAAG5c,KAAKpG,MAAMwzD,mBAAqBL,GAA4B,CACpE,IAAMtP,EAAQ1qB,EAAMvN,OAAOjM,KACvBkK,EAAkBzjB,KAAKpG,MAAM6pB,gBACjCA,EAAgBg6B,GAASr7B,EACzB,IAAIxF,EAAS5c,KAAKpG,MAAMgjB,OAExB,OADAA,EAAO6gC,GAAS,GACTz9C,KAAKi4B,SAAS,CAAExU,gBAAiBA,EAAiB7G,OAAOA,IAE3D,GAAG5c,KAAKpG,MAAMwzD,mBAAqBL,GAAiC,CACzE,IAAMtP,EAAQ1qB,EAAMvN,OAAOjM,KACvB4J,EAAYnjB,KAAKpG,MAAMupB,UAC3BA,EAAUs6B,GAASr7B,EACnB,IAAIxF,EAAS5c,KAAKpG,MAAMgjB,OAExB,OADAA,EAAO6gC,GAAS,GACTz9C,KAAKi4B,SAAS,CAAE9U,UAAWA,EAAWvG,OAAOA,O,+BAI/CmW,GACPA,EAAMpL,iBACN3nB,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,O,+BAGhB,IAAD,OAEH2uC,EAAc,KAElB,GAAIvoD,KAAKpG,MAAMoxD,cACbzC,EAAc,kBAAC,GAAD,CAAkCtuC,KAAMja,KAAKlG,MAAM2W,aAAX,mCAEnD,GAAIzQ,KAAKlG,MAAM8C,MAOf,CAEH,IAAIu3C,EAAax3C,aAAWqD,KAAKlG,MAAM8C,MAAOf,KAAUY,YACpDgzD,EAA6B,CAC/BzK,OAAQhlD,KAAK6tD,4BACbhX,SAAU72C,KAAK8tD,4BACflxC,OAAQ5c,KAAKpG,MAAMgjB,OACnBqoC,OAAQjlD,KAAKpG,MAAMqrD,OACnBx0C,aAAczQ,KAAKlG,MAAM2W,cAGvBi/C,EAAsB,kBAAC,GAAD,CACEzC,iBAAkBjtD,KAAKkuD,mBACvB3wD,oBAAqByC,KAAKpG,MAAM2D,oBAChCC,eAAgBwC,KAAKpG,MAAM4D,eAC3BC,eAAgBuC,KAAKpG,MAAM6D,iBAEpDuC,KAAKpG,MAAMwzD,mBAAqBL,GACjC2C,EAAsB,kBAAC,GAAD,eAAiBroB,gBAAiBrnC,KAAKpG,MAAM6pB,gBAAiB8jC,OAAQ,kBAAM,EAAK2G,mBAAmB,QAAWuB,IAC/HzvD,KAAKpG,MAAMwzD,mBAAqBL,GACtC2C,EAAsB,kBAAC,GAAD,eAAiBroB,gBAAiBrnC,KAAKpG,MAAMmqB,gBAAiBwjC,OAAQ,kBAAM,EAAK2G,mBAAmB,QAAWuB,IAC/HzvD,KAAKpG,MAAMwzD,mBAAqBL,KACtC2C,EAAsB,kBAAC,GAAD,eAAsBroB,gBAAiBrnC,KAAKpG,MAAMupB,UAAWokC,OAAQ,kBAAM,EAAK2G,mBAAmB,QAAWuB,KAEtIlH,EACI,oCAAE,kBAAC,GAAD,CACC4E,SAA0C,MAAhCntD,KAAKpG,MAAMwzD,kBAA4B,iCAAkC,qCACnFA,kBAAmBptD,KAAKpG,MAAMwzD,kBAC9B7F,OAAQ,kBAAM,EAAK2G,mBAAmB,OACtC3wD,oBAAqByC,KAAKpG,MAAM2D,oBAChCE,eAAgBuC,KAAKpG,MAAM6D,eAC3BD,eAAgBwC,KAAKpG,MAAM4D,eAC3B22C,WAAYA,GAEZub,GAEH,kBAAC,GAAD,YA1CJnH,EACQ,kBAAC,GAAD,CACEprB,aAAa,SACbljB,KAAMja,KAAKlG,MAAM2W,aAAapV,IAAkB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,gBAC/F8hC,KAAK,QA4Cf,OACE,6BACE,kBAAC,EAAD,CAAMtX,WAAW,EAAM6C,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAciX,YAAY,IACxFmhC,O,GAvayBn/B,IAAMC,WA6a9CmkC,GAA0BxuB,aAAe,CACvCC,OAAQC,IAAUC,QAkCLxE,oBA/Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GAKnB,OAJIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGhB,CACLN,aAAcK,EACdC,aAAcq8B,EACdn4B,gBAAiB/a,EAAM8F,YAAYiV,gBACnCqB,YAAapc,EAAM8F,YAAYsW,YAC/BpZ,MAAOhD,EAAM8F,YAAY9C,UAK7B,SAA4B01B,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,GAAe3a,MAIlEqI,CAA6C6yB,I,SC9d7CmC,GApBU,SAAC,GAAkC,IAAjCl/C,EAAgC,EAAhCA,aACnBm/C,EAAqB,mBAD8B,EAAlBC,aAE/BC,EAAiBC,eAEvB,OACE,6BAASr2C,UAAU,8BACb,yBAAKA,UAAWk2C,GACf,yBAAKl2C,UAAU,OACZ,yBAAKA,UAAU,mCACX,uBAAGqN,QAAS+oC,EAAehE,QACvB,0BAAMpyC,UAAU,mCAChB,4BAAKjJ,EAAY,6BCUnCuU,I,OAAIvK,OAAOuK,GAEXgrC,GAAkB,SAAC,GAAsB,IAApBv/C,EAAmB,EAAnBA,aAEzB,OACE,6BAASiJ,UAAU,gBACjB,yBAAKA,UAAU,kFACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,uDACf,yBAAKuN,IAAI,GAAGD,IAAKnoB,8BAAwC6a,UAAU,eAEnE,yBAAKA,UAAU,4CACX,4BAAKjJ,EAAapV,IAAoBoV,EAAanV,qBAAuB,WAC1E,2BAAImV,EAAapV,IAAoBoV,EAAanV,qBAAuB,8BACzE,uBAAGsgC,wBAAyB5X,EAAavT,EAAapV,IAAoBoV,EAAanV,qBAAuB,8BAQtH20D,GAAkB,SAAC,GAAsB,IAApBx/C,EAAmB,EAAnBA,aAEzB,OAEA,6BAASiJ,UAAU,sBACjB,yBAAKA,UAAU,iCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,yBAEb,4BAAQw2C,YAAY,IAAIlpC,IAAKvrB,IAAkCiD,GAAG,kBAAkByxD,MAAM,WAM9F,yBAAKz2C,UAAU,OACd,yBAAKA,UAAU,+BACf,uBAAGA,UAAU,WAAWkiB,wBAAyB5X,EAAavT,EAAapV,IAAoBoV,EAAanV,qBAAuB,0BAUpI80D,G,YACF,WAAYt2D,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAER+S,gBAAkB,EAAKA,gBAAgB7S,KAArB,gBACvB,EAAKsP,qBAAuB,EAAKA,qBAAqBtP,KAA1B,gBAC5B,EAAKkV,eAAiB,EAAKA,eAAelV,KAApB,gBACtB,EAAKigB,2BAA6B,EAAKA,2BAA2BjgB,KAAhC,gBAClC,EAAK8S,aAAe,EAAKA,aAAa9S,KAAlB,gBACpB,EAAKuY,SAAW,EAAKA,SAASvY,KAAd,gBARQ,E,iFAazBtoB,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQqH,eACnBphC,KAAK43B,yB,6CAIN5S,GAAEV,UAAU+rC,OAAM,WACfrrC,GAAE,UAAUsrC,aAAa,S,sCAMdv9B,GAEd/yB,KAAKlG,MAAMigC,QAAQlG,yBAAyBd,EAAMvN,OAAO9mB,IACrDsB,KAAKlG,MAAM6a,gBACZ3U,KAAK6gC,SAASjnB,KAGd5Z,KAAK6gC,SAASjnB,O,+BAIV+yB,GACL3sC,KAAKlG,MAAM8yC,QAAQ1vB,KAAKyvB,K,iDAGD5Z,GACxB/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAY,qBAC7C2E,KAAKlG,MAAM6a,gBACZ3U,KAAK6gC,SAASjnB,KAGd5Z,KAAK6gC,SAASjnB,O,mCAINmZ,GACR/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAY,gBAChD2E,KAAK6gC,SAASjnB,O,qCAGJmZ,EAAOhC,GAClB/wB,KAAKlG,MAAMigC,QAAQyH,qBAAqBzQ,EAAS11B,O,+BAKnD,IAAI83C,EAAgB,8BA6BlB,OA3BCnzC,KAAKlG,MAAM2W,eACX0iC,EAAgB,yBAAKz5B,UAAU,mBAE/B,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,eAE/B,kBAAC,GAAD,CAAiBM,aAAczQ,KAAKlG,MAAM2W,eAE1C,kBAAC,GAAD,CAAkBA,aAAczQ,KAAKlG,MAAM2W,eAE3C,kBAAC,GAAD,CAAiBA,aAAczQ,KAAKlG,MAAM2W,eAE1C,kBAAC,GAAD,CACG1X,IAAI,WACJsG,SAAUW,KAAKlG,MAAMuF,SACrBoR,aAAczQ,KAAKlG,MAAM2W,aACzB+sB,eAAgBx9B,KAAKw9B,iBAGrB,kBAAC,GAAD,CAAmBzkC,IAAI,aACpB4b,gBAAiB3U,KAAKlG,MAAM6a,gBAC5BymB,aAAcp7B,KAAKo7B,aACnBD,gBAAiBn7B,KAAKuoC,2BACtB93B,aAAczQ,KAAKlG,MAAM2W,iBAKvB0iC,M,GA7Fa/pB,IAAMC,WAiGpC+mC,GAAgBpxB,aAAe,CAC7BC,OAAQC,IAAUC,QA2CLxE,oBAxCf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GACflzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGtB,IAAIpR,EAAW,GACf,GAAGzF,EAAM+X,eAAiB/X,EAAM+X,cAActS,SAG5C,IADA,IAAI8+B,EAAI,KACAhhC,EAAI,EAAGA,EAAIvD,EAAM+X,cAActS,SAASjC,OAAQD,IACA,eAAhDghC,EAAIvkC,EAAM+X,cAActS,SAASlC,IAAImC,SACvCD,EAAS6d,KAAKihB,GAKvB,MAAO,CACLhuB,aAAcK,EACdC,aAAcq8B,EACdztC,SAAWA,EACXsV,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI0yC,EAAgBjS,EAAe5E,GAAmB5D,MAItFqI,CAA6Cy1B,IC7LtDprC,GAAIvK,OAAOuK,EAEXurC,GAAqB,SAAC,GAAsB,IAApB9/C,EAAmB,EAAnBA,aAE5B,OACE,6BAASiJ,UAAU,kEACjB,yBAAKA,UAAU,kFACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,gEACf,yBAAKuN,IAAI,GAAGD,IAAKnoB,0BAAoC6a,UAAU,eAE/D,yBAAKA,UAAU,4CACX,4BAAKjJ,EAAapV,IAAsBoV,EAAanV,qBAAuB,WAC5E,2BAAImV,EAAapV,IAAsBoV,EAAanV,qBAAuB,8BAC3E,uBAAGsgC,wBAAyBC,EAAmBprB,EAAapV,IAAsBoV,EAAanV,qBAAuB,8BAQ9Hk1D,GAAqB,SAAC,GAAsB,IAApB//C,EAAmB,EAAnBA,aAE5B,OAEA,6BAASiJ,UAAU,sBACjB,yBAAKA,UAAU,iCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,yBAEb,4BAAQw2C,YAAY,IAAIlpC,IAAKvrB,IAAoCiD,GAAG,kBAAkByxD,MAAM,WAMhG,yBAAKz2C,UAAU,OACd,yBAAKA,UAAU,+BACf,uBAAGA,UAAU,WAAWkiB,wBAAyBC,EAAmBprB,EAAapV,IAAsBoV,EAAanV,qBAAuB,0BAU5Im1D,G,YACF,WAAY32D,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAER+S,gBAAkB,EAAKA,gBAAgB7S,KAArB,gBACvB,EAAKsP,qBAAuB,EAAKA,qBAAqBtP,KAA1B,gBAC5B,EAAKkV,eAAiB,EAAKA,eAAelV,KAApB,gBACtB,EAAKigB,2BAA6B,EAAKA,2BAA2BjgB,KAAhC,gBAClC,EAAK8S,aAAe,EAAKA,aAAa9S,KAAlB,gBACpB,EAAKuY,SAAW,EAAKA,SAASvY,KAAd,gBARQ,E,iFAazBtoB,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQqH,eACnBphC,KAAK43B,yB,6CAIN5S,GAAEV,UAAU+rC,OAAM,WACfrrC,GAAE,UAAUsrC,aAAa,S,sCAMdv9B,GAEd/yB,KAAKlG,MAAMigC,QAAQlG,yBAAyBd,EAAMvN,OAAO9mB,IACrDsB,KAAKlG,MAAM6a,gBACZ3U,KAAK6gC,SAASjnB,KAGd5Z,KAAK6gC,SAASjnB,O,+BAIV+yB,GACL3sC,KAAKlG,MAAM8yC,QAAQ1vB,KAAKyvB,K,iDAGD5Z,GACxB/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAqB,qBACtD2E,KAAKlG,MAAM6a,gBACZ3U,KAAK6gC,SAASjnB,KAGd5Z,KAAK6gC,SAASjnB,O,mCAINmZ,GACR/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAqB,gBACzD2E,KAAK6gC,SAASjnB,O,qCAGJmZ,EAAOhC,GAClB/wB,KAAKlG,MAAMigC,QAAQyH,qBAAqBzQ,EAAS11B,O,+BAKnD,IAAI83C,EAAgB,8BA6BlB,OA3BCnzC,KAAKlG,MAAM2W,eACX0iC,EAAgB,yBAAKz5B,UAAU,mBAE/B,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,eAE/B,kBAAC,GAAD,CAAoBM,aAAczQ,KAAKlG,MAAM2W,eAE7C,kBAAC,GAAD,CAAkBA,aAAczQ,KAAKlG,MAAM2W,eAE3C,kBAAC,GAAD,CAAoBA,aAAczQ,KAAKlG,MAAM2W,eAE7C,kBAAC,GAAD,CACG1X,IAAI,WACJsG,SAAUW,KAAKlG,MAAMuF,SACrBoR,aAAczQ,KAAKlG,MAAM2W,aACzB+sB,eAAgBx9B,KAAKw9B,iBAGrB,kBAAC,GAAD,CAAmBzkC,IAAI,aACpB4b,gBAAiB3U,KAAKlG,MAAM6a,gBAC5BymB,aAAcp7B,KAAKo7B,aACnBD,gBAAiBn7B,KAAKuoC,2BACtB93B,aAAczQ,KAAKlG,MAAM2W,iBAKvB0iC,M,GA7Fe/pB,IAAMC,WAiGtConC,GAAkBzxB,aAAe,CAC/BC,OAAQC,IAAUC,QA2CLxE,oBAxCf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GACflzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGtB,IAAIpR,EAAW,GACf,GAAGzF,EAAM+X,eAAiB/X,EAAM+X,cAActS,SAG5C,IADA,IAAI8+B,EAAI,KACAhhC,EAAI,EAAGA,EAAIvD,EAAM+X,cAActS,SAASjC,OAAQD,IACC,iBAAjDghC,EAAIvkC,EAAM+X,cAActS,SAASlC,IAAImC,SACvCD,EAAS6d,KAAKihB,GAKvB,MAAO,CACLhuB,aAAcK,EACdC,aAAcq8B,EACdztC,SAAWA,EACXsV,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI0yC,EAAgBjS,EAAe5E,GAAmB5D,MAItFqI,CAA6C81B,IC/LtDzrC,GAAIvK,OAAOuK,EAEX0rC,GAAgB,SAAC,GAAsB,IAApBjgD,EAAmB,EAAnBA,aAEvB,OACE,6BAASiJ,UAAU,wDACjB,yBAAKA,UAAU,kFACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,gEACf,yBAAKuN,IAAI,GAAGD,IAAKnoB,sBAAgC6a,UAAU,eAE3D,yBAAKA,UAAU,4CACX,4BAAKjJ,EAAapV,IAAuBoV,EAAanV,qBAAuB,WAC7E,2BAAImV,EAAapV,IAAuBoV,EAAanV,qBAAuB,8BAC5E,uBAAGsgC,wBAAyBC,EAAmBprB,EAAapV,IAAuBoV,EAAanV,qBAAuB,8BAQ/Hq1D,GAAgB,SAAC,GAAsB,IAApBlgD,EAAmB,EAAnBA,aAEvB,OAEA,6BAASiJ,UAAU,sBACjB,yBAAKA,UAAU,iCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,yBAEb,4BAAQw2C,YAAY,IAAIlpC,IAAKvrB,IAA+BiD,GAAG,kBAAkByxD,MAAM,WAM3F,yBAAKz2C,UAAU,OACd,yBAAKA,UAAU,+BACf,uBAAGA,UAAU,WAAWkiB,wBAAyBC,EAAmBprB,EAAapV,IAAuBoV,EAAanV,qBAAuB,0BAU7Is1D,G,YACF,WAAY92D,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAER+S,gBAAkB,EAAKA,gBAAgB7S,KAArB,gBACvB,EAAKsP,qBAAuB,EAAKA,qBAAqBtP,KAA1B,gBAC5B,EAAKkV,eAAiB,EAAKA,eAAelV,KAApB,gBACtB,EAAKigB,2BAA6B,EAAKA,2BAA2BjgB,KAAhC,gBAClC,EAAK8S,aAAe,EAAKA,aAAa9S,KAAlB,gBACpB,EAAKuY,SAAW,EAAKA,SAASvY,KAAd,gBARQ,E,iFAazBtoB,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQqH,eACnBphC,KAAK43B,yB,6CAIN5S,GAAEV,UAAU+rC,OAAM,WACfrrC,GAAE,UAAUsrC,aAAa,S,sCAMdv9B,GAEd/yB,KAAKlG,MAAMigC,QAAQlG,yBAAyBd,EAAMvN,OAAO9mB,IACrDsB,KAAKlG,MAAM6a,gBACZ3U,KAAK6gC,SAASjnB,KAGd5Z,KAAK6gC,SAASjnB,O,+BAIV+yB,GACL3sC,KAAKlG,MAAM8yC,QAAQ1vB,KAAKyvB,K,iDAGD5Z,GACxB/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAsB,qBACvD2E,KAAKlG,MAAM6a,gBACZ3U,KAAK6gC,SAASjnB,KAGd5Z,KAAK6gC,SAASjnB,O,mCAINmZ,GACR/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAsB,gBAC1D2E,KAAK6gC,SAASjnB,O,qCAGJmZ,EAAOhC,GAClB/wB,KAAKlG,MAAMigC,QAAQyH,qBAAqBzQ,EAAS11B,O,+BAKnD,IAAI83C,EAAgB,8BA6BlB,OA3BCnzC,KAAKlG,MAAM2W,eACX0iC,EAAgB,yBAAKz5B,UAAU,mBAE/B,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,eAE/B,kBAAC,GAAD,CAAeM,aAAczQ,KAAKlG,MAAM2W,eAExC,kBAAC,GAAD,CAAkBA,aAAczQ,KAAKlG,MAAM2W,eAE3C,kBAAC,GAAD,CAAeA,aAAczQ,KAAKlG,MAAM2W,eAExC,kBAAC,GAAD,CACG1X,IAAI,WACJsG,SAAUW,KAAKlG,MAAMuF,SACrBoR,aAAczQ,KAAKlG,MAAM2W,aACzB+sB,eAAgBx9B,KAAKw9B,iBAGrB,kBAAC,GAAD,CAAmBzkC,IAAI,aACpB4b,gBAAiB3U,KAAKlG,MAAM6a,gBAC5BymB,aAAcp7B,KAAKo7B,aACnBD,gBAAiBn7B,KAAKuoC,2BACtB93B,aAAczQ,KAAKlG,MAAM2W,iBAKvB0iC,M,GA7FU/pB,IAAMC,WAiGjCunC,GAAa5xB,aAAe,CAC1BC,OAAQC,IAAUC,QA2CLxE,oBAxCf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GACflzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGtB,IAAIpR,EAAW,GACf,GAAGzF,EAAM+X,eAAiB/X,EAAM+X,cAActS,SAG5C,IADA,IAAI8+B,EAAI,KACAhhC,EAAI,EAAGA,EAAIvD,EAAM+X,cAActS,SAASjC,OAAQD,IACA,aAAhDghC,EAAIvkC,EAAM+X,cAActS,SAASlC,IAAImC,SACvCD,EAAS6d,KAAKihB,GAKvB,MAAO,CACLhuB,aAAcK,EACdC,aAAcq8B,EACdztC,SAAWA,EACXsV,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI0yC,EAAgBjS,EAAe5E,GAAmB5D,MAItFqI,CAA6Ci2B,IC9MtDC,GAA0B,SAAC,GAA8C,IAA7CxxD,EAA4C,EAA5CA,SAAUoR,EAAkC,EAAlCA,aAAc+sB,EAAoB,EAApBA,eAIpDuB,EAAiB1/B,EAAS+mB,KAAI,SAAA+X,GAE3B,OACE,kBAAC,GAAD,CACIplC,IAAKolC,EAAEz/B,GAAIqyB,QAASoN,EACpBX,eAAgBA,EAChBK,YARK,oBASLptB,aAAcA,OAI3B,OAEA,yBAAKiJ,UAAU,sCACZqlB,IAWC+xB,GAA6B,SAAC,GAAsD,IAArDrgD,EAAoD,EAApDA,aAAcsgD,EAAsC,EAAtCA,iCAE/C,OACE,6BAASr3C,UAAU,4DACjB,wBAAIA,UAAU,8BACZ,0BAAMkiB,wBAAyB5X,EAAavT,EAAapV,IAA0BoV,EAAanV,qBAAuB,sBACrH,gCACE,uBAAGyrB,QAASgqC,EAAkC/xD,KAAMvD,IAA8B,sBAAlF,UAIN,uBAAIsrB,QAASgqC,EAAmCr3C,UAAU,wCACvD1a,KAAMvD,IAA8B,sBAAuBgV,EAAapV,IAA0BoV,EAAanV,qBAAuB,yBAY3I01D,GAAoC,SAAC,GAAe,IAAdh0B,EAAa,EAAbA,QAExC,OACE,yBAAKtjB,UAAU,OACb,yBAAKA,UAAU,oBAAoBkiB,wBAAyB5X,EAAagZ,EAAQr+B,SAC/E,yBAAK+a,UAAU,wCACd,0BAAMkiB,wBAAyB5X,EAAagZ,EAAQ5a,YAUzDwb,GAAqB,SAAC,GAA6C,IAA5C7M,EAA2C,EAA3CA,QAASyM,EAAkC,EAAlCA,eAAgB/sB,EAAkB,EAAlBA,aAEnCsgB,EAAQ/xB,MAAO+xB,EAAQ/xB,KAEtC,OACE,yBAAK0a,UAAU,gDAAgDhb,GAAIqyB,EAAQryB,IAC1E,yBAAKgb,UAAU,oBACd,yBAAKA,UAAU,aACd,yBAAKsN,IAAK+J,EAAQnyB,OAAQ8a,UAAU,oBAGrC,yBAAKA,UAAU,wCACd,wBAAIA,UAAU,cAAckiB,wBAAyB5X,EAAa+M,EAAQpyB,SAExEoyB,EAAQ5xB,SAASinB,KAAK,SAAA4W,GAClB,OAAQ,kBAAC,GAAD,CAAmCjkC,IAAKikC,EAAQjkC,IAAKikC,QAASA,QAM7E,yBAAKtjB,UAAU,eACd,4CAAkBqX,EAAQkgC,aAK3B,yBAAKv3C,UAAU,2BACV,uBAAGA,UAAU,wBAAwB8L,OAAO,SAASxmB,KAAM+xB,EAAQ/xB,KAAM+nB,QAAS,SAAC4W,GAAD,OAASH,EAAeG,EAAK5M,KAAWtgB,EAAapV,IAA0BoV,EAAanV,qBAAuB,gBACrM,uBAAGoe,UAAU,wBAAwB8L,OAAO,SAASxmB,KAAM+xB,EAAQ/xB,KAAM+nB,QAAS,SAAC4W,GAAD,OAASH,EAAeG,EAAK5M,KAAWtgB,EAAapV,IAA0BoV,EAAanV,qBAAuB,kBA+DnM41D,GAjDU,SAAC,GAMpB,IANqBzgD,EAMtB,EANsBA,aACxBoB,EAKE,EALFA,QACAs/C,EAIE,EAJFA,YACA3zB,EAGE,EAHFA,eAGE,IAFFrjB,WACF42C,QACI,OAFStgD,EAAapV,IAA0BoV,EAAanV,qBAAuB,cAEpF,EADJy1D,kCAGKhyB,EAAiB,KAGnBA,GADGoyB,GAAmC,GAApBA,EAAY/zD,QAAayU,EAC1B,kBAAC,GAAD,CACGsrB,aAAa,MACbljB,KAAMxJ,EAAapV,IAA0BoV,EAAanV,qBAAuB,kBAGpF,kBAAC,GAAD,CACK+D,SAAU8xD,EACV1gD,aAAcA,EACd+sB,eAAgBA,EAChB7+B,MAAO8R,EAAapV,IAAkBoV,EAAanV,qBAAuB,oBAIlG,IAAI81D,EAAa,sBAAwB/1D,IAEvC,OAEA,6BAASqe,UAAW03C,GAEd,yBAAK13C,UAAU,kFAEVqlB,EAEJ,kBAAC,GAAD,CAA4BtuB,aAAcA,EAAcsgD,iCAAkCA,OCrI/FM,GAAwB,SAAC,GAA+B,IAA7B5gD,EAA4B,EAA5BA,aAAc0rB,EAAc,EAAdA,SAE7C,OACE,6BAASziB,UAAU,4BAClByiB,EACC,yBAAKziB,UAAU,kFAEb,yBAAKA,UAAU,OAEb,yBAAKA,UAAU,mCACb,yBAAKuN,IAAI,GAAGD,IAAKnoB,kCAA4C6a,UAAU,wBACvE,yBAAKA,UAAU,cACX,4BAAKjJ,EAAapV,IAA0BoV,EAAanV,qBAAuB,WAChF,2BAAImV,EAAapV,IAA0BoV,EAAanV,qBAAuB,YAC/E,2BAAImV,EAAapV,IAA0BoV,EAAanV,qBAAuB,0BAUxFg2D,GAAkB,SAAC,GAAkB,IAAjBn3C,EAAgB,EAAhBA,WAEvB,OACE,6BAAST,UAAU,kDACf,0BAAMkiB,wBAAyB5X,EAAa7J,OAUhDo3C,G,YAEF,WAAYz3D,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAER+S,gBAAkB,EAAKA,gBAAgB7S,KAArB,gBACvB,EAAKkV,eAAiB,EAAKA,eAAelV,KAApB,gBACtB,EAAKyoC,iCAAmC,EAAKA,iCAAiCzoC,KAAtC,gBACxC,EAAKigB,2BAA6B,EAAKA,2BAA2BjgB,KAAhC,gBAClC,EAAK8S,aAAe,EAAKA,aAAa9S,KAAlB,gBAPI,E,iFAYzBtoB,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQiI,oB,sCAGNjP,GAEd/yB,KAAKlG,MAAMigC,QAAQlG,yBAAyBd,EAAMvN,OAAO9mB,IACrDsB,KAAKlG,MAAM6a,gBACZ3U,KAAK6gC,SAASjnB,KAGd5Z,KAAK6gC,SAASjnB,O,iDAIQmZ,GACxB/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAyB,qBAC1D2E,KAAKlG,MAAM6a,gBACZ3U,KAAK6gC,SAASjnB,KAGd5Z,KAAK6gC,SAASjnB,O,mCAINmZ,GACR/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAyB,qBAC7D2E,KAAK6gC,SAASjnB,O,yDAKjB5Z,KAAKlG,MAAMigC,QAAQyH,qBACjB,CACE5vB,UzG1GsB,EyG2GtBkd,czG1GwB,EyG2GxB2S,OAAQpmC,Q,qCAKC03B,EAAOhC,GAClB/wB,KAAKlG,MAAMigC,QAAQyH,qBAAqBzQ,EAAS11B,O,+BAKnD,IAAI83C,EAAgB,8BAEhBqe,EAAiB,kBAAC,EAAD,CAAMrhD,aAAcnQ,KAAKlG,MAAMqW,eA+BlD,OA7BCnQ,KAAKlG,MAAM2W,eACX0iC,EAAgB,yBAAKz5B,UAAU,wBAE/B,kBAAC,GAAD,CAAuBjJ,aAAczQ,KAAKlG,MAAM2W,cAC9C+gD,GAGF,kBAAC,GAAD,CACGz4D,IAAI,mBAEJo4D,YAAanxD,KAAKlG,MAAMuY,YACxB5B,aAAczQ,KAAKlG,MAAM2W,aACzB+sB,eAAgBx9B,KAAKw9B,eACrB7+B,MAAOqB,KAAKlG,MAAM2W,aAAapV,IAA0B2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,kBACxGy1D,iCAAkC/wD,KAAK+wD,mCAGzC,kBAAC,GAAD,CACG52C,WAAYna,KAAKlG,MAAM2W,aAAapV,IAA0B2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,gBAEjH,kBAAC,GAAD,CAAmBvC,IAAI,aACpB4b,iBAAkB3U,KAAKlG,MAAM2X,YAC7B2pB,aAAcp7B,KAAKo7B,aACnBD,gBAAiBn7B,KAAKuoC,2BACtB93B,aAAczQ,KAAKlG,MAAM2W,iBAKpB0iC,M,GA/Fc/pB,IAAMC,WAmGrCkoC,GAAiBvyB,aAAe,CAC9BC,OAAQC,IAAUC,QA+CLxE,oBA5Cf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GACflzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAItB,IAAI4B,EAAc,GAEfzY,EAAMwY,mBAAqBxY,EAAMwY,kBAAkB/S,WACpDgT,EAAczY,EAAMwY,kBAAkB/S,SACjBzF,EAAMwY,kBAAkBP,SAG/C,IAAIJ,GAAc,EAKnB,OAJI7X,EAAM+X,gBACPF,EAAc7X,EAAM4X,gBAAgBC,aAGhC,CACLY,YAAcA,EAEdZ,YAAaA,EACbtB,aAAcK,EACdC,aAAcq8B,EACdn4B,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAeiS,EAAgB7W,GAAmB5D,MAItFqI,CAA6C42B,ICnLtDE,GAA0B,SAAC,GAAoB,IAAnBhhD,EAAkB,EAAlBA,aAG5BwJ,EAAOxJ,EAAapV,IAAwBoV,EAAanV,qBAAuB,oBACpF,OAAU,yBAAKoe,UAAU,6BACnB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,wBACb,wBAAIA,UAAU,4BACZ,0BAAMkiB,wBAAyBC,EAAmB5hB,KAElD,yBAAK+M,IAAKnoB,sBAAgCooB,IAAI,GAAG+hB,MAAM,QAAQtvB,UAAU,2BAQ1Eg4C,GAAb,YAEI,WAAY53D,EAAOsuB,GAAS,IAAD,8BACvB,4CAAMtuB,EAAOsuB,KAERoV,eAAiB,EAAKA,eAAelV,KAApB,gBAHC,EAF/B,qIAY8BopB,MAZ9B,0CAgBM1xC,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQqH,eACnBphC,KAAKlG,MAAMigC,QAAQtC,oBAlBzB,qFAwBmB1E,EAAOhC,GAElB/wB,KAAKlG,MAAMigC,QAAQyH,qBAAqBzQ,EAAS11B,OA1BzD,+BA+BQ,OAEM,yBAAKqe,UAAU,iBACX,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,eAE/B,kBAAC,GAAD,CACEM,aAAczQ,KAAKlG,MAAM2W,aACzBo/C,aAAa,mDAEf,kBAAC,GAAD,CACG92D,IAAI,WACJ8Y,QAAS7R,KAAKlG,MAAMmuC,eACpB5oC,SAAUW,KAAKlG,MAAMuF,SACrBoR,aAAczQ,KAAKlG,MAAM2W,aACzB+sB,eAAgBx9B,KAAKw9B,eACrBU,oBAAqB1kC,KACrBmF,MAAOqB,KAAKlG,MAAM2W,aAAapV,IAAwB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,kBACtG6e,WAAYna,KAAKlG,MAAM2W,aAAapV,IAAwB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,uBAE3G,kBAAC,GAAD,CAAyBq2D,SAAS,EAAMlhD,aAAczQ,KAAKlG,MAAM2W,qBAlDtF,GAAoC2Y,IAAMC,WA0D1CqoC,GAAc1yB,aAAe,CAC3BC,OAAQC,IAAUC,QA4DLxE,oBAxDf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GACflzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGtB,IAAIpR,EAAW,GACX4oC,EAAiB,KACrB,GAAGruC,EAAM+X,eAAiB/X,EAAM+X,cAActS,YAE5C4oC,EAAiBruC,EAAM+X,cAAcE,SAEjB,CAGjB,IAFA,IAAI+/C,EAAch4D,EAAM+X,cAActS,SAClCwyD,EAAmB,KACf10D,EAAI,EAAGA,EAAIy0D,EAAYx0D,QAA8B,MAApBy0D,EAA0B10D,IACtC,aAAxBy0D,EAAYz0D,GAAZ,KACD00D,EAAmBD,EAAYz0D,IAIhC00D,IACDxyD,EAAQ,YAAOwyD,EAAiBzxD,cAKvC,IAAIqR,GAAc,EAKnB,OAJI7X,EAAM+X,gBACPF,EAAc7X,EAAM+X,cAAcF,aAG9B,CACLpS,SAAWA,EACX4oC,eAAgBA,EAChBx2B,YAAaA,EACbtB,aAAcK,EACdC,aAAcq8B,MAIlB,SAA4Bxa,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI0yC,EAAgBjS,GAAiBxI,MAIrEqI,CAA6C+2B,IC1ItD1sC,GAAIvK,OAAOuK,EAEX8sC,GAAiB,SAAC,GAAsB,IAApBrhD,EAAmB,EAAnBA,aAExB,OACE,6BAASiJ,UAAU,0DACjB,yBAAKA,UAAU,kFACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,gEACf,yBAAKuN,IAAI,GAAGD,IAAKnoB,sBAAgC6a,UAAU,eAE3D,yBAAKA,UAAU,4CACX,4BAAKjJ,EAAapV,IAAwBoV,EAAanV,qBAAuB,WAC9E,2BAAImV,EAAapV,IAAwBoV,EAAanV,qBAAuB,8BAC7E,uBAAGsgC,wBAAyBC,EAAmBprB,EAAapV,IAAwBoV,EAAanV,qBAAuB,8BAQhIy2D,GAAiB,SAAC,GAAsB,IAApBthD,EAAmB,EAAnBA,aAExB,OAEA,6BAASiJ,UAAU,sBACjB,yBAAKA,UAAU,iCACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,yBAEb,4BAAQw2C,YAAY,IAAIlpC,I3G7CE,oE2G6C+CtoB,GAAG,kBAAkByxD,MAAM,WAMxG,yBAAKz2C,UAAU,OACd,yBAAKA,UAAU,+BACf,uBAAGA,UAAU,WAAWkiB,wBAAyBC,EAAmBprB,EAAapV,IAAwBoV,EAAanV,qBAAuB,0BAU9I02D,G,YACF,WAAYl4D,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAER+S,gBAAkB,EAAKA,gBAAgB7S,KAArB,gBACvB,EAAKsP,qBAAuB,EAAKA,qBAAqBtP,KAA1B,gBAC5B,EAAKkV,eAAiB,EAAKA,eAAelV,KAApB,gBACtB,EAAKigB,2BAA6B,EAAKA,2BAA2BjgB,KAAhC,gBAClC,EAAK8S,aAAe,EAAKA,aAAa9S,KAAlB,gBACpB,EAAKuY,SAAW,EAAKA,SAASvY,KAAd,gBARQ,E,iFAazBtoB,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQqH,eACnBphC,KAAK43B,yB,6CAIN5S,GAAEV,UAAU+rC,OAAM,WAEfrrC,GAAE,UAAUsrC,aAAa,S,sCAKdv9B,GAEd/yB,KAAKlG,MAAMigC,QAAQlG,yBAAyBd,EAAMvN,OAAO9mB,IACrDsB,KAAKlG,MAAM6a,gBACZ3U,KAAK6gC,SAASjnB,KAGd5Z,KAAK6gC,SAASjnB,O,+BAIV+yB,GACL3sC,KAAKlG,MAAM8yC,QAAQ1vB,KAAKyvB,K,iDAGD5Z,GACxB/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAY,qBAC7C2E,KAAKlG,MAAM6a,gBACZ3U,KAAK6gC,SAASjnB,KAGd5Z,KAAK6gC,SAASjnB,O,mCAINmZ,GACR/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAY,gBAChD2E,KAAK6gC,SAASjnB,O,qCAGJmZ,EAAOhC,GAClB/wB,KAAKlG,MAAMigC,QAAQyH,qBAAqBzQ,EAAS11B,O,+BAKnD,IAAI83C,EAAgB,8BA8BlB,OA5BCnzC,KAAKlG,MAAM2W,eACX0iC,EAAgB,yBAAKz5B,UAAU,mBAE/B,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,eAE/B,kBAAC,GAAD,CAAgBM,aAAczQ,KAAKlG,MAAM2W,eAEzC,kBAAC,GAAD,CAAkBA,aAAczQ,KAAKlG,MAAM2W,eAE3C,kBAAC,GAAD,CAAgBA,aAAczQ,KAAKlG,MAAM2W,eAEzC,kBAAC,GAAD,CACG1X,IAAI,WACJsG,SAAUW,KAAKlG,MAAMuF,SACrBoR,aAAczQ,KAAKlG,MAAM2W,aACzB+sB,eAAgBx9B,KAAKw9B,eACrB7+B,MAAOqB,KAAKlG,MAAM2W,aAAapV,IAAwB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,kBACtG6e,WAAYna,KAAKlG,MAAM2W,aAAapV,IAAwB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,wBAE3G,kBAAC,GAAD,CAAmBvC,IAAI,aACpB4b,gBAAiB3U,KAAKlG,MAAM6a,gBAC5BymB,aAAcp7B,KAAKo7B,aACnBD,gBAAiBn7B,KAAKuoC,2BACtB93B,aAAczQ,KAAKlG,MAAM2W,iBAKvB0iC,M,GA9Fe/pB,IAAMC,WAkGtC2oC,GAAkBhzB,aAAe,CAC/BC,OAAQC,IAAUC,QA2CLxE,oBAxCf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GACflzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGtB,IAAIpR,EAAW,GACf,GAAGzF,EAAM+X,eAAiB/X,EAAM+X,cAActS,SAG5C,IADA,IAAI8+B,EAAI,KACAhhC,EAAI,EAAGA,EAAIvD,EAAM+X,cAActS,SAASjC,OAAQD,IACA,aAAhDghC,EAAIvkC,EAAM+X,cAActS,SAASlC,IAAImC,SACvCD,EAAS6d,KAAKihB,GAKvB,MAAO,CACLhuB,aAAcK,EACdC,aAAcq8B,EACdztC,SAAWA,EACXsV,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI0yC,EAAgBjS,EAAe5E,GAAmB5D,MAItFqI,CAA6Cq3B,ICxJ7CC,G,8GA5Dal9C,GAA0B,IAAfgR,EAAc,uDAAP,MAE/B7K,EAAUzf,IAA+B,aAAesqB,EAE3DxK,EAAU,GACXxG,IACDwG,EAAQ,cAAgBxG,GAE1B,IAAIoG,EAAU,CACTC,OAAQ,MACRC,KAAM,OACNC,YAAa,UACbC,QAASA,GAGZ,OAAOI,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAEtB,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAMlCK,OAAM,SAAUC,GAChB,MAAMA,O,qCAIMpH,GAA8B,IAAnBgR,EAAkB,uDAAb,MAAO2I,EAAM,uCAE1CxT,EAAUzf,IAA+B,aAAesqB,EAC3DxK,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAE1B,IAAIoG,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAUgT,IAGxB,OAAO/S,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAE5B,OAAKA,EAASC,GAILD,EAHAG,QAAQC,OAAOJ,MAM5BK,OAAM,SAAUC,GAChB,MAAMA,S,KCUH+1C,IAnELz3C,OAAOuK,E,YAGf,WAAYlrB,EAAOsuB,GAAU,qEACrBtuB,EAAOsuB,I,6HAMIG,EAAWC,M,+BAIpB,IAAD,EACiFxoB,KAAKlG,MAAxFi5C,EADE,EACFA,QAASof,EADP,EACOA,yBAA0BC,EADjC,EACiCA,YAAaC,EAD9C,EAC8CA,gBAC/CC,EAFC,EAC+DC,eACvCH,GAAf,YAEVI,EAAwBJ,IAAgBC,EAAgBI,kCAC7BL,IAAgBC,EAAgBK,4BAEhCN,IAAgBC,EAAgBM,sBAE7DC,EAAiB,8BACjBC,EAAuB,8BAW3B,GATI9f,IACF6f,EACE,yBAAKl5C,UAAU,eACb,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,iBAAiBkiB,wBAAyBC,EAAmBkX,QAKhFof,IAA6BG,IAAYE,EAAuB,CAClE,IAAMM,EAAcX,EAAyB/rC,KAAI,SAAC2sC,EAAS51D,GAAV,OAC/C,wBAAIpE,IAAKoE,GACP,uBAAGuc,UAAU,cAAcsM,cAAY,UAAUosB,iBAAe,MAAMQ,aAAYmgB,EAAQxyD,aACxF,yBAAKmZ,UAAU,0CACf,yBAAKA,UAAU,yBAAyBq5C,EAAQhgB,cAKlD+f,EAAY11D,OAAS,IACvBy1D,EACE,yBAAKn5C,UAAU,uBACb,yBAAKA,UAAU,oDACb,wBAAIA,UAAU,yBACXo5C,MAab,OALE,yBAAKp5C,UAAU,oBACZk5C,EACAC,O,GA1DwBzpC,IAAMC,YC8CxB2pC,GAjDe,SAAC,GAI7B,IAJ6H,IAA/FC,EAA8F,EAA9FA,SAAUvkC,EAAoF,EAApFA,KAAMwkC,EAA8E,EAA9EA,WAAYC,EAAkE,EAAlEA,iBAAkE,KAAhDlgB,MAAgD,EAAzCmgB,eAAyC,aAA3BC,qBAA2B,SAExHC,EAAMH,EAEDh2D,EAAIg2D,EAAkBh2D,EAAI+1D,EAAW91D,OAAQD,IAChD+1D,EAAW/1D,GAAX,SACFm2D,IAOJ,IAFA,IAAIC,GAAW,EAENp2D,EAAIg2D,EAAmB,EAAGh2D,GAAK,IAAMo2D,EAAUp2D,IACnD+1D,EAAW/1D,GAAX,UACDo2D,GAAW,GAIf,IAAI/E,EAAc0E,EAAWC,GAAX,YAEdK,EAAWL,EAAmBG,EAAM,EACpCG,EAAWN,GAAoBG,EAAM,IAAM5kC,EAAI,mBAC/CuwB,EAAWuP,EAAc,GAAG,WAOhC,OAJKA,GAAevP,GAAYvwB,EAAI,uBAClC8kC,GAAW,GAIX,oCACEH,GACA,yBAAK35C,UAAU,4BACb,yBAAKye,MAAM,kDACTo7B,GAAYF,GAAkB,4BAAQ35C,UAAU,8CAA8CwP,MAAO,CAACqjC,SAAS,SAAUxlC,QAAS,kBAAMksC,GAAS,KAAnH,SAEhC,yBAAK96B,MAAM,aACTq7B,IAAaC,IAAaL,GAAU,4BAAQrtC,KAAK,SAAUgB,QAAS,kBAAMksC,GAAS,IAAOv5C,UAAU,4CAA4CwP,MAAO,CAACqjC,SAAS,UAA7H,SACnCiH,GAAYC,IAAaL,GAAU,4BAAQrtC,KAAK,SAASgB,QAAS,kBAAMksC,GAAS,EAAM,SAASv5C,UAAU,4CAA4CwP,MAAO,CAACqjC,SAAS,UAApI,UAKtCgH,GAAYH,GAAW,uBAAG15C,UAAU,OAAOqN,QAAS,kBAAMksC,GAAS,KAAQ,yBAAKjsC,IAAKnoB,0BAAoC6a,UAAU,YAAYuN,IAAI,KAA5H,WCyChBysC,GAnFW,SAAC,GAAiG,IAAhGC,EAA+F,EAA/FA,gBAAiBpB,EAA8E,EAA9EA,eAAgBH,EAA8D,EAA9DA,YAAazzD,EAAiD,EAAjDA,MAAiD,IAA1C+vB,YAA0C,MAArC,KAAqC,MAA/BukC,gBAA+B,MAAtB,KAAsB,MAAhBhgB,aAAgB,MAAV,KAAU,EAErH2gB,EAAM,EACNC,EAAY,EACZ12D,EAAI,EAER,GAAIw2D,GAAmBpB,EAAgB,CACtBA,EAAeH,IAAeG,EAAeH,GAAa73C,SAEzE,IAAKpd,EAAI,EAAGA,EAAIw2D,EAAgBv2D,OAAQD,IAClCw2D,EAAgBx2D,GAAhB,WACEw2D,EAAgBx2D,GAAhB,aAAsCw2D,EAAgBx2D,GAAhB,qBAA6Ci1D,GAAej1D,IACpG02D,IAEFD,KAIJ,IAAIE,EAAc,IAASF,EAC3BE,EAAaA,EAAWpmC,QAAQ,GAIhC,IAFA,IAAIqmC,EAAO,EAEHD,EAAaF,EAAM,KAAQG,EAAO,GACxCD,IACAC,IAGF,IAAIC,EAAW,CACbhrB,MAAO8qB,EAAa,KAGlBD,EAAY,GACdA,IAQF,IADA,IAAII,EAAW,GACN9oC,EAAI,EAAGA,EAAIyoC,EAAKzoC,IACnBA,EAAI0oC,EACNI,EAAS/2C,KAAK,yBAAKnkB,IAAKoyB,EAAGjC,MAAO8qC,EAAUt6C,UAAU,2CAGtDu6C,EAAS/2C,KAAK,yBAAKnkB,IAAKoyB,EAAGjC,MAAO8qC,EAAUt6C,UAAU,mBAI5D,OACE,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,wCACZgV,EAAI,gBACG,kBAAC,GAAD,CACEA,KAAMA,EACNukC,SAAUA,EACVC,WAAYS,EACZR,iBAAkBf,EAClBnf,MAAOA,EACPmgB,QAAQ,KAIpB,yBAAK15C,UAAU,8BACb,uBAAG1a,KAAK,IAAI0a,UAAU,QAAO,yBAAKsN,IAAKnoB,0BAAoC6a,UAAU,YAAYuN,IAAI,OAEvG,yBAAKvN,UAAU,2BACb,4BAAI,8BAAOm6C,EAAP,IAAkB,0BAAMn6C,UAAU,cAAlC,IAAuDk6C,GAA3D,IAAwEj1D,IAE1E,yBAAK+a,UAAU,2BACb,uBAAG1a,KAAM4a,IAAkCF,UAAU,cAAa,yBAAKsN,IAAKnoB,mBAA6B6a,UAAU,YAAYuN,IAAI,YCzEzIitC,GAAc,SAAC,GAA8D,IAA7DP,EAA4D,EAA5DA,gBAAiBtB,EAA2C,EAA3CA,gBAAiBE,EAA0B,EAA1BA,eAAgB7jC,EAAU,EAAVA,KAClEylC,EAAuC,oBAAnBzlC,EAAKylC,UACXzlC,EAAKylC,UAAUR,EAAiBtB,EAAiBE,GACjD7jC,EAAKylC,UAERA,GAAiBzlC,EAAKnU,SAErC,OACE,oCACA,4BAAK45C,GACL,2BAAIzlC,EAAI,oBA8IG0lC,GAxIsB,SAAC,GAcsC,IAdrCC,EAcoC,EAdpCA,qBACC3lC,EAamC,EAbnCA,KACA4lC,EAYmC,EAZnCA,aACAlC,EAWmC,EAXnCA,YACAmC,EAUmC,EAVnCA,UACAC,EASmC,EATnCA,SACAC,EAQmC,EARnCA,eACA7/C,EAOmC,EAPnCA,WACAq+B,EAMmC,EANnCA,MACA0gB,EAKmC,EALnCA,gBACAtB,EAImC,EAJnCA,gBACAE,EAGmC,EAHnCA,eAGmC,IAFnCmC,kBAEmC,MAFvB,KAEuB,MADnC3hB,eACmC,MAD3B,KAC2B,MAAnCof,gCAAmC,MAAV,KAAU,EAErE9oC,EAAYgrC,EAAqB3lC,EAAI,MAEpCrF,IACHA,EAAY,+BAUd,IAAIsrC,EAAW,mDACXC,GAAS,EAcb,OAVGlmC,EAAI,eAAJ,SACEA,EAAI,eAAJ,QAAkCtxB,OAAS,GACzCsxB,EAAI,eAAJ,QAAkC,GAAlC,SACDimC,EAAW,8BACXC,GAAS,GAOf,6BAAS77D,IAAKq5D,EAAa14C,UAAW,4BACpC,yBAAKA,UAAU,aACd,yBAAKA,UAAU,OACd,yBAAKA,UAAWi7C,GACZ,kBAAC,GAAD,CACEhB,gBAAiBA,EACjBtB,gBAAiBA,EACjBE,eAAgBA,EAChB7jC,KAAMA,IAGTkmC,GACC,oCACA,0BAAMl7C,UAAW,cACf,yBAAKA,UAAU,OACX,kBAAC2P,EAAD,CACEqF,KAAMA,EACN6lC,UAAWA,EACXC,SAAUA,EACVC,eAAgBA,EAChB7/C,WAAYA,EACZ2F,SAAS,GACT04B,MAAOA,EACP0gB,gBAAiBA,EACjBtB,gBAAiBA,EACjBE,eAAgBA,KAGf7jC,EAAI,gBACD,kBAAC,GAAD,CACEA,KAAMA,EACNukC,SAAUyB,EACVxB,WAAYS,EACZR,iBAAkBf,EAClBnf,MAAOA,EACPogB,eAAgB,IAGxB,kBAAC,GAAD,CACItgB,QAASA,EACTof,yBAA0BA,EAC1BC,YAAaA,EACbC,gBAAiBA,EACjBE,eAAgBA,MAIzB7jC,EAAI,cAAoB,8BAAOA,EAAI,gBAGnCkmC,GACD,0BAAMl7C,UAAWgV,EAAI,eAAJ,WAAwC,EAAI,cAAgB,IACzE,kBAACrF,EAAD,CACEqF,KAAMA,EACN6lC,UAAWA,EACXC,SAAUA,EACVC,eAAgBA,EAChB7/C,WAAYA,EACZ2F,SAAS,GACT04B,MAAOA,EACP0gB,gBAAiBA,EACjBtB,gBAAiBA,EACjBE,eAAgBA,KAGf7jC,EAAI,gBACD,kBAAC,GAAD,CACEA,KAAMA,EACNukC,SAAUyB,EACVxB,WAAYS,EACZR,iBAAkBf,EAClBnf,MAAOA,EACPogB,eAAgB,IAGpB,kBAAC,GAAD,CACEtgB,QAASA,EACTof,yBAA0BA,EAC1BC,YAAaA,EACbC,gBAAiBA,EACjBE,eAAgBA,UCzH7B,IAqDQsC,GArDU,SAAC,GAYc,IAZbR,EAYY,EAZZA,qBACChC,EAWW,EAXXA,gBACAE,EAUW,EAVXA,eACA+B,EASW,EATXA,aACAlC,EAQW,EARXA,YACAuB,EAOW,EAPXA,gBACAa,EAMW,EANXA,SACAC,EAKW,EALXA,eACAC,EAIW,EAJXA,WACAI,EAGW,EAHXA,mBACA3C,EAEW,EAFXA,yBACAv9C,EACW,EADXA,WACAq+B,EAAW,EAAXA,MAEtB8hB,EAhCN,SAAuBxC,EAAgByC,EAAaC,GAClD,IAAIpwC,EAAO,KAEX,GAAI0tC,GAAkByC,EAAa,CACjC,IAAI73D,EAAI,EACJ+3D,GAAQ,EAEZ,IAAK/3D,EAAI,EAAGA,EAAIo1D,EAAen1D,SAAW83D,EAAO/3D,IAC3Co1D,EAAep1D,GAAG63D,IAAgBC,IACpCC,GAAQ,EACRrwC,EAAO0tC,EAAep1D,IAK5B,OAAO0nB,EAiBkBswC,CAAc5C,EAAgB,OAAQH,GAC3D5oC,EAAY,8BAEhB,GAAIurC,EAAmB,CACrB,IAAIK,EAAyBzB,EAAe,MAAUvB,GAEtD5oC,EAAY,yBAAK9P,UAAU,cACb,kBAAC,GAAD,CACEi6C,gBAAiBA,EAAe,MAChCpB,eAAgBA,EAChBH,YAAaA,EACbzzD,MAAOo2D,EAAiB,SACxBrmC,KAAMqmC,EACN9B,SAAUyB,EACVzhB,MAAOA,IAET,kBAAC,GAAD,CACEohB,qBAAsBA,EACtB3lC,KAAMqmC,EACNT,aAAcA,EACdlC,YAAaA,EACbmC,UAAWa,EACXZ,SAAUA,EACVC,eAAgBA,EAChB7/C,WAAYA,EACZq+B,MAAOA,EACP0gB,gBAAiBA,EAAe,MAChCtB,gBAAiBA,EACjBE,eAAgBA,EAChBmC,WAAYA,EACZ3hB,QAAS+hB,EACT3C,yBAA0BA,KAK5C,OAAQ3oC,GCxEG6rC,GAAqB,WAE9BrwC,IAAE,eAAeK,GAAG,SAAS,WACzBL,IAAEhlB,MAAMkpC,SAAS,SACZlkB,IAAEhlB,MAAMwnB,SAAS,mBAClBxC,IAAE,4BAA4BswC,KAAK,WAAW,OCoB7CC,GAAb,YAoBE,WAAYz7D,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACX+5D,gBAAkB,EAAK6B,mBACvBnD,gBAAiB,EAAKoD,gBACtBlD,eAAgB,EAAKmD,qBACrBrB,qBAAsB,EAAKsB,uBAC3BZ,kBAAmB,EACnBa,mBAAoB,KACpBd,mBAAoB,GACpB3C,yBAA0B,KAE1B0D,kBAAmB,sCACnBC,sBAAsB,EACtBrzC,UAAU,GAGZ,EAAKwwB,MAAQ,EAAK8iB,YAElB,EAAKjxC,WAAa,EAAKA,WAAWwD,KAAhB,gBAClB,EAAKksC,SAAW,EAAKA,SAASlsC,KAAd,gBAChB,EAAKosC,WAAa,EAAKA,WAAWpsC,KAAhB,gBAClB,EAAK0tC,gBAAkB,EAAKA,gBAAgB1tC,KAArB,gBACvB,EAAKmsC,eAAiB,EAAKA,eAAensC,KAApB,gBACtB,EAAK2tC,sBAAwB,EAAKA,sBAAsB3tC,KAA3B,gBAC7B,EAAK4tC,eAAiB,EAAKA,eAAe5tC,KAApB,gBACtB,EAAKktC,iBAAmB,EAAKA,iBAAiBltC,KAAtB,gBACxB,EAAK6tC,uBAAyB,EAAKA,uBAAuB7tC,KAA5B,gBAC9B,EAAKotC,mBAAqB,EAAKA,mBAAmBptC,KAAxB,gBAC1B,EAAKqtC,qBAAuB,EAAKA,qBAAqBrtC,KAA1B,gBAC5B,EAAKmtC,cAAgB,EAAKA,cAAcntC,KAAnB,gBACrB,EAAKytC,UAAY,EAAKA,UAAUztC,KAAf,gBACjB,EAAK8tC,oBAAsB,EAAKA,oBAAoB9tC,KAAzB,gBAC3B,EAAK+tC,YAAc,EAAKA,YAAY/tC,KAAjB,gBACnB,EAAKguC,gBAAkB,EAAKA,gBAAgBhuC,KAArB,gBACvB,EAAKiuC,wBAA0B,EAAKA,wBAAwBjuC,KAA7B,gBAC/B,EAAKkuC,yBAA2B,EAAKA,yBAAyBluC,KAA9B,gBArCN,EApB9B,wEAEciqC,EAAgByC,EAAaC,GACvC,IAAIpwC,EAAO,KAEX,GAAI0tC,GAAkByC,EAAa,CACjC,IAAI73D,EAAI,EACJ+3D,GAAQ,EAEZ,IAAK/3D,EAAI,EAAGA,EAAIo1D,EAAen1D,SAAW83D,EAAO/3D,IAC3Co1D,EAAep1D,GAAG63D,IAAgBC,IACpCC,GAAQ,EACRrwC,EAAO0tC,EAAep1D,IAK5B,OAAO0nB,MAjBX,wDA6DI,OAAO,OA7DX,kCAiEI,OAAO,OAjEX,6CAqEI,OAAO,OArEX,sCAyEI,OAAO,OAzEX,2CA6EI,OAAO,OA7EX,0CAgFsBH,GAClB1kB,KAAKi4B,SAAS,CAACk6B,yBAA0BztC,MAjF7C,kCAoFc+xC,EAAgBC,MApF9B,sCAuFkBC,EAAUpC,EAAWqC,EAAiB1D,EAAY2D,MAvFpE,qCA0FiBC,EAAWJ,EAAgBtE,MA1F5C,6CA6FyBC,EAAiBa,MA7F1C,8CAgG0B6D,EAAaC,MAhGvC,+CAmG2B9D,GACvB,OAAO,OApGX,0CAwGMlzD,KAAKi3D,kBACLx8C,OAAOy8C,SAAS,EAAE,GDpHpBlyC,IAAEV,UAAUe,GAAG,SAAS,SAAUnrB,GACzB8qB,IAAE,eAAeO,GAAGrrB,EAAEsrB,SAAqD,IAA1CR,IAAE,eAAeS,IAAIvrB,EAAEsrB,QAAQpoB,QACnE4nB,IAAE,eAAeyC,YAAY,YAInC4tC,OCKJ,gDA8G4B3jB,MA9G5B,6EA4HM,OACE,yBAAKh4B,UAAU,qBACb,kBAAC,GAAD,CACI26C,qBAAsBr0D,KAAKpG,MAAMy6D,qBACjChC,gBAAiBryD,KAAKpG,MAAMy4D,gBAC5BsB,gBAAiB3zD,KAAKpG,MAAM+5D,gBAC5BpB,eAAgBvyD,KAAKpG,MAAM24D,eAC3BuC,mBAAoB90D,KAAKpG,MAAMk7D,mBAC/B3C,yBAA0BnyD,KAAKpG,MAAMu4D,yBACrCqC,SAAUx0D,KAAKw0D,SACfC,eAAgBz0D,KAAKy0D,eACrBC,WAAY10D,KAAK00D,WACjBtC,YAAapyD,KAAKpG,MAAMm7D,kBACxBT,aAAct0D,KAAKpG,MAAMg8D,mBACzBhhD,WAAY5U,KAAKlG,MAAM8a,WACvBq+B,MAAOjzC,KAAKizC,WA3I1B,qCAiJiBvkB,EAAM6lC,GAEjBv0D,KAAKs2D,gBAAgB5nC,EAAM6lC,EAAWv0D,KAAKpG,MAAM24D,eAAgBvyD,KAAKpG,MAAM+5D,gBAAiB3zD,KAAKpG,MAAMm7D,mBACxG/0D,KAAKk2D,eAAe,qBAAsBl2D,KAAKpG,MAAM24D,eAAevyD,KAAKpG,MAAMm7D,mBAArC,GAA+DrmC,EAAI,MAG7G,IAAIyoC,EAAe/8D,OAAOC,OAAO,GAAI2F,KAAKpG,MAAM+5D,iBAEhD3zD,KAAKi2D,sBAAsBkB,GAC3Bn3D,KAAKi4B,SAAS,CAAC07B,gBAAiBwD,IAChCn3D,KAAK00D,YAAW,KA3JtB,sCA8JkB0C,EAAS7C,EAAWsC,GAClC,IAAIxX,EAAe,KAEnB,IAAI+X,EAAO,eAET,GAAI7C,EAAS,eAAqB6C,EAAO,gBAAsBA,EAAO,eAAP,QAAuCA,EAAO,eAAP,OAAoCh6D,OAAS,EAAG,CAIpJ,IAHA,IAAIi6D,GAAU,EACVC,EAASF,EAAO,eAAP,OAEJj6D,EAAI,EAAGA,EAAIm6D,EAAOl6D,SAAWi6D,EAASl6D,IACzCo3D,EAAUgD,cAAcp6D,KAC1Bk6D,GAAU,GAIVA,IACFhY,EAAe,gCAEZ,GAAIkV,EAAS,eAAqBA,EAAS,cAAkBn3D,OAAS,EAAG,CAG9E,IAAIo6D,EAAe,EACftC,GAAQ,EAEZ,IAAKsC,EAAe,EAAGA,EAAejD,EAAUkD,cAAcr6D,SAAW83D,EAAOsC,IAC3EjD,EAAUkD,cAAcD,KACzBtC,GAAQ,GAIPA,EAICkC,EAAO,mBACN7C,EAAUkD,cAAcL,EAAO,sBAE5B7C,EAAS,oBACXlV,EAAe,4BAPrBA,EAAe,sCAerB,OAAOA,IA5MX,4CA+MwB6T,GACpB,IAAIb,EAAkBryD,KAAKy1D,gBAC3Bz1D,KAAKm2D,uBAAuB9D,EAAiBa,KAjNjD,+BAoNWwE,EAAQb,EAAWvhC,EAAUqiC,EAAYC,EAAgBC,GAAoB,IAAD,OAE/EC,GAAiB,EACjBC,EAAa39D,OAAOC,OAAO,GAAI2F,KAAKpG,MAAM+5D,iBAC1C8C,EAAiBsB,EAAW/9C,MAAM68C,GAQtCJ,EAAepX,aAAe,GAE9B,IAAI+X,EAAUp3D,KAAKpG,MAAM24D,eAAesE,GAExC,GAAgB,KAAZvhC,GAAmBqiC,GAAclB,EAAeuB,kBAEhDvB,EAAeuB,kBAAoBL,EACnClB,EAAewB,SAAU,OACtB,GAAgB,YAAZ3iC,GAA0BuiC,EACnC,IAAK,IAAIK,EAAU,EAAGA,EAAUL,EAAmBz6D,OAAQ86D,IACrDzB,EAAc,cAAkBoB,EAAmBK,GAAnB,WAA4CL,EAAmBK,GAAnB,aAC9EzB,EAAc,cAAkBoB,EAAmBK,GAAnB,UAA2CL,EAAmBK,GAAnB,WAC3EzB,EAAewB,SAAU,OAMxB,CAEL,GADAxB,EAAewB,SAAU,EACtBb,EAAO,qBAAyB,CAEjC,IAAIj6D,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAIs5D,EAAegB,cAAcr6D,OAAQD,IAC9CA,GAAKm4B,IACJmhC,EAAegB,cAAct6D,GAKjCs5D,EAAegB,cAAct6D,IAAK,GAMpCs5D,EAAegB,cAAcr6D,OAAS,IAEpCg6D,EAAO,uBACTX,EAAegB,cAAcniC,IAAY,EAEzCmhC,EAAegB,cAAcniC,IAAamhC,EAAegB,cAAcniC,IAQ7E,IAAI+pB,EAAgBr/C,KAAKg2D,gBAAgBoB,EAASX,EAAgBI,GAE7DxX,EAYHoX,EAAejI,aAAc,GAX7BiI,EAAejI,aAAc,EAC7BnP,EAAe,sCAEX+X,EAAO,qBACTU,GAAiB,GAGfF,IACFE,GAAiB,IAOrB93D,KAAKi2D,sBAAsB8B,GAE3B/3D,KAAKi4B,SAAS,CAAC07B,gBAAkBoE,EAAYjD,mBAAoB,GAAIe,kBAAmBxW,IAAe,WAClGyY,GACD,EAAKpD,YAAW,QAxSxB,iCA6SayD,EAAavnC,GAEtB,GAAkB,QAAdA,EAEFnW,OAAOC,SAAS1b,KAAO4a,QAElB,CACL,IAAMm+C,EAAa39D,OAAOC,OAAO,GAAI2F,KAAKpG,MAAM+5D,iBAC1C8C,EAAiBsB,EAAW/9C,MAAMha,KAAKpG,MAAMm7D,mBAE7CqD,EAAmBp4D,KAAKpG,MAAM+5D,gBAAgB35C,MAAMha,KAAKpG,MAAMm7D,mBAE/DsD,EAA2Br4D,KAAKw2D,yBAAyBx2D,KAAKpG,MAAM+5D,iBAE1E,GAAI3zD,KAAKpG,MAAMu4D,yBAA0B,CACrC,IAAImG,EAAoB,KACrBt4D,KAAKpG,MAAMu4D,yBAAyB/0D,OAAS,GACzCi7D,IACCC,EAAoBD,EAAyBD,EAAkBp4D,KAAKpG,MAAM+5D,gBAAgB35C,MAAOha,KAAKpG,MAAM24D,gBAAgBgG,WAIpIv4D,KAAKo2D,oBAAoBkC,GAG7B,GAAIH,EAAa,CACf,IAAIf,EAAUp3D,KAAKpG,MAAM24D,eAAevyD,KAAKpG,MAAMm7D,mBAC/CyD,GAAc,EAElB,GAAIpB,EAAQqB,SAAU,CAClB,IAAMjS,EAAmB4Q,EAAQqB,SAASL,EAAkBp4D,KAAKpG,MAAM+5D,gBAAgB35C,MAAOha,KAAKpG,MAAM24D,gBACzGiG,EAAchS,EAAiB7pC,QAC/By7C,EAAiB/Y,aAAemZ,EAAc,GAAKhS,EAAiBnH,aAKxE,KAF0Br/C,KAAKpG,MAAMk7D,oBAAsB0D,EAKzD,GAFAx4D,KAAKi4B,SAAS,CAAE68B,mBAAoB,KAEhC2B,EAAejI,aAAeiI,EAAc,oBAAyB,CAGtE,IAFD,IAAIiC,EAAkB14D,KAAKpG,MAAMm7D,kBAC5BxX,EAAUv9C,KAAKpG,MAAMm7D,kBAAoB,EACvCxX,EAAUwa,EAAW/9C,MAAM5c,SAAW26D,EAAW/9C,MAAMujC,GAASY,SACpEZ,IAcH,GAXIA,GAAWwa,EAAW/9C,MAAM5c,SAC5BmgD,EAAUmb,GAIVjC,EAAewB,UACdj4D,KAAKq2D,YAAYI,EAAgBz2D,KAAKpG,MAAM24D,eAAemG,IAC3DjC,EAAewB,SAAU,EACzBj4D,KAAKi4B,SAAS,CAAC07B,gBAAkBoE,KAGnC/3D,KAAKpG,MAAM24D,eAAehV,GAA1B,aACE8a,EAAyB,CAC1B,IAAIC,EAAoBD,EAAyBD,EAAkBp4D,KAAKpG,MAAM+5D,gBAAgB35C,MAAOha,KAAKpG,MAAM24D,gBAAgBgG,UAChIv4D,KAAKo2D,oBAAoBkC,GAI1B/a,GAAWmb,IACV14D,KAAKi4B,SAAS,CAAC88B,kBAAoBxX,EAASqY,mBAAoB51D,KAAKpG,MAAMm7D,kBAAmBD,mBAAoBiD,EAAW/9C,MAAMujC,GAAS8B,eAG5Ir/C,KAAKk2D,eAAe,YAAal2D,KAAKpG,MAAM24D,eAAehV,GAAS7+C,GAAI6+C,SAI5Ev9C,KAAKi4B,SAAS,CAAC68B,mBAAoB90D,KAAKpG,MAAMi8D,yBAIhD71D,KAAKi4B,SAAS,CAAE68B,mBAAoBsD,EAAiB/Y,mBAKpD,CAOH,IAFA,IAAIsZ,EAAe1jE,SAAS+K,KAAKpG,MAAMm7D,kBAAmB,IAAM,EAEzD4D,GAAgB,IAAMZ,EAAW/9C,MAAM2+C,GAAcxa,SAC1Dwa,MAGGA,GAAiBA,EAAe,KACnCA,EAAe,GAGbZ,EAAW/9C,MAAM2+C,GAAcxa,UACjCn+C,KAAKi4B,SAAS,CACZ88B,kBAAoB4D,EACpB/C,mBAAoB51D,KAAKpG,MAAMm7D,kBAC/BD,mBAAoBiD,EAAW/9C,MAAM2+C,GAActZ,eAErDr/C,KAAKk2D,eAAe,YAAal2D,KAAKpG,MAAM24D,eAAeoG,GAAcj6D,GAAIi6D,KAKnFtD,OAzZJ,wCAgaM,IAAI0B,EAAc/2D,KAAKpG,MAAM+5D,gBACvBpB,EAAiBvyD,KAAKpG,MAAM24D,eAC9BY,EAAmBnzD,KAAKpG,MAAMm7D,kBAC9B6D,GAAW,EAEf,GAAG54D,KAAKlG,MAAM++D,iBAAmB74D,KAAKpG,MAAMk8D,qBAAqB,CAC/D,IAAIgD,EAAc94D,KAAKlG,MAAM++D,eAK7B,GAFA74D,KAAKi4B,SAAS,CAAC69B,sBAAsB,IAElCgD,EAAY9+C,OAAS8+C,EAAY9+C,MAAM5c,OAAS,EAAE,CACnD25D,EAAc38D,OAAOC,OAAO,GAAI2F,KAAKpG,MAAM+5D,iBAc3C,IAAI,IAAIx2D,EAAI,EAAGA,EAAI45D,EAAY/8C,MAAM5c,OAAQD,IAAI,CAC/C,IAAI47D,EAAShC,EAAY/8C,MAAM7c,GAC3Bi6D,EAAUp3D,KAAKpG,MAAM24D,eAAep1D,GAGpC67D,EAAWh5D,KAAK8kB,WAAWg0C,EAAY9+C,MAAO,WAAYo9C,EAAQ14D,IACtE,GAAGs6D,EAAS,CAGV,GAFAD,EAAMvK,YAAcwK,EAASxK,YAE1BwK,EAAQ,cAAkB,CACzB,IAAI,IAAI7tC,EAAI,EAAGA,EAAI6tC,EAASvB,cAAcr6D,OAAQ+tB,IAC3C6tC,EAASvB,cAActsC,KACxB4tC,EAAMtB,cAActsC,IAAK,GAI5B6tC,EAAQ,oBACTD,EAAMf,kBAAoBgB,EAAQ,mBAIvC,GAAGA,EAAQ,eAAqBD,EAAK,cACjC,IAAI,IAAI5tC,EAAI,EAAGA,EAAI6tC,EAASzB,cAAcn6D,OAAQ+tB,IAC3C6tC,EAASzB,cAAcpsC,KACxB4tC,EAAMxB,cAAcpsC,GAAK6tC,EAASzB,cAAcpsC,OASnEnrB,KAAKi2D,sBAAsBj2D,KAAKpG,MAAM+5D,iBAGtC,IAAI,IAAIx2D,EAAI,EAAGA,EAAI45D,EAAY/8C,MAAM5c,SAAWw7D,EAAUz7D,IAAI,CAC1C45D,EAAY/8C,MAAM7c,GACrBghD,SAAYya,EAInBA,GAAW,EAHbzF,IAORnzD,KAAKk2D,eAAe,YAAal2D,KAAKpG,MAAM24D,eAAevyD,KAAKpG,MAAMm7D,mBAAoB/0D,KAAKpG,MAAMm7D,mBAGrG,IAAK,IAAI53D,EAAI,EAAGA,EAAI45D,EAAY/8C,MAAM5c,OAAQD,IAAK,CACjD,IAAIo3D,EAAYwC,EAAY/8C,MAAM7c,GAC9Bi6D,EAAU7E,EAAep1D,GAE7B,GAAIo3D,EAAUpW,SAAWiZ,EAAQqB,SAAU,CACzC,IAAMjS,EAAmB4Q,EAAQqB,SAASlE,EAAWhC,GAEhD/L,EAAiB7pC,UACpB43C,EAAUlV,aAAemH,EAAiBnH,eAOhD,OAFAr/C,KAAKi4B,SAAU,CAAC07B,gBAAiBoD,EAAahC,kBAAmB5B,EAAkB1wC,SpHnf/Ew2C,UAAUC,UAAUt+C,MAAM,aAChCq+C,UAAUC,UAAUt+C,MAAM,WAC1Bq+C,UAAUC,UAAUt+C,MAAM,YAC1Bq+C,UAAUC,UAAUt+C,MAAM,UAC1Bq+C,UAAUC,UAAUt+C,MAAM,UAC1Bq+C,UAAUC,UAAUt+C,MAAM,gBAC1Bq+C,UAAUC,UAAUt+C,MAAM,oBoH+ejBm8C,MA1fb,GAAqC3tC,IAAMC,WA8f3CksC,GAAgBv2B,aAAe,CAC7BC,OAAQC,IAAUC,QCxhBpB,IA6Deg6B,GA7DS,SAAC,GAAgK,IAA/Jt0C,EAA8J,EAA9JA,KAAMu0C,EAAwJ,EAAxJA,WAA2BC,GAA6H,EAA5I9+C,SAA4I,EAA7H8+C,YAAYtyC,EAAiH,EAAjHA,QAAiH,IAAxGuyC,4BAAwG,aAA3EC,0BAA2E,MAAvD,KAAuD,MAAjDC,sBAAiD,MAAlC,KAAkC,MAA5BC,yBAA4B,MAAV,KAAU,EAElLC,EAAcN,EAAa,EAAI,mBAAqB,cACpDO,EAAuBP,EAAa,EAAI,iBAAmB,GAC3DQ,EAAmBD,GAAwBN,EAAa,SAAU,IACtEO,GAAsBP,GAAsC,IAAxBM,EAA8B,UAAW,GAC7E,IAAI5zC,EAAOqzC,EAAa,EAAI,WAAa,QAGrCS,EAAgBh1C,EAAI,cAGpBi1C,EAAa,SAACC,GACA,SAAXA,GAGHhzC,KA0CJ,OAvCIlC,EAAI,OACDg1C,EAWU,yBAAKngD,UAAU,4BAA4Bm9B,SAAU9vB,GACpD,2BAAOrN,UAAU,yDAAyDqM,KAAK,QAAQrnB,GAAI,OAASmmB,EAAI,GAAQtL,KAAM,OAASsL,EAAI,GAASk2B,QAASse,IACrJ,2BAAO3/C,UAAU,mBAAmB+gC,QAAS,OAAS51B,EAAI,GAAQqE,MAAO,CAAC8wC,WAAW,SACjF,yBAAKhzC,IAAKnC,EAAI,OAAYnL,UAAU,YAAYuN,IAAI,KACpDpC,EAAI,QAdV,yBAAKnL,UAAU,4BAA4Bm9B,SAAU9vB,GACnD,2BAAOrN,UAAU,yDAAyDqM,KAAK,QAAQrnB,GAAI,OAASmmB,EAAI,GAAQtL,KAAM,OAASsL,EAAI,GAASk2B,QAASse,IACrJ,2BAAO3/C,UAAU,wCAAwC+gC,QAAS,OAAS51B,EAAI,GAAQqE,MAAO,CAAC8wC,WAAW,OAAQzuB,QAAS,SACxH,yBAAKvkB,IAAKnC,EAAI,OAAYnL,UAAU,iBAAiBuN,IAAI,KACxDpC,EAAI,QAerBy0C,EAEe,0BAAM3iB,SAAU4iB,GACd,yBAAK7/C,UAAW,yBAAyBkgD,EAAkB7yC,QAAS,SAAC7sB,GAAQ4/D,EAAW5/D,EAAEsrB,OAAOu0C,WAC/F,2BAAOrgD,UAAU,aAAa+gC,QAAS,OAAS51B,EAAI,IAASA,EAAI,OACjE,2BAAOnL,UAAU,aAAaqM,KAAK,OAAOrnB,GAAI,OAASmmB,EAAI,GAAQtL,KAAM,OAASsL,EAAI,GAAQiyB,YAAY,kBAAkB10B,MAAOo3C,EAAgB3iB,SAAU4iB,EAAmBQ,eAAgBZ,MAMxM,yBAAK3/C,UAAU,cACb,2BAAOA,UAAW,iCAAmCggD,EAAa3zC,KAAMA,EAAMrnB,GAAI,OAASmmB,EAAI,GAAQtL,KAAM,OAASsL,EAAI,GAASk2B,QAASse,EAAYtyC,QAASA,IACjK,2BAAOrN,UAAU,mBAAmB+gC,QAAS,OAAS51B,EAAI,IAASA,EAAI,SCuC5Eq1C,GA3FU,SAAC,GAAkD,IAAjDxrC,EAAgD,EAAhDA,KAAM6lC,EAA0C,EAA1CA,UAAWC,EAA+B,EAA/BA,SAAoBvhB,GAAW,EAArB14B,SAAqB,EAAX04B,OAC1DzpB,EAAY,8BAEZ2wC,EAAa,SAASpnC,EAAO2kC,EAAQ0C,EAASC,GAChD7F,EAASkD,EAAQ0C,EAASC,EAAYtnC,EAAMvN,OAAOpD,QAGjD+1C,EAAc,SAASj+D,GACzBA,EAAEytB,iBACF6sC,EAAS9lC,EAAI,GAAQA,EAAI,KAAU,WAAY6lC,EAAUyD,mBAAoB,IAG/E,GAAItpC,GAAQ6lC,EAAW,CACrB,IAAIp3D,EAAI,EACJ48B,EAAUrL,EAAI,eAAJ,QACV4kC,EAAMv5B,EAAO,OACbq/B,EAAa1qC,EAAI,eAAJ,WAEZ0qC,IACHA,EAAa,GAGf,IAAIkB,EAAY,GAAKlB,EACjBmB,EAASjH,EAAM8F,EAGL,GAAVmB,GACYnB,EAAamB,EAQ7B,IALA,IACIC,EAAO,GACPC,EAAc,GACdC,EAAgB,EArBC,aAwBP,IACZ,IAAIC,EAAK5gC,EAAQ58B,GACby9D,EAAerG,EAAUkD,cAAct6D,GAE3C,GAAc,GAAVo9D,GAAgBp9D,GAAKm2D,EAAMiH,EAAS,CACtC,IAAIM,EAAe5lE,UAAU,GAAMqlE,EAAYC,GAAW,GAC9C,iBAAmBM,EAG7Bh2C,EAAO,KAKTA,EAJC6J,EAAI,oBAA0BvxB,GAAMuxB,EAAI,kBAInC,kBAAC,GAAD,CAAiB0qC,WAAYA,EAAaryC,QAAS,kBAAMytC,EAAS9lC,EAAI,GAAQA,EAAI,KAAUisC,EAAE,KAAS91C,KAAM81C,EAAKtB,WAAYuB,IAH7H,kBAAC,GAAD,CAAiBxB,WAAYA,EAAaryC,QAAS,kBAAMytC,EAAS9lC,EAAI,GAAQA,EAAI,KAAUisC,EAAE,KAAS91C,KAAM81C,EAAKtB,WAAYuB,EAActB,sBAAsB,EAAMC,mBAAoB,SAACr/D,GAAD,OAAOi+D,EAAYj+D,IAAIs/D,eAAgBjF,EAAUyD,kBAAmByB,kBAAmB,SAAC97B,GAAD,OAASw8B,EAAWx8B,EAAKjP,EAAI,GAAQA,EAAI,KAAU,QAK/U+rC,EAAYv9C,KACV2H,KAGF61C,GAAgCJ,IAEX,IAAMn9D,GAAMm2D,EAAM,KACrCkH,EAAKt9C,KACAu9C,GAGLC,EAAgB,EAChBD,EAAc,IAGhBt9D,KAhCKA,EAAIm2D,GAAK,CAAC,IAUXzuC,EAVU,IAmCK,8BAEjB0vC,EAAUkD,cAAc/oC,EAAI,sBAA4BA,EAAI,mBAC7C,yBAAKhV,UAAW,6BAA+Bu5B,EAAK,SACjD,yBAAKv5B,UAAU,aACb,0BAAMi9B,SAAU,SAACz8C,GAAD,OAAOi+D,EAAYj+D,KACjC,yBAAKwf,UAAU,cACb,6DACA,2BAAOA,UAAU,gDAAgDqM,KAAK,OAAO3D,MAAOmyC,EAAUyD,kBAAmBnhB,SAAU,SAAClZ,GAAD,OAASw8B,EAAWx8B,EAAKjP,EAAI,GAAQA,EAAI,KAAU,YAO1MlF,EAAYgxC,EAGd,OAAQhxC,GCXKsxC,GA7ES,SAAC,GAA6F,IAA5FpsC,EAA2F,EAA3FA,KAAM6lC,EAAqF,EAArFA,UAAWZ,EAA0E,EAA1EA,gBAAiBtB,EAAyD,EAAzDA,gBAAiBE,EAAwC,EAAxCA,eAAgBiC,EAAwB,EAAxBA,SACvFhrC,GAD+G,EAAdjP,SACrF,+BAGZ4/C,EAAa,SAASpnC,EAAO2kC,EAAQ0C,EAASC,EAAYthE,GAC5D,IAAMgiE,EAAgBnuC,GAAUouC,sBAAsBjoC,EAAMvN,OAAOpD,OACnEoyC,EAASkD,EAAQ0C,EAASC,EAAY,MAAM,EAAO,CAAC,CAACY,SAAUliE,EAAKmiE,WAAYH,MAG9E5C,EAAc,SAASj+D,GACzBA,EAAEytB,iBACF6sC,EAAS9lC,EAAI,GAAQA,EAAI,KAAU,WAAY,MAAO,EAAM,CAAC,CAACusC,SATrD,EASqEC,WAAY3G,EAAS,cAT1F,OAaX,GAAI7lC,GAAQ6lC,EAAW,CACrB,IACM4G,EAAcvuC,GAAUwuC,0BAA0B7G,EAAS,cAfxD,IAgBmD,oBAA7B7lC,EAAI,iBACTA,EAAK2sC,iBAAiB1H,EAAiBtB,EAAiBE,GACxD7jC,EAAI,iBAET,8BAGnB,yBAAKhV,UAAU,6BACb,yBAAKA,UAAU,aACb,0BAAMi9B,SAAU,SAACz8C,GAAD,OAAOi+D,EAAYj+D,KACjC,yBAAKwf,UAAU,cACb,yBAAKA,UAAU,eACb,0BAAMA,UAAU,qBACd,uBAAGA,UAAW,aAAegV,EAAI,aAEnC,2BACEhV,UAAU,gDACVqM,KAAK,MACL3D,MAAO+4C,EACPrc,UAAU,UACVpwB,KAAK,IACLkoB,QAAQ,UACRmI,uBAAqB,UACrBlI,SAAU,SAAClZ,GAAD,OAASw8B,EAAWx8B,EAAKjP,EAAI,GAAQA,EAAI,KAAU,WAvClE,SA4CDA,EAAI,WAAiB,0BAAMhV,UAAU,oBAAoBkiB,wBAAyBC,EAAmBnN,EAAI,eAKjHlF,EACE,0BAAMmtB,SAAU,SAACz8C,GAAD,OAAOi+D,EAAYj+D,KACjC,yBAAKwf,UAAU,oBACb,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,oBAAf,MAEF,2BACUA,UAAU,eACVqM,KAAK,MACL3D,MAAO+4C,EACPrc,UAAU,UACVpwB,KAAK,IACLkoB,QAAQ,UACRmI,uBAAqB,UACrBlI,SAAU,SAAClZ,GAAD,OAASw8B,EAAWx8B,EAAKjP,EAAI,GAAQA,EAAI,KAAU,WA/DpE,MAkEOA,EAAI,WAAiB,0BAAMhV,UAAU,oBAAoBkiB,wBAAyBC,EAAmBnN,EAAI,eAM3H,OAASlF,GCjDI8xC,GA3Be,SAAC,GAA4F,IAA3FC,EAA0F,EAA1FA,cAAe1kB,EAA2E,EAA3EA,SAA2E,IAAjE2kB,kBAAiE,MAApD,CAAC,SAAU,UAAW,cAAe,UAAe,EACxH,OAaA,yBAAK9hD,UAAU,kBAAkBwP,MAAO,CAACspB,gBAAgB,YACvD,yBAAK94B,UAAU,aACb,4BAAQqM,KAAK,SAASrM,UAAU,+BAA+BsM,cAAY,YAC1Eu1C,EADD,IACgB,yBAAK7hD,UAAU,yBAC/B,wBAAIA,UAAU,gBAAgBC,KAAK,QAChC6hD,EAAWp1C,KAAK,SAACq1C,EAAGt9B,GAAJ,OAAU,wBAAIplC,IAAKolC,GAAG,0BAAMzkB,UAAU,OAAO1a,KAAK,IAAI+nB,QAAS,SAAC4W,GAASA,EAAIhW,iBAAkBkvB,EAASlZ,EAAK89B,KAAQA,WC4C/HC,GA3DkB,SAAC,GAA2C,IAA1ChtC,EAAyC,EAAzCA,KAAM6lC,EAAmC,EAAnCA,UAAWC,EAAwB,EAAxBA,SAC9ChrC,GADsE,EAAdjP,SAC5C,+BAkBhB,GAAImU,GAAQ6lC,EAAW,CACrB,IACM4G,EAAcvuC,GAAUwuC,0BAA0B7G,EAAS,cAnBxD,IAqBLoH,EAAiB,8BAErBA,EACE,yBAAKjiD,UAAU,oBACf,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,oBAAf,MAEF,2BACIA,UAAU,gDACVqM,KAAK,MACL3D,MAAO+4C,EACPzsC,KAAK,IACLkoB,QAAQ,UACRmI,uBAAqB,UACrBlI,SAAU,SAAClZ,GAAD,OAhCD,SAAS5K,EAAO2kC,EAAQ0C,EAASC,EAAYthE,GAC5D,IAAMgiE,EAAgBnuC,GAAUouC,sBAAsBjoC,EAAMvN,OAAOpD,OACnEoyC,EAASkD,EAAQ0C,EAASC,EAAY,MAAM,EAAO,CAAC,CAACY,SAAUliE,EAAKmiE,WAAYH,KA8BvDZ,CAAWx8B,EAAKjP,EAAI,GAAQA,EAAI,KAAU,WAnC1D,MAsCL,kBAAC,GAAD,CACI6sC,cAAehH,EAAS,cAtCtB,GAuCF1d,SAAU,SAAClZ,EAAK89B,GAAN,OAhCWr5C,EAgCiBq5C,EAhCV/D,EAgCahpC,EAAI,GAhCT0rC,EAgCiB1rC,EAAI,UA/BjE8lC,EAASkD,EAAQ0C,EA+B0D,WA/BrC,MAAM,EAAO,CAAC,CAACa,SAR3C,EAQ0DC,WAAY94C,KAD5D,IAASA,EAAOs1C,EAAQ0C,KAmCtC1rC,EAAI,WAAiB,0BAAMhV,UAAU,yBAAyBkiB,wBAAyBC,EAAmBnN,EAAI,cAIpHlF,EACE,0BAAMmtB,SAAU,SAACz8C,GAAD,OApCF,SAASA,GACzBA,EAAEytB,iBACF6sC,EAAS9lC,EAAI,GAAQA,EAAI,KAAU,WAAY,MAAO,EAAM,CAAC,CAACusC,SAdrD,EAcqEC,WAAY3G,EAAS,cAd1F,IAcoH,CAAC0G,SAbpH,EAaqIC,WAAY3G,EAAS,cAb1J,MA+Ce4D,CAAYj+D,KAChCyhE,GAKP,OAASnyC,GC1DLoyC,GAAoB,SAAC,GAAmB,IAAlBC,EAAiB,EAAjBA,YAC1B,OACE,yBAAKniD,UAAU,OACb,yBAAKA,UAAU,mBACb,2BAAOA,UAAU,QAAQwP,MAAO,CAAC8wC,WAAW,QAC1C,+BACG6B,EAAYz1C,KAAI,SAACvB,EAAM1nB,GAAP,OAAa,kBAAC,GAAD,CAAiBpE,IAAKoE,EAAG0nB,KAAMA,YAQnEi3C,GAAkB,SAAC,GAAY,IAAXj3C,EAAU,EAAVA,KACxB,OACE,wBAAInL,UAAU,0BACZ,wBAAIA,UAAU,+BAA+BwP,MAAO,CAAC6yC,YAAY,gBAAgB,yBAAKriD,UAAU,gCAAgCmL,EAAK9rB,IAAM,MAC3I,wBAAImwB,MAAO,CAAC6yC,YAAY,cAAenhB,MAAM,SAAS,yBAAKlhC,UAAU,6BAA6BmL,EAAKzC,UAKvG45C,GAAyB,SAAC,GAAe,IAAdh/B,EAAa,EAAbA,QAEjC,OAAS,wBAAIjkC,IAAKikC,EAAQjkC,KACtB,0BAAM2gB,UAAU,gCAAgCsjB,EAAQr+B,SAKtDs9D,GAAiB,SAAC,GAAiB,IAEjCr/C,EAFgC,EAAf27C,UAEEnyC,KAAI,SAACjK,EAAOhf,GAAR,OAC3B,wBAAIpE,IAAKoE,GAAIgf,EAAM42B,YAGvB,OACE,yBAAKr5B,UAAU,6BACb,yBAAKA,UAAU,0BAAf,oDACA,yBAAKA,UAAU,iCAEf,wBAAIA,UAAU,iBACTkD,GAEH,wBAAIlD,UAAU,cAAd,6DAOAwiD,GAAuB,SAAC,GAAiF,IAAhFxtC,EAA+E,EAA/EA,KAAM6lC,EAAyE,EAAzEA,UAAW6C,EAA8D,EAA9DA,QAASxiD,EAAqD,EAArDA,WAAY6/C,EAAyC,EAAzCA,eAAgBl6C,EAAyB,EAAzBA,SAAU4hB,EAAe,EAAfA,SAEvFggC,GAAa/E,EAAO,WAAiB,IAAIp1C,QAAQ,WAAY,KAAOpN,GACpEua,EAAoBioC,EAAO,kBAC3BgF,EAAiBhF,EAAO,eAC1BxlD,EAAYwlD,EAAO,UAEL,8BAapB,OAXKgF,EACiB,kBAAC,IAAD,CAAM1iD,UAAWa,EAAUiL,OAAO,SAASuC,GAAI,gCAAkCoH,EAAoB,cAAgBvd,EAAWmV,QAAS,kBAAM0tC,EAAe/lC,EAAM6lC,KACjLp4B,GAIa,uBAAGziB,UAAWa,EAAUiL,OAAO,SAASxmB,KAAMm9D,EAAWp1C,QAAS,kBAAM0tC,EAAe/lC,EAAM6lC,KAC1Gp4B,IAQHkgC,GAAmB,SAAC,GAAkF,IAAjFC,EAAgF,EAAhFA,cAAe5tC,EAAiE,EAAjEA,KAAM6lC,EAA2D,EAA3DA,UAAW6C,EAAgD,EAAhDA,QAASxiD,EAAuC,EAAvCA,WAAmB6/C,GAAoB,EAA3BxhB,MAA2B,EAApBwhB,gBAQjF8H,GANoBD,EAAcn9D,UAAWm9D,EAAcn9D,SAASinB,KAAK,SAAC4W,EAAS7/B,GAAV,OAAgB,kBAAC,GAAD,CAAwB6/B,QAASA,EAASjkC,IAAKoE,OAM5H,IAQlB,OAPKm/D,EAAcC,UACfA,EAAYD,EAAcC,UAEpBnF,EAAO,aACbmF,EAAYnF,EAAO,YAIrB,6BACE,yBAAK19C,UAAU,iCACb,yBAAKA,UAAU,kBAAkB4iD,EAAcE,qBAEjD,yBAAK9iD,UAAU,uDACX,kBAAC,GAAD,CAAsBgV,KAAMA,EAAM6lC,UAAWA,EAAW6C,QAASA,EAASxiD,WAAYA,EAAY6/C,eAAgBA,EAAgBl6C,SAAS,IACvI,yBAAKyM,IAAKs1C,EAAc1zC,KAAM3B,IAAI,GAAGvN,UAAW,kCAAoC4iD,EAAcG,QAASvzC,MAAO,CAACqjC,SAAU,WAC7H,uBAAG7yC,UAAU,+BAA+B4iD,EAAcI,gBAGlE,yBAAKhjD,UAAW,eACd,yBAAKA,UAAU,IAEX,kBAAC,GAAD,CAAsBgV,KAAMA,EAAM6lC,UAAWA,EAAW6C,QAASA,EAASxiD,WAAYA,EAAY6/C,eAAgBA,EAAgBl6C,SAAS,4BACzI,yBAAKb,UAAU,+BAA+BkiB,wBAAyBC,EAAmB0gC,QAKlG,6BACE,0BAAM7iD,UAAU,YAAYkiB,wBAAyBC,EAAmBygC,EAAcniD,iBAmE7EwiD,GAxDM,SAAC,GAA4G,IAA3GjuC,EAA0G,EAA1GA,KAAM6lC,EAAoG,EAApGA,UAAW3/C,EAAyF,EAAzFA,WAAYq+B,EAA6E,EAA7EA,MAAO0gB,EAAsE,EAAtEA,gBAAkCpB,GAAoC,EAArDF,gBAAqD,EAApCE,gBAAgBkC,EAAoB,EAApBA,eACrG2C,EAAU1oC,EAAI,eAChBlF,EAAY,8BAEhB,GAAIkF,GAAQ6lC,EAAW,CACrB,IAAMqI,EAAWluC,EAAKgoC,eAAemG,aAAenuC,EAAKgoC,eAAemG,YAAYtI,EAAWZ,EAAiBpB,GAC5GsJ,EAAc,GAAItD,EAAY,GAAI+D,EAAgB,GAElDM,IACFf,EAAce,EAASf,YACvBtD,EAAYqE,EAASrE,WAAa,GAE/BnB,EAAQ0F,eAAiB1F,EAAQ0F,cAAcC,gBAChDT,EAAc1zC,KAAOwuC,EAAQ0F,cAAcl+D,OAC3C09D,EAAcn9D,SAAWi4D,EAAQ0F,cAAc39D,SAC/Cm9D,EAAcG,QAAUrF,EAAQ0F,cAAcviD,SAC9C+hD,EAAcE,mBAAqBpF,EAAQ0F,cAAcC,eACzDT,EAAcI,aAAetF,EAAQ0F,cAAcJ,aACnDJ,EAAcniD,WAAai9C,EAAQ0F,cAAc3iD,WACjDmiD,EAAcC,UAAYnF,EAAQ0F,cAAcP,WAGhDD,EAAgBM,EAASN,eAI7B,IAAMU,EAAiB,kBAAC,GAAD,CAAmBnB,YAAaA,IACnDoB,EAAmB1E,EAAUn7D,OAAS,EAChC,kBAAC,GAAD,CAAgBm7D,UAAWA,IAC3B,kBAAC,GAAD,CAAkB+D,cAAeA,EAAgBrpB,MAAOA,EAAOvkB,KAAMA,EAAM6lC,UAAWA,EAAW6C,QAASA,EAASxiD,WAAYA,EAAY6/C,eAAgBA,IAErKjrC,EAUE,yBAAK9P,UAAU,aACf,yBAAKA,UAAU,OACb,4BAAK09C,EAAO,kBAGX4F,EAEFC,GAKL,OAAOzzC,GCnKI0zC,GAAY,CACvBC,QAAS,8BACTC,WAAY,uCAGDC,GAA0B,CACrCnD,GACAA,GACAY,GACAA,GACAZ,GACAA,GACAA,GACAwB,GACAZ,GACAA,GACAA,GACAZ,GACAA,GACAwB,GCjCoB,SAAC,GAA6F,IAA5FhtC,EAA2F,EAA3FA,KAAM6lC,EAAqF,EAArFA,UAAWZ,EAA0E,EAA1EA,gBAAiBtB,EAAyD,EAAzDA,gBAAiBE,EAAwC,EAAxCA,eAAgBiC,EAAwB,EAAxBA,SACrFhrC,GAD6G,EAAdjP,SACnF,+BAchB,GAAImU,GAAQ6lC,EAAW,CACrB,IACM4G,EAAc5G,EAAS,cAfpB,GAoBLoH,GAJwD,oBAA7BjtC,EAAI,iBACTA,EAAK2sC,iBAAiB1H,EAAiBtB,EAAiBE,GACxD7jC,EAAI,iBAET,+BAErBitC,EACE,yBAAKjiD,UAAU,oBACb,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,oBAAmB,uBAAGA,UAAU,mBAEjD,2BACUA,UAAU,gDACVqM,KAAK,OACLtE,UAAU,KACVW,MAAO+4C,EACPtkB,SAAU,SAAClZ,GAAD,OA9BT,SAAS5K,EAAO2kC,EAAQ0C,EAASC,EAAYthE,GAC5D,IAAMgiE,EAAgBhoC,EAAMvN,OAAOpD,MACnCoyC,EAASkD,EAAQ0C,EAASC,EAAY,MAAM,EAAO,CAAC,CAACY,SAAUliE,EAAKmiE,WAAYH,KA4B/CZ,CAAWx8B,EAAKjP,EAAI,GAAQA,EAAI,KAAU,WAhClE,MAmCKA,EAAI,WAAiB,0BAAMhV,UAAU,oBAAoBkiB,wBAAyBC,EAAmBnN,EAAI,cAIvHlF,EAOE,0BAAMmtB,SAAU,SAACz8C,GAAD,OAvCF,SAASA,GACzBA,EAAEytB,iBACF6sC,EAAS9lC,EAAI,GAAQA,EAAI,KAAU,WAAY,MAAO,EAAM,CAAC,CAACusC,SATrD,EASqEC,WAAY3G,EAAS,cAT1F,MA8CgB4D,CAAYj+D,KAChCyhE,GAKP,OAASnyC,GCtDqB,SAAC,GAA6F,IAA5FkF,EAA2F,EAA3FA,KAAM6lC,EAAqF,EAArFA,UAAWZ,EAA0E,EAA1EA,gBAAiBtB,EAAyD,EAAzDA,gBAAiBE,EAAwC,EAAxCA,eAAgBiC,EAAwB,EAAxBA,SAC/FhrC,GADuH,EAAdjP,SAC7F,+BAchB,GAAImU,GAAQ6lC,EAAW,CACrB,IACM4G,EAAc5G,EAAS,cAfpB,GAoBLoH,GAJwD,oBAA7BjtC,EAAI,iBACTA,EAAK2sC,iBAAiB1H,EAAiBtB,EAAiBE,GACxD7jC,EAAI,iBAET,+BAErBitC,EA0BA,yBAAKjiD,UAAU,oBACb,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,oBAAf,MAEF,2BACkBA,UAAU,gDACVqM,KAAK,SACL3D,MAAO+4C,EACPrc,UAAU,UACVpwB,KAAK,OACL4uC,IAAI,IACJ1J,IAAI,MACJ/c,SAAU,SAAClZ,GAAD,OA1Df,SAAS5K,EAAO2kC,EAAQ0C,EAASC,EAAYthE,GAC5D,IAAMgiE,EAAgBnuC,GAAUouC,sBAAsBjoC,EAAMvN,OAAOpD,OACnEoyC,EAASkD,EAAQ0C,EAASC,EAAY,MAAM,EAAO,CAAC,CAACY,SAAUliE,EAAKmiE,WAAYH,KAwDzCZ,CAAWx8B,EAAKjP,EAAI,GAAQA,EAAI,KAAU,WA5DxE,MA+DHA,EAAI,WAAiB,0BAAMhV,UAAU,oBAAoBkiB,wBAAyBC,EAAmBnN,EAAI,cAI/GlF,EAOE,0BAAMmtB,SAAU,SAACz8C,GAAD,OAnEF,SAASA,GACzBA,EAAEytB,iBACF6sC,EAAS9lC,EAAI,GAAQA,EAAI,KAAU,WAAY,MAAO,EAAM,CAAC,CAACusC,SATrD,EASqEC,WAAY3G,EAAS,cAT1F,MA0EgB4D,CAAYj+D,KAChCyhE,GAKP,OAASnyC,GF9CTmzC,GACAzC,GACAA,GACAyC,IAGWY,GAAgB,CAC3BC,wBAAyB,EACzBC,oBAAqB,EACrBC,0BAA2B,EAC3BC,oBAAqB,EACrBC,qBAAsB,EACtBC,yBAA0B,EAC1BC,qBAAsB,EACtBC,mBAAoB,EACpBC,gCAAiC,EACjCC,sBAAuB,EAEvBC,2BAA4B,GAC5BC,+BAAgC,GAChCC,2BAA4B,GAC5BC,yBAA0B,GAC1BC,yBAA0B,GAC1BC,qCAAsC,GACtCC,sBAAuB,GACvB9L,2BAA4B,GAC5BD,iCAAkC,GAClCE,sBAAuB,IAIZ8L,GAAqB,CAChCC,kBAAkB,EAClB1kD,MAAO,CACL,CACE0U,KAAM6uC,GAAcC,wBACpBrf,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAcE,oBACpBtf,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAcG,0BACpBvf,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAcI,oBACpBxf,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAcK,qBACpBzf,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAcM,yBACpB1f,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAcO,qBACpB3f,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAcQ,mBACpB5f,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,CAAC,GAAI,UACpBlY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAcS,gCACpB7f,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAcU,sBACpB9f,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAYX,CACEvpC,KAAM6uC,GAAcW,2BACpB/f,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAcY,+BACpBhgB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAca,2BACpBjgB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAcc,yBACpBlgB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,CAAC,GAAI,UACpBlY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAce,yBACpBngB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAcgB,qCACpBpgB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAciB,sBACpBrgB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,GACfO,kBAAmB,GACnB2G,qBAAqB,EACrBpH,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAc7K,2BACpBvU,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAEX,CACEvpC,KAAM6uC,GAAc9K,iCACpBtU,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,GACnBT,cAAe,GACflY,aAAc,GACd4Y,SAAS,GAYX,CACEvpC,KAAM6uC,GAAc5K,sBACpBxU,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAChBO,kBAAmB,GACnB2G,qBAAqB,EACrBpH,cAAe,GACflY,aAAc,GACd4Y,SAAS,KAMF2G,GAAoB,CAC/B,CACElgE,GAAI,wBACJgwB,KAAM6uC,GAAcC,wBACpBqB,SAAU,2BACV1K,UAAW,0BACXkH,iBAAkB,GAClByD,mBAAoB,EACpBC,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBxI,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG3F,IAAK,YAAcqpB,MAAO,yBAA0B+8C,aAAc,aAC3E,CAAEzgE,GAAI,EAAG3F,IAAK,MAAOqpB,MAAO,gCAAiC+8C,aAAc,OAC3E,CAAEzgE,GAAI,EAAG3F,IAAK,mBAAoBqpB,MAAO,0CAA2C+8C,aAAc,4BAIxG,CACEzgE,GAAI,cACJgwB,KAAM6uC,GAAcE,oBACpBoB,SAAU,2BACV1K,UAAW,iDACXkH,iBAAkB,GAClByD,mBAAoB,EACpBC,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBxI,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG3F,IAAK,iBAAmBqpB,MAAO,wBACxC,CAAE1jB,GAAI,EAAG3F,IAAK,eAAgBqpB,MAAO,yBAI3C,CACE1jB,GAAI,0BACJgwB,KAAM6uC,GAAcG,0BACpBmB,SAAU,2BACV1K,UAAW,8BACXkH,iBAAkB,4DAClByD,mBAAoB,EACpBC,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EACbC,UAAW,gBACX3I,eAAgB,CACdY,OAAQ,CAAC,UACTv9B,QAAS,IAEX0+B,SAAU,SAACL,EAAkBkH,EAAYC,GACvC,IACMC,EAAoB5yC,GAAU6yC,iBADnB,KAEXC,EAAoB9yC,GAAU6yC,iBAFA,KAI9BE,EAAYvH,EAAiBb,cAAcn6D,OAAS,EAAKg7D,EAAiBb,cAAc,QAAKx6D,EAEnG,MAAO,CACL4f,aAF4B5f,IAAd4iE,GAA4BA,GAL3B,KAKoDA,GALjC,IAQlCtgB,aAAc,kCAAoCmgB,EAAoB,QAAUE,EAAoB,OAI1G,CACEhhE,GAAI,mBACJgwB,KAAM6uC,GAAcI,oBACpBkB,SAAU,2BACV1K,UAAW,gCACXkH,iBAAkB,6EAClByD,mBAAoB,EACpBC,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EACbC,UAAW,gBACX3I,eAAgB,CACdY,OAAQ,CAAC,UACTv9B,QAAS,IAGX0+B,SAAU,SAACL,EAAkBkH,EAAYC,GACvC,IACMC,EAAoB5yC,GAAU6yC,iBADnB,KAGXE,EAAYvH,EAAiBb,cAAcn6D,OAAS,EAAKg7D,EAAiBb,cAAc,QAAKx6D,EAEnG,MAAO,CACL4f,aAF4B5f,IAAd4iE,GAA4BA,GAJ3B,IAOftgB,aAAc,+BAAiCmgB,EAAoB,OAIzE,CACE9gE,GAAI,qBACJgwB,KAAM6uC,GAAcK,qBACpBiB,SAAU,2BACV1K,UAAW,+BACXyL,aAAc,GACdvE,iBAAkB,GAClByD,mBAAoB,EACpBC,sBAAsB,EACtBc,mBAAoB,EACpBb,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EACb1I,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG3F,IAAK,iBAAmBqpB,MAAO,2BAA4By3C,eAAe,EAAMj7D,OAAQC,6BACjG,CAAEH,GAAI,EAAG3F,IAAK,gBAAkBqpB,MAAO,oCAAqCy3C,eAAe,EAAMj7D,OAAQC,8BACzG,CAAEH,GAAI,EAAG3F,IAAK,eAAiBqpB,MAAO,2CAA4Cy3C,eAAe,EAAMj7D,OAAQC,gCAC/G,CAAEH,GAAI,EAAG3F,IAAK,UAAYqpB,MAAO,2CAA4Cy3C,eAAe,EAAMj7D,OAAQC,8BAIhH,CACEH,GAAI,uBACJgwB,KAAM6uC,GAAcM,yBACpBgB,SAAU,2BACV1K,UAAW,8CACXyL,aAAc,GACdvE,iBAAkB,GAClByD,mBAAoB,EACpBC,sBAAsB,EACtBc,mBAAoB,EACpBb,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EACb1I,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG3F,IAAK,OAAQqpB,MAAO,qBAC7B,CAAE1jB,GAAI,EAAG3F,IAAK,aAAcqpB,MAAO,0BAIzC,CACE1jB,GAAI,sBACJgwB,KAAM6uC,GAAcO,qBACpBe,SAAU,2BACV1K,UAAW,uCACXyL,aAAc,GACdvE,iBAAkB,uMAClByD,mBAAoB,EACpBC,sBAAsB,EACtBc,mBAAoB,EACpBb,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EACb1I,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG3F,IAAK,oBAAqBqpB,MAAO,0BAC1C,CAAE1jB,GAAI,EAAG3F,IAAK,WAAYqpB,MAAO,oBAIvC,CACE1jB,GAAI,kBACJgwB,KAAM6uC,GAAcQ,mBACpBc,SAAU,2BACV1K,UAAW,gCACXkH,iBAAkB,gGAClByE,UAAW,mRACXhB,mBAAoB,EACpBC,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EACbC,UAAW,gBACX3I,eAAgB,CACdY,OAAQ,CAAC,SAAU,QACnBv9B,QAAS,KAGb,CACEr7B,GAAI,gCACJgwB,KAAM6uC,GAAcS,gCACpBa,SAAU,2BACV1K,UAAW,SAACR,EAAiBtB,EAAiBE,GAG5C,OAF2BoB,EAAgBtB,EAAgBmL,yBAAyB/F,cAAc,GAEpE,gCAAkC,oCAElE4D,iBAAkB,SAAC1H,EAAiBtB,EAAiBE,GAGnD,OAF2BoB,EAAgBtB,EAAgBmL,yBAAyB/F,cAAc,GAGxF,iKACA,IAEZqH,mBAAoB,EACpBC,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EACbC,UAAW,gBACX3I,eAAgB,CACdY,OAAQ,CAAC,UACTv9B,QAAS,IAEX0+B,SAAU,SAACL,EAAkBkH,EAAYC,GACvC,IACMC,EAAoB5yC,GAAU6yC,iBADnB,KAEXC,EAAoB9yC,GAAU6yC,iBAFA,KAI5BE,EAAYvH,EAAiBb,cAAcn6D,OAAS,EAAKg7D,EAAiBb,cAAc,QAAKx6D,EAErG,MAAO,CACL4f,aAF4B5f,IAAd4iE,GAA4BA,GAL3B,KAKoDA,GALjC,IAQlCtgB,aAAc,kCAAoCmgB,EAAoB,QAAUE,EAAoB,OAI1G,CACEhhE,GAAI,qBACJgwB,KAAM6uC,GAAcU,sBACpBY,SAAU,2BACV1K,UAAW,iCACXkH,iBAAkB,GAClByD,mBAAoB,EACpBC,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EACbC,UAAW,gBACX3I,eAAgB,CACdY,OAAQ,CAAC,UACTv9B,QAAS,IAEX0+B,SAAU,SAACL,EAAkBkH,EAAYC,GACvC,IACMC,EAAoB5yC,GAAU6yC,iBADnB,KAGXE,EAAYvH,EAAiBb,cAAcn6D,OAAS,EAAKg7D,EAAiBb,cAAc,QAAKx6D,EAEnG,MAAO,CACL4f,aAF4B5f,IAAd4iE,GAA4BA,GAJ3B,IAOftgB,aAAc,6BAA+BmgB,EAAoB,OA0BvE,CACE9gE,GAAI,0BACJgwB,KAAM6uC,GAAcW,2BACpBW,SAAU,2BACV1K,UAAW,4CACXkH,iBAAkB,wLAClByD,mBAAoB,EACpBC,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EACbC,UAAW,gBACX3I,eAAgB,CACdY,OAAQ,CAAC,UACTv9B,QAAS,IAEX0+B,SAAU,SAACL,EAAkBkH,EAAYC,GAOvC,MAAO,CACL5iD,SAFc,EAGd0iC,aAAc,MAIpB,CACE3gD,GAAI,6BACJgwB,KAAM6uC,GAAcY,+BACpBU,SAAU,2BACV1K,UAAW,8CACXyL,aAAc,GACdvE,iBAAkB,KAClByD,mBAAoB,EACpBC,sBAAsB,EACtBc,mBAAoB,EACpBb,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EACb1I,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG3F,IAAK,OAAQqpB,MAAO,qBAC7B,CAAE1jB,GAAI,EAAG3F,IAAK,aAAcqpB,MAAO,0BAIzC,CACE1jB,GAAI,4BACJgwB,KAAM6uC,GAAca,2BACpBS,SAAU,2BACV1K,UAAW,uCACXyL,aAAc,GACdvE,iBAAkB,KAClByD,mBAAoB,EACpBC,sBAAsB,EACtBc,mBAAoB,EACpBb,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EACb1I,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG3F,IAAK,oBAAqBqpB,MAAO,0BAC1C,CAAE1jB,GAAI,EAAG3F,IAAK,WAAYqpB,MAAO,oBAIvC,CACE1jB,GAAI,wBACJgwB,KAAM6uC,GAAcc,yBACpBQ,SAAU,2BACV1K,UAAW,gCACXkH,iBAAkB,yGAClByE,UAAW,mRACXhB,mBAAoB,EACpBC,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EACbC,UAAW,gBACX3I,eAAgB,CACdY,OAAQ,CAAC,SAAU,QACnBv9B,QAAS,KAGb,CACEr7B,GAAI,wBACJgwB,KAAM6uC,GAAce,yBACpBO,SAAU,2BACV1K,UAAW,+CACXkH,iBAAkB,iHAClByE,UAAW,GACXhB,mBAAoB,EACpBiB,gBAAgB,EAChBhB,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EACbC,UAAW,mBACX3I,eAAgB,CACdY,OAAQ,CAAC,UACTv9B,QAAS,KAGb,CACEr7B,GAAI,iCACJgwB,KAAM6uC,GAAcgB,qCACpBM,SAAU,2BACV1K,UAAW,gDACXkH,iBAAkB,qGAClByE,UAAW,GACXhB,mBAAoB,EACpBC,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBE,aAAa,EAEbY,eAAgB,IAChBtJ,eAAgB,CACdY,OAAQ,CAAC,UACTv9B,QAAS,IAEX0+B,SAAU,SAACL,EAAkBkH,EAAYC,GAErC,IAAMI,EAAYvH,EAAiBb,cAAcn6D,OAAS,EAAKg7D,EAAiBb,cAAc,QAAKx6D,EAC/F4f,OAAwB5f,IAAd4iE,EACd,IAAIhjD,EAAQ,CAEV,IAAIyF,EAAQO,OAAOg9C,IACd/+C,MAAMwB,IAAUD,SAASC,IAAWu9C,EAAUviE,QAAU,IAC3Duf,EAAUyF,GAAS,KAAUA,GAAS,GAI5C,MAAO,CACLzF,QAASA,EACT0iC,aAAc,0CAIpB,CACE3gD,GAAI,cACJgwB,KAAM6uC,GAAciB,sBACpBK,SAAU,2BACV1K,UAAW,GACXyL,aAAc,GACdvE,iBAAkB,GAClB0D,sBAAsB,EACtBc,mBAAoB,EACpBI,oBAAoB,EACpBC,aAAa,EACb3lD,SAAU,qBACVm8C,eAAgB,CACdyJ,gBAAiB,UACjBC,WAAY,mBACZxhE,OAAQC,6BACRwhE,UAAW,GACXC,aAAc,CACZ1uD,U1HruBmB,E0HsuBnBkd,c1HzuB4B,E0H0uB5BM,U1HnuBuB,G0HquBzBytC,YAAa,OAGjB,CACEn+D,GAAI,6BACJgwB,KAAM6uC,GAAc7K,2BACpBmM,SAAU,2BACV1K,UAAW,0BACXkH,iBAAkB,uEAClByD,mBAAoB,EACpBC,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBxI,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG3F,IAAK,eAAgBqpB,MAAO,qBACrC,CAAE1jB,GAAI,EAAG3F,IAAK,cAAeqpB,MAAO,oBACpC,CAAE1jB,GAAI,EAAG3F,IAAK,gBAAiBqpB,MAAO,8BAI5C,CACE1jB,GAAI,mCACJgwB,KAAM6uC,GAAc9K,iCACpBoM,SAAU,2BACV1K,UAAW,0BACXkH,iBAAkB,uEAClByD,mBAAoB,EACpBC,sBAAsB,EACtBC,wBAAwB,EACxBC,gBAAgB,EAChBC,oBAAoB,EACpBxI,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG3F,IAAK,gBAAiBqpB,MAAO,gCACtC,CAAE1jB,GAAI,EAAG3F,IAAK,oBAAqBqpB,MAAO,uCAuBhD,CACE1jB,GAAI,qBACJgwB,KAAM6uC,GAAc5K,sBACpBkM,SAAU,2BACV1K,UAAW,GACXyL,aAAc,GACdvE,iBAAkB,GAClB0D,sBAAsB,EACtBc,mBAAoB,EACpBI,oBAAoB,EACpBC,aAAa,EACb3lD,SAAU,qBACVm8C,eAAgB,CACdyJ,gBAAiB,UACjBC,WAAY,eACZxhE,OAAQC,6BACRwhE,UAAW,GACXC,aAAc,CACZ1uD,UAAY,KACZkd,cAAe,KACfM,UAAW,MAEbytC,YAAa,QAKN0D,GACE,SAACnI,EAAkBkH,EAAYkB,GAE1C,IAAMC,EAA4BnB,EAAW/B,GAAcC,yBAAyB/F,cAAcx0C,SAAQ,GAEpGy9C,EAAsC,IAA9BD,EAWRE,EAAY,KACZC,EAAyB,KAkB/B,OA/BkD,IAA9BH,GAEwC,IAA9BA,GAa3BG,EAAyBtB,EAAW/B,GAAc9K,kCAAkCgF,cAAcx0C,SAAQ,KAC5E,IAC5B09C,EAAYH,EAASjD,GAAc9K,kCAAkCiE,eAAe38B,QAAQ6mC,GAAwBx+C,OAE5Gs+C,IACTE,EAAyBtB,EAAW/B,GAAc7K,4BAA4B+E,cAAcx0C,SAAQ,KACtE,IAC5B09C,EAAYH,EAASjD,GAAc7K,4BAA4BgE,eAAe38B,QAAQ6mC,GAAwBx+C,OAS7G,CACLy5C,YANkB,CAClB,CAAC,IAAO,YAAa,MAAS8E,IAM9BrE,cAAeuE,KAKRC,GACE,SAAC1I,EAAkBkH,EAAYkB,GAC1C,IAAMC,EAA4BnB,EAAW/B,GAAcC,yBAAyB/F,cAAcx0C,SAAQ,GACpG89C,EAA4C,IAA9BN,EACdC,EAAsC,IAA9BD,EACRO,EAAsD,IAA9BP,EAC1BQ,EAAU,GACVC,EAAa,EAEbH,GAAeC,EAUjBE,GAAc5B,GATd2B,EAAU,CACRE,eAAgB5D,GAAcC,wBAC9B4D,cAAe7D,GAAcS,gCAC7BqD,kBAAmB9D,GAAcU,sBACjCqD,YAAa/D,GAAcY,+BAC3BoD,OAAQhE,GAAca,2BACtBoD,eAAgBjE,GAAcc,2BAGCgD,mBAAmB9J,cAAc,GAEzDmJ,IAUTQ,GAAe5B,GATf2B,EAAU,CACRE,eAAgB5D,GAAcC,wBAC9B4D,cAAe7D,GAAcG,0BAC7B2D,kBAAmB9D,GAAcI,oBACjC2D,YAAa/D,GAAcM,yBAC3B0D,OAAQhE,GAAcO,qBACtB0D,eAAgBjE,GAAcQ,qBAGEqD,eAAe7J,cAAc,IAAQ+H,EAAW2B,EAAQI,mBAAmB9J,cAAc,IAG7H,IAAMkK,EAAyBnC,EAAW2B,EAAQK,aAAa7J,cAAcx0C,SAAQ,GAC/Ey+C,EAAoBpC,EAAW2B,EAAQM,QAAQ9J,cAAcx0C,SAAQ,GAErE0+C,EAAwBF,GAA0B,EAClDG,EAAmBF,GAAqB,EAExCG,EAAgBvC,EAAW2B,EAAQG,eAAe7J,cAAc,GAChEuK,EAASxC,EAAW2B,EAAQO,gBAAgBjK,cAAc,GAC1DwK,EAAezC,EAAW2B,EAAQO,gBAAgBjK,cAAc,GAElEyK,EAAer/C,OAAO28C,EAAW2B,EAAQI,mBAAmB9J,cAAc,KAE1EwJ,GAAeC,IACdA,GAAyB1B,EAAW/B,GAAcW,4BAA4B/f,SAAWmhB,EAAW/B,GAAcW,4BAA4B3G,cAAcn6D,OAAS,IACtK4kE,GAAgBr/C,OAAO28C,EAAW/B,GAAcW,4BAA4B3G,cAAc,KAK9F,IAYI0K,EAZEpG,EAAc,CAClB,CAAC,IAAO,cAAe,MAAS2E,EAASS,EAAQE,gBAAgBzK,eAAe38B,QAAQ0mC,GAA2BtB,cACnH,CAAC,IAAO,uBAAwB,MAASvyC,GAAU6yC,iBAAiBoC,IACpE,CAAC,IAAQd,GAAeC,EAAyB,aAAe,UAAY,MAASp0C,GAAU6yC,iBAAiBuC,IAChH,CAAC,IAAO,SAAU,MAASL,EAAuBnB,EAASS,EAAQK,aAAa5K,eAAe38B,QAAQ0nC,GAAwBr/C,MAAQ,IACvI,CAAC,IAAO,aAAc,MAASw/C,EAAmBpB,EAASS,EAAQM,QAAQ7K,eAAe38B,QAAQ2nC,GAAmBt/C,MAAQ,IAC7H,CAAC,IAAO,SAAU,MAASwK,GAAU6yC,iBAAiBqC,GAAU,IAAMC,IAIlExJ,EAAY,GACd2J,EAAQ,GA4BZ,OAnBAD,EAAiB,CACff,WAAYA,EACZW,cAAeA,EACfM,QAASH,EACTF,OAAQA,EACRC,aAAcA,EAAaK,eAGzBrB,GAAeC,EACjBkB,EAAQG,GACC3B,IACVwB,EAAQI,IAGTJ,EAAM1xC,SAAQ,SAAC+xC,GACb,IAAIC,EAAaD,EAAKN,GACjBO,EAAW7lD,SAAS47C,EAAUr7C,KAAKslD,EAAWrmD,UAG9C,CACL0/C,YAAaA,EACbtD,UAAWA,EACX+D,cAAemG,KAMfJ,GAAoB,CACxBK,GAyMF,SAAoCT,GAClC,IACMf,EAAae,EAAef,WAC5BW,EAAgBI,EAAeJ,cAE/Bc,EAAmBzB,EAAaW,EAEhCe,EAAsBh2C,GAAU6yC,iBAAiByB,GACjD2B,EAAyBj2C,GAAU6yC,iBAAiBoC,GAS1D,MAAO,CACLllD,QAASgmD,GAjBsB,GAkB/BxmD,MAVY,CACZ42B,QAAS,qGACTxyC,YAAa,yBAA2BqiE,EACxC,4BAAiD,IAAnBD,EAAyB,4BAC1BE,EAAyB,wKApNxDC,GACAC,IAGIT,GAAc,CAClBI,GAuKF,SAA+BT,GAC7B,IACMf,EAAae,EAAef,WAC5BW,EAAgBI,EAAeJ,cAE/Bc,EAAmBzB,EAAaW,EAChCmB,EAAanB,GAAiB,EALR,IAOtBgB,EAAyBj2C,GAAU6yC,iBAAiBoC,GACpDoB,EAAmBr2C,GAAU6yC,iBAAiBwC,EAAeE,SAC7De,EAAsBt2C,GAAU6yC,iBAAiBuD,GAWvD,MAAO,CACLrmD,QAASgmD,GArBiB,GAsB1BxmD,MAZY,CACZ42B,QAAS,kFACTxyC,YAAa,wIACW0iE,EACxB,0BAA+C,IAAnBN,EAAyB,4BACxBE,EAAyB,gFAEbK,EAAsB,eAvLjEJ,GACAC,IAGIN,GAAmB,CACvB75C,KAAM/pB,gBACN29D,mBAAoB,oBACpBC,QAAS,eACTC,aAAc,GACdviD,WAAW,0hBAIXhb,SAAU,CACR,CAAEpG,IAAI,IAAK4F,MAAQ,yBAA0BS,cAAe,IAC5D,CAAErG,IAAI,IAAK4F,MAAQ,2CAA4CS,cAAe,IAC9E,CAAErG,IAAI,IAAK4F,MAAQ,mDAAoDS,cAAe,MAK7E+jE,GACE,SAAC/K,EAAkBkH,EAAYkB,GAC1C,IAAMC,EAA4BnB,EAAW/B,GAAcC,yBAAyB/F,cAAcx0C,SAAQ,GACpG89C,EAA4C,IAA9BN,EACdC,EAAsC,IAA9BD,EACRO,EAAsD,IAA9BP,EAC1BQ,EAAU,GACVC,EAAa,EAEbH,GAAeC,EAUjBE,GAAc5B,GATd2B,EAAU,CACRE,eAAgB5D,GAAcC,wBAC9B4D,cAAe7D,GAAcS,gCAC7BqD,kBAAmB9D,GAAcU,sBACjCqD,YAAa/D,GAAcY,+BAC3BoD,OAAQhE,GAAca,2BACtBoD,eAAgBjE,GAAcc,2BAGCgD,mBAAmB9J,cAAc,GAEzDmJ,IAUTQ,GAAe5B,GATf2B,EAAU,CACRE,eAAgB5D,GAAcC,wBAC9B4D,cAAe7D,GAAcG,0BAC7B2D,kBAAmB9D,GAAcI,oBACjC2D,YAAa/D,GAAcM,yBAC3B0D,OAAQhE,GAAcO,qBACtB0D,eAAgBjE,GAAcQ,qBAGEqD,eAAe7J,cAAc,IAAQ+H,EAAW2B,EAAQI,mBAAmB9J,cAAc,IAG7H,IAAMkK,EAAyBnC,EAAW2B,EAAQK,aAAa7J,cAAcx0C,SAAQ,GAC/Ey+C,EAAoBpC,EAAW2B,EAAQM,QAAQ9J,cAAcx0C,SAAQ,GAErE0+C,EAAwBF,GAA0B,EAClDG,EAAmBF,GAAqB,EAExCG,EAAgBvC,EAAW2B,EAAQG,eAAe7J,cAAc,GAChEuK,EAASxC,EAAW2B,EAAQO,gBAAgBjK,cAAc,GAC1DwK,EAAezC,EAAW2B,EAAQO,gBAAgBjK,cAAc,GAClEyK,EAAer/C,OAAO28C,EAAW2B,EAAQI,mBAAmB9J,cAAc,KAE1EwJ,GAAeC,IACdA,GAAyB1B,EAAW/B,GAAcW,4BAA4B/f,SAAWmhB,EAAW/B,GAAcW,4BAA4B3G,cAAcn6D,OAAS,IACtK4kE,GAAgBr/C,OAAO28C,EAAW/B,GAAcW,4BAA4B3G,cAAc,KAK9F,IAYI0K,EAZEpG,EAAc,CAClB,CAAC,IAAO,cAAe,MAAS2E,EAASS,EAAQE,gBAAgBzK,eAAe38B,QAAQ0mC,GAA2BtB,cACnH,CAAC,IAAO,uBAAwB,MAASvyC,GAAU6yC,iBAAiBoC,IACpE,CAAC,IAAQd,GAAeC,EAAyB,aAAe,UAAY,MAASp0C,GAAU6yC,iBAAiBuC,IAChH,CAAC,IAAO,SAAU,MAASL,EAAuBnB,EAASS,EAAQK,aAAa5K,eAAe38B,QAAQ0nC,GAAwBr/C,MAAQ,IACvI,CAAC,IAAO,aAAc,MAASw/C,EAAmBpB,EAASS,EAAQM,QAAQ7K,eAAe38B,QAAQ2nC,GAAmBt/C,MAAQ,IAC7H,CAAC,IAAO,SAAU,MAASwK,GAAU6yC,iBAAiBqC,GAAU,IAAMC,IAIlExJ,EAAY,GACd2J,EAAQ,GA4BZ,OAnBAD,EAAiB,CACff,WAAYA,EACZW,cAAeA,EACfM,QAASH,EACTF,OAAQA,EACRC,aAAcA,EAAaK,eAGzBrB,GAAeC,EACjBkB,EAAQG,GACC3B,IACVwB,EAAQI,IAGTJ,EAAM1xC,SAAQ,SAAC+xC,GACb,IAAIC,EAAaD,EAAKN,GACjBO,EAAW7lD,SAAS47C,EAAUr7C,KAAKslD,EAAWrmD,UAG9C,CACL0/C,YAAaA,EACbtD,UAAWA,EACX+D,cAAe8G,KAMfA,GAAwB,CAC5Bx6C,KAAM/pB,qBACN29D,mBAAoB,oBACpBD,UAAW,iCACXE,QAAS,oBACTC,aAAc,GACdviD,WAAW,ySAEXhb,SAAU,CACR,CAAEpG,IAAI,IAAK4F,MAAQ,WAAYS,cAAe,MAI5CyhE,GAAwB,CAC5Bj4C,KAAM/pB,6BACN29D,mBAAoB,oBACpBD,UAAW,mBACXE,QAAS,cACTC,aAAc,GACdviD,WAAW,sfAIXhb,SAAU,CACR,CAAEpG,IAAI,IAAK4F,MAAQ,qBAAsBS,cAAe,IACxD,CAAErG,IAAI,IAAK4F,MAAQ,2CAA4CS,cAAe,MAIlF,SAASsjE,GAAqBT,GAC5B,IACMf,EAAae,EAAef,WAOlC,MAAO,CACLvkD,QAASukD,GATW,IAUpB/kD,MARY,CACZ42B,QAAS,iEACTxyC,YAAa,uBAAyBqsB,GAAU6yC,iBAAiByB,GAChE,4IA2DL,SAAS4B,GAA6Bb,GACpC,IAAItlD,GAAU,EACRR,EAAQ,CAAE42B,QAAS,GAAIxyC,YAAa,IACpC2gE,EAAae,EAAef,WAC5BW,EAAgBI,EAAeJ,cASrC,OAPIX,EAAaW,IACfllD,GAAU,EACVR,EAAM42B,QAAU,6EAChB52B,EAAM5b,YAAa,uBAAyBqsB,GAAU6yC,iBAAiByB,GACvE,kCAAoCt0C,GAAU6yC,iBAAiBoC,GAAiB,MAG3E,CACLllD,UACAR,SAIJ,SAAS4mD,GAAuBd,GAC9B,IAOMf,EAAae,EAAef,WAI5BmC,EAHSpB,EAAeH,OAPR,CACpBwB,OAAQ,EACRC,QAAS,GACTC,YAAa,GACbC,OAAQ,IAIWxB,EAAeF,cAWpC,MAAO,CACLplD,QATyB0mD,EAAenC,GAZZ,EAAI,EAsBhC/kD,MARY,CACZ42B,QAAS,uKACTxyC,YAAa,yBAA2BqsB,GAAU6yC,iBAAiB4D,GACnE,+EAAiFz2C,GAAU6yC,iBAAiByB,GAAc,yCG5sCvH,IAAMwC,GAAb,YAEE,WAAY5pE,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAGRssC,WAAa,EAAKA,WAAWpsC,KAAhB,gBAJQ,EAF9B,yEAUI,OAAO40C,KAVX,yCAcI,OAAOuB,KAdX,6CAkBI,OAAOpB,KAlBX,2CAsBI,IAAIrG,EAAch3D,KAAKlG,MAAM++D,eAAX,MAClB,GAAI7B,EAAa,CAEf,IAAI2M,EAAkB/E,GAAkBrB,GAAciB,uBAClDoF,EAAkBhF,GAAkBrB,GAAc5K,uBAEtD,GAAIgR,EAAiB,CAEnB,IAAIE,EAAehoC,EAAmBm7B,EAAY8M,SAAU,OAAQ,UAChE1M,EAAUuM,EAAe,eAE7BvM,EAAO,UAAgByM,EAAaE,WACpC3M,EAAO,kBAAwByM,EAAa10C,kBAC5CioC,EAAO,eAAqByM,EAAazH,eACzChF,EAAO,UAAgByM,EAAajyD,UACpCwlD,EAAO,cAAoByM,EAAap0C,qBAExC2nC,EAAO,aAAmB,CACxBxlD,UAAWiyD,EAAajyD,UACxBwd,UAAWy0C,EAAaz0C,UACxBN,cAAe+0C,EAAa/0C,e7HnDN,I6HuDrB+0C,EAAajyD,UACdwlD,EAAO,YAAkB+L,GAIzB/L,EAAO,YAAkB0J,GAG3BlC,GAAkBrB,GAAciB,uBAAyBmF,EAI3D,GAAIC,EAAiB,CAEnB,IAAII,EAAenoC,EAAmBm7B,EAAY8M,SAAU,OAAQ,UAChE1M,EAAUwM,EAAe,eAE7BxM,EAAO,UAAgB4M,EAAaD,WACpC3M,EAAO,kBAAwB4M,EAAa70C,kBAC5CioC,EAAO,eAAqB4M,EAAa5H,eACzChF,EAAO,UAAgB4M,EAAapyD,UACpCwlD,EAAO,cAAoB4M,EAAav0C,qBAExC2nC,EAAO,aAAmB,CACxBxlD,UAAWoyD,EAAapyD,UACxBwd,UAAW40C,EAAa50C,UACxBN,cAAek1C,EAAal1C,eAG9BsoC,EAAO,YAAkBmJ,GAEzB3B,GAAkBrB,GAAc5K,uBAAyBiR,GAI7D,OAAOhF,KAjFX,+CAoF2B1L,GAEvB,IAAI+Q,EAAY,KAChB,GAAI/Q,GAAcA,EAAWl5C,OAASk5C,EAAWl5C,MAAM5c,OAAS,EAAG,CACjE,IAAM4c,EAAQk5C,EAAWl5C,MACnBkqD,EAAYlqD,EAAMujD,GAAcE,qBAAqBhG,cAAc,GACnE0M,EAAWnqD,EAAMujD,GAAcE,qBAAqBhG,cAAc,GAErEyM,EACCD,EAAYnD,GAERqD,IACNF,EAAY1D,IAIhB,OAAO0D,IApGX,sCAyGI,OAAO1G,KAzGX,kCAgHc9G,EAAgBC,GAC1B12D,KAAKlG,MAAMsqE,WAAW3N,EAAgBC,KAjH1C,sCAoHkBC,EAAUpC,EAAWqC,EAAiB1D,EAAY2D,GAC9D72D,KAAKlG,MAAM26D,eAAekC,EAAUpC,EAAWqC,EAAiB1D,EAAY2D,KArHlF,qCAwHiBC,EAAWJ,EAAgBtE,MAxH5C,8CA4H0B2E,EAAaC,MA5HvC,6CAgIyB3E,EAAiBa,GACtC,IAAI/1D,EAAI,EAWR,GAAI+1D,GAAcA,EAAWl5C,OAASk5C,EAAWl5C,MAAM5c,OAAS,EAAG,CACjE,IAAM4c,EAAQk5C,EAAWl5C,MAEnB+mD,EAAc/mD,EAAMq4C,EAAgBmL,yBAAyB/F,cAAc,GAC3EiJ,EAAQ1mD,EAAMq4C,EAAgBmL,yBAAyB/F,cAAc,GACrE4M,EAAuBrqD,EAAMq4C,EAAgBmL,yBAAyB/F,cAAc,GAEpFyM,EAAYlqD,EAAMq4C,EAAgBoL,qBAAqBhG,cAAc,GACrE0M,EAAWnqD,EAAMq4C,EAAgBoL,qBAAqBhG,cAAc,GAE1E,GAAIyM,EASF,GARAlqD,EAAMq4C,EAAgBmM,uBAAuBrgB,SAAU,EAGvDnkC,EAAMq4C,EAAgBI,kCAAkCtU,SAAU,EAClEnkC,EAAMq4C,EAAgBK,4BAA4BvU,SAAU,EAE5DnkC,EAAMq4C,EAAgBM,uBAAuBxU,SAAU,EAEnD4iB,GAAesD,EAAsB,CAEvC,IAAKlnE,EAAIk1D,EAAgBqL,0BAA2BvgE,GAAKk1D,EAAgB0L,mBAAoB5gE,IAC3F6c,EAAM7c,GAAGghD,SAAU,EAIrB,IAAKhhD,EAAIk1D,EAAgB2L,gCAAiC7gE,GAAKk1D,EAAgBkM,qCAAsCphE,IACnH6c,EAAM7c,GAAGghD,SAAU,EAIrB,IAAImmB,EAAQ,EACZ,GAAGtqD,EAAMq4C,EAAgB2L,iCAAiCxP,aAAex0C,EAAMq4C,EAAgB4L,uBAAuBzP,YAIpH8V,EAAQ,EAFE3hD,OAAO3I,EAAMq4C,EAAgB4L,uBAAuB1G,cAAc,IAChE50C,OAAO3I,EAAMq4C,EAAgB2L,iCAAiCzG,cAAc,IAO1Fv9C,EAAMq4C,EAAgB6L,4BAA4B/f,QAAUkmB,GAAwBC,EAAQ,IAK5F,IAAIC,EAAS,KACVvqD,EAAMq4C,EAAgBiM,0BAA0B9P,cACjD+V,EAASvqD,EAAMq4C,EAAgBiM,0BAA0B/G,cAAc,IAGzEv9C,EAAMq4C,EAAgBkM,sCAAsCpgB,UAAYomB,OAEnE,GAAI7D,EAAO,CAEhB,IAAKvjE,EAAIk1D,EAAgB2L,gCAAiC7gE,GAAKk1D,EAAgBkM,qCAAsCphE,IACnH6c,EAAM7c,GAAGghD,SAAU,EAIrB,IAAKhhD,EAAIk1D,EAAgBqL,0BAA2BvgE,GAAKk1D,EAAgB0L,mBAAoB5gE,IAC3F6c,EAAM7c,GAAGghD,SAAU,EAKzB,GAAIgmB,EAYF,IAXAnqD,EAAMq4C,EAAgBM,uBAAuBxU,SAAU,EAGnD4iB,GAAesD,GACjBrqD,EAAMq4C,EAAgBK,4BAA4BvU,SAAU,EAC5DnkC,EAAMq4C,EAAgBI,kCAAkCtU,SAAU,GACzDuiB,IACT1mD,EAAMq4C,EAAgBK,4BAA4BvU,SAAU,EAC5DnkC,EAAMq4C,EAAgBI,kCAAkCtU,SAAU,GAG/DhhD,EAAIk1D,EAAgBqL,0BAA2BvgE,GAAKk1D,EAAgBmM,sBAAuBrhE,IAC9F6c,EAAM7c,GAAGghD,SAAU,OA5N7B,GAAuCoX,IAuOvCmO,GAAkB1kC,aAAe,CAC/BC,OAAQC,IAAUC,QC7NpB,IAAM2yB,GAAiB,WAErB,OACE,6BAASp4C,UAAU,mCACjB,yBAAKA,UAAU,kFACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,0BACX,wBAAIA,UAAU,aAAd,iCAQR8qD,G,YACF,WAAY1qE,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACX6qE,uBAAwB,EACxBC,wBAAyB,EACzB1Z,eAAe,EACf6N,eAAgB,KAChB8L,UAAU,GAGZ,EAAK9jC,SAAW,EAAKA,SAASvY,KAAd,gBAEhB,EAAK87C,WAAa,EAAKA,WAAW97C,KAAhB,gBAClB,EAAKmsC,eAAiB,EAAKA,eAAensC,KAApB,gBAdE,E,iFAiBP,IAAD,OACjBtoB,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAElC2E,KAAKlG,MAAMigC,QAAQtC,kBAEnBz3B,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GAErC,EAAKJ,MAAMigC,QAAQjE,iBAAiB,CAAC7J,cAAc,EAAMC,gBAAgB,EAAMC,gBAAiB,IAEhG8lC,GAAU2S,iBAAiB,EAAK9qE,MAAMib,UAAW,OAAO6G,MAAM,SAAA+kC,GACxD,EAAK1oB,SAAS,CAAC4gC,eAAgBlY,EAAKkkB,QAASJ,uBAAuB,EAAMC,wBAAwB,EAAO1Z,eAAe,OAC3H9uC,OAAO,SAAAC,GACN,EAAK8b,SAAS,CAACwsC,uBAAuB,EAAMC,wBAAwB,EAAO1Z,eAAe,Y,gDAM5EtZ,GAEnBA,EAAU/8B,iBAGX3U,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,O,+BAWrB+yB,GACP3sC,KAAKlG,MAAM8yC,QAAQ1vB,KAAKyvB,K,iCAGf4nB,EAAW6C,GAClB,IAAI1oC,EAAOt0B,OAAOC,OAAO,GAAIk6D,EAAW,CAACuQ,SAAU1N,EAAQ14D,KAG3DuzD,GAAU8S,eAAe/kE,KAAKlG,MAAMib,UAAW,MAAO2Z,GAAM9S,MAAK,eAE9DM,OAAO,SAAAC,S,qCAKCw6C,EAAUpC,EAAWqC,EAAiB1D,EAAY2D,GAI/D,IAAImO,EAAM5qE,OAAOC,OAAO,GAAIs8D,EAASD,eAAe4J,cACpDtgE,KAAKlG,MAAMigC,QAAQyH,qBACjBwjC,EACA3pE,KAGEs7D,EAASjoC,OAAS6uC,GAAc5K,wBAClC4B,EAAUkD,cAAc,IAAK,K,wCAId,IAAD,OAChB,OACE,6BAAS/9C,UAAU,kCACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,0EACb,yBAAKA,UAAU,UACb,yBAAKsN,IAAKnoB,aAAuB6a,UAAU,YAAYuN,IAAI,MAE7D,oCACA,4BAAKjnB,KAAKlG,MAAM4F,YAAcM,KAAKlG,MAAM4F,YAAYyU,YAAc,IACnE,yFAA8D,6BAA9D,oBACA,yBAAKuF,UAAU,UACb,uBAAGA,UAAU,6BAA6BqN,QAAS,WAAK,EAAK49C,aAA7D,sB,iCAUZ3kE,KAAKi4B,SAAS,CAAC0sC,UAAS,M,+BAKJ,8BAApB,IACIpc,EAAc,KA+ChB,OA5CAA,EADEvoD,KAAKpG,MAAMoxD,cACC,kBAAC,GAAD,CAAkC/wC,KAAK,8HAE/Cja,KAAKpG,MAAM8qE,uBAET,kBAAC,GAAD,CACEvnC,aAAa,SACbljB,KAAMja,KAAKlG,MAAM2W,aAAapV,IAAwB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,gBACrG8hC,KAAK,QAETp9B,KAAKpG,MAAM6qE,sBACdzkE,KAAKpG,MAAM+qE,SACA,kBAAC,GAAD,CACV5qC,QAAS/5B,KAAKlG,MAAMigC,QACpB8+B,eAAgB74D,KAAKpG,MAAMi/D,eAC3BjkD,WAAY5U,KAAKlG,MAAM8a,WACvB6/C,eAAgBz0D,KAAKy0D,eACrB2P,WAAYpkE,KAAKokE,aAILpkE,KAAKilE,kBAIP,8BAIbjlE,KAAKlG,MAAM2W,cACK,yBAAKiJ,UAAU,wBAE/B,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,eAE/B,kBAAC,GAAD,CAAgBM,aAAczQ,KAAKlG,MAAM2W,eAGzC,yBAAKiJ,UAAU,eACd6uC,GAQA,yBAAK7uC,UAAU,sCACf,kBAAC,EAAD,CAAMiP,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAcsY,UAAU,cAAc3C,WAAW,EAAM4C,SAAS,yDAAyD7C,KAAM7lB,KAAKlG,MAAM4F,cACzL6oD,EACD,kBAAC,GAAD,W,GAlK0Bn/B,IAAMC,WAwK1Cm7C,GAAsBxlC,aAAe,CACnCC,OAAQC,IAAUC,QA6CLxE,oBA1Cf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GAgBnB,OAfIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAchB,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,gBACnCI,UAAWnb,EAAM8F,YAAYqV,UAC7BH,WAAYhb,EAAM8F,YAAYkV,eAIlC,SAA4B0d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI4yC,EAAanS,EAAe5E,EAAiB6W,EAAgBhS,GAAgBzI,MAIjHqI,CAA6C6pC,ICnM7CU,GAxDf,YAEE,WAAYprE,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAET+8C,YAAc,EAAKA,YAAY78C,KAAjB,gBAHM,EAF9B,2EAUI,IAAIqV,EAAM,CACRnY,OAAQ,CACNO,KAAM,WACNxM,KAAMvZ,KAAKlG,MAAMyf,KACjB7a,GAAIsB,KAAKlG,MAAM4E,GACf0mE,WAAYplE,KAAKlG,MAAMihD,UAKvB/6C,KAAKlG,MAAMitB,SACX/mB,KAAKlG,MAAMitB,QAAQ4W,KArB3B,+BA2BM,IAAIpkB,EAAM5a,EAAO0mE,EAAW,KAY5B,OAXGrlE,KAAKlG,MAAMwrE,MAEM,IADlB/rD,EAAOvZ,KAAKlG,MAAMyf,KAAKtc,MAAM,MACrBG,SACNmc,EAAOvZ,KAAKlG,MAAMyf,KAAKtc,MAAM,MAE5Bsc,EAAKnc,OAAS,IACfuB,EAAQ4a,EAAK,GACb8rD,EAAW9rD,EAAK,KAKlB,yBAAKG,UAAW1Z,KAAKlG,MAAMwrE,IAAM,mBAAqB,uBAClD,2BAAO5rD,UAAW1Z,KAAKlG,MAAMwrE,IAAM,iDAAmD,uCAAwCv/C,KAAK,QAAQrnB,GAAIsB,KAAKlG,MAAM4E,GAAI6a,KAAMvZ,KAAKlG,MAAM4E,GAAIq8C,QAAS/6C,KAAKlG,MAAMihD,UACvM,2BAAOrhC,UAAW1Z,KAAKlG,MAAMwrE,IAAM,mBAAqB,uCAAwCp8C,MAAO,CAACuhB,OAAO,QAAS1jB,QAAS/mB,KAAKmlE,YAAc1qB,QAASz6C,KAAKlG,MAAM4E,IACrKC,GAAgBqB,KAAKlG,MAAMyf,KAC3B8rD,GACC,oCACE,6BACA,8BAAOA,UA/CzB,GAAoCj8C,IAAMC,WCyC3Bk8C,GAxCf,YAEE,WAAYzrE,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAEP+8C,YAAc,EAAKA,YAAY78C,KAAjB,gBAHM,EAF9B,yEAQcqV,GACJ39B,KAAKlG,MAAM0rE,cACbxlE,KAAKlG,MAAM0rE,aAAa7nC,KAVhC,4EAiBY,IAAD,OAEHumB,EAAQlkD,KAAKlG,MAAMoqD,MACvB,OACE,oCACKA,EAAM99B,KAAI,SAACvB,GAAD,OAEP,kBAAC,GAAD,CACKnL,UAAWmL,EAAKnL,UAChBH,KAAMsL,EAAKtL,KACXwhC,QAASl2B,EAAK4gD,SACd1+C,QAAS,SAAC4W,GAAD,OAAS,EAAKwnC,YAAYxnC,IACnC5kC,IAAK8rB,EAAKnmB,GACVA,GAAImmB,EAAKnmB,GACT4mE,IAAK,EAAKxrE,MAAMwrE,cA/BnC,GAAwCl8C,IAAMC,WC2CxCq8C,GAAiB,SAAC,GAAwB,IAAvB3yB,EAAsB,EAAtBA,QAAS3+B,EAAa,EAAbA,QAC5BoV,EAAY,yBAAK9P,UAAU,oBAC3Ba,EAAW,UAAYnG,EAAU,eAAiB,iBActD,OAZI2+B,IACFvpB,EACE,yBAAK9P,UAAU,mBACb,yBAAKA,UAAU,eACb,yBAAKA,UAAWa,GACd,0BAAOqhB,wBAAyBC,EAAmBkX,SAOrDvpB,GAGJm8C,GAAwB,SAAC,GAAe,IAAd5yB,EAAa,EAAbA,QAC1BvpB,EAAY,yBAAK9P,UAAU,oBAe/B,OAZIq5B,IACFvpB,EACE,yBAAK9P,UAAU,mBACb,yBAAKA,UAAU,eACb,yBAAKA,UANE,uBAOL,0BAAMkiB,wBAAyBC,EAAmBkX,SAOpDvpB,GAGJo8C,GAAuC,SAAC,GAA2C,IAA1Cl6C,EAAyC,EAAzCA,SAAUm6C,EAA+B,EAA/BA,eAA+B,IAAfP,WAAe,SACtF,OACE,oCACE,uBAAG5rD,UAAU,cAAcgS,EAASnS,MACpC,yBAAKG,UAAU,YACb,kBAAC,GAAD,CACEwqC,MAAOx4B,EAASo6C,UAChBN,aAAcK,EACdP,IAAKA,OAsBTS,G,YACJ,WAAYjsE,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACXqc,YAAa,KACbgvC,QAAQ,EACRnzC,QAAQ,EACRihC,QAAS,GACT3+B,SAAS,EACT4xD,mBAAmB,GAGrB,EAAKH,eAAiB,EAAKA,eAAev9C,KAApB,gBACtB,EAAK29C,uBAAyB,EAAKA,uBAAuB39C,KAA5B,gBAC9B,EAAK49C,wBAA0B,EAAKA,wBAAwB59C,KAA7B,gBAC/B,EAAK69C,wBAA0B,EAAKA,wBAAwB79C,KAA7B,gBAC/B,EAAK08B,OAAS,EAAKA,OAAO18B,KAAZ,gBACd,EAAK68B,SAAW,EAAKA,SAAS78B,KAAd,gBAjBU,E,iFAoBP,IAAD,OAClBtoB,KAAKlG,MAAMigC,QAAQsL,UAAS,GAAMzpB,MAAK,SAAAguB,GACrC,EAAK9vC,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GACxC,EAAKJ,MAAMigC,QAAQ1C,eAAeh8B,KAClC,EAAKvB,MAAMigC,QAAQtC,kBAGnB,EAAK39B,MAAMigC,QAAQwN,iBAAiB3rB,MAAK,SAAAwqB,GACvC,IAAIggC,EAAOhgC,GAAK,EAAKtsC,MAAM4F,YAAYuW,YACnC21B,EAAKxxC,OAAOC,OAAO,GAAI+rE,GAG3B,GAFAx6B,EAAEx1B,WAAa,GAEXgwD,EAAKhwD,WACP,IAAI,IAAI6R,EAAI,EAAGA,EAAIm+C,EAAKhwD,WAAWhZ,OAAQ6qB,IAGzC,GAFA2jB,EAAEx1B,WAAW8G,KAAK9iB,OAAOC,OAAO,GAAI+rE,EAAKhwD,WAAW6R,KAEjDm+C,EAAKhwD,WAAW6R,GAAG69C,UAAU,CAC9Bl6B,EAAEx1B,WAAW6R,GAAG69C,UAAY,GAC5B,IAAI,IAAI3oE,EAAI,EAAGA,EAAIipE,EAAKhwD,WAAW6R,GAAG69C,UAAU1oE,OAAQD,IACtDyuC,EAAEx1B,WAAW6R,GAAG69C,UAAU5oD,KAAK9iB,OAAOC,OAAO,GAAI+rE,EAAKhwD,WAAW6R,GAAG69C,UAAU3oE,KAMtF,EAAK86B,SAAS,CAAChiB,YAAa21B,EAAG95B,QAAS,OAEvCoK,OAAM,SAAAhiB,GACP,IAAIusD,EAAO,KAGTA,EADc,KAAZvsD,EAAEk8B,OACE,EAAKt8B,MAAM2W,aAAapV,IAAsB,EAAKvB,MAAM2W,aAAanV,qBAAuB,+BAE9E,KAAZpB,EAAEk8B,OACL,EAAKt8B,MAAM2W,aAAapV,IAAsB,EAAKvB,MAAM2W,aAAanV,qBAAuB,gCAE9E,KAAZpB,EAAEk8B,OACL,EAAKt8B,MAAM2W,aAAX,YAGA,EAAK3W,MAAM2W,aAAX,YAGR,EAAKwnB,SAAS,CAACgtB,QAAQ,EAAOlS,QAAS0T,EAAKryC,SAAS,EAAMtC,QAAQ,e,gDAMjD4/B,GACnBA,EAAU/8B,iBAEb3U,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,IAA6B,WAAaA,O,qCAIvD+jB,GAWb,IAJA,IAAIynC,EAAYznC,EAAInY,OAAO4/C,UAEvBnvD,EAAcjW,KAAKpG,MAAMqc,YACzBi/C,GAAQ,EACH/3D,EAAI,EAAGA,EAAG8Y,EAAYG,WAAWhZ,SAAW83D,EAAO/3D,IAAK,CAC/D,IAAIuuB,EAAWzV,EAAYG,WAAWjZ,GACtC,GAAGuuB,EACD,IAAK,IAAIP,EAAI,EAAGA,EAAIO,EAASo6C,UAAU1oE,SAAW83D,EAAO/pC,IAAK,CAC5D,IAAIk7C,EAAW36C,EAASo6C,UAAU36C,GAC/Bk7C,EAAQ,IAAU1oC,EAAInY,OAAO9mB,KAC9B2nE,EAAQ,SAAejB,EACvBlQ,GAAQ,IAMhBl1D,KAAKi4B,SAAS,CAAChiB,YAAaA,EAAagvC,QAAQ,EAAOlS,QAAS,GAAI3+B,SAAS,M,6CAGzDupB,GAMrB,IAAIynC,EAAYznC,EAAInY,OAAO4/C,UACvBY,GAAoB,EACnBZ,IACHY,GAAoB,GAGtB,IAAI/vD,EAAcjW,KAAKpG,MAAMqc,YAC7BA,EAAYE,cAAgBivD,EAC5BplE,KAAKi4B,SAAS,CAAChiB,YAAaA,EAAagvC,QAAQ,EAAOlS,QAAS,GAAI3+B,SAAS,EAAO4xD,kBAAmBA,M,8CAGlFroC,GACtB,IAAIynC,EAAYznC,EAAInY,OAAO4/C,UACvBnvD,EAAcjW,KAAKpG,MAAMqc,YAC7BA,EAAYuvC,eAAiB4f,EAC7BplE,KAAKi4B,SAAS,CAAChiB,YAAaA,EAAagvC,QAAQ,EAAOlS,QAAS,GAAI3+B,SAAS,M,8CAGxDupB,GACtB,IAAIynC,EAAYznC,EAAInY,OAAO4/C,UAEvBnvD,EAAcjW,KAAKpG,MAAMqc,YAC7BA,EAAYC,UAAYkvD,EACxBplE,KAAKi4B,SAAS,CAAChiB,YAAaA,EAAagvC,QAAQ,EAAOlS,QAAS,GAAI3+B,SAAS,M,6BAGvE2e,GAAO,IAAD,OACXA,EAAMpL,iBAIL3nB,KAAKi4B,SAAS,CAACgtB,QAAS,EAAMC,oBAAoB,IAElDllD,KAAKlG,MAAMigC,QAAQyN,eAAexnC,KAAKpG,MAAMqc,aAAa2F,MACvD,SAAAwqB,GAEE,EAAKnO,SAAS,CAAEgtB,QAAQ,EAAOlS,QAAS,EAAKj5C,MAAM2W,aAAX,iBAA6C2D,SAAS,IAG1F,EAAKxa,MAAMqc,YAAYC,UACzB,EAAKpc,MAAMigC,QAAQ4L,YAMtBzpB,OAAM,SAAAhiB,GACP,IAAIusD,EAAO,KAEPA,EADY,KAAZvsD,EAAEk8B,OACI,EAAKt8B,MAAM2W,aAAapV,IAAsB,EAAKvB,MAAM2W,aAAanV,qBAAuB,uBAElF,KAAZpB,EAAEk8B,OACH,EAAKt8B,MAAM2W,aAAX,YAGG,EAAK3W,MAAM2W,aAAX,YAGT,EAAKwnB,SAAS,CAACgtB,QAAQ,EAAOlS,QAAS0T,EAAKryC,SAAS,S,+BAKtD2e,GACPA,EAAMpL,iBACiBooC,eACRjE,W,+BAGP,IAAD,OACH71C,EAAcjW,KAAKpG,MAAMqc,YAEzBxF,GADgB,8BACDzQ,KAAKlG,MAAM2W,cAE1B83C,EACF,kBAAC,GAAD,CACEprB,aAAa,SACbljB,KAAMja,KAAKlG,MAAM2W,aAAapV,IAAgB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,gBAC7F8hC,KAAK,QAmHT,OA/GIp9B,KAAKpG,MAAMkY,SAEXy2C,EADEvoD,KAAKpG,MAAMwa,UAAYpU,KAAKpG,MAAMqc,YAElC,6BACGjW,KAAKpG,MAAMm5C,SAAW,kBAAC,GAAD,CACnBA,QAAS/yC,KAAKpG,MAAMm5C,QACpB3+B,QAASpU,KAAKpG,MAAMwa,WAO5B,6BAASsF,UAAU,mBACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACf,yBAAKA,UAAU,mDACb,0BAAMA,UAAU,WAChB,yBAAKA,UAAU,yBACb,yBAAKA,UAAU,sCAAsCwP,MAAO,CAACo9C,OAAO,OAClE,4BAAI,yBAAKt/C,IAAKnoB,qBAA+BooB,IAAI,GAAGvN,UAAU,cAA9D,8BAEF,yBAAKA,UAAU,gDACXzD,GAAeA,EAAYG,YAAcH,EAAYG,WAAWgQ,KAAI,SAAC6B,EAAG6B,GAAJ,OAC9D,oCACU,GAATA,GAAe,kBAAC,GAAD,CACd4B,SAAUzD,EACV49C,eAAgB,EAAKA,eACrB9sE,IAAKkvB,EAAEvpB,GACP4mE,KAAK,IAEG,GAATx7C,GAAe,kBAAC,GAAD,CACd4B,SAAUzD,EACV49C,eAAgB,EAAKA,eACrB9sE,IAAKkvB,EAAEvpB,WAMrB,yBAAKgb,UAAU,yBACb,yBAAKA,UAAU,2CAA2CwP,MAAO,CAACo9C,OAAO,OACvE,4BAAI,yBAAKt/C,IAAI,gCAAgCC,IAAI,GAAGvN,UAAU,cAA9D,6CAEF,yBAAKA,UAAU,wDACb,kBAAC,GAAD,CACIH,KAAM9I,EAAapV,IAAsBoV,EAAanV,qBAAuB,qBAC7Ey/C,SAAU9kC,EAAYuvC,cACtBz+B,QAAS/mB,KAAKmmE,wBACdznE,GAAG,oBAGX,yBAAKgb,UAAU,yBACb,yBAAKA,UAAU,2CAA2CwP,MAAO,CAACo9C,OAAO,OACvE,4BAAI,yBAAKt/C,IAAI,gCAAgCC,IAAI,GAAGvN,UAAU,cAA9D,uBAEF,yBAAKA,UAAU,wDACb,kBAAC,GAAD,CACIH,KAAM9I,EAAapV,IAAsBoV,EAAanV,qBAAuB,oBAC7Ey/C,SAAU9kC,EAAYE,aACtB4Q,QAAS/mB,KAAKimE,uBACdvnE,GAAG,iBAENsB,KAAKpG,MAAMosE,mBACV,kBAAC,GAAD,CACIjzB,QAAUtiC,EAAY,wBAA4BuR,QAAQ,SAAU,4BAA8BvmB,IAA4C,wBAKxJ,yBAAKie,UAAU,yBACb,yBAAKA,UAAU,2CAA2CwP,MAAO,CAACo9C,OAAO,OACvE,4BAAI,yBAAKt/C,IAAI,gCAAgCC,IAAI,GAAGvN,UAAU,cAA9D,uBAEF,yBAAKA,UAAU,wDACT,kBAAC,GAAD,CACEH,KAAM9I,EAAapV,IAAsBoV,EAAanV,qBAAuB,eAC7Ey/C,SAAU9kC,EAAYC,SACtB6Q,QAAS/mB,KAAKkmE,wBACdxnE,GAAG,YAEJsB,KAAKpG,MAAMm5C,SAAW,kBAAC,GAAD,CACrBA,QAAS/yC,KAAKpG,MAAMm5C,QACpB3+B,QAASpU,KAAKpG,MAAMwa,YAK5B,yBAAKsF,UAAU,gDACf,4BACMqM,KAAK,SACLgB,QAAS/mB,KAAKglD,OACdtrC,UAAW1Z,KAAKpG,MAAMqrD,OAAO,+BAA+B,uBAC3Dx0C,EAAY,iBAmB7B,oCACE,0BAAM/R,GAAG,mBACT,yBAAKgb,UAAU,yBACb,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,aAAcmW,cAAc,KAE5DiiC,EACD,kBAAC,GAAD,W,GAtTwBn/B,IAAMC,WA4TtC08C,GAAkB/mC,aAAe,CAC/BC,OAAQC,IAAUC,QAgCLxE,oBA7Bf,SAAyB/gC,EAAOghC,GAC9B,IAAIpqB,EAAY,GAEhB,GAAI5W,EAAMT,KAAM,CACd,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIlD,IAAIyxC,EAAc,GAKlB,OAJIlzC,EAAM6W,eACRq8B,EAAclzC,EAAM6W,cAGf,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAa9F,EAAM8F,YACnBiV,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,GAAe3a,MAIlEqI,CAA6CorC,IC9Y7CQ,G,+GA7DcxxD,GAErB,IAAOmG,EAAUzf,IAA+B,mBAE5C8f,EAAU,GAWZ,OAVCxG,IACDwG,EAAQ,cAAgBxG,GASjB4G,MAAMT,EAPD,CACTE,OAAQ,MACRC,KAAM,OACNC,YAAa,UACbC,QAASA,IAGmBK,MAAK,SAAAC,GAEtB,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAMlCK,OAAM,SAAUC,GAChB,MAAMA,O,sCAIOpH,EAAW2Z,GAEhC,IAAOxT,EAAUzf,IAA+B,wBAE5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAE1B,IAAIoG,EAAU,CACTC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAUgT,IAGxB,OAAO/S,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAE5B,OAAKA,EAASC,GAILD,EAHAG,QAAQC,OAAOJ,MAM5BK,OAAM,SAAUC,GAChB,MAAMA,S,KCpDL+gD,GAAY,CACvBC,QAAS,mCACTC,WAAY,uCAGDoJ,GAA8B,CACzCtM,GACAA,GACAA,GACAA,GACAA,GACAA,GACAA,GCnBuB,SAAC,GAAiD,IAAhDxrC,EAA+C,EAA/CA,KAAM6lC,EAAyC,EAAzCA,UAC3B/qC,GADoE,EAA9BgrC,SAA8B,EAApBC,eACpC,+BACZ2C,EAAU1oC,EAAI,eAoBlB,OAlBIA,GAAQ6lC,IACV/qC,EAAY,yBAAK9P,UAAU,gCACb,yBAAKA,UAAU,yBACb,yBAAKA,UAAU,yBAAyB09C,EAAO,mBAEjD,yBAAK19C,UAAU,6BACb,yBAAKA,UAAU,gEACb,yBAAKsN,IAAKowC,EAAO,WAGrB,yBAAK19C,UAAU,6BACb,yBAAKA,UAAU,yBACb,0BAAMA,UAAU,8BAA8BkiB,wBAAyBC,EAAmBu7B,EAAO,gBAM5G5tC,IDEEi9C,GAAoB,CAC/BC,qBAAsB,EACtBC,2BAA4B,EAC5BC,0BAA2B,EAC3BC,kBAAmB,EACnBC,0BAA2B,EAC3BC,oBAAqB,EACrBC,kBAAmB,EACnBC,gBAAiB,GAGNC,GACb,CAEExI,kBAAkB,EAClB1kD,MAAO,CACL,CACE0U,KAAM+3C,GAAkBC,qBACxBvoB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,IAErB,CACEtpC,KAAM+3C,GAAkBE,2BACxBxoB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,IAErB,CACEtpC,KAAM+3C,GAAkBG,0BACxBzoB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,IAErB,CACEtpC,KAAM+3C,GAAkBI,kBACxB1oB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,IAErB,CACEtpC,KAAM+3C,GAAkBK,0BACxB3oB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,IAErB,CACEtpC,KAAM+3C,GAAkBM,oBACxB5oB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,IAErB,CACEtpC,KAAM+3C,GAAkBO,kBACxB7oB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,EAAC,GAAO,GAAO,GAAO,GAAO,GAAO,GACnDO,kBAAmB,IAErB,CACEtpC,KAAM+3C,GAAkBQ,gBACxB9oB,SAAS,EACTqQ,aAAa,EACbiJ,cAAe,GACfO,kBAAmB,GACnB2G,qBAAqB,KAKdwI,GAAwB,CACnC,CACEzoE,GAAI,yBACJgwB,KAAM+3C,GAAkBC,qBACxB7H,SAAU,WACV1K,UAAW,qCACXkH,iBAAkB,+BAClByD,mBAAoB,EACpBI,oBAAoB,EACpBxI,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG0jB,MAAO,iCAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,wBAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,gBAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,0BAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,8BAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,YAItB,CACE1jB,GAAI,gCACJgwB,KAAM+3C,GAAkBE,2BACxB9H,SAAU,WACV1K,UAAW,qDACXkH,iBAAkB,yBAClByD,mBAAoB,EACpBpI,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG0jB,MAAO,eAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,aAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,iBAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,gBAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,iBAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,YAItB,CACE1jB,GAAI,kCACJgwB,KAAM+3C,GAAkBG,0BACxB/H,SAAU,WACV1K,UAAW,yDACXkH,iBAAkB,+BAClByD,mBAAoB,EACpBpI,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG0jB,MAAO,iCAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,sBAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,mCAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,+BAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,YAItB,CACE1jB,GAAI,qBACJgwB,KAAM+3C,GAAkBI,kBACxBhI,SAAU,WACV1K,UAAW,aACXyL,aAAc,6DACdvE,iBAAkB,oBAClByD,mBAAoB,KACpBC,sBAAsB,EACtBc,mBAAoB,EACpBX,oBAAoB,EACpBxI,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG0jB,MAAO,SAAUxjB,OAAQC,4BAClC,CAAEH,GAAI,EAAG0jB,MAAO,gBAAiBxjB,OAAQC,kCACzC,CAAEH,GAAI,EAAG0jB,MAAO,mBAAoBxjB,OAAQC,iCAC5C,CAAEH,GAAI,EAAG0jB,MAAO,gBAAiBxjB,OAAQC,gCACzC,CAAEH,GAAI,EAAG0jB,MAAO,eAAgBxjB,OAAQC,oCAI9C,CACEH,GAAI,6BACJgwB,KAAM+3C,GAAkBK,0BACxBjI,SAAU,WACV1K,UAAW,qBACXyL,aAAc,6DACdvE,iBAAkB,oBAClByD,mBAAoB,EACpBC,sBAAsB,EACtBc,mBAAoB,EACpBX,oBAAoB,EACpBxI,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG0jB,MAAO,6BAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,uBAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,cAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,aAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,WAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,cAItB,CACE1jB,GAAI,uBACJgwB,KAAM+3C,GAAkBM,oBACxBlI,SAAU,WACV1K,UAAW,eACXyL,aAAc,6DACdvE,iBAAkB,oBAClByD,mBAAoB,EACpBC,sBAAsB,EACtBc,mBAAoB,EACpBX,oBAAoB,EACpBxI,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG0jB,MAAO,aAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,eAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,gBAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,UAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,wBAItB,CACE1jB,GAAI,qBACJgwB,KAAM+3C,GAAkBO,kBACxBnI,SAAU,WACV1K,UAAW,aACXyL,aAAc,6DACdvE,iBAAkB,oBAClByD,mBAAoB,EACpBC,sBAAsB,EACtBc,mBAAoB,EACpBX,oBAAoB,EACpBxI,eAAgB,CACd0C,WAAY,EACZr/B,QAAS,CACP,CAAEr7B,GAAI,EAAG0jB,MAAO,0BAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,qBAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,UAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,iCAChB,CAAE1jB,GAAI,EAAG0jB,MAAO,mCAItB,CACE1jB,GAAI,kBACJgwB,KAAM+3C,GAAkBQ,gBACxBpI,SAAU,WACV1K,UAAW,qBACXyL,aAAc,GACdvE,iBAAkB,GAClB0D,sBAAsB,EACtBc,mBAAoB,EACpBnJ,eAAgB,CACdhsC,SAAU,qFACV9rB,OAAQC,oBEzPDuoE,GAAb,YAEI,WAAYttE,EAAOsuB,GAAU,qEACnBtuB,EAAOsuB,IAHrB,yEAQM,OAAO80C,KARb,yCAYM,OAAOgK,KAZb,6CAgBM,OAAOV,KAhBb,sCAoBM,OAAOC,KApBb,2CAwBM,OAAOU,KAxBb,kCA2BgB1Q,EAAgBC,GAC1B12D,KAAKlG,MAAMsqE,WAAW3N,EAAgBC,KA5B5C,sCA+BoBC,EAAUpC,EAAWqC,EAAiB1D,EAAY2D,GAC9D72D,KAAKlG,MAAM26D,eAAekC,EAAUpC,EAAWqC,EAAiB1D,EAAY2D,KAhCpF,qCAmCmBC,EAAWJ,EAAgBtE,GACvCpyD,KAAKlG,MAAMigC,QAAQ1F,aAAayiC,EAAWJ,EAAgBtE,KApClE,6CA0C2BC,EAAiBa,GACtC,GAAGA,GAAcA,EAAWl5C,OAASk5C,EAAWl5C,MAAM5c,OAAS,EAAE,CAC5D,IAAI4c,EAAQk5C,EAAWl5C,MAEvBA,EAAMq4C,EAAgBsU,4BAA4BxoB,QAAUnkC,EAAMq4C,EAAgBqU,sBAAsBjP,cAAc,IAAMz9C,EAAMq4C,EAAgBqU,sBAAsBjP,cAAc,GAGtLz9C,EAAMq4C,EAAgB0U,qBAAqB5oB,QAAUnkC,EAAMq4C,EAAgByU,2BAA2BrP,cAAc,IAAMz9C,EAAMq4C,EAAgByU,2BAA2BrP,cAAc,GAEzLz9C,EAAMq4C,EAAgB4U,iBAAiB9oB,SAAU,OAnD5D,GAAmCoX,IAwDnC6R,GAAcpoC,aAAe,CAC3BC,OAAQC,IAAUC,Q,IC9CdkoC,G,YACJ,WAAYvtE,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACX0tE,wBAAyB,EACzBC,yBAA0B,EAC1Bvc,eAAe,EACf6N,eAAgB,KAChB8L,UAAU,GAGZ,EAAKP,WAAa,EAAKA,WAAW97C,KAAhB,gBAClB,EAAKmsC,eAAiB,EAAKA,eAAensC,KAApB,gBAZI,E,iFAeP,IAAD,OAGlBtoB,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAElC2E,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GACxCqsE,GAAWiB,kBAAkB,EAAK1tE,MAAMib,WAAW6G,MAAM,SAAA+kC,GACvD,EAAK1oB,SAAS,CACZ4gC,eAAgBlY,EAAKkkB,QACrByC,wBAAwB,EACxBC,yBAAyB,EACzBvc,eAAe,OAEhB9uC,OAAO,SAAAC,GACR,EAAK8b,SAAS,CACZqvC,wBAAwB,EACxBC,yBAAyB,EACzBvc,eAAe,Y,gDAMGtZ,GACnBA,EAAU/8B,iBAEb3U,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,oB,iCASjBq3C,EAAW6C,GACpB,IAAI1oC,EAAOt0B,OAAOC,OAAO,GAAIk6D,EAAW,CAACuQ,SAAU1N,EAAQ14D,KAE3D6nE,GAAWkB,gBAAgBznE,KAAKlG,MAAMib,UAAW2Z,GAAM9S,MAAK,eAEzDM,OAAO,SAAAC,S,qCAMGw6C,EAAUpC,EAAWqC,EAAiB1D,EAAY2D,GAC/D72D,KAAKlG,MAAMigC,QAAQ8X,4B,wCAUF,IAAD,OAChB,OACE,6BAASn4B,UAAU,kCACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,0EACb,yBAAKA,UAAU,UACb,yBAAKsN,IAAKnoB,aAAuB6a,UAAU,YAAYuN,IAAI,MAE7D,oCACA,4BAAKjnB,KAAKlG,MAAM4F,YAAcM,KAAKlG,MAAM4F,YAAYyU,YAAc,IACnE,yFAA8D,6BAA9D,oBACA,yBAAKuF,UAAU,UACb,uBAAGA,UAAU,6BAA6BqN,QAAS,WAAK,EAAK49C,aAA7D,sB,iCAUZ3kE,KAAKi4B,SAAS,CAAC0sC,UAAS,M,+BAIxB,IAAIpc,EAAc,KAoClB,OAjCEA,EADEvoD,KAAKpG,MAAMoxD,cAEX,kBAAC,GAAD,CACE/wC,KAAK,8HAGAja,KAAKpG,MAAM2tE,wBAElB,kBAAC,GAAD,CACEpqC,aAAa,SACbljB,KAAMja,KAAKlG,MAAM2W,aAAapV,IAAgB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,gBAC7F8hC,KAAK,QAGAp9B,KAAKpG,MAAM0tE,uBACjBtnE,KAAKpG,MAAM+qE,SAEV,kBAAC,GAAD,CACEP,WAAYpkE,KAAKokE,WACjBrqC,QAAS/5B,KAAKlG,MAAMigC,QACpB8+B,eAAgB74D,KAAKpG,MAAMi/D,eAC3BjkD,WAAY5U,KAAKlG,MAAM8a,WACvB6/C,eAAgBz0D,KAAKy0D,iBAKXz0D,KAAKilE,kBAIP,8BAId,yBAAKvrD,UAAU,uCACX1Z,KAAKpG,MAAM+qE,UAAY,kBAAC,EAAD,CAAMh8C,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAcsY,UAAU,cAAc3C,WAAW,EAAM4C,SAAS,yDAAyD7C,KAAM7lB,KAAKlG,MAAM4F,cAClN6oD,GACCvoD,KAAKpG,MAAM+qE,UAAY,kBAAC,GAAD,W,GA7IPv7C,IAAMC,WAmJhCg+C,GAAYroC,aAAe,CACzBC,OAAQC,IAAUC,QAkCLxE,oBA/Bf,SAAyB/gC,EAAOghC,GAC9B,IAAIpqB,EAAY,GAEhB,GAAI5W,EAAMT,KAAM,CACd,IAAIA,EAAOS,EAAMT,KACZA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC7FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIlD,IAAIyxC,EAAc,GAKlB,OAJIlzC,EAAM6W,eACRq8B,EAAclzC,EAAM6W,cAGf,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,gBACnCI,UAAWnb,EAAM8F,YAAYqV,UAC7BH,WAAYhb,EAAM8F,YAAYkV,eAIlC,SAA4B0d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,EAAa/W,EAAiB6E,GAAgBzI,MAIjGqI,CAA6C0sC,ICpMtDK,GAAU,SAAC,GAAW,IAAVC,EAAS,EAATA,IACd,OACE,yBAAKjuD,UAAU,OACb,yBAAKA,UAAU,aACb,4BAAI,uBAAG1a,KAAM2oE,EAAI3oE,KAAMwmB,OAAO,UAAUmiD,EAAIhpE,QAC5C,6BACE,0BAAO+a,UAAU,WAAWkiB,wBAAyB5X,EAAa2jD,EAAI1tD,YAiCnE2tD,GA1BI,SAAC,GAAY,IAAXp9C,EAAU,EAAVA,KAEf4mC,EAAa,eAAiB/1D,IAElC,OACE,6BAASqe,UAAW03C,GAElB,yBAAK13C,UAAU,kEAEf,yBAAKA,UAAU,0BACZ,yBAAKA,UAAU,uCACb,wBAAIA,UAAU,2BAAd,SAKF8Q,GAAQA,EAAKpE,KAAK,SAAAuhD,GAAG,OAAI,kBAAC,GAAD,CAAS5uE,IAAK4uE,EAAIjpE,GAAIipE,IAAKA,UCAvDE,IANIptD,OAAOuK,EAMY,WAC3B,OACE,yBAAKtL,UAAU,cACb,yBAAKA,UAAU,sBACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,yFAAyFC,KAAK,cAAcmuD,gBAAc,KAAKC,gBAAc,IAAIC,gBAAc,aAOlLC,GAAwB,SAAC,GAAoB,IAAnBx3D,EAAkB,EAAlBA,aAC9B,OACE,yBAAKiJ,UAAU,6DACb,yBAAKA,UAAU,oCACb,0BAAMA,UAAU,eACbjJ,EAAapV,IAAiBoV,EAAanV,qBAAuB,wBAQhE4sE,GAAb,YACI,WAAYpuE,EAAOsuB,GAAS,IAAD,8BACvB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACTyiB,SAAW,CAAGsB,IAAK,CAAEC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IAAOmB,QAAQ,GAAIK,gBAAiB,GAAIF,wBAAuB,EAAOxI,MAAO9c,EAAM6b,oBAAqBc,UAAW,GAAIC,WAAY,GAAIC,SAAU,IAC1LqtB,iBAAkB,CAAEmkC,GAAI,GAAIC,GAAI,IAChCxrD,OAAQ,CAACe,IAAK,CAAEC,GAAI,GAAIC,GAAI,GAAIC,GAAI,KAEpCmnC,QAAQ,EACRzpB,cAAe,GACfhC,uBAAwB,2EACxB6uC,aAAa,EACb/rD,WAAY,CACRF,QAAQ,IAIjB,EAAK+e,gBAAkB,EAAKA,gBAAgB7S,KAArB,gBACvB,EAAKuY,SAAW,EAAKA,SAASvY,KAAd,gBAChB,EAAKwU,iBAAmB,EAAKA,iBAAiBxU,KAAtB,gBACxB,EAAKkV,eAAiB,EAAKA,eAAelV,KAApB,gBACtB,EAAK6X,eAAiB,EAAKA,eAAe7X,KAApB,gBACtB,EAAK8X,gBAAkB,EAAKA,gBAAgB9X,KAArB,gBAEvB,EAAK8S,aAAe,EAAKA,aAAa9S,KAAlB,gBAEpB,EAAK09B,eAAiB,EAAKA,eAAe19B,KAApB,gBACtB,EAAKg0B,oBAAsB,EAAKA,oBAAoBh0B,KAAzB,gBAC3B,EAAK49B,kCAAoC,EAAKA,kCAAkC59B,KAAvC,gBACzC,EAAK69B,sBAAwB,EAAKA,sBAAsB79B,KAA3B,gBAC7B,EAAK89B,uBAAyB,EAAKA,uBAAuB99B,KAA5B,gBAC9B,EAAKggD,iBAAmB,EAAKA,iBAAiBhgD,KAAtB,gBA/BA,EAD/B,qIAwC8BopB,GACxB,GAAIA,EAAU/7B,qBAAuB3V,KAAKlG,MAAM6b,oBAAqB,CACnE,IAAI0G,EAAWjiB,OAAOC,OAAO,GAAI2F,KAAKpG,MAAMyiB,UAC5CA,EAASzF,MAAQ86B,EAAU/7B,oBAC3B3V,KAAKi4B,SAAS,CAAE5b,gBA5CxB,0CAgDyB,IAEfmf,EAFc,OAIlB,GAAIA,EAAgBx7B,KAAKlG,MAAM0hC,cAAe,CAC5C,IACInf,EAAWjiB,OAAOC,OAAO,GAAI2F,KAAKpG,MAAMyiB,UACxB,UAAjBmf,GACDnf,EAASksD,gBxIhHW,GwIiHpBvoE,KAAKlG,MAAMigC,QAAQoI,aAAa9lB,EAASksD,iBACzCvoE,KAAKi4B,SAAS,CAACuD,cAAeA,EAAenf,SAAUA,KAEhC,eAAjBmf,GACNnf,EAASksD,gBxIpHgB,GwIqHzBvoE,KAAKlG,MAAMigC,QAAQoI,aAAa9lB,EAASksD,iBACzCvoE,KAAKi4B,SAAS,CAACuD,cAAeA,EAAenf,SAAUA,KAGrDrc,KAAKi4B,SAAS,CAACuD,cAAeA,IAcpC,GATAx7B,KAAKlG,MAAMigC,QAAQuI,qBACnBtiC,KAAKlG,MAAMigC,QAAQ0I,mBACnBziC,KAAKlG,MAAMigC,QAAQiJ,0BAEC,QAAjBxH,IACCx7B,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQqH,gBAGD,cAAlB5F,EAA+B,CACjC,IAAIwI,EAAmB+Y,iBAAM/8C,KAAKlG,MAAM4gB,SAASsiC,QAG7ChZ,GAAoBA,EAAiBmkC,IAAMnkC,EAAiBokC,IAFjD,KAEuDpkC,EAAiBokC,GAAGhrE,SAExF4C,KAAKi4B,SAAS,CAAEowC,aAAa,IAE7BroE,KAAKlG,MAAMigC,QAAQ0N,oBAAoBzD,GAAkBpoB,MAAK,SAAA1hB,GAC5D,EAAK+9B,SAAS,CAAEowC,aAAa,OAC5BnsD,OAAM,SAAAhiB,GAAM,EAAK+9B,SAAS,CAAEowC,aAAa,QAIhDroE,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQsL,WAGnB,IAAIjT,EAAM2qB,iBAAM/8C,KAAKlG,MAAM4gB,SAASsiC,QAAQwrB,eAEzCp2C,GACDpyB,KAAKlG,MAAMigC,QAAQ5H,yBAAyBC,EAAK,QArGzD,yCAyGuB7J,EAAWC,GAG5B,GAAID,GAAavoB,KAAKlG,OAASyuB,EAAUjS,kBAAoBtW,KAAKlG,MAAMwc,kBAAqBiS,EAAUjS,iBAAiBE,QAAUxW,KAAKlG,MAAMwc,iBAAiBE,OAAS,CACrK,IAAIwtB,EAAmB5pC,OAAOC,OAAO,GAAI2F,KAAKpG,MAAMyiB,SAAUrc,KAAKlG,MAAMwc,iBAAiBE,QAC1FxW,KAAKi4B,SAAS,CAAC5b,SAAU2nB,OA9GjC,mCAkHiBjR,GACR/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAa,qBAAsB,gBACvE2E,KAAK6gC,SAASjnB,OApHvB,+BAuHa+yB,GACL3sC,KAAKlG,MAAM8yC,QAAQ1vB,KAAKyvB,KAxHhC,sCA2HoB5Z,GAIV/yB,KAAKlG,MAAM6a,gBACZ3U,KAAK6gC,SAASjnB,KAGd5Z,KAAKlG,MAAMigC,QAAQlG,yBAAyBd,EAAMvN,OAAO9mB,MAnIlE,uCAwIqBq0B,MAxIrB,qCA4ImBA,EAAOhC,GAEpB/wB,KAAKlG,MAAMigC,QAAQyH,qBAAqBzQ,EAAS11B,IAAY,uBA9InE,qCAiJmB03B,EAAO/H,MAjJ1B,sCAuJoB+H,EAAO0Z,MAvJ3B,+CA6JM,OADAzsC,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,MACjB,IA7Jb,qCAgKmB6V,GAAQ,IAAD,OACpBA,EAAMpL,iBACN,IAAMhuB,EAAOqG,KACbA,KAAKi4B,SAAS,CAACgtB,QAAQ,IAErB,IAAIuB,EAAmBvrC,EAAcuB,iBAAiBxc,KAAKpG,MAAMyiB,SAAUrc,KAAKpG,MAAM0iB,YAExF,GAAIkqC,EAAiB7pC,QACnB3c,KAAKmmD,sBAAsBnmD,KAAKpG,MAAMyiB,UAAUT,MAAM,SAAAwqB,GACpD,IAAIqiC,EAAkB,GAClBr2C,EAAM2qB,iBAAM,EAAKjjD,MAAM4gB,SAASsiC,QAAQwrB,eAExCp2C,IACFq2C,EAAkB,QAAUr2C,GAG9B,EAAKt4B,MAAM8yC,QAAQ1vB,KAAKtD,KAAuC6uD,GAAoC,QAElGvsD,OAAM,SAAAhiB,GACP,IAAI0iB,EAAS,EAAKhjB,MAAMgjB,OACpB6pC,EAAO,KACI,KAAZvsD,EAAEk8B,OACHqwB,EAAM,EAAK3sD,MAAM2W,aAAapV,IAAiB,EAAKvB,MAAM2W,aAAanV,qBAAuB,kBAE5E,KAAZpB,EAAEk8B,OACRqwB,EAAM,EAAK3sD,MAAM2W,aAAapV,IAAiB,EAAKvB,MAAM2W,aAAanV,qBAAuB,kBAE5E,KAAZpB,EAAEk8B,QACRl8B,EAAE6hB,OAAOH,MAAK,SAASC,GACrBA,EAAS2U,SAAQ,SAAArU,GACfS,EAAOT,EAAMshC,OAASthC,EAAM42B,WAG9Bp5C,EAAKs+B,SAAS,CAACrb,OAAQA,EAAQqoC,QAAS,OAG1CwB,EAAM,EAAK3sD,MAAM2W,aAAapV,IAAiB,EAAKvB,MAAM2W,aAAanV,qBAAuB,mBAE5E,KAAZpB,EAAEk8B,SACVqwB,EAAM,EAAK3sD,MAAM2W,aAAX,aAGNmM,EAAM,OAAa6pC,EACnB,EAAKxuB,SAAS,CAACrb,OAAQA,EAAQqoC,QAAS,WAErC,CACL,IAAIqB,EAActmD,KAAKpG,MAAMyiB,SAC7BiqC,EAAY7pC,oBAAsB+pC,EAAiB/pC,oBACnD6pC,EAAY5pC,qBAAuB8pC,EAAiB9pC,qBAEpD1c,KAAKi4B,SAAS,CAAC5b,SAAUiqC,EAAa1pC,OAAQ4pC,EAAiB5pC,OAAQqoC,QAAQ,OAlNvF,4CAsN0B5oC,GACpB,IAAIqqC,EAAqBtsD,OAAOC,OAAO,GAAIgiB,GAE3CuQ,GAAU+5B,qCAAqCD,EAAoBrqC,EAASsB,IAAIG,GAAIzB,EAASsB,IAAIE,GAAIxB,EAASsB,IAAIC,IAIlH8oC,EAAmBjnC,OAASpD,EAASoD,OAErC,IAAIipD,EAAiD,aAA5B1oE,KAAKpG,MAAM4hC,cACpC,OAAOx7B,KAAKlG,MAAMigC,QAAQ6M,aAAa8f,EAAoBgiB,KAhOjE,0CAmOwB31C,GAEhB,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KAEvB8C,EAAWrc,KAAKpG,MAAMyiB,SAC1BA,EAASohC,GAAS1qB,EAAMvN,OAAOpD,MAE/B,IAAIxF,EAAS5c,KAAKpG,MAAMgjB,OAGxB,OAFAA,EAAO6gC,GAAiB,OAARA,EAAgB,GAAK,GAE9Bz9C,KAAKi4B,SAAS,CAAE5b,SAAUA,EAAUO,OAAOA,MA7O1D,wDAgPsCmW,GAEhC,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KAEvBqD,EAAS5c,KAAKpG,MAAMgjB,OAQxB,OANImW,EAAMvN,OAAO4Q,QAAUrD,EAAMvN,OAAO4Q,OAIxCxZ,EAAO6gC,GAASz9C,KAAKlG,MAAM2W,aAAX,wBAETzQ,KAAKi4B,SAAS,CAAErb,OAAOA,MA5PpC,yCAiQM,IAAI+rD,EAAa,GA2Bf,MAzB6B,QAA5B3oE,KAAKpG,MAAM4hC,eAAuD,SAA5Bx7B,KAAKpG,MAAM4hC,eAAwD,UAA5Bx7B,KAAKpG,MAAM4hC,gBAEvFmtC,EAAWzrD,KAAK,kBAAC,GAAD,CACbnkB,IAAI,aACJoG,SAAUa,KAAKlG,MAAM6W,eACrBF,aAAczQ,KAAKlG,MAAM2W,aACzBqsB,iBAAkB98B,KAAK88B,oBAGM,QAA5B98B,KAAKpG,MAAM4hC,eAEXmtC,EAAWzrD,KAAK,kBAAC,GAAD,CACbnkB,IAAI,WACJ8Y,QAAS7R,KAAKlG,MAAMmuC,eACpB5oC,SAAUW,KAAKlG,MAAMuF,SACrBoR,aAAczQ,KAAKlG,MAAM2W,aACzB+sB,eAAgBx9B,KAAKw9B,eACrB7+B,MAAOqB,KAAKlG,MAAM2W,aAAapV,IAAa2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,kBAC3F6e,WAAYna,KAAKlG,MAAM2W,aAAapV,IAAa2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,yBAIrGqtE,EAAWzrD,KAAK,kBAAC0rD,GAAD,CAAY7vE,IAAI,aAAayxB,KAAMC,OAGhDk+C,IA5Rf,+BAiSI,IAAIE,EAAuBC,EAiB3B,GAhBAD,EAAwBC,EACtB,kBAAC,GAAD,CACE9jB,OAAQhlD,KAAKgmD,eACbnP,SAAU72C,KAAKs8C,oBACf1/B,OAAQ5c,KAAKpG,MAAMgjB,OACnBqoC,OAAQjlD,KAAKpG,MAAMqrD,OACnB5oC,SAAUrc,KAAKpG,MAAMyiB,SACrBkmC,eAAgBviD,KAAKkmD,kCACrBz1C,aAAczQ,KAAKlG,MAAM2W,aACzB6L,WAAYtc,KAAKpG,MAAM0iB,WACvB8oC,SAAUplD,KAAKlG,MAAM2W,aAAX,kBACV+qB,cAAex7B,KAAKpG,MAAM4hC,gBAKE,aAA5Bx7B,KAAKpG,MAAM4hC,cAA8B,CAC3C,IAAIjlB,EAAWvW,KAAKlG,MAAMwc,kBAAoBtW,KAAKlG,MAAMwc,iBAAiBC,SAEtEvW,KAAKpG,MAAMyuE,YACbQ,EAAwB,kBAAC,GAAD,MAGpBtyD,IACFsyD,EACE,6BACE,kBAAC,GAAD,CAAuBp4D,aAAczQ,KAAKlG,MAAM2W,eAC/Cq4D,IAQX,OACE,yBAAKpvD,UAAU,YAIb,kBAAC,GAAD,CACEa,SAAS,uBACT9J,aAAczQ,KAAKlG,MAAM2W,aACzBN,aAAcnQ,KAAKlG,MAAMqW,cAEzB,6BACE,kBAAC,GAAD,CACEgrB,gBAAiBn7B,KAAKm7B,gBACtBC,aAAcp7B,KAAKo7B,aACnBzmB,gBAAiB3U,KAAKlG,MAAM6a,gBAC5BlE,aAAczQ,KAAKlG,MAAM2W,aACzB/Q,YAAaM,KAAKlG,MAAM4F,YACxB47B,WAAYjgC,IACZqf,SAAU1a,KAAKlG,MAAM4gB,SACrB8gB,cAAex7B,KAAKpG,MAAM4hC,gBAG5B,kBAAC,GAAD,CAA8B/qB,aAAczQ,KAAKlG,MAAM2W,eAEvD,kBAAC,GAAD,CACE1X,IAAI,2BACJ8zC,oBAAoB,6EACpBtT,WAAS,MAKf,kBAAC,GAAD,CACExgC,IAAI,aACJ2a,UAAW1T,KAAKlG,MAAMuc,oBACtB0P,KAAK,iBACLyT,uBAAwBx5B,KAAKpG,MAAM4/B,uBACnC/oB,aAAczQ,KAAKlG,MAAM2W,eAE3B,yBAAKiJ,UAAU,eAAehb,GAAG,wBAG9BmqE,GAIF7oE,KAAKsoE,wBAnXd,GAAuCl/C,IAAMC,WAyX7C6+C,GAAiBlpC,aAAe,CAC9BC,OAAQC,IAAUC,QA8ELxE,oBA1Ef,SAAyB/gC,EAAOghC,GAG9B,IAAIpqB,EAAY,GACZG,EAAiB,GACjBE,EAAe,GACfG,EAAW,GACX3R,EAAW,GACXytC,EAAc,GAElB,GAAGlzC,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAI9CzB,EAAM8W,UAAY9W,EAAM8W,SAASC,iBAClCA,EAAiB/W,EAAM8W,SAASC,gBAG/B/W,EAAM8W,UAAY9W,EAAM8W,SAASG,eAClCA,EAAejX,EAAM8W,SAASG,cAG7BjX,EAAM8W,UAAY9W,EAAM8W,SAASM,WAClCA,EAAWpX,EAAM8W,SAASM,UAG5B,IAAIi3B,EAAiB,KAClBruC,EAAM+X,eAAiB/X,EAAM+X,cAActS,WAC5CA,EAAWzF,EAAM+X,cAActS,SAC/B4oC,EAAiBruC,EAAM+X,cAAcE,SAGpCjY,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGtB,IAAIgB,GAAc,EACf7X,EAAM+X,gBACPF,EAAc7X,EAAM+X,cAAcF,aAGpC,IAAI/R,EAAc,GAKnB,OAJK9F,EAAM8F,cACTA,EAAc9F,EAAM8F,aAGf,CACLL,SAAWA,EACX4oC,eAAgBA,EAChBx2B,YAAaA,EACbsE,WAAYnc,EAAM8F,YAAYoW,eAAeC,WAC7CpB,gBAAiB/a,EAAM8F,YAAYiV,gBACnCxE,aAAcK,EACdG,eAAgBA,EAChBK,SAAUA,EACVH,aAAcA,EACdJ,aAAcq8B,EACdptC,YAAa9F,EAAM8F,YACnB4W,iBAAkB5W,EAAY4W,iBAC9BD,oBAAqB3W,EAAY2W,oBACjCV,oBAAqB/b,EAAM8F,YAAYiW,wBAI3C,SAA4B2c,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI0yC,EAAgBjS,EAAekS,EAAiBC,EAAa/W,GAAmB5D,MAKpHqI,CAA6CutC,ICve/Ca,GAAb,YACI,WAAYjvE,EAAOsuB,GAAS,IAAD,8BACvB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACTyiB,SAAW,CAAGsB,IAAK,CAAEC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IAAOmB,QAAQ,GAAIK,gBAAiB,GAAIF,wBAAuB,GACxGxC,OAAQ,CAACe,IAAK,CAAEC,GAAI,GAAIC,GAAI,GAAIC,GAAI,KAEpCmnC,QAAQ,EACP3oC,WAAY,CACTF,QAAQ,IAIjB,EAAK+e,gBAAkB,EAAKA,gBAAgB7S,KAArB,gBACvB,EAAKuY,SAAW,EAAKA,SAASvY,KAAd,gBAChB,EAAKwU,iBAAmB,EAAKA,iBAAiBxU,KAAtB,gBACxB,EAAKkV,eAAiB,EAAKA,eAAelV,KAApB,gBACtB,EAAK6X,eAAiB,EAAKA,eAAe7X,KAApB,gBACtB,EAAK8X,gBAAkB,EAAKA,gBAAgB9X,KAArB,gBAEvB,EAAK8S,aAAe,EAAKA,aAAa9S,KAAlB,gBAEpB,EAAK09B,eAAiB,EAAKA,eAAe19B,KAApB,gBACtB,EAAKg0B,oBAAsB,EAAKA,oBAAoBh0B,KAAzB,gBAC3B,EAAK49B,kCAAoC,EAAKA,kCAAkC59B,KAAvC,gBACzC,EAAK69B,sBAAwB,EAAKA,sBAAsB79B,KAA3B,gBAC7B,EAAK89B,uBAAyB,EAAKA,uBAAuB99B,KAA5B,gBA1BN,EAD/B,qIAmC8BopB,MAnC9B,0CAyCM1xC,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQqH,eACnBphC,KAAKlG,MAAMigC,QAAQuI,qBACnBtiC,KAAKlG,MAAMigC,QAAQ0I,mBACnBziC,KAAKlG,MAAMigC,QAAQiJ,0BACnBhjC,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQsL,WAGjB,IAAIjT,EAAM2qB,iBAAM/8C,KAAKlG,MAAM4gB,SAASsiC,QAAQwrB,eAEzCp2C,GACDpyB,KAAKlG,MAAMigC,QAAQ5H,yBAAyBC,EAAK,QArD3D,yCAyDuB7J,EAAWC,GAEzBD,GAAavoB,KAAKlG,OAASyuB,EAAU1X,cAAgB7Q,KAAKlG,MAAM+W,eAAiB0X,EAAU1X,aAAazT,OAAU4C,KAAKlG,MAAM+W,aAAazT,UA3DnJ,mCAiEiB21B,GACR/yB,KAAKlG,MAAMigC,QAAQpG,iBAAiBt4B,IAAiB,SAAU,gBAC/D2E,KAAK6gC,SAASjnB,OAnEvB,+BAsEa+yB,GACL3sC,KAAKlG,MAAM8yC,QAAQ1vB,KAAKyvB,KAvEhC,sCA0EoB5Z,GAIV/yB,KAAKlG,MAAM6a,gBACZ3U,KAAK6gC,SAASjnB,KAGd5Z,KAAKlG,MAAMigC,QAAQlG,yBAAyBd,EAAMvN,OAAO9mB,MAlFlE,uCAuFqBq0B,MAvFrB,qCA2FmBA,EAAOhC,GAEpB/wB,KAAKlG,MAAMigC,QAAQyH,qBAAqBzQ,EAAS11B,IAAgB,gBA7FvE,qCAgGmB03B,EAAO/H,MAhG1B,sCAsGoB+H,EAAO0Z,MAtG3B,+CA4GM,OADAzsC,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,MACjB,IA5Gb,qCA+GmB6V,GAAQ,IAAD,OACpBA,EAAMpL,iBACN,IAAMhuB,EAAOqG,KACbA,KAAKi4B,SAAS,CAACgtB,QAAQ,IAErB,IAAIuB,EAAmBvrC,EAAcuB,iBAAiBxc,KAAKpG,MAAMyiB,SAAUrc,KAAKpG,MAAM0iB,YAExF,GAAIkqC,EAAiB7pC,QACnB3c,KAAKmmD,sBAAsBnmD,KAAKpG,MAAMyiB,UAAUT,MAAK,SAAAwqB,GACnD,IAAIqiC,EAAkB,GAClBr2C,EAAM2qB,iBAAM,EAAKjjD,MAAM4gB,SAASsiC,QAAQwrB,eAEzCp2C,IACDq2C,EAAkB,QAAUr2C,GAG9B,EAAKt4B,MAAM8yC,QAAQ1vB,KAAKtD,KAAuC6uD,GAAoC,QAClGvsD,OAAM,SAAAhiB,GACP,IAAI0iB,EAAS,EAAKhjB,MAAMgjB,OACpB6pC,EAAO,KACI,KAAZvsD,EAAEk8B,OACDqwB,EAAM,EAAK3sD,MAAM2W,aAAapV,IAAiB,EAAKvB,MAAM2W,aAAanV,qBAAuB,kBAE9E,KAAZpB,EAAEk8B,OACRqwB,EAAM,EAAK3sD,MAAM2W,aAAapV,IAAiB,EAAKvB,MAAM2W,aAAanV,qBAAuB,kBAE5E,KAAZpB,EAAEk8B,QACRl8B,EAAE6hB,OAAOH,MAAK,SAASC,GACrBA,EAAS2U,SAAQ,SAAArU,GACfS,EAAOT,EAAMshC,OAASthC,EAAM42B,WAG9Bp5C,EAAKs+B,SAAS,CAACrb,OAAQA,EAAQqoC,QAAS,OAG1CwB,EAAM,EAAK3sD,MAAM2W,aAAapV,IAAiB,EAAKvB,MAAM2W,aAAanV,qBAAuB,mBAE5E,KAAZpB,EAAEk8B,SACRqwB,EAAM,EAAK3sD,MAAM2W,aAAX,aAGRmM,EAAM,OAAa6pC,EACnB,EAAKxuB,SAAS,CAACrb,OAAQA,EAAQqoC,QAAQ,WAGpC,CACL,IAAIqB,EAActmD,KAAKpG,MAAMyiB,SAC7BiqC,EAAY7pC,oBAAsB+pC,EAAiB/pC,oBACnD6pC,EAAY5pC,qBAAuB8pC,EAAiB9pC,qBAEpD1c,KAAKi4B,SAAS,CAAC5b,SAAUiqC,EAAa1pC,OAAQ4pC,EAAiB5pC,OAAQqoC,QAAQ,OAjKvF,4CAqK0B5oC,GACpB,IAAIqqC,EAAqBtsD,OAAOC,OAAO,GAAIgiB,GAQ3C,OANAuQ,GAAU+5B,qCAAqCD,EAAoBrqC,EAASsB,IAAIG,GAAIzB,EAASsB,IAAIE,GAAIxB,EAASsB,IAAIC,IAIlH8oC,EAAmBjnC,OAASpD,EAASoD,OAE9Bzf,KAAKlG,MAAMigC,QAAQ6M,aAAa8f,KA9K7C,0CAiLwB3zB,GAEhB,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KAEvB8C,EAAWrc,KAAKpG,MAAMyiB,SAC1BA,EAASohC,GAAS1qB,EAAMvN,OAAOpD,MAE/B,IAAIxF,EAAS5c,KAAKpG,MAAMgjB,OAGxB,OAFAA,EAAO6gC,GAAiB,OAARA,EAAgB,GAAK,GAE9Bz9C,KAAKi4B,SAAS,CAAE5b,SAAUA,EAAUO,OAAOA,MA3L1D,wDA8LsCmW,GAEhC,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KAEvBqD,EAAS5c,KAAKpG,MAAMgjB,OAQxB,OANImW,EAAMvN,OAAO4Q,QAAiC,KAAvBrD,EAAMvN,OAAO4Q,QACtChD,QAAQC,IAAI,+BAA+BN,EAAMvN,OAAO4Q,QAG1DxZ,EAAO6gC,GAASz9C,KAAKlG,MAAM2W,aAAX,wBAETzQ,KAAKi4B,SAAS,CAAErb,OAAOA,MA1MpC,+BAiNQ,OAEI,yBAAKlD,UAAU,YAEb,kBAAC,GAAD,CACEa,SAAS,uBACT9J,aAAczQ,KAAKlG,MAAM2W,aACzBN,aAAcnQ,KAAKlG,MAAMqW,cAEzB,6BACE,kBAAC,GAAD,CACMgrB,gBAAiBn7B,KAAKm7B,gBACtBC,aAAcp7B,KAAKo7B,aACnBzmB,gBAAiB3U,KAAKlG,MAAM6a,gBAC5BlE,aAAczQ,KAAKlG,MAAM2W,aACzB/Q,YAAaM,KAAKlG,MAAM4F,YACxB47B,WAAYjgC,IACZqf,SAAU1a,KAAKlG,MAAM4gB,WAG3B,kBAAC,GAAD,CAA8BjK,aAAczQ,KAAKlG,MAAM2W,eAEvD,kBAAC,GAAD,CACE1X,IAAI,2BACJ8zC,oBAAoB,6EACpBtT,WAAS,MAKf,yBAAK7f,UAAU,eAAehb,GAAG,wBAE7B,kBAAC,GAAD,CACEsmD,OAAQhlD,KAAKgmD,eACbnP,SAAU72C,KAAKs8C,oBACf1/B,OAAQ5c,KAAKpG,MAAMgjB,OACnBqoC,OAAQjlD,KAAKpG,MAAMqrD,OACnB5oC,SAAUrc,KAAKpG,MAAMyiB,SACrBkmC,eAAgBviD,KAAKkmD,kCACrB5pC,WAAYtc,KAAKpG,MAAM0iB,WACvB7L,aAAczQ,KAAKlG,MAAM2W,aACzB20C,SAAUplD,KAAKlG,MAAM2W,aAAX,0BA1P9B,GAAmC2Y,IAAMC,WAmQzC0/C,GAAa/pC,aAAe,CAC1BC,OAAQC,IAAUC,QAqELxE,oBAjEf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIsV,EAAiB,GAClB/W,EAAM8W,UAAY9W,EAAM8W,SAASC,iBAClCA,EAAiB/W,EAAM8W,SAASC,gBAGlC,IAAIE,EAAe,GAChBjX,EAAM8W,UAAY9W,EAAM8W,SAASG,eAClCA,EAAejX,EAAM8W,SAASG,cAGhC,IAAIG,EAAW,GACZpX,EAAM8W,UAAY9W,EAAM8W,SAASM,WAClCA,EAAWpX,EAAM8W,SAASM,UAG5B,IAAI87B,EAAc,GACflzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAItB,IAAIpR,EAAW,GACX4oC,EAAiB,KAClBruC,EAAM+X,eAAiB/X,EAAM+X,cAActS,WAC5CA,EAAWzF,EAAM+X,cAActS,SAC/B4oC,EAAiBruC,EAAM+X,cAAcE,SAGvC,IAAIJ,GAAc,EAKnB,OAJI7X,EAAM+X,gBACPF,EAAc7X,EAAM+X,cAAcF,aAG9B,CACLpS,SAAWA,EACX4oC,eAAgBA,EAChBx2B,YAAaA,EACbsE,WAAYnc,EAAM8F,YAAYoW,eAAeC,WAC7CpB,gBAAiB/a,EAAM8F,YAAYiV,gBACnCxE,aAAcK,EACdG,eAAgBA,EAChBK,SAAUA,EACVH,aAAcA,EACdJ,aAAcq8B,EACdptC,YAAa9F,EAAM8F,gBAIvB,SAA4B4yB,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI0yC,EAAgBjS,EAAekS,EAAiBC,EAAa/W,GAAmB5D,MAKpHqI,CAA6CouC,IClV/CC,GAA8B,SAAC,GAAyD,EAAxDp3D,UAAyD,IAAD,IAA7CmyD,kBAA6C,MAAhC,GAAgC,EAA5B1kB,EAA4B,EAA5BA,aAActuB,EAAc,EAAdA,QAEjFk4C,EAAmB,uBAAGvvD,UAAU,kBAAiB,yBAAKA,UAAU,iBAAiBsN,IAAKnoB,wBAEtFy9D,EAAgBvrC,EAAQvB,wBAS5B,OARG6vB,IACC4pB,EAAkB,yBAAKvvD,UAAU,OACZ,yBAAKA,UAAU,sBACf,0BAAMkiB,wBAAyBC,EAAmBwjB,QAMzE,oCACI,yBAAK3lC,UAAU,eACL,yBAAKA,UAAU,OACX,wBAAIA,UAAU,aAAd,6BAEJ,yBAAKA,UAAU,0BACb,yBAAKA,UAAW,oBAAsB4iD,EAAa,UAC/C,yBAAK5iD,UAAU,OAAOsN,IAAKs1C,EAAc19D,OAAQqoB,IAAI,mBAI3D,yBAAKvN,UAAU,0CACV4iD,EAAc39D,OAAS,yBAAK+a,UAAU,gBACrC,wBAAIA,UAAU,OAAOkiB,wBAAyBC,EAAmBygC,EAAc39D,UAGjF,yBAAK+a,UAAU,WACX,yBAAKA,UAAU,uBACT,wBAAIA,UAAU,wBAER4iD,GAAiBA,EAAcn9D,UAAYm9D,EAAcn9D,SAASinB,KAAK,SAAA4W,GACnE,OAAQ,wBAAItjB,UAAU,2BAA2B3gB,IAAKikC,EAAQjkC,KAAK,uBAAGo/B,MAAM,iCAAmC,8BAAO6E,EAAQr+B,eAQrJsqE,EAED,yBAAKvvD,UAAU,mBACZ,yBAAKA,UAAU,aAAasN,IAAKnoB,kBAA4BooB,IAAI,kBAGnE88C,GAAc,yBAAKrqD,UAAU,6BAA4B,0BAAMA,UAAU,sBAAhB,wBACzD,uBAAG1a,KAAM+kE,GAAT,kBAUNmF,GAA0B,SAAC,GAA0D,IAAzDt3D,EAAwD,EAAxDA,UAAwD,IAA7CmyD,kBAA6C,MAAhC,GAAgC,EAA5B1kB,EAA4B,EAA5BA,aAE/Did,GAF2F,EAAdvrC,QAE7DtwB,KAAuBmR,IACvC0qD,IACFA,EAAgB,IAGlB,IAAI2M,EAAmB,uBAAGvvD,UAAU,kBAAiB,yBAAKA,UAAU,iBAAiBsN,IAAKnoB,wBAU1F,OARKwgD,IACD4pB,EAAkB,yBAAKvvD,UAAU,OACZ,yBAAKA,UAAU,sBACf,0BAAMkiB,wBAAyBC,EAAmBwjB,QAMvE,oCACE,yBAAK3lC,UAAU,eACL,yBAAKA,UAAU,OACX,yDAEJ,yBAAKA,UAAU,2BACb,yBAAKA,UAAW,oBAAsB4iD,EAAa,kBAC/C,yBAAK5iD,UAAU,kCAAkCsN,IAAKs1C,EAAch8D,WAAY2mB,IAAI,mBAI1F,yBAAKvN,UAAU,2CACV4iD,EAAc/7D,aAAe,yBAAKmZ,UAAU,gBAC3C,0BAAMA,UAAU,OAAOkiB,wBAAyBC,EAAmBygC,EAAc/7D,gBAGnF,yBAAKmZ,UAAU,OACX,yBAAKA,UAAU,uBACT,wBAAIA,UAAU,cAER4iD,GAAiBA,EAAcn9D,UAAYm9D,EAAcn9D,SAASinB,KAAK,SAAA4W,GACnE,OAAQ,wBAAItjB,UAAU,kBAAkB3gB,IAAKikC,EAAQjkC,KAAK,uBAAGo/B,MAAM,iCAAmC,8BAAO6E,EAAQr+B,eAQ5IsqE,EAGD,yBAAKvvD,UAAU,mBACZ,yBAAKA,UAAU,aAAasN,IAAKnoB,kBAA4BooB,IAAI,kBAGnE88C,GAAc,yBAAKrqD,UAAU,6BAA4B,0BAAMA,UAAU,sBAAhB,wBACzD,uBAAG1a,KAAM+kE,GAAT,kBAUNoF,GAAmB,SAACrvE,GAU/B,OAPGA,EAAMi3B,SAAWj3B,EAAMi3B,QAAQvB,wBACd,kBAAC,GAAgC11B,GAGnC,kBAAC,GAA4BA,IAM3CsvE,G,YAEF,WAAYtvE,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACXgY,UAAW,GACXmyD,WAAY,GACZ30C,UAAW,GACX2B,QAAS,KACTsuB,aAAc,KACdhkC,KAAK,KAGP,EAAKguD,wBAA0B,EAAKA,wBAAwB/gD,KAA7B,gBAC/B,EAAKghD,qBAAuB,EAAKA,qBAAqBhhD,KAA1B,gBAbJ,E,iFAgBP,IAAD,OAGlBtoB,KAAKlG,MAAMigC,QAAQtC,kBACnB,IAAI99B,EAAOqG,KAEPovB,EAAY2tB,iBAAM/8C,KAAKlG,MAAM4gB,SAASsiC,QAAQ5tB,UAC9C/T,EAAO0hC,iBAAM/8C,KAAKlG,MAAM4gB,SAASsiC,QAAQnR,EACzC09B,EAAgD,KAAzCxsB,iBAAM/8C,KAAKlG,MAAM4gB,SAASsiC,QAAQwsB,IACxCnuD,IACFA,EAAO,KAGTrb,KAAKi4B,SAAS,CAAC5c,KAAKA,IAEpBrb,KAAKlG,MAAMigC,QAAQqH,eAAexlB,MAAM,SAAAjK,GAGrC,IAAIof,EAAU8K,EAAmBlqB,EAActS,SAAU,KAAM+vB,GAE/D,GAAW,KAAR/T,EAAY,CAEP,IAAI0V,GAAWw4C,EAAK,CAChB,IAAI/6C,EAAWqN,EAAmBlqB,EAAcO,aAAc,oBAAqBkd,GACnF2B,EAAUvC,EAASuC,QAGpBA,GACDp3B,EAAKs+B,SAAS,CAACrmB,UAAWmf,EAAQnf,UAAWmyD,WAAYhzC,EAAQ/xB,KAAM+xB,QAASA,IAAU,kBAAMp3B,EAAK0vE,iCAG5F,KAARhuD,IAEH0V,EAwBF,EAAKkH,SAAS,CAACrmB,UAAWmrC,iBAAM,EAAKjjD,MAAM4gB,SAASsiC,QAAQprC,UAAWwd,UAAWA,EAAW2B,QAASA,IAAU,kBAAM,EAAKu4C,0BArB3H3vE,EAAKG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GAExC+3D,GAAU2S,iBAAiBjrE,EAAKG,MAAMib,UAAW,OAAO6G,MAAM,SAAA+kC,GAC1D,IAAI8oB,EAAiB9oB,EAAKkkB,QAAQ6E,MAAM5F,SACrC2F,IACD14C,EAAU8K,EAAmB4tC,EAAgB,oBAAqBr6C,IAGpEz1B,EAAKs+B,SAAS,CAACrmB,UAAWmrC,iBAAM,EAAKjjD,MAAM4gB,SAASsiC,QAAQprC,UAAWwd,UAAWA,EAAW2B,QAASA,IAAU,kBAAMp3B,EAAK2vE,6BAE5HptD,OAAO,SAAAC,GAER,IAAIsqC,EAAM9sD,EAAKG,MAAM2W,aAAX,YACV9W,EAAKs+B,SAAS,CAAConB,aAAcoH,gB,gDAiBnB,IAAD,OAEnB11B,EAAU/wB,KAAKpG,MAAMm3B,QAErBp3B,EAAOqG,KACR+wB,IAEIA,EAAQ5wB,YACPH,KAAKlG,MAAMigC,QAAQmI,mBAAmBnR,GAASnV,MAAM,SAAC+tD,GAEpDhwE,EAAKs+B,SAAS,CAAC8rC,WAAY4F,EAAeh9B,MAAM,WAC9ChjB,YAAW,WAAQlP,OAAOC,SAAS1b,KAAO2qE,EAAeh9B,MAAO,WAGjEzwB,OAAM,SAAAhiB,GAEL,IAAIusD,EAAM,EAAK3sD,MAAM2W,aAAX,YACV9W,EAAKs+B,SAAS,CAAConB,aAAcoH,OAIhC98B,YAAW,WAAQlP,OAAOC,SAAS1b,KAAO+xB,EAAQ/xB,OAAQ,Q,6CAK9C,IAAD,OAEhBowB,EAAYpvB,KAAKpG,MAAMw1B,UAEvBz1B,EAAOqG,KAERovB,GACDpvB,KAAKlG,MAAMigC,QAAQmI,mBAAmB,CAACxjC,GAAI0wB,EAAW/T,KAAM0hC,iBAAM/8C,KAAKlG,MAAM4gB,SAASsiC,QAAQnR,EAAGj6B,UAAW5R,KAAKpG,MAAMgY,YAAYgK,MAAM,SAAC+tD,GACpIhwE,EAAKs+B,SAAS,CAAC8rC,WAAY4F,EAAeh9B,MAAM,WAE9ClyB,OAAOC,SAAS1b,KAAO2qE,EAAeh9B,UAGvCzwB,OAAM,SAAAhiB,GAEL,IAAIusD,EAAM,EAAK3sD,MAAM2W,aAAX,YACV9W,EAAKs+B,SAAS,CAAConB,aAAcoH,S,+BAOvC,IAAItT,EAAgB,yBAAKz5B,UAAU,sBAAqB,yBAAKA,UAAU,iBAAiBsN,IAAKnoB,uBAAzE,KAUpB,OATKmB,KAAKlG,MAAMmuC,gBAAyC,MAAvBjoC,KAAKlG,MAAMuF,UAAkD,GAA9BW,KAAKlG,MAAMuF,SAASjC,SACnF+1C,EAAgB,kBAAC,GAAD,CACZvhC,UAAW5R,KAAKpG,MAAMgY,UACtBmyD,WAAY/jE,KAAKpG,MAAMmqE,WACvB1kB,aAAcr/C,KAAKpG,MAAMylD,aACzBtuB,QAAS/wB,KAAKpG,MAAMm3B,WAMxB,yBAAKrX,UAAU,0BACb,kBAAC,EAAD,CAAMiP,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAcsY,UAAU,cAAc3C,WAAW,EAAM4C,SAAS,yDAAyD7C,KAAM7lB,KAAKlG,MAAM4F,cAC1L,yBAAKga,UAAU,oBACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,+DACb,yBAAKA,UAAU,gBACZy5B,MAKT,kBAAC,GAAD,W,GA5JqB/pB,IAAMC,WAkKrC+/C,GAAiBpqC,aAAe,CAC9BC,OAAQC,IAAUC,QA+BLxE,oBA5Bf,SAAyB/gC,EAAOghC,GAE7B,IAAIkS,EAAc,GACflzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGtB,IAAIpR,EAAW,GACX4oC,EAAiB,KAMtB,OALIruC,EAAM+X,eAAiB/X,EAAM+X,cAActS,WAC5CA,EAAWzF,EAAM+X,cAActS,SAC/B4oC,EAAiBruC,EAAM+X,cAAcE,SAGjC,CACLpB,aAAcq8B,EACdztC,SAAWA,EACX4oC,eAAgBA,EAChBlzB,UAAWnb,EAAM8F,YAAYqV,cAIjC,SAA4Bud,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI4yC,EAAanS,EAAe5E,EAAiB6W,GAAkBza,MAInGqI,CAA6CyuC,ICrS7CQ,G,yGA1DM70D,EAAWsW,GAC5B,IAAOnQ,EAAUzf,IAA+B,eAE5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAE1B,IAAMoG,EAAU,CACdC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAU2P,IAGvB,OAAO1P,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAClC,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAKvBK,OAAM,SAASC,GAChB,MAAMA,O,wCAIepH,EAAW80D,GAClC,IAAO3uD,EAAUzf,IAA+B,cAE5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAE1B,IAAMoG,EAAU,CACdC,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAUmuD,IAGvB,OAAOluD,MAAMT,EAASC,GAASS,MAAK,SAAAC,GAClC,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAKvBK,OAAM,SAASC,GAChB,MAAMA,S,KCtDL,SAAS2tD,GAAYz+C,GAC1B,OAAO,SAACiH,EAAUC,GAChB,IAAI34B,EAAQ24B,IACRxd,EAAanb,GAASA,EAAM8F,YAAe9F,EAAM8F,YAAYqV,UAAY,KAE7E,OAAO60D,GAAYE,YAAY/0D,EAAWsW,IAIvC,SAAS0+C,GAAkBF,GAChC,OAAO,SAACv3C,EAAUC,GAChB,IAAI34B,EAAQ24B,IACRxd,EAAanb,GAASA,EAAM8F,YAAe9F,EAAM8F,YAAYqV,UAAY,KAE7E,OAAO60D,GAAYG,kBAAkBh1D,EAAW80D,ICdpD,IAAMG,GAAO,CACXrrE,MAAO,eACPmB,IAAM,QACNmqE,IAAKprE,2BAGDqrE,GAAO,CACXvrE,MAAO,eACPmB,IAAM,QACNmqE,IAAKprE,2BAGDsrE,GAAS,CACbxrE,MAAO,eACPmB,IAAM,QACNmqE,IAAKprE,gCAGDurE,GAAU,CACdzrE,MAAO,WACPmB,IAAM,MACNmqE,IAAKprE,iCAGDwrE,GAAoB,GAE1BA,GAAiB,KAAWL,GAC5BK,GAAiB,KAAWH,GAC5BG,GAAiB,OAAaF,GAC9BE,GAAiB,QAAcD,GAExB,IAAME,GAAmBD,GCNjBE,GAvBU,SAAC,GAAoC,IAAlCC,EAAiC,EAAjCA,aAAc/5D,EAAmB,EAAnBA,aAExC,OACE,yBAAKiJ,UAAU,uDAEX8wD,EACE,uBAAG9wD,UAAU,iBACVjJ,EAAapV,IAAiBoV,EAAanV,qBAAuB,iBACnE,0BAAMoe,UAAU,2BAAhB,IAA4C8wD,EAA5C,MAEF,uBAAG9wD,UAAU,iBAAb,oEAEJ,uBAAG1a,KAAK,oBAAoByR,EAAapV,IAAiBoV,EAAanV,qBAAuB,qBCX9F0pB,GAAIvK,OAAOuK,EACXylD,GAAIhwD,OAAOgwD,EAsZFC,G,YAlZb,WAAY5wE,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KACRxuB,MAAQ,CACXwsB,IAAK,CACHukD,UAAW,WACXC,UAAW,WACXC,KAAM,GAERC,aAAc,CACZlwB,MAAO,UACPmwB,OAAQ,EACRC,QAAS,GACTC,YAAa,IAEfC,YAAa,CACXC,QAAS,IACTC,OAAQ,IACRC,IAAK,MAIT,EAAKC,kBAAoB,CACvBC,kBAAmB,eACnBC,kBAAmB,yBACnBrqB,aAAc,sBACdsqB,YAAa,sBAGf,EAAKC,WAAa,CAChBC,SAAU,WACVC,QAAS,WAGX,EAAKxlD,IAAM,KACX,EAAKylD,aAAe,KACpB,EAAKC,cAAgB,KAErB,EAAKC,yBAA2B,EAAKA,yBAAyBzjD,KAA9B,gBAChC,EAAK0jD,uBAAyB,EAAKA,uBAAuB1jD,KAA5B,gBAC9B,EAAK2jD,QAAU,EAAKA,QAAQ3jD,KAAb,gBACf,EAAK4jD,kBAAoB,EAAKA,kBAAkB5jD,KAAvB,gBACzB,EAAK6jD,SAAW,EAAKA,SAAS7jD,KAAd,gBAChB,EAAK8jD,2BAA6B,EAAKA,2BAA2B9jD,KAAhC,gBAClC,EAAK+jD,0BAA4B,EAAKA,0BAA0B/jD,KAA/B,gBACjC,EAAKgkD,qBAAuB,EAAKA,qBAAqBhkD,KAA1B,gBAC5B,EAAKikD,mBAAqB,EAAKA,mBAAmBjkD,KAAxB,gBAC1B,EAAKkkD,iBAAmB,EAAKA,iBAAiBlkD,KAAtB,gBACxB,EAAKmkD,aAAe,EAAKA,aAAankD,KAAlB,gBACpB,EAAKokD,oBAAsB,EAAKA,oBAAoBpkD,KAAzB,gBAC3B,EAAKqkD,oBAAsB,EAAKA,oBAAoBrkD,KAAzB,gBAC3B,EAAKskD,UAAY,EAAKA,UAAUtkD,KAAf,gBAlDS,E,kFAsD1B,IAAMukD,EAAevoD,SAASwoD,cAAc,QAE5CD,EAAan0C,IAAM,aACnBm0C,EAAa7tE,KAAO,mDACpB6tE,EAAaE,UAAY,kGACzBF,EAAaG,YAAc,YAE3B,IAAMC,EAAgB3oD,SAASwoD,cAAc,UAE7CG,EAAcjmD,IAAM,kDACpBimD,EAAcC,OAAQ,EACtBD,EAAcF,UAAY,kGAC1BE,EAAcD,YAAc,YAE5B1oD,SAAS6oD,KAAKC,YAAYP,GAC1BvoD,SAAS6oD,KAAKC,YAAYH,K,0CAI1BjtE,KAAKgsE,yBAAyBpwD,KAAK5b,KAAK+rE,4B,4CAGpBr6B,EAAW27B,GAC/B,IAAIC,GAAe,EAYnB,OAVGttE,KAAKlG,MAAM4oB,UAAYgvB,EAAUhvB,WAClC1iB,KAAKssE,qBAAqB56B,EAAUhvB,UACpC4qD,GAAe,GAGbttE,KAAKlG,MAAM+vE,SAAWn4B,EAAUm4B,UAClC7pE,KAAKqsE,0BAA0B36B,EAAUm4B,SACzCyD,GAAe,GAGVA,I,6CAIPttE,KAAKomB,KAAOpmB,KAAKomB,IAAIslB,W,iDAIrB1rC,KAAKksE,oBACLlsE,KAAKssE,qBAAqBtsE,KAAKlG,MAAM4oB,UACrC1iB,KAAKqsE,0BAA0BrsE,KAAKlG,MAAM+vE,W,6CAGrBhtD,GAAU,IAAD,OAC1B/I,EAAU,KACd,OAAO,IAAIkI,SAAQ,SAACa,EAASZ,GAC3BnI,EAAUijB,aAAY,WACjBtc,OAAM,IACP82B,cAAcz9B,GACd,EAAKm4D,UACLpvD,OAED,U,gCAKL7c,KAAKomB,IAAMqkD,GAAErkD,IAAIpmB,KAAKsrE,kBAAkBC,kBAAmB,CACzDgC,OAAQ,CAACvtE,KAAKpG,MAAMwsB,IAAIukD,SAAU3qE,KAAKpG,MAAMwsB,IAAIwkD,WACjDC,KAAM7qE,KAAKpG,MAAMwsB,IAAIykD,OAIvB7qE,KAAKomB,IAAIonD,SAASC,UAClBztE,KAAKomB,IAAIsnD,UAAUD,UACnBztE,KAAKomB,IAAIunD,gBAAgBF,UACzBztE,KAAKomB,IAAIwnD,gBAAgBH,UACzBztE,KAAKomB,IAAIynD,QAAQJ,UACjBztE,KAAKomB,IAAI0nD,SAASL,UACdztE,KAAKomB,IAAI2nD,KAAK/tE,KAAKomB,IAAI2nD,IAAIN,UAE/BnpD,SAAS0pD,cAAc,iBAAiB9kD,MAAMwxB,OAAS,UACvD11B,GAAEhlB,KAAKsrE,kBAAkBE,mBAAmBviC,OAE5CwhC,GAAEwD,UAAU,sDAAsDC,MAAMluE,KAAKomB,KAC7EqkD,GAAE0D,KAAKC,QAAQC,UAAYxvE,oB,iCAIxBmB,KAAKomB,MACNpmB,KAAKomB,IAAI+iB,MACTnpC,KAAKomB,IAAIslB,SACT1rC,KAAKisE,a,iDAIkB5gD,GAAa,IAAD,OACrCrrB,KAAKlG,MAAMigC,QAAQ+vC,YAAY,CAAE9sB,OAAQ3xB,IACxCzP,MAAK,SAAC0yD,GACL,GAAIA,EAAgBC,QAAQnxE,QAAU,EAEpC,OADA,EAAKuvE,uBACE,EAEP,EAAKJ,mBAAmB+B,EAAgBC,YAEzCryD,OAAM,SAAAC,GACP,EAAKywD,UAAU,EAAKlB,WAAWE,c,gDAKT/B,GAAU,IAAD,OACjC,IAAKA,EAEH,OADA7pE,KAAKmsE,YACE,EAGTnsE,KAAKlG,MAAMigC,QAAQgwC,kBAAkB,CAACF,QAASA,IAAUjuD,MAAK,SAAC4yD,GACzDA,GAAeA,EAAYC,QAAUD,EAAYC,OAAOC,WAAWtxE,OAAS,EAE9E,EAAKovE,iBAAiBgC,EAAYC,SAGlC,EAAK7B,UAAU,EAAKlB,WAAWE,SAC/B,EAAKO,eAENjwD,OAAM,SAAAC,GACP,EAAKywD,UAAU,EAAKlB,WAAWE,c,0CAMjC,IAAM+C,EAAgB3pD,GAAEhlB,KAAKsrE,kBAAkBnqB,cAE/CwtB,EAActpD,GAAG,WAAW,SAAUnrB,GACpC,GAAgB,KAAZA,EAAE00E,MAEJ,OADA10E,EAAEytB,kBACK,KAIXgnD,EAAcxtB,aAAa,CACzBptB,OAAQ,SAAUivB,EAASnnC,GACzB7b,KAAKosE,2BAA2BppB,EAAQhB,OACxC15B,KAAKtoB,MACP+iB,UAAW,EACXiH,MAAO,IACPgzB,OAAQ,WACN2xB,EAAczlC,SAAS,kB,2CAKRxmB,GACnBsC,GAAEhlB,KAAKsrE,kBAAkBG,aAAaxiC,OACtCjkB,GAAEhlB,KAAKsrE,kBAAkBnqB,cAAcvF,IAAIl5B,K,yCAG1B6rD,GACjB,IAAM50E,EAAOqG,KACP2uE,EAAgB3pD,GAAEhlB,KAAKsrE,kBAAkBnqB,cACzC0tB,EAAe7pD,GAAEhlB,KAAKsrE,kBAAkBG,aACxCqD,EAAc9pD,GAAEhlB,KAAKsrE,kBAAkBE,mBAE7CmD,EAAclnD,YAAY,aAC1BonD,EAAa/jC,KAAK,IAClB+jC,EAAa5vE,OAEb,IAAK,IAAI9B,EAAI,EAAGA,EAAIoxE,EAAQnxE,OAAQD,IAClC0xE,EAAaE,OAAO,iCAAmCR,EAAQpxE,GAAG0sE,QAAU,mBAAqB0E,EAAQpxE,GAAG6xE,QAAU,MAChGT,EAAQpxE,GAAG8xE,QAAU,aAAeV,EAAQpxE,GAAG6xE,QAAU,2BAGjFH,EAAaxlC,KAAK,MAAMhkB,GAAG,SAAS,SAAUnrB,GAC5CA,EAAEytB,iBACF,IAAMunD,EAAQlqD,GAAEhlB,MACV6pE,EAAUqF,EAAM7lC,KAAK,KAAKM,KAAK,gBAC/BqlC,EAAUE,EAAM7lC,KAAK,KAAKM,KAAK,gBACrC,IAAKkgC,EACH,OAAO,EAGT,IAAM5vD,EAAOi1D,EAAM7lC,KAAK,KAAKyB,OAQ7B,OAPA6jC,EAAc/yB,IAAI3hC,EAAKy1B,UAAU,EAAGz1B,EAAKgJ,QAAQ,aACjD4rD,EAAa5lC,OACb6lC,EAAY7vE,OAEZtF,EAAKG,MAAMq1E,uBAAuBtF,EAASmF,GAC3Cr1E,EAAK0yE,0BAA0BxC,IAExB,O,uCAIM4E,GACf,GAAe,OAAXA,EACAzuE,KAAK4sE,UAAU5sE,KAAK0rE,WAAWE,aAC5B,CACL,IAAMjyE,EAAOqG,KACbglB,GAAEhlB,KAAKsrE,kBAAkBE,mBAAmBviC,OAE5CjpC,KAAKomB,IAAIgpD,QAAQ,CAACpvE,KAAKpG,MAAMwsB,IAAIukD,SAAU3qE,KAAKpG,MAAMwsB,IAAIwkD,WAAY5qE,KAAKpG,MAAMwsB,IAAIykD,MAErF,IAAMwE,EAAU5zD,KAAKshC,MAAM0xB,EAAOC,YAC5BY,EAAUb,EAAOO,QACjBO,EAAWd,EAAOe,eAAiBf,EAAOe,eAAiB,MAC3DC,EAAezvE,KAAKlG,MAAM2W,aAAapV,IAAiB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,gBACxF0mB,QAAQ,YAAastD,GACrBttD,QAAQ,aAAcutD,GAEvCvvE,KAAK6rE,cACP7rE,KAAKomB,IAAIspD,YAAY1vE,KAAK6rE,cAG5B7rE,KAAK6rE,aAAepB,GAAEkF,QAAQN,EAAS,CACrCnmD,MAAOlpB,KAAKysE,aAAa8C,KACxBrB,MAAMluE,KAAKomB,KAEd,IAAMwpD,EAAY5vE,KAAK6rE,aAAagE,YAAYC,YAE5C9vE,KAAK8rE,eACP9rE,KAAKomB,IAAIspD,YAAY1vE,KAAK8rE,eAI5B9rE,KAAKomB,IAAI2pD,UAAU/vE,KAAK6rE,aAAagE,aAGrClmD,YAAW,WACThwB,EAAKysB,IAAI2pD,UAAUp2E,EAAKkyE,aAAagE,aACrCl2E,EAAKmyE,cAAgBrB,GAAEuF,OAAOJ,GAAWK,UAAUR,GAAcvB,MAAMv0E,EAAKysB,KAAK8pD,cAChF,Q,mCAIMC,GAQX,MAPgB,CACd,UAAanwE,KAAK0sE,oBAAoByD,GACtC,MAASnwE,KAAKpG,MAAMkxE,aAAalwB,MACjC,OAAU56C,KAAKpG,MAAMkxE,aAAaC,OAClC,QAAW/qE,KAAKpG,MAAMkxE,aAAaE,QACnC,YAAehrE,KAAKpG,MAAMkxE,aAAaG,e,0CAKvBmF,GAClB,IAIIC,EAAKv1D,EAHHw1D,EAAOF,EADDpwE,KAAKpG,MAAMsxE,YAAYG,IAE7BkF,EAAMluD,KAAKmuD,IAAIF,GAAQ,GAW7B,OARIA,EAAO,GACTD,EAAMhuD,KAAKC,MAAM,KAAO,EAAIiuD,IAC5Bz1D,EAAQ,MAERA,EAAQuH,KAAKC,MAAM,IAAUiuD,GAC7BF,EAAM,KAGD,IAAMrwE,KAAKywE,aAAaJ,GAAOrwE,KAAKywE,aAAa31D,GAAS9a,KAAKywE,aAAa,K,mCAGxEC,GACX,IAAMnuD,EAAMI,OAAO+tD,GAAS3lC,SAAS,IACrC,OAAqB,GAAdxoB,EAAInlB,OAAc,IAAMmlB,EAAMA,I,4CAIrCviB,KAAKmsE,WACLnsE,KAAK4sE,UAAU5sE,KAAK0rE,WAAWC,Y,gCAGvBgF,GACR,IAAIC,EAAaD,IAAc3wE,KAAK0rE,WAAWC,SAC7B3rE,KAAKlG,MAAM2W,aAAapV,IAAiB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,qBACxF0E,KAAKlG,MAAM2W,aAAapV,IAAiB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,oBAEpGuzE,EAAe7pD,GAAEhlB,KAAKsrE,kBAAkBG,aAE9CzmD,GAAEhlB,KAAKsrE,kBAAkBnqB,cAAc15B,YAAY,aACnDzC,GAAEhlB,KAAKsrE,kBAAkBE,mBAAmBviC,OAC5C4lC,EAAa/jC,KAAK,IAClB+jC,EAAaE,OAAO,4BAA8B6B,EAAY,aAC9D/B,EAAa5vE,S,+BAIb,IAAM4xE,EAAavjD,mBAAmB7S,OAAOC,SAAS1b,MAGtD,OACE,yBAAKN,GAAG,kBAAkBgb,UAAU,wGAClC,yBAAKA,UAAU,+BACZ,uBAAGA,UAAU,SACZ,0BAAMA,UAAU,2BAA2B1Z,KAAKlG,MAAM2W,aAAapV,IAAiB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,iCACnI,8BAAO0E,KAAKlG,MAAM2W,aAAapV,IAAiB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,qBAGnG,yBAAKoe,UAAU,mDACb,2BACEqM,KAAK,OACLrM,UAAU,2CACVo9B,YAAa92C,KAAKlG,MAAM2W,aAAapV,IAAiB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,aACrGk/C,aAAa,QACf,0BAAM9gC,UAAU,wDAAwDugC,cAAY,SACpF,wBAAIvgC,UAAU,uBAEhB,yBAAKhb,GAAG,eAAegb,UAAU,gBAC/B,0BAAMA,UAAU,aAElB,yBAAKA,UAAU,mBACb,6BACE,uBAAG1a,KAAM,gDAAkD6xE,EAAYrrD,OAAO,SAASkT,IAAI,uBACzF,yBAAK1R,IAAKnoB,qBAA+BooB,IAAI,eAGjD,6BACE,uBAAGjoB,KAAM,mCAAqC6xE,EAAYrrD,OAAO,SAASkT,IAAI,uBAC5E,yBAAK1R,IAAKnoB,0BAAoCooB,IAAI,cAGtD,6BACE,uBAAGjoB,KAAM,qCAAuC6xE,EAAYrrD,OAAO,SAASkT,IAAI,uBAC9E,yBAAK1R,IAAKnoB,oBAA8BooB,IAAI,cAGhD,6BACE,uBAAGjoB,KAAM,kDAAgD6xE,EAAYrrD,OAAO,SAASkT,IAAI,uBACvF,yBAAK1R,IAAKnoB,wBAAkCooB,IAAI,aAItD,yBAAKvN,UAAU,qBACb,+CAAiB,uBAAG1a,KAAK,4BAAR,iBAAjB,sFACE,uBAAGA,KAAK,gDAAgDwmB,OAAO,SAASkT,IAAI,uBAA5E,yBADF,mCAEkC,uBAAG15B,KAAK,iDAAiDwmB,OAAO,SAASkT,IAAI,uBAA7E,0CAFlC,KAIA,2BAAI14B,KAAKlG,MAAM2W,aAAapV,IAAiB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,uBAE9F,yBAAKoe,UAAU,sBACb,yBAAKA,UAAU,aACf,yBAAKA,UAAU,iBACb,0BAAMA,UAAU,mBAAmB1Z,KAAKlG,MAAM2W,aAAapV,IAAiB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,wBAC3H,0BAAMoe,UAAU,oBAAoB1Z,KAAKlG,MAAM2W,aAAapV,IAAiB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,gC,GA5Y3G8tB,IAAMC,WCL7BynD,GAAmB,SAAC,GAAqD,IAAnDC,EAAkD,EAAlDA,OAAkD,IAA1CpsD,eAA0C,MAAhC,MAAgC,MAAzBqsD,iBAAyB,MAAf,QAAe,EAE5E,OACE,yBAAKt3D,UAAU,qBACb,0BAAMA,UAAU,+BAA+Bq3D,EAAOpsD,IACtD,0BAAMjL,UAAU,iCAAiCq3D,EAAOC,MAY9DF,GAAiBp2C,aAAe,CAC9B/V,QAAS,MACTqsD,UAAW,SAGb,IAAMC,GAAe,SAAC,GAAmE,IAAjE7jD,EAAgE,EAAhEA,KAAgE,IAA1D8jD,iBAA0D,MAA9C,IAA8C,MAAzCvsD,eAAyC,MAA/B,MAA+B,MAAxBqsD,iBAAwB,MAAd,QAAc,EAEtF,OACE,yBAAKt3D,UAAU,iBACX0T,EAAKhH,KAAI,SAAC2qD,EAAQjnD,GAAT,OAAmB,kBAAC,GAAD,CAAkB/wB,IAAK+wB,EAAQnF,EAASosD,OAAQA,EAAQG,UAAWA,EAAWvsD,QAASA,EAASqsD,UAAWA,SAa/IC,GAAav2C,aAAe,CAC1Bw2C,UAAW,IACXvsD,QAAS,MACTqsD,UAAW,SAGEC,UCRAE,GAnCe,SAAC,GAA8C,IAAD,IAA3CC,wBAA2C,MAAxB,GAAwB,EAAnB3gE,EAAmB,EAAnBA,aAEjD4gE,EAAmB,CACvB,CACE,OAAU5gE,EAAapV,IAAiBoV,EAAanV,qBAAuB,kBAC5E,MAAS81E,EAAgB,EAAhB,GAEX,CACE,OAAU3gE,EAAapV,IAAiBoV,EAAanV,qBAAuB,oBAC5E,MAAS81E,EAAgB,EAAhB,IAIb,OACE,yBAAK13D,UAAU,mCACb,yBAAKA,UAAU,6CACb,6BAAK,uBAAGA,UAAU,SAAS03D,EAAiBE,KAAK3yE,QACjD,6BAAK,uBAAG+a,UAAU,OAAO03D,EAAiBE,KAAKxxE,OAEjD,yBAAK4Z,UAAU,kBACb,yBAAKsN,IAAKoqD,EAAiBE,KAAKrH,IAAKhjD,IAAKmqD,EAAiBE,KAAK3yE,SAElE,yBAAK+a,UAAU,4CACb,kBAAC,GAAD,CAAc0T,KAAMikD,EAAmB1sD,QAAQ,SAAS4sD,aAAa,aCvBvEC,GAAsB,SAAC,GAA4C,IAAD,IAAzCC,uBAAyC,MAAvB,GAAuB,EAAnBhhE,EAAmB,EAAnBA,aAI7CihE,EAAYrvD,KAAKi7C,IAAImU,EAAgBr0E,OAFvB,GAGdu0E,EAAYtvD,KAAKi7C,IAAImU,EAAgBr0E,OAFvB,GAGdw0E,EAAU,UAAa,GAAKF,EAC5BG,EAAU,UAAa,GAAKF,EAE5BG,EAAcL,EAAgBrrD,KAAI,SAAA2rD,GACtC,OACE,yBAAKh5E,IAAKg5E,EAAIT,KAAKxxE,IAAK4Z,UAAWk4D,EAAU,IAAMC,EAAU,cAC3D,kBAAC,GAAD,CACET,iBAAkBW,EAClBthE,aAAcA,QAKtB,OACE,yBAAKiJ,UAAU,mIACb,yBAAKA,UAAU,+BACZ+3D,GAAmB,uBAAG/3D,UAAU,SAC/B,0BAAMA,UAAU,2BAA2BjJ,EAAapV,IAAiBoV,EAAanV,qBAAuB,kCAC5GmV,EAAapV,IAAiBoV,EAAanV,qBAAuB,qBAGvE,yBAAKoe,UAAU,OACZo4D,GAEH,yBAAKp4D,UAAU,4BACb,2BAAIjJ,EAAapV,IAAiBoV,EAAanV,qBAAuB,sBACtE,2BAAImV,EAAapV,IAAiBoV,EAAanV,qBAAuB,uBAW9Ek2E,GAAoB92C,aAAe,CACjC+2C,gBAAiB,IAGJD,UCrBAQ,GA3BgB,SAAC,GAI9B,IAJ4E,IAA5CrzE,EAA2C,EAA3CA,MAAOszE,EAAoC,EAApCA,YAAaC,EAAuB,EAAvBA,iBAG9CC,EADa,EACeD,EAAiB90E,OAC1CD,EAAI,EAAGA,EAAIg1E,EAAch1E,IAChC+0E,EAAiBh1D,KAAK,IAGxB,OACE,yBAAKxD,UAAU,yBACb,yBAAKA,UAAW,0BAA4Bu4D,GAC1C,0BAAMv4D,UAAU,IAAI/a,IAEtB,yBAAK+a,UAAU,wBACb,kBAAC,GAAD,CAAc0T,KAAM8kD,EAAmBvtD,QAAQ,IAAIqsD,UAAU,SCZ/DoB,GAAsB,SAAC,GAAqD,IAAnDC,EAAkD,EAAlDA,WAAYC,EAAsC,EAAtCA,kBAAmB7hE,EAAmB,EAAnBA,aAE5D,OACE,yBAAKiJ,UAAU,+GACb,yBAAKA,UAAU,+BACZ44D,GAAqB,uBAAG54D,UAAU,iCAAiC24D,EAA9C,IAA2D5hE,EAAapV,IAAiBoV,EAAanV,qBAAuB,qBAErJ,yBAAKoe,UAAU,OACb,yBAAKA,UAAU,sBACZ44D,GACC,kBAAC,GAAD,CACEv5E,IAAI,qBACJ4F,MAAO8R,EAAapV,IAAiBoV,EAAanV,qBAAuB,oBACzE22E,YAAY,iBACZC,iBAAkBI,EAAkBC,OAE1C,yBAAK74D,UAAU,sBACZ44D,GACC,kBAAC,GAAD,CACEv5E,IAAI,sBACJ4F,MAAO8R,EAAapV,IAAiBoV,EAAanV,qBAAuB,qBACzE22E,YAAY,iBACZC,iBAAkBI,EAAkBE,SAG5C,yBAAK94D,UAAU,4BACb,2BAAIjJ,EAAapV,IAAiBoV,EAAanV,qBAAuB,wBAa9E82E,GAAqB13C,aAAe,CAClC43C,kBAAmB,IAGNF,UCxBTK,G,YACJ,WAAY34E,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KACRxuB,MAAQ,CACX84E,cAAe,GACfC,sBAAuB,KACvBnI,aAAc,GAEdoI,kBAAmB,GACnBC,iBAAkB,GAElB1qC,kBAAkB,EAClBC,wBAAwB,EACxBqO,0BAA0B,GAG5B,EAAKq8B,oBAAsB,KAE3B,EAAKrqC,sBAAwB,EAAKA,sBAAsBngB,KAA3B,gBAC7B,EAAKogB,iBAAmB,EAAKA,iBAAiBpgB,KAAtB,gBACxB,EAAKyqD,eAAiB,EAAKA,eAAezqD,KAApB,gBACtB,EAAK6S,gBAAkB,EAAKA,gBAAgB7S,KAArB,gBACvB,EAAK0qD,mBAAqB,EAAKA,mBAAmB1qD,KAAxB,gBAC1B,EAAK2qD,8BAAgC,EAAKA,8BAA8B3qD,KAAnC,gBACrC,EAAKuY,SAAW,EAAKA,SAASvY,KAAd,gBAChB,EAAK4qD,wBAA0B,EAAKA,wBAAwB5qD,KAA7B,gBAC/B,EAAK6qD,mCAAqC,EAAKA,mCAAmC7qD,KAAxC,gBAzBhB,E,iFA4BP,IAAD,OAClBtoB,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBAEnBz3B,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GACxC,GAAI,EAAKJ,MAAM6a,gBAAiB,CAC9B,IAAI+N,EAAW,EAAK5oB,MAAM8gB,MAAM8e,OAAOhX,SACnCzH,EAAcyxB,gBAAgBhqB,IAChC,EAAKswD,mBAAmBtwD,S,gDAMNgvB,GACpBA,IACGA,EAAU/8B,iBACX3U,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,iBAAmBld,KAAKlG,MAAM4gB,SAASgZ,a,4CAKjDX,GACpB,IAAM3Q,EAAQ2Q,EAAMvN,OAAOpD,MAE3BpiB,KAAKi4B,SAAS,CACZy6C,cAAetwD,EACf+lB,kBAAkB,EAClBC,wBAAwB,M,uCAIXrV,GAKf,OAJAA,EAAMpL,iBAEN3nB,KAAKgzE,mBAAmBhzE,KAAKpG,MAAM84E,gBAE5B,I,qCAGM7I,EAASmF,GACtBnF,EAAUA,GAAW,GACrBmF,EAAUA,GAAW,GAErBhvE,KAAKi4B,SAAS,CACZ26C,kBAAmB,GACnBC,iBAAkBhJ,EAClBW,aAAcwE,EACdv4B,0BAA0B,IAG5Bz2C,KAAKkzE,wBAAwBrJ,K,sCAGf92C,GACd/yB,KAAKlG,MAAMigC,QAAQlG,yBAAyB,GAAI,kBAE7C7zB,KAAKlG,MAAM6a,gBACZ3U,KAAK6gC,SAAS,cAEd7gC,KAAK6gC,SAAS,qB,+BAIT8L,GACP3sC,KAAKlG,MAAM8yC,QAAQ1vB,KAAKyvB,K,yCAGPjqB,GAAW,IAAD,OAEvB0wD,EAAkBn4D,EAAcyxB,gBAAgBhqB,GAEpD1iB,KAAKi4B,SAAS,CACZkQ,kBAAmBirC,EACnBhrC,yBAAwBgrC,GAAsC,IAApB1wD,EAAStlB,OACnDw1E,kBAAoBQ,EAAkB1wD,EAAW,GACjDgwD,cAAeU,EAAkB1wD,EAAW1iB,KAAKpG,MAAM84E,gBAGtDU,IACDpzE,KAAKlG,MAAMigC,QAAQjG,oBAAoB,uBAAwBpR,GAE/D1iB,KAAKlG,MAAMigC,QAAQ+vC,YAAY,CAAE9sB,OAAQt6B,IAAY9G,MAAK,SAACy3D,GAEzD,GAAIA,GAAkBA,EAAe9E,SAAW8E,EAAe9E,QAAQnxE,OAAQ,EAAG,CAEhF,IAAIqxE,EAAS4E,EAAe9E,QAAQ,GACpC,EAAKwE,eAAetE,EAAO5E,QAAS4E,EAAOO,SAG3CnzC,EAAqB,4BAGrB,EAAKo3C,mCAGN/2D,OAAM,SAAAC,GACP,EAAK82D,sC,sDAMTjzE,KAAKi4B,SAAS,CACZ06C,sBAAuB,KACvBnI,aAAc,GACdqI,iBAAkB,GAClBp8B,0BAA0B,M,8CAINozB,GAAU,IAAD,OAC5BA,EACG7pE,KAAK8yE,oBACP9yE,KAAKmzE,mCAAmCnzE,KAAK8yE,oBAAqBjJ,GAElE7pE,KAAKszE,wBAAwB13D,MAAK,SAACC,GACjC,EAAKi3D,oBAAsBj3D,EAC3B,EAAKs3D,mCAAmC,EAAKL,oBAAqBjJ,MAItE7pE,KAAKi4B,SAAS,CAAC06C,sBAAuB,S,8CAKxC,IAAI7+D,EAAU,KACRoH,EAAUzf,IAAmC,oBAC7C83E,EAAgBjvD,SAASwoD,cAAc,UAI7C,OAHAyG,EAAcvsD,IAAM9L,EACpBoJ,SAAS6oD,KAAKC,YAAYmG,GAEnB,IAAIv3D,SAAQ,SAACa,EAASZ,GAC3BnI,EAAUijB,aAAY,WACjBtc,OAAM,oBACP82B,cAAcz9B,GAEd+I,EAAQpC,OAAM,sBAEf,U,yDAI4B+4D,EAAiB3J,GAClD7pE,KAAKi4B,SAAS,CAAC06C,sBAAuB,OAEtC,IAAMc,EAAS5J,EAAQj/C,MAAM,EAAG,GAC1B8oD,EAAeF,GAAmBA,EAAgBG,OAAOF,GACzDG,EAAiBJ,GAAmBA,EAAgBK,QAAQJ,GAC5DK,EAAiBN,GAAmBA,EAAgBO,SAASlK,GAE/DiK,IACFA,EAAeE,KAAKxjD,SAAQ,SAAAuhD,GAASA,EAAIT,KAAOhH,GAAiByH,EAAIlnC,MAErE7qC,KAAKi4B,SAAS,CAAC06C,sBAAuB,CAAEe,eAAcE,iBAAgBE,uB,+BAKxE,IAAI3gC,EAAgB,8BA8DpB,OA5DInzC,KAAKlG,MAAM6a,kBACbw+B,EACE,yBAAKz5B,UAAU,iBACb,yBAAKA,UAAU,wBAEb,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,eAE/B,kBAAC,GAAD,CACEpX,IAAI,kBACJ0X,aAAczQ,KAAKlG,MAAM2W,aACzB0qB,gBAAiBn7B,KAAKm7B,gBACtBsN,sBAAuBzoC,KAAKyoC,sBAC5BC,iBAAkB1oC,KAAK0oC,iBACvBhmB,SAAU1iB,KAAKpG,MAAM84E,cACrBvqC,iBAAkBnoC,KAAKpG,MAAMuuC,iBAC7BC,uBAAwBpoC,KAAKpG,MAAMwuC,uBACnCqO,yBAA0Bz2C,KAAKpG,MAAM68C,4BAIzC,kBAAC,GAAD,CACE19C,IAAI,mBACJyxE,aAAcxqE,KAAKpG,MAAM4wE,aACzB/5D,aAAczQ,KAAKlG,MAAM2W,eAE3B,yBAAK/R,GAAG,uBAEN,kBAAC,GAAD,CACEgkB,SAAU1iB,KAAKpG,MAAMg5E,kBACrB/I,QAAS7pE,KAAKpG,MAAMi5E,iBACpB1D,uBAAwBnvE,KAAK+yE,eAC7BtiE,aAAczQ,KAAKlG,MAAM2W,aACzBspB,QAAS/5B,KAAKlG,MAAMigC,WAMtB/5B,KAAKpG,MAAM+4E,uBAAyB3yE,KAAKpG,MAAM+4E,sBAAsBiB,gBACrE,6BACE,kBAAC,GAAD,CACE76E,IAAI,uBACJs5E,WAAYryE,KAAKpG,MAAM+4E,sBAAsBe,aAC7CpB,kBAAmBtyE,KAAKpG,MAAM+4E,sBAAsBiB,eAAjC,GACnBnjE,aAAczQ,KAAKlG,MAAM2W,gBAI7BzQ,KAAKpG,MAAM+4E,uBAAyB3yE,KAAKpG,MAAM+4E,sBAAsBmB,gBACrE,6BACE,kBAAC,GAAD,CACE/6E,IAAI,sBACJ04E,gBAAiBzxE,KAAKpG,MAAM+4E,sBAAsBmB,eAAjC,KACjBrjE,aAAczQ,KAAKlG,MAAM2W,kBAO7B0iC,M,GA3Pe/pB,IAAMC,WAgQjCopD,GAAazzC,aAAe,CAC1BC,OAAQC,IAAUC,QA+BLxE,oBA5Bf,SAAyB/gC,EAAOghC,GAC9B,IAAIpqB,EAAY,GAEhB,GAAI5W,EAAMT,KAAM,CACd,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC9FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIhD,IAAIyxC,EAAc,GAKlB,OAJIlzC,EAAM6W,eACRq8B,EAAclzC,EAAM6W,cAGf,CACLN,aAAcK,EACdC,aAAcq8B,EACdn4B,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAmBzgC,OAAOC,OAAO,GAAI4yC,EAAanS,EAAeiS,EAAgB7W,EAAiB+9C,GAAkB3hD,MAIlHqI,CAA6C83C,IC3S/CyB,GAAb,4LAGKl0E,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAClC2E,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQlF,sBALxB,+BAUI,IAAIs/C,EAAqB,kBAOzB,OALIn0E,KAAKlG,MAAM2W,eACb0jE,EAAqBn0E,KAAKlG,MAAM2W,aAAapV,IAAqB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,kBAC3F0E,KAAKlG,MAAM2W,aAAapV,IAAqB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,oBAIlH,yBAAKoe,UAAU,6DACb,kBAAC,EAAD,CAAMiP,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAcsY,UAAU,cAAc3C,WAAW,EAAM4C,SAAS,yDAAyD7C,KAAM7lB,KAAKlG,MAAM4F,cAE1L,6BAASga,UAAU,kCACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,qDACb,yBAAKA,UAAU,UACb,yBAAKsN,IAAKnoB,oBAA8B6a,UAAU,YAAYuN,IAAI,MAEpE,qCACA,2BAAIktD,GACH,yBAAKz6D,UAAU,UACd,uBAAG1a,KAAM4a,IAA2BF,UAAU,mBAA9C,iCAOV,kBAAC,GAAD,WAtCR,GAAkC0P,IAAMC,WA4CxC6qD,GAAal1C,aAAe,CAC1BC,OAAQC,IAAUC,QA8BLxE,oBA3Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAInD,IAAIyxC,EAAc,GAKjB,OAJElzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGd,CACLN,aAAcK,EACdC,aAAcq8B,MAIlB,SAA4Bxa,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAe5E,GAAmB5D,MAItEqI,CAA6Cu5C,ICtEtDE,G,YACF,WAAYt6E,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACX8lB,cAAe,MAJO,E,iFAQP,IAAD,OAElB1f,KAAKlG,MAAMigC,QAAQtC,kBAEnBz3B,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GAElC,EAAKJ,MAAMigC,QAAQ1C,eAAeh8B,KAClC,EAAKvB,MAAMigC,QAAQkN,iBAAgB,GAAM/qB,OAAM,SAAAhiB,GAE5B,KAAZA,EAAEk8B,QACH,EAAK6B,SAAS,CAAE+yB,eAAe,UAK7CrP,O,gDAIwBjK,M,8CAKxB,GAAW,UADAptB,SAASC,eAAe,YAAYnC,MAK7C,OAHApiB,KAAKi4B,SAAS,CAACvY,cAAe,OAC9B1f,KAAKlG,MAAMigC,QAAQ4L,cACnB3lC,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,2BAI1Bld,KAAKi4B,SAAS,CAACvY,cADK,yB,+BAKZ,IAAD,OACL,OACE,8BACE,yBAAKhG,UAAU,yBACb,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,gBAEjC,6BAASuJ,UAAU,wBACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,sFACb,yBAAKsN,IAAKnoB,eAAyBooB,IAAI,GAAGvN,UAAU,uCACpD,yBAAKsN,IAAKnoB,gBAA0BooB,IAAI,GAAGvN,UAAU,0CACrD,iDACA,oFAAyD,6BAAzD,yDAAoH,6BAApH,yDACA,8BACE,yBAAKA,UAAU,oBACb,2BAAOqM,KAAK,WAAWrnB,GAAG,WAAWgb,UAAU,wBAAwBo9B,YAAY,qBAAqB6H,UAAQ,IAChH,uBAAG3/C,KAAK,IAAI0a,UAAU,iBAAgB,yBAAKsN,IAAKnoB,aAAuB6a,UAAU,qBAAqBuN,IAAI,MAC1G,2BAAOu9B,IAAI,YAAX,sBACCxkD,KAAKpG,MAAM8lB,eAAiB,yBAAKhG,UAAU,iBAAiB1Z,KAAKpG,MAAM8lB,gBAE1E,yBAAKhG,UAAU,gBACb,uBAAG1a,KAAM4a,IAA2BF,UAAU,qBAA9C,UACA,4BAAQqM,KAAK,SAASrM,UAAU,kBAAkBqN,QAAS,kBAAK,EAAKstD,0BAArE,wBAOZ,yBAAK36D,UAAU,kBACb,kBAAC,GAAD,Y,GA3EkB0P,IAAMC,WAqFtC+qD,GAAkBp1C,aAAe,CAC/BC,OAAQC,IAAUC,QAiCLxE,oBA9Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAKjD,IAAIyxC,EAAc,GAKnB,OAJIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGhB,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,GAAe3a,MAIlEqI,CAA6Cy5C,ICzHtDE,G,YACF,WAAYx6E,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACX8lB,cAAe,MAJO,E,iFAQP,IAAD,OAElB1f,KAAKlG,MAAMigC,QAAQtC,kBAEnBz3B,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GAElC,EAAKJ,MAAMigC,QAAQ1C,eAAeh8B,KAClC,EAAKvB,MAAMigC,QAAQkN,iBAAgB,GAAM/qB,OAAM,SAAAhiB,GAE5B,KAAZA,EAAEk8B,QACH,EAAK6B,SAAS,CAAE+yB,eAAe,Y,gDAOrBtZ,M,+BAMtB,OAEI,yBAAKh4B,UAAU,+CACb,kBAAC,EAAD,CAAMiP,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAcsY,UAAU,cAAcC,SAAS,yDAA0DtB,YAAY,IAGvK,6BAAS1N,UAAU,uBACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,0EACb,yBAAKA,UAAU,UACb,yBAAKsN,IAAKnoB,eAAyB6a,UAAU,YAAYuN,IAAI,MAE/D,6DACA,+DAAoC,6BAApC,4IAEA,yBAAKvN,UAAU,UACb,uBAAG1a,KAAM4a,IAAgCF,UAAU,mBAAnD,yBACA,uBAAG1a,KAAM4a,IAA2BF,UAAU,qBAA9C,2BAOV,yBAAKA,UAAU,kBACb,kBAAC,GAAD,Y,GA1DyB0P,IAAMC,WAsE7CirD,GAAyBt1C,aAAe,CACtCC,OAAQC,IAAUC,QAiCLxE,oBA9Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAKjD,IAAIyxC,EAAc,GAKnB,OAJIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGhB,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,GAAe3a,MAIlEqI,CAA6C25C,ICtGtDC,G,YACF,WAAYz6E,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,GAHW,E,iFAOP,IAAD,OAGlBoG,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KACjC2E,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQsL,UAAS,GAG5BrlC,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GAEvC,EAAKJ,MAAMigC,QAAQsL,UAAS,GAAMzpB,MAAK,SAACi5B,GAEtC,EAAK/6C,MAAMigC,QAAQ1C,eAAeh8B,a,gDAShBq2C,M,+BAItB,OACI,yBAAKh4B,UAAU,6DACb,kBAAC,EAAD,CAAMiP,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAcsY,UAAU,cAAc3C,WAAW,EAAM4C,SAAS,yDAAyD7C,KAAM7lB,KAAKlG,MAAM4F,cAE1L,6BAASga,UAAU,kCACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,qDACb,yBAAKA,UAAU,UACb,yBAAKsN,IAAKnoB,oBAA8B6a,UAAU,YAAYuN,IAAI,MAEpE,+DACA,kGAAuE,6BAAvE,oFACA,yBAAKvN,UAAU,UACb,uBAAG1a,KAAM4a,IAA4BF,UAAU,mBAA/C,kBAOV,kBAAC,GAAD,W,GAtDqB0P,IAAMC,WA4DzCkrD,GAAqBv1C,aAAe,CAClCC,OAAQC,IAAUC,QAiCLxE,oBA9Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAKjD,IAAIyxC,EAAc,GAKnB,OAJIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGhB,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,EAAalS,GAAgBzI,MAIhFqI,CAA6C45C,IC9FtDC,G,YACF,WAAY16E,EAAOsuB,GAAU,IAAD,8BACxB,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,GAHW,E,iFAOP,IAAD,OAGlBoG,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KACjC2E,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQsL,UAAS,GAG5BrlC,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GAEvC,EAAKJ,MAAMigC,QAAQsL,UAAS,GAAMzpB,MAAK,SAACi5B,GAEtC,EAAK/6C,MAAMigC,QAAQ1C,eAAeh8B,a,gDAShBq2C,M,+BAItB,OACI,yBAAKh4B,UAAU,6DACb,kBAAC,EAAD,CAAMiP,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAcsY,UAAU,cAAc3C,WAAW,EAAM4C,SAAS,yDAAyD7C,KAAM7lB,KAAKlG,MAAM4F,cAE1L,6BAASga,UAAU,kCACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,qDACb,yBAAKA,UAAU,UACb,yBAAKsN,IAAKnoB,oBAA8B6a,UAAU,YAAYuN,IAAI,MAEpE,+DACA,kGAAuE,6BAAvE,oFACA,yBAAKvN,UAAU,UACb,uBAAG1a,KAAM4a,IAA4BF,UAAU,mBAA/C,kBAOV,kBAAC,GAAD,W,GAtD2B0P,IAAMC,WA4D/CmrD,GAA2Bx1C,aAAe,CACxCC,OAAQC,IAAUC,QAiCLxE,oBA9Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAKjD,IAAIyxC,EAAc,GAKnB,OAJIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGhB,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,oBAIvC,SAA4B2d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,EAAalS,GAAgBzI,MAIhFqI,CAA6C65C,IC1FtDC,G,YACJ,WAAY36E,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACX0tE,wBAAyB,EACzBC,yBAA0B,EAC1Bvc,eAAe,EACf6N,eAAgB,MAPQ,E,iFAaP,IAAD,OAClBp+C,OAAM,WAAc,GACpBza,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAElC2E,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GACxCqsE,GAAWiB,kBAAkB,EAAK1tE,MAAMib,WAAW6G,MAAM,SAAA+kC,GACvD,EAAK1oB,SAAS,CACZ4gC,eAAgBlY,EAAKkkB,QACrByC,wBAAwB,EACxBC,yBAAyB,EACzBvc,eAAe,OAEhB9uC,OAAO,SAAAC,GACR,EAAK8b,SAAS,CACZqvC,wBAAwB,EACxBC,yBAAyB,EACzBvc,eAAe,Y,gDAMGtZ,M,+BAYxB,IAAI6W,EACJ,yBAAK7uC,UAAU,0BACb,6BACE,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gBACb,yBAAKA,UAAU,oBACb,6BACE,2BAAG,2EACH,uHAA8F,uBAAG1a,KAAM4a,KAAT,6BAA9F,uGAAkR,sCAAlR,QAA4S,uCAA5S,aAA8U,sCAA9U,+GAA6c,gDAA7c,6WACA,icACA,+dACA,yiBACA,oaACA,yLAAgK,4CAAhK,UACA,2BAAG,iFACH,yLAA8J,wDAA9J,+bACA,2BAAG,gEACH,wMAA6K,2CAA7K,+OAAub,uBAAG5a,KAAK,oBAAR,mBACvb,0FACA,4BACA,iEAAsC,gCAAQ,qDAA9C,sHAA6L,uBAAGA,KAAM4a,KAAT,kBAA7L,SACA,2DAEA,2BAAG,wEACH,4UAAmT,gDAAnT,8JACA,wdACA,ugBACA,2BAAG,sDACH,kUACA,6aACA,4BACA,kOACA,wOAEA,6WACA,2BAAG,mEACH,6YACA,iTACA,2BAAG,+CACH,wOAA+M,0DAA/M,kMACA,0TACA,gUACA,0aACA,2BAAG,sDACH,iNAAwL,qDAAxL,uqBACA,2BAAG,gEACH,iFAAsD,6BAAK,6BAA3D,sHAAmL,6BAAK,6BAAxL,yDAAmP,6BAAK,6BAAxP,iPAA2e,6BAAK,6BAAhf,0DAA4iB,6BAAK,6BAAjjB,4HAA+qB,6BAAK,6BAAprB,gHAAsyB,6BAAK,6BAA3yB,8JAA28B,6BAAK,6BAAh9B,wHAA0kC,6BAAK,6BAAK,gEACplC,6hCACA,iHAAsF,6BAAK,6BAA3F,eAA4G,6BAAK,6BAAjH,sDAAyK,6BAAK,6BAA9K,8EACA,kLACA,2BAAG,8CACH,+sBACA,2BAAG,wEACH,gpBACA,2BAAG,+CACH,oUACA,2BAAG,mEACH,obACA,2BAAG,0DACH,8HAAmG,iEAAnG,KACA,2BAAG,mFAA8D,4CAW7E,OAEE,yBAAKF,UAAU,uCACX1Z,KAAKlG,MAAM4F,YAAYiV,iBAAmB,kBAAC,EAAD,CAAMgU,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAciX,YAAY,IACrHpnB,KAAKlG,MAAM4F,YAAYiV,iBAAmB,kBAAC,EAAD,CAAMgU,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAcsY,UAAU,cAAc3C,WAAW,EAAM4C,SAAS,yDAAyD7C,KAAM7lB,KAAKlG,MAAM4F,cACpO6oD,EACD,kBAAC,GAAD,W,GA9HgBn/B,IAAMC,WAoI9BorD,GAAUz1C,aAAe,CACvBC,OAAQC,IAAUC,QAkCLxE,oBA/Bf,SAAyB/gC,EAAOghC,GAC9B,IAAIpqB,EAAY,GAEhB,GAAI5W,EAAMT,KAAM,CACd,IAAIA,EAAOS,EAAMT,KACZA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC7FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIlD,IAAIyxC,EAAc,GAKlB,OAJIlzC,EAAM6W,eACRq8B,EAAclzC,EAAM6W,cAGf,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,gBACnCI,UAAWnb,EAAM8F,YAAYqV,UAC7BH,WAAYhb,EAAM8F,YAAYkV,eAIlC,SAA4B0d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,EAAa/W,EAAiB6E,GAAgBzI,MAIjGqI,CAA6C85C,ICvKtDC,G,YACJ,WAAY56E,EAAOsuB,GAAU,IAAD,8BAC1B,4CAAMtuB,EAAOsuB,KAERxuB,MAAQ,CACX0tE,wBAAyB,EACzBC,yBAA0B,EAC1Bvc,eAAe,EACf6N,eAAgB,MAPQ,E,iFAaP,IAAD,OAClBp+C,OAAM,WAAc,GACpBza,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQ1C,eAAeh8B,KAElC2E,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GACxCqsE,GAAWiB,kBAAkB,EAAK1tE,MAAMib,WAAW6G,MAAM,SAAA+kC,GACvD,EAAK1oB,SAAS,CACZ4gC,eAAgBlY,EAAKkkB,QACrByC,wBAAwB,EACxBC,yBAAyB,EACzBvc,eAAe,OAEhB9uC,OAAO,SAAAC,GACR,EAAK8b,SAAS,CACZqvC,wBAAwB,EACxBC,yBAAyB,EACzBvc,eAAe,Y,gDAMGtZ,M,+BAYxB,IAAI6W,EACJ,yBAAK7uC,UAAU,0BACb,6BACE,yBAAKA,UAAU,aACb,yBAAKA,UAAU,gBACb,yBAAKA,UAAU,oBACb,6BAGF,uBAAGA,UAAU,eAAc,yEAC3B,2BAAG,gCAAQ,6BAAR,2CACH,0gBACA,0NACA,gbACA,mGAAwE,sDAAxE,gCACA,gHAAqF,8BAAM,uBAAGgf,IAAI,WAAWi8C,UAAQ,OAAO31E,KAAK,iBAAiBwmB,OAAO,SAAS7mB,MAAM,gBAA7E,iBAA3F,sIACA,qRACA,2BAAG,uEACH,iWACA,gbACA,6IACA,oPACA,4MAAqL,uBAAG+5B,IAAI,WAAW15B,KAAK,6BAA6BwmB,OAAO,UAA3D,uBACrL,kQAAyO,8QACzO,0QACA,2BAAG,iEACH,+CAAoB,gCAAQ,sDAA5B,sGACA,4bACA,uiBACA,gKAAgI,iEAAhI,kRACA,2BAAG,6EACH,gGACA,4BACA,wDAAwB,iDAAxB,0LACA,oFACA,iEACA,kFACA,qFACA,yEAEA,mJACA,kNACA,2BAAG,6EACH,sIACA,4BACA,8IACA,gFACA,8GACA,sFACA,yDAEA,qZACA,inBACA,2BAAG,yEACH,qWACA,4BACA,2FACA,wDACA,gGACA,kGACA,oFAEA,2BAAG,4EACH,kJACA,4BACA,0OAAiN,uBAAGkT,IAAI,WAAW15B,KAAK,6BAA6BwmB,OAAO,UAA3D,sBAAjN,KACA,2OACA,8TACA,uGACA,kFAEA,qMACA,yUACA,2BAAG,sDAA2B,6BAAK,8BAAnC,8LAA4O,6BAAK,6BAAjP,oQACA,2BAAG,4EACH,ufACA,oPAAyN,iEAAzN,+JACA,+FAAoE,8BAAM,uBAAGkT,IAAI,WAAW15B,KAAK,6BAA6BwmB,OAAO,UAA3D,YAA1E,4LACA,2BAAG,mDACH,6dAAwb,6BAAK,6BAA7b,wOACA,2BAAG,uGACH,iWACA,4KACA,2BAAG,wFACH,2QACA,mVACA,gVACA,qPACA,+RACA,iIACA,2BAAG,qEACH,gaACA,2BAAG,8EACH,8EACA,4BACA,4BAAI,4CAAJ,OAAmC,8CAAnC,0CAAqG,yEAArG,SAAiK,uBAAGxmB,KAAK,+CAAR,cAAjK,8BACA,4BAAI,oDAAJ,IAAsC,2CAAtC,kEAA+H,uBAAGA,KAAK,qEAAR,cAA/H,8BACA,4BAAI,wDAAJ,sEAAkH,uBAAGA,KAAK,6CAAR,cAAlH,8BACA,4BAAI,2DAAJ,2BAAsE,uBAAGA,KAAK,iCAAR,cAAtE,8BACA,4BAAI,gEAAJ,uKAAqN,uBAAGA,KAAK,mDAAR,cAArN,8BACA,4BAAI,8BAAM,oEAAN,oFAAkJ,uBAAGA,KAAK,6CAAR,cAAtJ,8BACA,4BAAI,uEAAJ,8DAAqH,iGAArH,OAAuM,uBAAG05B,IAAI,WAAW15B,KAAK,gEAAgEwmB,OAAO,UAA9F,cAAvM,kCACA,4BAAI,8BAAM,wDAAN,4BAAJ,qDAAsI,uBAAGxmB,KAAK,4CAAR,cAAtI,8BACA,4BAAI,8BAAM,2DAAN,gEAA2G,uBAAGA,KAAK,yEAAR,kBAA3G,kCACJ,4BAAI,8BAAM,mEAAN,0EAAiI,uBAAGA,KAAK,iDAAR,cAAjI,+BACJ,4BAAI,8BAAM,oDAAN,0CAAkF,uBAAGA,KAAK,8CAAR,cAAlF,mCACJ,4BAAI,8BAAM,8DAAN,sCAAoF,uBAAGA,KAAK,iDAAR,cAApF,+BACJ,4BAAI,8BAAM,qEAAN,uBAA4E,uBAAGA,KAAK,6CAAR,cAA5E,mCACJ,4BAAI,8BAAM,6DAAN,0BAAuE,uBAAGA,KAAK,mDAAR,cAAvE,+BACJ,4BAAI,8BAAM,sDAAN,0BAAgE,uBAAGA,KAAK,yCAAR,cAAhE,mCACJ,4BAAI,8BAAM,0DAAN,uBAAiE,uBAAGA,KAAK,6CAAR,cAAjE,oCAEJ,2BAAG,uEACH,4MACA,iZACA,2BAAG,2DACH,6OAAkN,6BAAK,mCAAU,8BAAjO,2EAAqT,6BAArT,eAAwU,uBAAGA,KAAK,2BAAR,mBAAxU,WAAyY,6BAAzY,sCAAub,6BAAvb,2BAAsd,6BAAtd,wFACA,gIAAuG,6BAAvG,OAAkH,6BAAlH,mFAAyM,6BAAzM,cAA2N,uBAAGA,KAAK,2BAAR,mBAA3N,WAA4R,6BAA5R,2CAA+U,6BAA/U,yBAA4W,6BAA5W,qGACA,2BAAG,oDACH,gGACA,2BAAG,iEACH,8MACA,0HACA,uBAAG0a,UAAU,aAAY,qFAAgE,4CAWjG,OAEE,yBAAKA,UAAU,uCACX1Z,KAAKlG,MAAM4F,YAAYiV,iBAAmB,kBAAC,EAAD,CAAMgU,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAciX,YAAY,IACrHpnB,KAAKlG,MAAM4F,YAAYiV,iBAAmB,kBAAC,EAAD,CAAMgU,WAAW,EAAMxY,aAAcnQ,KAAKlG,MAAMqW,aAAcsY,UAAU,cAAc3C,WAAW,EAAM4C,SAAS,yDAAyD7C,KAAM7lB,KAAKlG,MAAM4F,cACpO6oD,EACD,kBAAC,GAAD,W,GA7LoBn/B,IAAMC,WAmMlCqrD,GAAc11C,aAAe,CAC3BC,OAAQC,IAAUC,QAkCLxE,oBA/Bf,SAAyB/gC,EAAOghC,GAC9B,IAAIpqB,EAAY,GAEhB,GAAI5W,EAAMT,KAAM,CACd,IAAIA,EAAOS,EAAMT,KACZA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC7FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIlD,IAAIyxC,EAAc,GAKlB,OAJIlzC,EAAM6W,eACRq8B,EAAclzC,EAAM6W,cAGf,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,gBACnCI,UAAWnb,EAAM8F,YAAYqV,UAC7BH,WAAYhb,EAAM8F,YAAYkV,eAIlC,SAA4B0d,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,EAAa/W,EAAiB6E,GAAgBzI,MAIjGqI,CAA6C+5C,ICrN7CE,G,8GAjCa7/D,GAA0B,IAAfoG,EAAc,uDAAJ,GAEpCD,EAAUzf,IAA+B,kBAE5C8f,EAAU,CACdA,eAA0B,oBACvBxG,IACDwG,EAAQ,cAAgBxG,GAE1B,IAAIqX,EAAiB,CAChBhR,OAAQ,OACRC,KAAM,OACNC,YAAa,UACbC,QAASA,EACTC,KAAMC,KAAKC,UAAUP,IAGxB,OAAOQ,MAAMT,EAASkR,GAAgBxQ,MAAK,SAAAC,GAE/B,OAAKA,EAASC,GAILD,EAASE,OAHTC,QAAQC,OAAOJ,MAMhCK,OAAM,SAAUC,GAChB,MAAMA,S,KCzBX,SAAS04D,KACd,MAAO,CAAC9uD,KAAM2G,MAGT,SAASooD,GAAejjE,GAC7B,MAAO,CAACkU,KAAM2G,KAAwB7a,WAQjC,SAASkjE,GAAyB7gE,EAAYiH,GACnD,MAAO,CAAC4K,KAAM2G,KAAmCxY,aAAYiH,WAGxD,SAAS0a,GAAkB1hB,GAChC,MAAO,CAAC4R,KAAM2G,MAAgCvY,eAIzC,SAAS6gE,KAA8D,IAA5C75D,EAA2C,uDAAjC,GAAI4a,EAA6B,wDAAfC,EAAe,wDAC3E,OAAO,SAAC1D,EAAUC,GAEhB,IAAI34B,EAAQ24B,IACR0iD,EAAqBr7E,EAAMma,cAE/B,OAAIgiB,IAkDR,SAAoCk/C,EAAoB95D,GAErD,IAAI+5D,GAAa,EACbhhE,EAAa+gE,GAAsBA,EAAmB/gE,WACtDA,IACHghE,IAAgBhhE,EAAWK,WAAaL,EAAWK,UAAUnX,OAAS,GACrE8W,EAAWM,UAAYN,EAAWM,SAASpX,OAAS,GACpD8W,EAAWO,cAAgBP,EAAWO,aAAarX,OAAS,IAG/D,OAAQ83E,EA1DDC,CAA2BF,IAAiCA,EAAmBjhE,qBAAuBihE,EAAmBhhE,qBAErHghE,EAAmBjhE,qBAAuBihE,EAAmBhhE,oBAC5Dqe,EAASyiD,GAAyBE,EAAmB/gE,WAAYiH,IAGvEmX,EAAS4D,IAA4B,IAC9Bla,QAAQa,QAAQo4D,KAK3B3iD,EAASwiD,IAAe,IACxB35D,EAAQ6a,MAAQA,EACT4+C,GAAUQ,iBAAiBx7E,EAAM8F,YAAYqV,UAAWoG,GAASS,MAAK,SAAA1H,GAMzE,OAJAoe,EAASyiD,GAAyB7gE,EAAYiH,IAC9CmX,EAASuD,GAAkB3hB,EAAU,cACrCoe,EAAS4D,IAA4B,IAE9Bla,QAAQa,QAAQ3I,MACxBgI,OAAM,SAAAC,GAEP,OAAmB,KAAhBA,EAAMia,OAIA,IAAIpa,SAAQ,SAACa,EAASZ,GACzB0N,YAAW,WAEP9M,EAAQyV,EAAS0iD,GAAkB75D,GAAS,GAAO,OACpD1f,QAGe,KAAhB0gB,EAAMia,QACV9D,EAAShgB,GAAQ,YAAa,WACvB0J,QAAQa,YAGfyV,EAAShgB,GAAQ,YAAa,kBAEvB0J,QAAQa,gBCjEfpC,OAAOuK,EAGcoE,IAAMC,UAHrC,ICPagsD,GAAuB,SAACC,GAInC,IAEEA,EADCA,EACU,IAAMA,EAGN,iBAGbtwD,IAAEswD,GAAUt7C,MAAM,CAChBC,MAAM,EACNC,QAAQ,EACRC,UAAU,EACVC,MAAO,IACPC,aAAc,EACdyO,eAAgB,EAChBxO,UAAU,EACVC,cAAe,IACfoO,WAAY,CACV,CACEC,WAAY,IACZC,SAAU,CACR3O,QAAQ,OAKhB,MAAMhgC,GACNk5B,QAAQmiD,MAAM,aAAcr7E,KAMjBs7E,GAAkB,WAE7BhoC,KACA6nC,MCiBeI,GA7DK,SAAC,GAAoB,IAAlBp2C,EAAiB,EAAjBA,WAIrB,OACI,yBAAK3gC,GAAG,gBAAgBgb,UAAU,gBAAgBC,KAAK,UACvD,yBAAKD,UAAU,8CAA8CC,KAAK,YAChE,yBAAKD,UAAU,iBACb,yBAAKA,UAAU,gBACb,uBAAGqN,QAASsY,EAAY1lB,KAAK,SAAS2lB,eAAa,QAAQ5lB,UAAU,iBAAgB,yBAAKA,UAAU,YAAYsN,IAAKnoB,wBAEvH,yBAAK6a,UAAU,cACb,4BAAI,mCAAJ,gDACA,4BACE,uDACA,8FACA,2DACA,yCACA,0CACA,iDACA,2DACA,qJAEF,4BAAI,mCAAJ,yDACA,oSACA,6LACA,8HACA,wMAUA,2FACA,wBAAIwP,MAAO,CAACwsD,cAAe,SACzB,4BAAI,yBAAK1uD,IAAKnoB,eAAyBqqB,MAAO,CAACuhB,OAAQ,QAASxjB,IAAI,KAApE,gCACA,4BAAI,yBAAKD,IAAKnoB,kBAA4BqqB,MAAO,CAACuhB,OAAQ,QAASxjB,IAAI,KAAvE,0BACA,4BAAI,yBAAKD,IAAKnoB,qBAA+BqqB,MAAO,CAACuhB,OAAQ,QAASxjB,IAAI,KAA1E,oBAGF,wBAAIiC,MAAO,CAACwsD,cAAe,SAA3B,kHAEA,2BAAG,yBAAK1uD,IAAKnoB,cAAwBooB,IAAI,KAAzC,IAA8C,kGAA0E,6BAAxH,8IAGA,2BAAG,yBAAKD,IAAKnoB,cAAwBooB,IAAI,KAAzC,IAA8C,gFAAwD,6BAAtG,yJAGA,kHCrDD0uD,GAAa,SAAC,GAAgE,IAA/DC,EAA8D,EAA9DA,WAAYC,EAAkD,EAAlDA,aAAkD,IAApCptD,iBAAoC,MAAxB,mBAAwB,EACtF,OAAQ,yBAAM/O,UAAW+O,GAAW,0BAAM/O,UAAU,iBAAiBk8D,GAA7D,IAAgF,0BAAMl8D,UAAU,oBAAoBm8D,KCFnHC,GAAe,SAAC,GAA8B,IAA7BC,EAA4B,EAA5BA,OAAQ97D,EAAoB,EAApBA,KAAMkiB,EAAc,EAAdA,SAC1C,OAAQ,yBAAKziB,UAAU,2CACjB,yBAAKhb,GAAG,YAAYgb,UAAU,6CACtB,yBAAKA,UAAU,QACb,yBAAKA,UAAU,cAAchb,GAAG,iBAC9B,0BAAMgb,UAAU,QACXq8D,GAEL,4BAAK97D,IAGP,yBAAKvb,GAAG,iBAAiBgb,UAAU,0BAA0ByM,kBAAgB,gBAAgBoW,cAAY,cACvG,yBAAK7iB,UAAU,aACb,8BAAOyiB,SC0Jd65C,IAnJLv7D,OAAOuK,E,YAKf,WAAYlrB,EAAOsuB,GAAS,IAAD,8BACvB,4CAAMtuB,EAAOsuB,KACRxuB,MAAQ,CACXilC,OAAO,GAGT,EAAKo3C,oBAAsB,EAAKA,oBAAoB3tD,KAAzB,gBANJ,E,iFAWzBqzB,O,yCAIiBpzB,EAAWC,GAE5BmzB,O,kCAIA37C,KAAKi4B,SAAS,CAAC4G,OAAO,M,mCAItB7+B,KAAKi4B,SAAS,CAAC4G,OAAO,M,0CAGJ9L,EAAOmjD,GACzB,GAAGA,EAAQC,kBAAoBD,EAAQC,iBAAiB/4E,OAAS,EAAE,CACjE,IAAIg5E,EAAW,UAAYF,EAAQG,UACnChB,GAAqBe,M,+BAIlB,IAAD,SAEuBp2E,KAAKlG,MAC5B0a,GAHA,EAEC/D,aAFD,EAEe2c,MAGnB,OAAI5Y,GAA+B,GAAnBA,EAASpX,OASvB,yBAAKsc,UAAU,6CACf,8BACE,yBAAKhb,GAAG,YAAYgb,UAAU,qBAE1BlF,GAAYA,EAAS4R,KAAK,SAAC8vD,EAASpsD,GAElC,OACE,yBAAK/wB,IAAK+wB,EAAOpQ,UAAU,QACzB,yBAAKA,UAAU,cAAchb,GAAI,WAAaw3E,EAAQG,WACpD,wBAAI38D,UAAU,QACZ,4BAAQqN,QAAS,SAAC7sB,GAAD,OAAO,EAAK+7E,oBAAoB/7E,EAAGg8E,IAC9Cx8D,UAAU,yBACVsM,cAAY,WACZqW,cAAa,aAAe65C,EAAQG,UACpCnwD,gBAAc,OACdoW,gBAAe,YAAc45C,EAAQG,WACxCH,EAAQI,uBAA0BJ,EAAQI,uBAAyB,GAEnEJ,EAAQK,mBACL,0CAAe,0BAAM78D,UAAU,QAASw8D,EAAQK,sBAGxD,4BAAKL,EAAQM,YACZ,yBAAK98D,UAAU,YAAYw8D,EAAQG,aAQtC,yBAAK33E,GAAI,YAAcw3E,EAAQG,UAAW38D,UAAU,WAAWyM,kBAAiB,WAAa+vD,EAAQG,UAAW95C,cAAY,cAC1H,yBAAK7iB,UAAU,aACZw8D,EAAQO,iBAAmB,kBAAC,GAAD,CAAYb,WAAW,UAAUC,aAAcK,EAAQO,kBAClFP,EAAQQ,mBAAoB,kBAAC,GAAD,CAAYd,WAAW,UAAUC,aAAcK,EAAQQ,oBACnFR,EAAQS,cAAgB,kBAAC,GAAD,CAAYf,WAAW,gBAAgBC,aAAcK,EAAQS,eACrFT,EAAQU,YAAc,kBAAC,GAAD,CAAYhB,WAAW,gBAAgBC,aAAcK,EAAQU,aACnFV,EAAQW,qBACN,wCAAG,uBAAGn9D,UAAU,yBAAb,wBACA,0BAAMA,UAAU,SAAQ,kCAAaw8D,EAAQW,sBAGjD,yBAAKn9D,UAAU,iBACdw8D,EAAQC,kBACR,uBAAGz8D,UAAU,YAAb,wDACC,yBAAKhb,GAAI,UAAYw3E,EAAQG,UAAW38D,UAAW,kBAAqBw8D,EAAQC,kBAAoBD,EAAQC,iBAAiB/4E,OAAS,EAAK,GAAI,WAC7I84E,EAAQC,kBAAoBD,EAAQC,iBAAiB/vD,KAAI,SAACvB,EAAMiF,GAC9D,OACE,yBAAK/wB,IAAK+wB,EAAOpQ,UAAU,eAGvBmL,EAAKiyD,IAAM,uBAAG5tD,MAAO,CAACuhB,OAAQ,SAAS,yBAAKzjB,IAAiB,KAAZnC,EAAKiyD,IACpDj4E,cACa,KAAZgmB,EAAKiyD,IAAcj4E,cAAyBA,qBAC9CooB,IAAI,KAAI,8BAAY,uBAAGiC,MAAO,CAACuhB,OAAQ,SAAS,8BACnD,yBAAKzjB,IAAoB,KAAfnC,EAAKuR,OACXv3B,eACC,cAAcokB,QAAQ4B,EAAKuR,QAAU,EAAIv3B,kBAA6BA,qBACzE6a,UAAU,YAAYwP,MAAO,CAACuhB,OAAQ,QAASxjB,IAAI,KAKrD,2BAAIpC,EAAKmwB,cAOrB,uBAAGjuB,QAAS,WAAK,EAAKgwD,aAAcr9D,UAAU,SAASwP,MAAO,CAACwxB,OAAO,YAAtE,gDASb16C,KAAKpG,MAAMilC,OACV,kBAAC,GAAD,CAAeQ,WAAY,WAAK,EAAKA,kBAxFjC,kBAAC,GAAD,CAAc02C,OAAO,YAC3B,yBAAKr8D,UAAU,uBAAf,uC,GA5Ce0P,IAAMC,YCSZ2tD,GA9BY,SAAC,GAAoB,IAAlB33C,EAAiB,EAAjBA,WAI5B,OACI,yBAAK3gC,GAAG,gBAAgBgb,UAAU,gBAAgBC,KAAK,UACvD,yBAAKD,UAAU,8CAA8CC,KAAK,YAChE,yBAAKD,UAAU,iBACb,yBAAKA,UAAU,gBACb,uBAAGqN,QAASsY,EAAY1lB,KAAK,SAAS2lB,eAAa,QAAQ5lB,UAAU,iBAAgB,yBAAKA,UAAU,YAAYsN,IAAKnoB,wBAEvH,yBAAK6a,UAAU,cACb,4BAAI,mCAAJ,gDACE,4BACE,uDACA,wGACA,+CACA,uCAGJ,4BAAI,mCAAJ,8BACA,iUACA,+VCwGCu9D,IA5GLx8D,OAAOuK,E,YAKf,WAAYlrB,EAAOsuB,GAAS,IAAD,8BACvB,4CAAMtuB,EAAOsuB,KACR6tD,oBAAsB,EAAKA,oBAAoB3tD,KAAzB,gBAE3B,EAAK1uB,MAAQ,CACXilC,OAAO,GALc,E,iFAWzB8c,O,yCAIiBpzB,EAAWC,GAE5BmzB,O,kCAIA37C,KAAKi4B,SAAS,CAAC4G,OAAO,M,mCAItB7+B,KAAKi4B,SAAS,CAAC4G,OAAO,M,0CAGJ9L,EAAOmjD,GACtBA,EAAQC,kBAAoBD,EAAQC,iBAAiB/4E,S,+BAKnD,IAAD,SAEuB4C,KAAKlG,MAC5Bya,GAHA,EAEC9D,aAFD,EAEe2c,MAGnB,OAAI7Y,GAAiC,GAApBA,EAAUnX,OAS3B,yBAAKsc,UAAU,6CACb,8BACE,yBAAKhb,GAAG,YAAYgb,UAAU,qBAE1BnF,GAAaA,EAAU6R,KAAK,SAAC8wD,EAASptD,GACpC,OACE,yBAAK/wB,IAAK+wB,EAAOpQ,UAAU,QACzB,yBAAKA,UAAU,cAAchb,GAAI,WAAaorB,GAC5C,wBAAIpQ,UAAU,QACZ,4BACCA,UAAU,yBACVsM,cAAY,WACZqW,cAAa,aAAevS,EAC5B5D,gBAAc,OACdoW,gBAAe,YAAcxS,GAC3BotD,EAAQC,gBANX,IAM4B,kDAAuB,0BAAMz9D,UAAU,QAAQw9D,EAAQE,YAAhC,QAGrD,4BAAKF,EAAQV,cAGf,yBAAK93E,GAAI,YAAcorB,EAAOpQ,UAAU,WAAWyM,kBAAiB,WAAa2D,EAAOyS,cAAY,cAClG,yBAAK7iB,UAAU,aACZw9D,EAAQP,cAAgB,kBAAC,GAAD,CAAYf,WAAW,qBAAqBC,aAAcqB,EAAQP,eAC3F,0BAAMj9D,UAAU,cAAa,kCAAaw9D,EAAQG,eACf,MAAlCH,EAAQI,wBACP,uBAAG59D,UAAU,yBAAb,yBAA2D,0BAAMA,UAAU,gBAAgBw9D,EAAQI,yBAGrG,uBAAGvwD,QAAS,WAAK,EAAKgwD,aAAcr9D,UAAU,SAASwP,MAAO,CAACwxB,OAAO,YAAtE,wDAUb16C,KAAKpG,MAAMilC,OACV,kBAAC,GAAD,CAAsBQ,WAAY,WAAK,EAAKA,kBAhDxC,kBAAC,GAAD,CAAc02C,OAAO,aACnB,yBAAKr8D,UAAU,uBAAf,wC,GA3Cc0P,IAAMC,YCenBkuD,GApCK,SAAC,GAAoB,IAAlBl4C,EAAiB,EAAjBA,WAIrB,OACI,yBAAK3gC,GAAG,gBAAgBgb,UAAU,gBAAgBC,KAAK,UACvD,yBAAKD,UAAU,8CAA8CC,KAAK,YAChE,yBAAKD,UAAU,iBACb,yBAAKA,UAAU,gBACb,uBAAGqN,QAASsY,EAAY1lB,KAAK,SAAS2lB,eAAa,QAAQ5lB,UAAU,iBAAgB,yBAAKA,UAAU,YAAYsN,IAAKnoB,wBAEvH,yBAAK6a,UAAU,cAEf,4BAAI,mCAAJ,gDACI,4BACE,+DACA,gEACA,wGACA,+CACA,+CACA,+CAEN,4BAAI,mCAAJ,uBACE,sOACA,qMACA,qNACD,+GACC,2BAAG,8CAAH,0GACA,2BAAG,uDAAH,iKC+IC89D,IAzJL/8D,OAAOuK,E,YAIf,WAAYlrB,EAAOsuB,GAAS,IAAD,8BACvB,4CAAMtuB,EAAOsuB,KACRxuB,MAAQ,CACXilC,OAAO,GAGT,EAAKo3C,oBAAsB,EAAKA,oBAAoB3tD,KAAzB,gBANJ,E,iFAWzBqzB,O,yCAIiBpzB,EAAWC,GAE5BmzB,O,kCAIA37C,KAAKi4B,SAAS,CAAC4G,OAAO,M,mCAItB7+B,KAAKi4B,SAAS,CAAC4G,OAAO,M,0CAGJ9L,EAAOmjD,GACtBA,EAAQC,kBAAoBD,EAAQC,iBAAiB/4E,S,+BAKnD,IAAD,SAEuB4C,KAAKlG,MAC5B0a,GAHA,EAEC/D,aAFD,EAEe2c,MAMnB,OAHG5Y,IACDA,EAAWA,EAASwU,QAAO,SAAAshB,GAAC,OAAqB,GAAjBA,EAAEmtC,gBAEhCjjE,GAA+B,GAAnBA,EAASpX,OASvB,yBAAKsc,UAAU,6CACf,8BACE,yBAAKhb,GAAG,YAAYgb,UAAU,qBAE1BlF,GAAYA,EAAS4R,KAAK,SAAC8vD,EAASpsD,GAC5B,OACE,yBAAK/wB,IAAK+wB,EAAOpQ,UAAU,QACzB,yBAAKA,UAAU,cAAchb,GAAI,WAAaw3E,EAAQG,WACpD,wBAAI38D,UAAU,QACZ,4BAAQqN,QAAS,SAAC7sB,GAAD,OAAO,EAAK+7E,oBAAoB/7E,EAAGg8E,IAC9Cx8D,UAAU,yBACVsM,cAAY,WACZqW,cAAa,aAAe65C,EAAQG,UACpCnwD,gBAAc,OACdoW,gBAAe,YAAc45C,EAAQG,WACxCH,EAAQwB,qBAAwBxB,EAAQwB,qBAAuB,GAE/DxB,EAAQK,mBACN,0CAAe,0BAAM78D,UAAU,QAASw8D,EAAQK,sBAGvD,4BACCL,EAAQM,aAGNN,EAAQI,wBAA0B,kBAAC,GAAD,CAAY7tD,UAAU,GAAGmtD,WAAW,gBAAgBC,aAAcK,EAAQS,eAC5GT,EAAQI,wBAA0B,kBAAC,GAAD,CAAY7tD,UAAU,GAAGmtD,WAAW,4BAA4BC,aAAcK,EAAQI,0BAG7H,yBAAK53E,GAAI,YAAcw3E,EAAQG,UAAW38D,UAAU,WAAWyM,kBAAiB,WAAa+vD,EAAQG,UAAW95C,cAAY,cAC1H,yBAAK7iB,UAAU,aACZw8D,EAAQyB,SAASvxD,KAAK,SAACwxD,EAASC,GAC7B,OACA,0BAAM9+E,IAAK8+E,IACRD,EAAQE,gBAAkBF,EAAQG,eAAiBH,EAAQI,gBAE1D,wBAAIt+D,UAAU,oBAAd,WACCk+D,EAAQI,eAAiB,kBAAC,GAAD,CAAYpC,WAAW,mBAAmBC,aAAc+B,EAAQI,gBACzFJ,EAAQK,YAAc,kBAAC,GAAD,CAAYrC,WAAW,eAAeC,aAAc+B,EAAQK,WAAa,MAAO,OACtGL,EAAQE,gBAAkB,kBAAC,GAAD,CAAYlC,WAAW,mBAAmBC,aAAc,IAAM+B,EAAQE,iBAEhGF,EAAQG,eACT,oCACA,kBAAC,GAAD,CAAYnC,WAAW,oBACtB,0BAAMl8D,UAAU,gBAAe,kCAAak+D,EAAQG,gBAInDH,EAAQxhD,QAAW,yBAAK1c,UAAU,UAChC,uBAAGA,UAAU,yBAAb,UAA4C,0BAAMA,UAAW,YAAgC,QAAlBk+D,EAAQxhD,OAAkB,2BAA2B,KAAMwhD,EAAQxhD,UAM/IwhD,EAAQM,gBACT,yBAAKx+D,UAAU,SAASwP,MAAO,CAACqiB,QAAS,iBACvC,yBAAK7xB,UAAU,gBAAf,qBAIA,yBAAKA,UAAU,cAGY,KAAxBk+D,EAAQM,eAAqB,0FACH,KAAxBN,EAAQM,eAAqB,mIAC9B,KAKR,yBAAKx+D,UAAU,4BAIvB,uBAAGqN,QAAS,WAAK,EAAKgwD,aAAcr9D,UAAU,SAASwP,MAAO,CAACwxB,OAAO,YAAtE,gDASnB16C,KAAKpG,MAAMilC,OACV,kBAAC,GAAD,CAAeQ,WAAY,WAAK,EAAKA,kBA7FjC,kBAAC,GAAD,CAAc02C,OAAO,YACf,yBAAKr8D,UAAU,uBAAf,uC,GA9CG0P,IAAMC,YCYZ8uD,GAhCS,SAAC,GAAoB,IAAlB94C,EAAiB,EAAjBA,WAIzB,OACI,yBAAK3gC,GAAG,gBAAgBgb,UAAU,gBAAgBC,KAAK,UACvD,yBAAKD,UAAU,8CAA8CC,KAAK,YAChE,yBAAKD,UAAU,iBACb,yBAAKA,UAAU,gBACb,uBAAGqN,QAASsY,EAAY1lB,KAAK,SAAS2lB,eAAa,QAAQ5lB,UAAU,iBAAgB,yBAAKA,UAAU,YAAYsN,IAAKnoB,wBAEvH,yBAAK6a,UAAU,cAEf,4BAAI,mCAAJ,qDACI,4BACE,uDACA,6CACA,oCACA,uCAGJ,4BAAI,mCAAJ,4BACA,4LACA,6PACA,sGCoGC0+D,IA3GL39D,OAAOuK,E,YAKf,WAAYlrB,EAAOsuB,GAAS,IAAD,8BACvB,4CAAMtuB,EAAOsuB,KACRxuB,MAAQ,CACXilC,OAAO,GAGT,EAAKo3C,oBAAsB,EAAKA,oBAAoB3tD,KAAzB,gBANJ,E,iFAUzBqzB,O,yCAGiBpzB,EAAWC,GAC5BmzB,O,kCAIA37C,KAAKi4B,SAAS,CAAC4G,OAAO,M,mCAItB7+B,KAAKi4B,SAAS,CAAC4G,OAAO,M,0CAGJ9L,EAAOmjD,GACtBA,EAAQC,kBAAoBD,EAAQC,iBAAiB/4E,S,+BAKnD,IAAD,SACuB4C,KAAKlG,MAC5B2a,GAFA,EACChE,aADD,EACe2c,MAGnB,OAAI3Y,GAAuC,GAAvBA,EAAarX,OASjC,yBAAKsc,UAAU,6CACb,8BACE,yBAAKhb,GAAG,YAAYgb,UAAU,qBAG1BjF,GAAgBA,EAAa2R,KAAK,SAACiyD,EAAOvuD,GACxC,OACE,yBAAK/wB,IAAK+wB,EAAOpQ,UAAU,QACzB,yBAAKA,UAAU,cAAchb,GAAI,WAAYorB,GAC3C,wBAAIpQ,UAAU,QACZ,4BACEA,UAAU,yBACVsM,cAAY,WACZqW,cAAa,aAAcvS,EAC3B5D,gBAAc,OACdoW,gBAAe,YAAaxS,GAC7BuuD,EAAMC,SANP,IAMiB,uDAA4B,0BAAM5+D,UAAU,QAAQ2+D,EAAME,eAG7E,4BAAKF,EAAMG,YAGb,yBACE95E,GAAI,YAAaorB,EACjBpQ,UAAU,WACVyM,kBAAiB,WAAY2D,EAC7ByS,cAAY,cAEZ,yBAAK7iB,UAAU,aACZ2+D,EAAMI,mBAAqB,0BAAM/+D,UAAU,gBAAe,kCAAa2+D,EAAMI,mBAC5EJ,EAAMK,mBAAsB,yBAAKh/D,UAAU,UAC3C,uBAAGA,UAAU,yBAAb,UAA4C,0BAAMA,UAAW,YAAyC,WAA3B2+D,EAAMK,kBAAgC,2BAA2B,KAAML,EAAMK,qBAE1J,uBAAG3xD,QAAS,WAAK,EAAKgwD,aAAcr9D,UAAU,SAASwP,MAAO,CAACwxB,OAAO,YAAtE,uDAUb16C,KAAKpG,MAAMilC,OACV,kBAAC,GAAD,CAAmBQ,WAAY,WAAK,EAAKA,kBApDrC,kBAAC,GAAD,CAAc02C,OAAO,iBAC3B,yBAAKr8D,UAAU,uBAAf,8C,GAvCmB0P,IAAMC,YCQhBsvD,GA5BS,SAAC,GAAoB,IAAlBt5C,EAAiB,EAAjBA,WAIzB,OACI,yBAAK3gC,GAAG,gBAAgBgb,UAAU,gBAAgBC,KAAK,UACvD,yBAAKD,UAAU,8CAA8CC,KAAK,YAChE,yBAAKD,UAAU,iBACb,yBAAKA,UAAU,gBACb,uBAAGqN,QAASsY,EAAY1lB,KAAK,SAAS2lB,eAAa,QAAQ5lB,UAAU,iBAAgB,yBAAKA,UAAU,YAAYsN,IAAKnoB,wBAEvH,yBAAK6a,UAAU,cACb,kEACA,4BAAI,mCAAJ,gDACA,kTAAuR,uBAAGA,UAAU,gBAAgB1a,KAAK,4EAA4EwmB,OAAO,UAArH,oBACvR,6UAA6S,uBAAG9L,UAAU,gBAAgB1a,KAAK,8DAAlC,QAA7S,MACA,4FAAiE,uBAAG0a,UAAU,gBAAgB1a,KAAK,yDAAlC,8BAAjE,MAEA,4BAAI,mCAAJ,uEACA,mSACA,oKCmDG45E,GArEI,SAAC,GAAoB,IAAlBv5C,EAAiB,EAAjBA,WAIpB,OACI,yBAAK3gC,GAAG,gBAAgBgb,UAAU,gBAAgBC,KAAK,UACvD,yBAAKD,UAAU,8CAA8CC,KAAK,YAChE,yBAAKD,UAAU,iBACb,yBAAKA,UAAU,gBACb,uBAAGqN,QAASsY,EAAY1lB,KAAK,SAAS2lB,eAAa,QAAQ5lB,UAAU,iBAAgB,yBAAKA,UAAU,YAAYsN,IAAKnoB,wBAEvH,yBAAK6a,UAAU,cACb,iEACA,waACA,8MACA,0OACc,uBAAG8L,OAAO,SAAS9L,UAAU,gBAAgB1a,KAAK,6EAAlD,QADd,KAGA,4BAAI,mCAAJ,4CACA,yGAA8E,kBAAC,IAAD,CAAM0a,UAAU,gBAAgBqO,GAAInO,KAApC,kBAA9E,4EAGA,4BAAI,mCAAJ,+DACA,oGAEA,4BAAI,mCAAJ,oEACA,0VAA0T,uBAAG4L,OAAO,SAAS9L,UAAU,gBAAgB1a,KAAK,6EAAlD,QAA1T,KAEA,4BAAI,mCAAJ,qEACA,iOACA,qaAEA,4BAAI,mCAAJ,0FACA,uRAEA,4BAAI,mCAAJ,0EACA,iPACA,iYAEA,4BAAI,mCAAJ,wDACA,8UACA,yCACA,4BACE,8DAEF,0CACA,4BACE,kDACA,4EACA,oEACA,iDACA,gDAEF,2CACA,4BACE,wFAEF,6CACA,4BACE,gEAEF,2RC3BR65E,G,YACF,WAAY/+E,EAAOsuB,GAAU,IAAD,sBACxB,4CAAMtuB,EAAOsuB,IACb,IAAMsR,EAASqjB,iBAAMjjD,EAAM4gB,SAASsiC,QAFZ,OAGxB,EAAKpjD,MAAQ,CACTk/E,mBAAmB,EACnBC,cAAc,EACd3+D,SAAUsf,EAAM,KAAWA,EAAM,KAAW,EAC5Cs/C,UAAU,EACVz7E,qBAAqB,EACrBC,gBAAgB,EAChBC,gBAAgB,GAGpB,EAAKw7E,iBAAmB,EAAKA,iBAAiB3wD,KAAtB,gBACxB,EAAK4wD,eAAiB,EAAKA,eAAe5wD,KAApB,gBACtB,EAAK6wD,wBAA0B,EAAKA,wBAAwB7wD,KAA7B,gBAC/B,EAAK8wD,mBAAqB,EAAKA,mBAAmB9wD,KAAxB,gBAC1B,EAAK+wD,UAAY,EAAKA,UAAU/wD,KAAf,gBAjBO,E,iFAoBP,IAAD,OA8BlB,GA3BAtoB,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQplB,gBAAgB9Y,KAAUC,kBAAkB8f,MAAK,SAAA1hB,GAElE,GAAIyC,aAAWzC,EAAE0C,MAAOf,KAAUC,mBAChCa,aAAWzC,EAAE0C,MAAOf,KAAUW,WADhC,CASA,GAJIG,aAAWzC,EAAE0C,MAAOf,KAAUY,aAChC,EAAK3C,MAAM8yC,QAAQ1vB,KAAKtD,KAGvB1f,EAAE0C,MAAM,CACT,IAAIU,EAAMD,aAAoBnD,EAAE0C,OAChCU,EAAI07E,SAAW17E,EAAII,SAAW,EAE9B,EAAKu6B,SAAS36B,GAGhB,EAAKxD,MAAMigC,QAAQsL,UAAS,GAAMzpB,MAAK,SAACi5B,GACtC,EAAK/6C,MAAMigC,QAAQ1C,eAAeh8B,KAClC,EAAKvB,MAAMigC,QAAQi7C,oBAAoBp5D,MAAK,SAAA1hB,GAC1Cs7E,gBAjBF,EAAK17E,MAAM8yC,QAAQ1vB,KAAKtD,IAA6B,WAAaA,QAsB5C,GAAvB5Z,KAAKpG,MAAMwgB,UAAiBpa,KAAK+rD,KAAM,CAExC,IADA,IAAIb,EAAMlrD,KAAK+rD,KAAK5vB,SACZh/B,EAAI,EAAGA,EAAG+tD,EAAI9tD,OAAQD,IAC5B+tD,EAAI/tD,GAAGuc,UAAY,GAGrBwxC,EAAIlrD,KAAKpG,MAAMwgB,SAAS,GAAGV,UAAY,a,gDAIjBg4B,GAClBA,IAAcA,EAAU/8B,iBACxB3U,KAAKlG,MAAM8yC,QAAQ1vB,KAAKtD,IAA6B,WAAaA,O,gCAIhEmZ,GACRA,EAAMpL,iBACN3nB,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,8B,qCAGXhJ,GAIb,IAAIsV,EAAY,qCAuCd,OA9BGxpB,KAAKpG,MAAMwgB,WACc,GAAvBpa,KAAKpG,MAAMwgB,SAKEoP,EAAY,qCACK,GAAvBxpB,KAAKpG,MAAMwgB,SACnBoP,EAAa,kBAAC,GAAD,CACG/Y,aAAczQ,KAAKlG,MAAM2W,aACzB2c,KAAMlZ,EAAU,WAED,GAAvBlU,KAAKpG,MAAMwgB,SACnBoP,EAAa,kBAAC,GAAD,CACG/Y,aAAczQ,KAAKlG,MAAM2W,aACzB2c,KAAMlZ,EAAU,YAED,GAAvBlU,KAAKpG,MAAMwgB,SACjBoP,EAAa,kBAAC,GAAD,CACG/Y,aAAczQ,KAAKlG,MAAM2W,aACzB2c,KAAMlZ,EAAU,WAEH,GAAvBlU,KAAKpG,MAAMwgB,WACjBoP,EAAa,kBAAC,GAAD,CACG/Y,aAAczQ,KAAKlG,MAAM2W,aACzB2c,KAAMlZ,EAAU,iBAK9BsV,I,gCAGFtvB,EAAG4vB,GACX5vB,EAAEytB,iBACFztB,EAAEmxD,kBAGF,IADA,IAAIH,EAAMhxD,EAAEoxD,cAAcC,WAAWpvB,SAC7Bh/B,EAAI,EAAGA,EAAG+tD,EAAI9tD,OAAQD,IAC5B+tD,EAAI/tD,GAAGuc,UAAY,GAErBxf,EAAEoxD,cAAc5xC,UAAY,UAC5B1Z,KAAKi4B,SAAS,CAAC7d,SAAU0P,M,uCAGViJ,GACfA,EAAMpL,iBACN3nB,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,gB,8CAGD+iB,EAAQlN,GAC/B/yB,KAAKi4B,SAAS,CAAC6gD,kBAAmB74C,M,yCAGhBA,EAAQlN,GAC1B/yB,KAAKi4B,SAAS,CAAC8gD,aAAc94C,M,+BAGrB,IAAD,OACHsoB,EAAc,KACdx0C,EAAgB/T,KAAKlG,MAAMia,cAC3BG,EAAaH,GAAiBA,EAAcG,WAG9Cq0C,EADCx0C,IAAkBA,EAAcb,0BAA4Ba,EAAczB,SAC7D,kBAAC,GAAD,CAAcyjE,OAAO,wBAC/B,yBAAKr8D,UAAU,sBACb,kBAAC,GAAD,CAAkCO,KAAMja,KAAKlG,MAAM2W,aAAX,2BAIxCyD,GAAcA,EAAWI,OAASJ,EAAWI,MAAMrB,WAC3C,kBAAC,GAAD,CAAc8iE,OAAO,wBAC/B,yBAAKr8D,UAAU,sBACb,kBAAC,GAAD,CAAkCO,KAAMja,KAAKlG,MAAM2W,aAAX,+BAIxCyD,GAAcA,EAAWI,OAASJ,EAAWI,MAAMtB,kBAC3C,kBAAC,GAAD,CAAc+iE,OAAO,wBAC/B,yBAAKr8D,UAAU,sBACb,kBAAC,GAAD,CAAkCO,KAAMja,KAAKlG,MAAM2W,aAAX,iCAIxCyD,GAAcA,EAAWI,QAAUJ,EAAWI,MAAMnB,UAAYe,EAAWI,MAAMglE,UACzE,kBAAC,GAAD,CAAcvD,OAAO,wBAC/B,yBAAKr8D,UAAU,sBACb,kBAAC,GAAD,CAAkCO,KAAMja,KAAKlG,MAAM2W,aAAX,6BAIxCsD,IAAkBA,EAAclC,SAAYqC,IAAeA,EAAWpC,QAC9D,kBAAC,GAAD,CAAcikE,OAAO,mCAC3B,yBAAKr8D,UAAU,YACb,yBAAKA,UAAU,0DACdC,KAAK,cAAcmuD,gBAAc,KAAKC,gBAAc,IAAIC,gBAAc,MAAM9+C,MAAO,CAAC8f,MAAO,WAIhGhpC,KAAKpG,MAAMo/E,UAAajlE,GAAiBA,EAAcs8B,gBAEzD,kBAAC,GAAD,CAAc0lC,OAAO,qCACnB,6BACE,yBAAKr8D,UAAU,uBAAf,mIAIA,4BAAQqN,QAAS,SAAC7sB,GAAK,EAAKm/E,UAAUn/E,IAAKwf,UAAU,8BAArD,qBAKM1Z,KAAKk5E,eAAehlE,GAGpC,IAAIqlE,EAAWrlE,GAAeA,EAAWM,SAAWN,EAAWM,SAASpX,OAAS,EAC7Eo8E,EAAatlE,GAAeA,EAAWK,UAAYL,EAAWK,UAAUnX,OAAS,EACjFq8E,EAAgBvlE,GAAeA,EAAWO,aAAeP,EAAWO,aAAarX,OAAS,EAC1Fs8E,EAAUxlE,GAAeA,EAAWM,UAAYN,EAAWM,SAASwU,QAAO,SAAAshB,GAAC,OAAIA,EAAEmtC,eAAar6E,OAGjG,OACE,8BACA,0BAAMsB,GAAG,mBACT,yBAAKgb,UAAU,uBACX,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,aAAe0V,KAAM7lB,KAAKlG,MAAM4F,YAAa4mB,cAAc,IAE1F,yBAAK5M,UAAU,aACb,4BAEE,wBAAIqN,QAAS,SAAC7sB,GAAK,EAAK8xD,UAAU9xD,EAAG,GAAI,EAAKk/E,oBAAmB,EAAMl/E,KAAM,uBAAG8E,KAAK,KAAK,+BAC1F,wBAAI0a,UAAU,UAAUqN,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,oBAA0Bu6E,EAA1B,OAC5D,wBAAIxyD,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,4BAAkCw6E,EAAlC,OACxC,wBAAIzyD,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,oBAA0B06E,EAA1B,OACxC,wBAAI3yD,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,yBAA+By6E,EAA/B,OACxC,wBAAI//D,UAAU,UACZ,4BAAQqN,QAAS,SAAC7sB,GAAK,EAAKi/E,yBAAwB,EAAMj/E,IAAKwf,UAAU,8BAAzE,oCAKN,6BAASA,UAAU,kBACjB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,UACb,2DAMZ,6BAASA,UAAU,uBACf,yBAAKA,UAAU,aAIb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,8DACb,2BAAOA,UAAU,aACf,wBAAIhb,GAAG,OAAO+a,IAAKzZ,KAAK+rD,MAEtB,wBAAIhlC,QAAS,SAAC7sB,GAAM,EAAK8xD,UAAU9xD,EAAG,GAAI,EAAKk/E,oBAAmB,EAAMl/E,KAAM,uBAAG8E,KAAK,KAAK,+BAC3F,wBAAI0a,UAAU,UAAUqN,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,oBAA0Bu6E,EAA1B,OAC5D,wBAAIxyD,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,4BAAkCw6E,EAAlC,OACxC,wBAAIzyD,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,oBAA0B06E,EAA1B,OACxC,wBAAI3yD,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,yBAA+By6E,EAA/B,OACxC,iCAAOz5E,KAAKpG,MAAMo/E,UAAY,4BAAQjyD,QAAS,SAAC7sB,GAAK,EAAKi/E,yBAAwB,EAAKj/E,IAAK6rB,KAAK,SAASrM,UAAU,8BAAtF,qCAKnC6uC,EAIL,yBAAK7uC,UAAU,OACb,yBAAKA,UAAU,sBACb,yBAAKA,UAAU,kBACf,0BAAMA,UAAU,cACZ,sNAA2L,6BAA3L,uDACoD,uBAAGA,UAAU,WAAW1a,KAAK,4EAA6EwmB,OAAO,UAAjH,WADpD,YAWZ,kBAAC,GAAD,MACCxlB,KAAKpG,MAAMk/E,mBACZ,kBAAC,GAAD,CAAmBz5C,WAAY,SAACnlC,GAAD,OAAO,EAAKi/E,yBAAwB,EAAOj/E,MAExE8F,KAAKpG,MAAMm/E,cACb,kBAAC,GAAD,CAAc15C,WAAY,SAACnlC,GAAD,OAAO,EAAKk/E,oBAAmB,EAAOl/E,W,GAxRpCkvB,IAAMC,WA+R5CwvD,GAAwB75C,aAAe,CACrCC,OAAQC,IAAUC,QAkCLxE,oBA/Bf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GAKnB,OAJIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAGhB,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBqU,cAAgBna,EAAMma,cACtBY,gBAAiB/a,EAAM8F,YAAYiV,gBACnC/X,MAAOhD,EAAM8F,YAAY9C,UAI7B,SAA4B01B,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAI67B,EAAiB4E,EAAemS,EAAa0sC,GAAiBrnD,MAIlGqI,CAA6Ck+C,I,UCnV7Ce,G,oHAZX,OAAO,IAAI59D,SAAQ,SAACa,EAASZ,GACzB0N,YAAW,WACP9M,EAAQjhB,QACTouB,Y,KCRJ,SAAS6vD,GAAwBj+E,GACpC,MAAO,CAACmqB,KAAM2G,KAAkC9wB,cAAeA,GAG1D,SAASk+E,KACd,OAAO,SAACxnD,EAAUC,GAEJA,IAEZ,OAAOwnD,GAAiBC,uBAAuBp+D,MAAK,SAAAhgB,GAClD02B,EAASunD,GAAwBj+E,OAChCsgB,OAAM,SAAAC,GACP,MAAMA,MCHJ1B,OAAOuK,EAAjB,IAsFei1D,G,YAjFb,WAAYngF,EAAOsuB,GAAS,qEAClBtuB,EAAOsuB,I,6HAOEG,EAAWC,M,+BAGvB,IAAD,EAE2CxoB,KAAKlG,MAAjCo8E,GAFf,EAECzlE,aAFD,EAEeylE,SAASgE,EAFxB,EAEwBA,QAASC,EAFjC,EAEiCA,OACrC,OAEE,8BACGjE,GAAY,yBAAK/9C,MAAM,eACtB,yBAAKA,MAAM,SACT,yBAAKnR,IAAKnoB,kBAA4BooB,IAAI,GAAGkR,MAAM,cACnD,4BAAK+9C,EAAQ,qBAAuBA,EAAQ,qBAAR,OAAyC,KAE/E,yBAAK/9C,MAAM,gBACT,4BACE,sCACA,4BAAK+9C,EAAQ,4BAA+BA,EAAQ,4BAA4B38D,KAAK6gE,OAAS,GAA9F,MAEF,4BACE,oCACA,4BAAKlE,EAAQ,gBAAR,WAKVgE,GAAY,yBAAK/hD,MAAM,eACtB,yBAAKA,MAAM,SACT,yBAAKnR,IAAKnoB,kBAA4BooB,IAAI,GAAGkR,MAAM,cACnD,4BAAM+hD,EAAQ,iBAAmBA,EAAQ,iBAAmB,KAE9D,yBAAK/hD,MAAM,gBACT,4BACE,sCACA,4BAAK+hD,EAAQ,mBAAsBA,EAAQ,mBAAR,YAA+C,GAAlF,MAEF,4BACE,oCACA,4BAAKA,EAAQ,gBAAR,WAKVC,GAAW,yBAAKhiD,MAAM,eACrB,yBAAKA,MAAM,SACT,yBAAKnR,IAAKnoB,kBAA4BooB,IAAI,GAAGkR,MAAM,cACnD,4BAAKgiD,EAAO,eAAiBA,EAAO,eAAP,OAAkC,KAEjE,yBAAKhiD,MAAM,gBACT,4BACE,sCACA,4BAAKgiD,EAAM,SAAgBA,EAAM,SAAN,OAA+B,GAA1D,MAEF,4BACE,oCACA,4BAAKA,EAAO,cAAP,gB,GAjEgB/wD,IAAMC,WCmBxBsvD,GAjCS,SAAC,GAAoB,IAAlBt5C,EAAiB,EAAjBA,WAIzB,OAFFta,IAGM,yBAAKrmB,GAAG,gBAAgBgb,UAAU,gBAAgBC,KAAK,UACvD,yBAAKD,UAAU,8CAA8CC,KAAK,YAChE,yBAAKD,UAAU,iBACb,yBAAKA,UAAU,gBACb,uBAAGqN,QAASsY,EAAY1lB,KAAK,SAAS2lB,eAAa,QAAQ5lB,UAAU,iBAAgB,yBAAKA,UAAU,YAAYsN,IAAKnoB,wBAEvH,yBAAK6a,UAAU,cACb,sEACA,iUACA,4BAAI,mCAAJ,gCACA,uRACA,4BAAI,mCAAJ,oBACA,0KACA,yDACA,4BACE,mDACA,iJACA,mHAEF,iUACA,sUCyFC2gE,IAnGL5/D,OAAOuK,E,YAIf,WAAYlrB,EAAOsuB,GAAS,IAAD,8BACvB,4CAAMtuB,EAAOsuB,KACRxuB,MAAQ,CACXilC,OAAO,GAGT,EAAKo3C,oBAAsB,EAAKA,oBAAoB3tD,KAAzB,gBANJ,E,iFAWzBqzB,O,yCAIiBpzB,EAAWC,GAE5BmzB,O,kCAIA37C,KAAKi4B,SAAS,CAAC4G,OAAO,M,mCAItB7+B,KAAKi4B,SAAS,CAAC4G,OAAO,M,0CAGJ9L,GAClBsiD,O,+BAGK,IAAD,SAEuBr1E,KAAKlG,MAAbszB,GAFf,EAEC3c,aAFD,EAEe2c,MACnB,OAEE,8BACE,yBAAK1uB,GAAG,YAAYgb,UAAU,qBAE1B0T,EAAK8oD,QAAQ9vD,KAAK,SAAC8vD,EAASpsD,GAC1B,OACE,yBAAKpQ,UAAU,QACb,yBAAKA,UAAU,cAAchb,GAAI,WAAaw3E,EAAQ,cAAR,QAC5C,wBAAIx8D,UAAU,QACZ,4BAAQqN,QAAS,EAAKkvD,oBAAqBv8D,UAAU,yBAAyBsM,cAAY,WAAWqW,cAAa,aAAe65C,EAAQ,cAAR,OAAiChwD,gBAAc,OAAOoW,gBAAe,YAAc45C,EAAQ,cAAR,QACjNA,EAAQ,4BAA+BA,EAAQ,4BAA4B38D,KAAK6gE,OAAS,GACzD,MAAhClE,EAAQ,sBAAiC,kDAAuB,0BAAMx8D,UAAU,QAAQw8D,EAAQ,qBAAuBA,EAAQ,qBAAR,OAAyC,OAGrK,4BAAKA,EAAQ,gBAAR,OAAL,IAAwC,8BAAOA,EAAQ,cAAR,UAGjD,yBAAKx3E,GAAI,YAAcw3E,EAAQ,cAAR,OAAiCx8D,UAAU,WAAWyM,kBAAiB,WAAa+vD,EAAQ,cAAR,OAAiC35C,cAAY,cACtJ,yBAAK7iB,UAAU,aAE+B,MAA3Cw8D,EAAQ,iCAA4C,wCAAG,2CACxD,0BAAMx8D,UAAU,SAAQ,kCAAaw8D,EAAQ,gCAAkCA,EAAQ,gCAAR,OAAoD,KAEjIA,EAAQ,sBAAwBA,EAAQ,qBAAR,SAA2CA,EAAQ,qBAAR,QAAwC94E,OAAS,GAC5H,yBAAKsc,UAAU,iBACb,yBAAKA,UAAU,iBACZw8D,EAAQ,qBAAR,QAAwC9vD,KAAI,SAACvB,GAC5C,OACE,yBAAKnL,UAAU,eACb,yBAAKsN,IAA2B,KAAtBnC,EAAKuR,OAAOgkD,OAAgBv7E,YAA8C,KAAtBgmB,EAAKuR,OAAOgkD,OAAgBv7E,gBAA2BA,kBAA6B6a,UAAU,YAAYuN,IAAI,KAC5K,2BAAIpC,EAAKmwB,OAAOolC,cAQ5B,uBAAGrzD,QAAS,WAAK,EAAKgwD,aAAcr9D,UAAU,SAASwP,MAAO,CAACwxB,OAAO,YAAtE,iDASb16C,KAAKpG,MAAMilC,OACV,kBAAC,GAAD,CAAmBQ,WAAY,WAAK,EAAKA,qB,GAtFxBjW,IAAMC,YCoDlBixD,IA1DL7/D,OAAOuK,E,YAKf,WAAYlrB,EAAOsuB,GAAS,qEAClBtuB,EAAOsuB,I,6HAOEG,EAAWC,M,+BAGvB,IAAD,EAEuBxoB,KAAKlG,MAAbszB,GAFf,EAEC3c,aAFD,EAEe2c,MACnB,OAEE,8BACE,yBAAK1uB,GAAG,YAAYgb,UAAU,qBAE1B0T,EAAK,kBAAkBhH,KAAK,SAAC8wD,EAASptD,GACpC,OACE,yBAAKpQ,UAAU,QACb,yBAAKA,UAAU,cAAchb,GAAI,WAAaorB,GAC5C,wBAAIpQ,UAAU,QACZ,4BAAQA,UAAU,yBAAyBsM,cAAY,WAAWqW,cAAa,aAAevS,EAAO5D,gBAAc,OAAOoW,gBAAe,YAAcxS,GACtJotD,EAAQ,mBAAR,YADD,IAC+C,kDAAuB,0BAAMx9D,UAAU,QAAQw9D,EAAQ,iBAAhC,QAGxE,4BAAKA,EAAQ,gBAAR,SAGP,yBAAKx4E,GAAI,YAAcorB,EAAOpQ,UAAU,WAAWyM,kBAAiB,WAAa2D,EAAOyS,cAAY,cAClG,yBAAK7iB,UAAU,aACb,0BAAMA,UAAU,SAAQ,kCAAaw9D,EAAQ,kBAAR,QACG,MAAvCA,EAAQ,6BAAwC,oDAAyB,0BAAMx9D,UAAU,gBAAgBw9D,EAAQ,4BAAR,qB,GApC9F9tD,IAAMC,YC2EzBkxD,IA9EL9/D,OAAOuK,E,YAKf,WAAYlrB,EAAOsuB,GAAS,IAAD,8BACvB,4CAAMtuB,EAAOsuB,KACRxuB,MAAQ,CACXilC,OAAO,GAHc,E,6HAWRtW,EAAWC,M,kCAI5BxoB,KAAKi4B,SAAS,CAAC4G,OAAO,M,mCAItB7+B,KAAKi4B,SAAS,CAAC4G,OAAO,M,+BAGjB,IAAD,SAGuB7+B,KAAKlG,MAAbszB,GAHf,EAGC3c,aAHD,EAGe2c,MACnB,OAEE,8BACE,yBAAK1uB,GAAG,YAAYgb,UAAU,qBAG1B0T,EAAK,gBAAgBhH,KAAK,SAACiyD,EAAOvuD,GAChC,OACE,yBAAKpQ,UAAU,QACb,yBAAKA,UAAU,cAAchb,GAAI,WAAYorB,GAC3C,wBAAIpQ,UAAU,QACZ,4BAAQA,UAAU,yBAAyBsM,cAAY,WAAWqW,cAAa,aAAcvS,EAAO5D,gBAAc,OAAOoW,gBAAe,YAAaxS,GACpJuuD,EAAK,SAAL,OADD,IAC8B,kDAAuB,0BAAM3+D,UAAU,QAAQ2+D,EAAM,eAAN,WAG/E,4BAAKA,EAAM,cAAN,SAGP,yBAAK35E,GAAI,YAAaorB,EAAOpQ,UAAU,WAAWyM,kBAAiB,WAAY2D,EAAOyS,cAAY,cAChG,yBAAK7iB,UAAU,aACb,0BAAMA,UAAU,SAAQ,kCAAa2+D,EAAM,uBAAN,QACH,MAAhCA,EAAM,wBAAmC,yBAAK3+D,UAAU,UACxD,qCAAU,0BAAMA,UAAU,WAAW2+D,EAAM,uBAAN,UAEvC,uBAAGtxD,QAAS,WAAK,EAAKgwD,aAAcr9D,UAAU,SAASwP,MAAO,CAACwxB,OAAO,YAAtE,iDAUb16C,KAAKpG,MAAMilC,OACV,kBAAC,GAAD,CAAmBQ,WAAY,WAAK,EAAKA,qB,GA/DdjW,IAAMC,YCkBrCmxD,G,YACF,WAAY1gF,EAAOsuB,GAAU,IAAD,sBACxB,4CAAMtuB,EAAOsuB,IACb,IAAMsR,EAAS,IAAI+gD,gBAAgB3gF,EAAM4gB,SAASsiC,QAF1B,OAGxB,EAAKpjD,MAAQ,CACTyiB,SAAW,CAAGsB,IAAK,CAAEC,GAAI,GAAIC,GAAI,GAAIC,GAAI,IAAOmB,QAAQ,GAAIK,gBAAiB,GAAIF,wBAAwB,GACzGxC,OAAQ,GACRqoC,QAAQ,EACRC,oBAAoB,EACpB8F,eAAe,EACf1uC,WAAY,CACV1F,OAAO,EACPgJ,UAAU,GAEZxF,SAAUsf,EAAOghD,IAAI,QAAUhhD,EAAOghD,IAAI,QAAU,GAIxD,EAAKC,gBAAkB,EAAKA,gBAAgBryD,KAArB,gBACvB,EAAKg0B,oBAAsB,EAAKA,oBAAoBh0B,KAAzB,gBAC3B,EAAK49B,kCAAoC,EAAKA,kCAAkC59B,KAAvC,gBACzC,EAAK69B,sBAAwB,EAAKA,sBAAsB79B,KAA3B,gBAC7B,EAAK68B,SAAW,EAAKA,SAAS78B,KAAd,gBArBQ,E,iFAyBP,IAAD,OAmBlB,GAfAtoB,KAAKlG,MAAMigC,QAAQtC,kBACnBz3B,KAAKlG,MAAMigC,QAAQ+/C,mBAEnB95E,KAAKlG,MAAMigC,QAAQplB,kBAAkBiH,MAAK,SAAA1hB,GAElC,EAAKJ,MAAMigC,QAAQ1C,eAAeh8B,KAClC,EAAKvB,MAAMigC,QAAQjE,iBAAiB,CAAC7J,cAAc,EAAMC,gBAAgB,EAAMC,gBAAiB,IAChG,EAAKryB,MAAMigC,QAAQkN,iBAAgB,GAAM/qB,OAAM,SAAAhiB,GAE5B,KAAZA,EAAEk8B,QACH,EAAK6B,SAAS,CAAE+yB,eAAe,UAKnB,GAAvBhrD,KAAKpG,MAAMwgB,SAAe,CAE3B,IADA,IAAI8wC,EAAMlrD,KAAK+rD,KAAK5vB,SACZh/B,EAAG,EAAGA,EAAG+tD,EAAI9tD,OAAQD,IAC3B+tD,EAAI/tD,GAAGuc,UAAY,GAErBwxC,EAAIlrD,KAAKpG,MAAMwgB,SAAS,GAAGV,UAAY,UAGzC87D,O,gDAGwB9jC,GACxB,GAAKA,EAAU/8B,iBAKb,GAAG+8B,EAAUhyC,YAAYsW,YAAa,CACjC,IAAIswC,EAAclsD,OAAOC,OAAO,GAAKq3C,EAAUhyC,YAAYsW,aAC1DhW,KAAKi4B,SAAS,CAAC5b,SAAUiqC,UAL7BtmD,KAAKlG,MAAM8yC,QAAQ1vB,KAAK,sB,gCAUpBhjB,EAAG4vB,GACX5vB,EAAEytB,iBACFztB,EAAEmxD,kBAEF,IADA,IAAIH,EAAMhxD,EAAEoxD,cAAcC,WAAWpvB,SAC7Bh/B,EAAG,EAAGA,EAAG+tD,EAAI9tD,OAAQD,IAC3B+tD,EAAI/tD,GAAGuc,UAAY,GAErBxf,EAAEoxD,cAAc5xC,UAAY,UAC5B1Z,KAAKi4B,SAAS,CAAC7d,SAAU0P,M,+BAGjB,IAAD,OACHy+B,EAAc,KAwChB,OArCAA,EADEvoD,KAAKpG,MAAMoxD,cACC,kBAAC,GAAD,CAAkC/wC,KAAMja,KAAKlG,MAAM2W,aAAX,8BAE/CzQ,KAAKlG,MAAM4F,YAAYsW,YAQhB,yBAAK0D,UAAU,6CAErB1Z,KAAKpG,MAAMwgB,UAAmC,GAAvBpa,KAAKpG,MAAMwgB,UAAiB,kBAAC,GAAD,CACnD3J,aAAczQ,KAAKlG,MAAM2W,aACzBylE,QAASl2E,KAAKlG,MAAM8B,cAAc,gBAAgB,kBAAkB,wBAA3D,iBAA0GwB,OAAS,EAAI4C,KAAKlG,MAAM8B,cAAc,gBAAgB,kBAAkB,wBAA3D,iBAA0G,GAAK,KAC/Os+E,QAASl6E,KAAKlG,MAAM8B,cAAc,gBAAgB,kBAAkB,wBAAwB,oBAAoB,kBAAkBwB,OAAS,EAAI4C,KAAKlG,MAAM8B,cAAc,gBAAgB,kBAAkB,wBAAwB,oBAAoB,kBAAkB,GAAK,KAC7Qu+E,OAAQn6E,KAAKlG,MAAM8B,cAAc,gBAAgB,kBAAkB,gDAAgD,iBAAiB,gBAAgBwB,OAAS,EAAI4C,KAAKlG,MAAM8B,cAAc,gBAAgB,kBAAkB,gDAAgD,iBAAiB,gBAAgB,GAAK,OAGlToE,KAAKpG,MAAMwgB,UAAmC,GAAvBpa,KAAKpG,MAAMwgB,UAAiB,kBAAC,GAAD,CACnD3J,aAAczQ,KAAKlG,MAAM2W,aACzB2c,KAAMptB,KAAKlG,MAAM8B,cAAc,gBAAgB,kBAAkB,wBAA3D,WAGNoE,KAAKpG,MAAMwgB,UAAmC,GAAvBpa,KAAKpG,MAAMwgB,UAAiB,kBAAC,GAAD,CACnD3J,aAAczQ,KAAKlG,MAAM2W,aACzB2c,KAAMptB,KAAKlG,MAAM8B,cAAc,gBAAgB,kBAAkB,wBAAwB,sBAGzFoE,KAAKpG,MAAMwgB,UAAmC,GAAvBpa,KAAKpG,MAAMwgB,UAAgB,kBAAC,GAAD,CAClD3J,aAAczQ,KAAKlG,MAAM2W,aACzB2c,KAAMptB,KAAKlG,MAAM8B,cAAc,gBAAgB,kBAAkB,gDAAgD,oBA3BjH,kBAAC,GAAD,CACEuhC,aAAa,SACbljB,KAAMja,KAAKlG,MAAM2W,aAAapV,IAAkB2E,KAAKlG,MAAM2W,aAAanV,qBAAuB,gBAC/F8hC,KAAK,QA+Bb,8BACE,0BAAM1+B,GAAG,mBACX,yBAAKgb,UAAU,uBAEZ,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,aAAe0V,KAAM7lB,KAAKlG,MAAM4F,YAAa4mB,cAAc,IAE1F,yBAAK5M,UAAU,aACd,4BACE,wBAAIA,UAAU,UAAUqN,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,sBAC5D,wBAAI+nB,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,aACxC,wBAAI+nB,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,qBACxC,wBAAI+nB,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,wBACxC,wBAAI0a,UAAU,UAAS,4BAAQqN,QAAS,SAAC7sB,GAAK,EAAKygF,gBAAgBzgF,IAAKwf,UAAU,mBAA3D,6CAI1B,6BAASA,UAAU,kBAClB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,UACb,2DAOV,6BAASA,UAAU,uBACnB,yBAAKA,UAAU,aACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,8DACb,2BAAOA,UAAU,aACf,wBAAIhb,GAAG,OAAO+a,IAAKzZ,KAAK+rD,MACtB,wBAAIryC,UAAU,UAAUqN,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,sBAC5D,wBAAI+nB,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,aACxC,wBAAI+nB,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,qBACxC,wBAAI+nB,QAAS,SAAC7sB,GAAD,OAAK,EAAK8xD,UAAU9xD,EAAG,KAAI,uBAAG8E,KAAK,KAAR,wBACxC,4BAAI,4BAAQ+nB,QAAS,SAAC7sB,GAAK,EAAKygF,gBAAgBzgF,IAAK6rB,KAAK,SAASrM,UAAU,8BAAzE,wCAKT6uC,Q,sCAQKx1B,GACdA,EAAMpL,mB,4CAIctL,GACpB,IAAIuvC,EAAmBxxD,OAAOC,OAAO,GAAIgiB,GAUzC,OAPAuQ,GAAU+5B,qCAAqCiF,EAAkBvvC,EAASsB,IAAIG,GAAIzB,EAASsB,IAAIE,GAAIxB,EAASsB,IAAIC,IAIhHguC,EAAiBh1C,MAAQ5W,KAAKlG,MAAM4F,YAAYmW,SAChD+1C,EAAiBnsC,OAASpD,EAASoD,OAE5Bzf,KAAKlG,MAAMigC,QAAQoN,kBAAkBykB,K,0CAG1B74B,GAEhB,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KAEvB8C,EAAWrc,KAAKpG,MAAMyiB,SAC1BA,EAASohC,GAAS1qB,EAAMvN,OAAOpD,MAE/B,IAAIxF,EAAS5c,KAAKpG,MAAMgjB,OAGxB,OAFAA,EAAO6gC,GAAiB,OAARA,EAAgB,GAAK,GAE9Bz9C,KAAKi4B,SAAS,CAAE5b,SAAUA,EAAUO,OAAOA,M,wDAGpBmW,GAChC,IAAM0qB,EAAQ1qB,EAAMvN,OAAOjM,KAEvBqD,EAAS5c,KAAKpG,MAAMgjB,OAQxB,OANImW,EAAMvN,OAAO4Q,QAAUrD,EAAMvN,OAAO4Q,OAIxCxZ,EAAO6gC,GAASz9C,KAAKlG,MAAM2W,aAAX,wBAETzQ,KAAKi4B,SAAS,CAAErb,OAAOA,M,+BAGvBmW,GACPA,EAAMpL,iBACiBooC,eACRjE,a,GA7Ne1iC,IAAMC,WAkO1CmxD,GAAsBx7C,aAAe,CACnCC,OAAQC,IAAUC,QAmCLxE,oBAhCf,SAAyB/gC,EAAOghC,GAE9B,IAAIpqB,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAUnV,OAC5FmV,EAAYrX,EAAKmX,iBAAiBE,UAAUnV,MAIjD,IAAIyxC,EAAc,GAOnB,OANIlzC,EAAM6W,eACPq8B,EAAclzC,EAAM6W,cAKhB,CACLN,aAAcK,EACdC,aAAcq8B,EACdptC,YAAc9F,EAAM8F,YACpBiV,gBAAiB/a,EAAM8F,YAAYiV,gBACnC/Y,cAAehC,EAAMgC,kBAIzB,SAA4B02B,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,EAAemS,EAAalS,EAAc6/C,GAAwBtoD,MAItGqI,CAA6C6/C,IC7K/CK,GA5EM,kBACf,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAOC,KAAK,IAAItxD,UAAW0e,GAAU6yC,OAAK,IAC1C,kBAAC,IAAD,CAAOD,KAAK,QAAQtxD,UAAW0e,KAC/B,kBAAC,IAAD,CAAO4yC,KAAK,UAAUtxD,UAAWq+B,KACjC,kBAAC,IAAD,CAAOizB,KAAK,SAAStxD,UAAWsyB,KAChC,kBAAC,IAAD,CAAOg/B,KAAK,aAAatxD,UAAWg2B,KACpC,kBAAC,IAAD,CAAOs7B,KAAK,kBAAkBtxD,UAAWs8B,GAAkBi1B,OAAK,IAChE,kBAAC,IAAD,CAAOD,KAAK,yBAAyBtxD,UAAWo9B,KAChD,kBAAC,IAAD,CAAOk0B,KAAK,+BAA+BtxD,UAAW69B,KACtD,kBAAC,IAAD,CAAOyzB,KAAK,gCAAgCtxD,UAAWm+B,KACvD,kBAAC,IAAD,CAAOmzB,KAAK,4BAA4BtxD,UAAWm+B,KACnD,kBAAC,IAAD,CAAOmzB,KAAK,2BAA2BtxD,UAAWgkC,GAA2ButB,OAAK,IAClF,kBAAC,IAAD,CAAOD,KAAK,cAActxD,UAAWuhC,GAAegwB,OAAK,IAGzD,kBAAC,IAAD,CAAOD,KAAK,mBAAmBtxD,UAAWy+B,KAE1C,kBAAC,IAAD,CAAO6yB,KAAK,qBAAqBtxD,UAAW0/B,KAC5C,kBAAC,IAAD,CAAO4xB,KAAK,4BAA4BtxD,UAAWsgC,KACnD,kBAAC,IAAD,CAAOgxB,KAAK,mBAAmBtxD,UAAWghC,KAI1C,kBAAC,IAAD,CAAOswB,KAAK,oBAAoBtxD,UAAWs8B,GAAkBi1B,OAAK,IAElE,kBAAC,IAAD,CAAOD,KAAK,aAAatxD,UAAWmuB,KACpC,kBAAC,IAAD,CAAOmjC,KAAK,2BAA2BtxD,UAAWirB,KAClD,kBAAC,IAAD,CAAOqmC,KAAK,0BAA0BtxD,UAAWqvD,KACjD,kBAAC,IAAD,CAAOiC,KAAK,uBAAuBtxD,UAAWwxD,GAAuBD,OAAK,IAE1E,kBAAC,IAAD,CAAOD,KAAK,sBAAsBtxD,UAAW4mC,KAC7C,kBAAC,IAAD,CAAO0qB,KAAK,wBAAwBtxD,UAAWinC,KAC/C,kBAAC,IAAD,CAAOqqB,KAAK,mBAAmBtxD,UAAWonC,KAC1C,kBAAC,IAAD,CAAOkqB,KAAK,4BAA4BtxD,UAAW+nC,KACnD,kBAAC,IAAD,CAAOupB,KAAK,mBAAmBtxD,UAAWkoC,KAC1C,kBAAC,IAAD,CAAOopB,KAAK,oBAAoBtxD,UAAWwoC,KAC3C,kBAAC,IAAD,CAAO8oB,KAAK,6BAA6BtxD,UAAWg7C,KACpD,kBAAC,IAAD,CAAOsW,KAAK,iBAAiBtxD,UAAW4/C,KAExC,kBAAC,IAAD,CAAO0R,KAAK,kBAAkBtxD,UAAWu8C,KACzC,kBAAC,IAAD,CAAO+U,KAAK,YAAYtxD,UAAW69C,KAInC,kBAAC,IAAD,CAAOyT,KAAK,gBAAgBtxD,UAAW,SAAC1vB,GAAD,OAAW,kBAAC,GAAD,eAAkB0hC,cAAc,QAAW1hC,KAAWihF,OAAK,IAE7G,kBAAC,IAAD,CAAOD,KAAK,qBAAqBtxD,UAAWs8B,GAAkBi1B,OAAK,IAEnE,kBAAC,IAAD,CAAOD,KAAK,4BAA4BtxD,UAAWs8B,GAAkBi1B,OAAK,IAE1E,kBAAC,IAAD,CAAOD,KAAK,2BAA2BtxD,UAAWs8B,GAAkBi1B,OAAK,IAEzE,kBAAC,IAAD,CAAOD,KAAK,qBAAqBtxD,UAAWs8B,GAAkBi1B,OAAK,IACnE,kBAAC,IAAD,CAAOD,KAAK,yCAAyCtxD,UAAW,SAAC1vB,GAAD,OAAW,kBAAC,GAAD,eAAkB0hC,cAAc,aAAgB1hC,OAE3H,kBAAC,IAAD,CAAOghF,KAAK,oBAAoBtxD,UAAW,SAAC1vB,GAAD,OAAW,kBAAC,GAAD,eAAkB0hC,cAAc,SAAY1hC,OAElG,kBAAC,IAAD,CAAOghF,KAAK,cAActxD,UAAWu/C,KAIrC,kBAAC,IAAD,CAAO+R,KAAK,+BAA+BtxD,UAAWipD,KAEtD,kBAAC,IAAD,CAAOqI,KAAK,kBAAkBtxD,UAAW4qD,KACzC,kBAAC,IAAD,CAAO0G,KAAK,0BAA0BtxD,UAAW8qD,KAEjD,kBAAC,IAAD,CAAOwG,KAAK,sBAAsBtxD,UAAW+qD,KAC7C,kBAAC,IAAD,CAAOuG,KAAK,6BAA6BtxD,UAAWgrD,KAEpD,kBAAC,IAAD,CAAOsG,KAAK,gBAAgBtxD,UAAWirD,KACvC,kBAAC,IAAD,CAAOqG,KAAK,kBAAkBtxD,UAAWkrD,KACzC,kBAAC,IAAD,CAAOlrD,UAAW0qD,OChHX+G,GAAb,4LAGQj7E,KAAKlG,MAAMigC,QAAQ1C,eAAer3B,KAAKlG,MAAMohF,YAHrD,+BAOQ,OACE,kBAAC,IAAD,CAAUC,MAAOn7E,KAAKlG,MAAMqhF,OAC1B,yBAAKzhE,UAAU,6BACT,kBAAC,EAAD,CAAMvJ,aAAcnQ,KAAKlG,MAAMqW,aAAcgX,gBAAgB,UAV/E,GAA8BiC,IAAMC,WAiBpC4xD,GAAQj8C,aAAe,CACrBC,OAAQC,IAAUC,QA4BLxE,oBAxBf,SAAyB/gC,EAAOghC,GAE9B,IAAIsgD,EAAWtgD,EAASsgD,SAEpB1qE,EAAY,GAChB,GAAG5W,EAAMT,KAAK,CACZ,IAAIA,EAAOS,EAAMT,KACbA,EAAKmX,kBAAoBnX,EAAKmX,iBAAiBE,WAAarX,EAAKmX,iBAAiBE,UAAU0qE,KAC5F1qE,EAAYrX,EAAKmX,iBAAiBE,UAAU0qE,IAIlD,MAAO,CACL/qE,aAAcK,EACd0qE,SAAUA,MAId,SAA4B5oD,GAC1B,MAAO,CACLyH,QAASc,YAAoBzgC,OAAOC,OAAO,GAAIygC,GAAiBxI,MAIrDqI,CAA6CsgD,I,8BC7B7CG,G,YApBb,WAAYthF,EAAOsuB,GAAU,qEACrBtuB,EAAOsuB,I,kFCDc,WAE/B,IAEIoB,EAAYlF,SAAS+2D,iBAFE,iBAGvBC,EAAa,IAAIC,KAAYC,WAE7B/gE,OAAOghE,WAAW,sBAAsBC,SAC1CjhE,OAAOkhE,iBAAiB,QAAQ,WAC9B,IAAK,IAAIx+E,EAAI,EAAGA,EAAIqsB,EAAUpsB,OAAQD,IAEpC,IAAIo+E,KAAYK,MAAM,CACpBC,YAAa,EACbC,eAAgBtyD,EAAUrsB,GAAG4+E,cAC7BpuC,OAAQ,EACR/C,SAAUphB,EAAUrsB,GAAG4+E,cAAcC,aAAe,MAGnDC,OAAOzyD,EAAUrsB,IAEjB+wE,MAAMoN,MDfXY,K,+BAIA,OACE,yBAAKxiE,UAAU,sBACV1Z,KAAKlG,MAAMqiC,c,GAZJ/S,IAAMC,WEgBT8yD,GAfE,SAAC,GAAD,IAAGhB,EAAH,EAAGA,MAAOiB,EAAV,EAAUA,OAAV,OACf,kBAAC,IAAD,CAAUjB,MAAOA,GACf,kBAAC,IAAD,KACE,kBAAC,GAAD,CAAKA,MAAOA,GACTiB,MCUHjB,IADI1gE,OAAOuK,EACHq3D,IAAeC,MAM7BnB,GAAM7oD,SAASoT,GLoGU,KKnGzBy1C,GAAM7oD,SAAS2R,MACfk3C,GAAM7oD,SAAS+S,MAGX/gB,SAASC,eAAe,QACxBqC,IAASC,OAAO,kBAAC,GAAD,CAAUs0D,MAAOA,GAAOiB,OAAQ,kBAACvB,GAAD,QAAmBv2D,SAASC,eAAe,QAG/F,IAAIg4D,GAAmBj4D,SAASC,eAAe,YAC/C,GAAIg4D,GAAkB,CACpB,IAAIrB,GAAWqB,GAAiBC,aAAa,iBAC7C51D,IAASC,OAAO,kBAAC,GAAD,CAASs0D,MAAOA,GAAOh0D,gBAAgB,EAAM+zD,SAAUA,KAAc52D,SAASC,eAAe,a/L2FzG,kBAAmB00C,WACrBA,UAAUwjB,cAAcpsB,MAAMz0C,MAAK,SAAA8oB,GACjCA,EAAag4C,iB,kGgM9EJC,G,6GAlDM5jF,EAAKqpB,GAClB,IACIy7B,aAAaC,QAAQ/kD,EAAK0iB,KAAKC,UAAU0G,IAC5C,MAAMloB,GACHk5B,QAAQC,IAAIn5B,M,yCAIMnB,EAAKqpB,GAC3B,IACIw6D,eAAe9+B,QAAQ/kD,EAAK0iB,KAAKC,UAAU0G,IAC9C,MAAMloB,GACHk5B,QAAQC,IAAIn5B,M,8BAILnB,GACX,IACI,OAAO0iB,KAAKshC,MAAMc,aAAag/B,QAAQ9jF,IAAQ,MAClD,MAAMmB,GACHk5B,QAAQC,IAAIn5B,M,yCAIMnB,GACtB,IACI,OAAO0iB,KAAKshC,MAAM6/B,eAAeC,QAAQ9jF,IAAQ,MACpD,MAAMmB,GACHk5B,QAAQC,IAAIn5B,M,kCAIDnB,EAAKqpB,GACpB,IACIy7B,aAAaC,QAAQ/kD,EAAKqpB,GAC7B,MAAMloB,GACHk5B,QAAQC,IAAIn5B,M,gCAIHnB,GACb,IACI,OAAO8kD,aAAag/B,QAAQ9jF,IAAQ,GACvC,MAAMmB,GACHk5B,QAAQC,IAAIn5B,Q,MCzCxB,SAAS4iF,EAAkBC,EAAU54C,EAAa64C,GAEhDD,EAASpoE,iBAAkB,EAE3BooE,EAASloE,aAAesvB,EAAYtvB,aACpCkoE,EAAShoE,UAAYovB,EAAY84C,UACjCF,EAASnoE,WAAauvB,EAAYvvB,WAClCmoE,EAASngF,MAAQunC,EAAYvnC,MAE7B,IAAIsgF,EAAa/4C,EAAY+4C,WAEzBv7B,EAAO,IAAIrhC,KAKd,GAJDqhC,EAAKw7B,QAAQx7B,EAAKy7B,UAA0B,IAAbF,GAE/BH,EAASjoE,WAAa,IAAIwL,KAAKqhC,GAE3Bq7B,EAAkB,CACjB,IAAIlnE,EAAkB,CAACC,YAAW,QAELhZ,GAA1BonC,EAAYpuB,aACXouB,EAAYpuB,aACbD,EAAeC,YAAa,EAC5BD,EAAeD,SAAWsuB,EAAYtuB,UAGtCknE,EAASjnE,eAAiB1b,OAAOC,OAAO,GAAGyb,GAC3C6mE,EAAcU,UAAU,gBAAiBvnE,IAI/C,IAAIwnE,EAAUljF,OAAOC,OAAO,GAAI,CACC4iF,UAAWF,EAAShoE,UACpBnY,MAAOmgF,EAASngF,MAChBkY,WAAY6sC,EAAKy7B,UACjBzoE,iBAAiB,EACjBC,WAAYmoE,EAASnoE,aAGtD+nE,EAAcU,UAAU,WAAYC,G,YCLxC,SAASC,EAA0B3jF,GAEjCA,EAAM0Y,SAAU,EAChB1Y,EAAMiY,SAAU,EAGhBjY,EAAM2Y,WAAY,EAClB3Y,EAAM4Y,qBAAuB,ECzC/B,SAASgrE,EAA2B5jF,GAElCA,EAAM0Y,SAAU,EAChB1Y,EAAMiY,SAAU,EAChBjY,EAAM2Y,WAAY,EAClB3Y,EAAMoa,qBAAuB,EAC7Bpa,EAAMsZ,0BAA2B,ECKnC,IAgBeuqE,EAhBKC,YAAgB,CAClCvkF,KCda,WAAyD,IAApCS,EAAmC,uDAA3B0iF,IAAanjF,KAAM4F,EAAQ,uCACrE,OAAQA,EAAOgnB,MACb,KAAK2G,IAEH,IAAIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,GASjC,OAPAmjF,EAASzsE,iBAAmB,GAC5BysE,EAASzsE,iBAAiBC,uBAAyBnW,OAAOC,OAAO,GAAIT,EAAM2W,wBAC3EwsE,EAASzsE,iBAAiBC,uBAAuBxR,EAAO2qB,QAAU3qB,EAAO4V,gBAEzEooE,EAASzsE,iBAAiBE,UAAYpW,OAAOC,OAAO,GAAIT,EAAM0W,iBAAiBE,WAC/EusE,EAASzsE,iBAAiBE,UAAUzR,EAAO2qB,QAA3C,YAAyD3qB,EAAOq4B,aAEzD2lD,EAET,QACE,OAAOnjF,IDDX6W,aEfa,WAAwE,IAA5C7W,EAA2C,uDAAnC0iF,IAAa7rE,aAAc1R,EAAQ,uCACpF,OAAQA,EAAOgnB,MACb,KAAK2G,IAIH,OAFetyB,OAAOC,OAAO,GAAIT,EAAOmF,EAAO0R,cAIjD,QACE,OAAO7W,IFOXgC,cGhBa,WAA2E,IAA7ChC,EAA4C,uDAApC0iF,IAAa1gF,cAAemD,EAAQ,uCACvF,OAAQA,EAAOgnB,MACb,KAAK2G,IAIH,OAFetyB,OAAOC,OAAO,GAAIT,EAAOmF,EAAOnD,eAIjD,QACE,OAAOhC,IHQX8F,YH6Ba,WAAgE,IAA3C9F,EAA0C,uDAAlC0iF,IAAa58E,YAAaX,EAAQ,uCAC5E,OAAQA,EAAOgnB,MAEb,KAAK2G,IAQH,OAPKqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBib,aAAe,KACrB9V,EAAOolC,aAER24C,EAAkBC,EAAUh+E,EAAOolC,aAAa,GAG5C44C,EAET,KAAKrwD,IACD,IAAIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,GAGjC,IAFIgyC,EAAKxxC,OAAOC,OAAO,GAAIT,EAAMqc,YAAalX,EAAOkX,cACnDG,WAAa,GACZrX,EAAOkX,YAAYG,WAClB,IAAI,IAAI6R,EAAI,EAAGA,EAAIlpB,EAAOkX,YAAYG,WAAWhZ,OAAQ6qB,IAGvD,GAFA2jB,EAAEx1B,WAAW8G,KAAK9iB,OAAOC,OAAO,GAAI0E,EAAOkX,YAAYG,WAAW6R,KAE/DlpB,EAAOkX,YAAYG,WAAW6R,GAAG69C,UAAU,CAC5Cl6B,EAAEx1B,WAAW6R,GAAG69C,UAAY,GAC5B,IAAI,IAAI3oE,EAAI,EAAGA,EAAI4B,EAAOkX,YAAYG,WAAW6R,GAAG69C,UAAU1oE,OAAQD,IACpEyuC,EAAEx1B,WAAW6R,GAAG69C,UAAU5oD,KAAK9iB,OAAOC,OAAO,GAAI0E,EAAOkX,YAAYG,WAAW6R,GAAG69C,UAAU3oE,KAOxG,OADE4/E,EAAS9mE,YAAc21B,EAClBmxC,EAET,KAAKrwD,IACD,IAEIkf,EAFAmxC,EAAW3iF,OAAOC,OAAO,GAAIT,GAC7BmjF,EAAW3iF,OAAOC,OAAO,GAAIT,GAGjC,IAFIgyC,EAAKxxC,OAAOC,OAAO,GAAIT,EAAMqc,YAAalX,EAAOkX,cACnDG,WAAa,GACZrX,EAAOkX,YAAYG,WAClB,IAAQ6R,EAAI,EAAGA,EAAIlpB,EAAOkX,YAAYG,WAAWhZ,OAAQ6qB,IAGvD,GAFA2jB,EAAEx1B,WAAW8G,KAAK9iB,OAAOC,OAAO,GAAI0E,EAAOkX,YAAYG,WAAW6R,KAE/DlpB,EAAOkX,YAAYG,WAAW6R,GAAG69C,UAAU,CAC5Cl6B,EAAEx1B,WAAW6R,GAAG69C,UAAY,GAC5B,IAAQ3oE,EAAI,EAAGA,EAAI4B,EAAOkX,YAAYG,WAAW6R,GAAG69C,UAAU1oE,OAAQD,IACpEyuC,EAAEx1B,WAAW6R,GAAG69C,UAAU5oD,KAAK9iB,OAAOC,OAAO,GAAI0E,EAAOkX,YAAYG,WAAW6R,GAAG69C,UAAU3oE,KAOxG,OADE4/E,EAAS9mE,YAAc21B,EAClBmxC,EAET,KAAKrwD,IAIH,OAFQqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxB8a,UAAY3V,EAAO2V,UACzBqoE,EAET,KAAKrwD,IAKH,OAHMqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBoc,YAAc5b,OAAOC,OAAO,GAAI0E,EAAO2lC,aAAaF,eAAgB,CAAC5vB,WAAY7V,EAAO2lC,aAAaD,mBAAmB7vB,aACjImoE,EAASnoE,WAAa7V,EAAO2lC,aAAaD,mBAAmB7vB,WACxDmoE,EAEP,KAAKrwD,IAcH,OAZMqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBqb,IAAMlW,EAAOsmC,SAASpwB,IAC/B8nE,EAAS7nE,mBAAqBnW,EAAOsmC,SAASnwB,mBAC9C6nE,EAAS5nE,0BAA4BpW,EAAOsmC,SAASlwB,0BACrD4nE,EAAS1nE,mBAAqBtW,EAAOsmC,SAAShwB,mBAC9C0nE,EAAS3nE,0BAA2B,EACpC2nE,EAASl9E,OAASd,EAAOsmC,SAASxlC,OAElCk9E,EAASvnE,eAAgB,EACtBzW,EAAOuW,SACNynE,EAASznE,OAASvW,EAAOuW,QAExBynE,EAET,KAAKrwD,KAEC,OAAG3tB,EAAM,cACHg+E,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBua,YAAcpV,EAAM,YACtBg+E,GAEJnjF,EAEb,KAAK8yB,IAMH,OALQqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBsb,oBAAqB,EAC9B6nE,EAAS5nE,2BAA4B,EACrC4nE,EAAS1nE,mBAAqBtW,EAAOsmC,SAAShwB,mBAC9C0nE,EAAS3nE,0BAA2B,EACjC2nE,EAET,KAAKrwD,IAiBH,OAhBMqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IAEvB+a,iBAAkB,EAE3BooE,EAAShoE,UAAY,KACrBgoE,EAASjoE,WAAa,KACtBioE,EAASnoE,WAAa,KACtBmoE,EAAS/mE,YAAc,KACvB+mE,EAASngF,MAAQ,KACjBmgF,EAAS5nE,2BAA4B,EACrC4nE,EAAS3nE,0BAA2B,EACpC2nE,EAAS1nE,oBAAqB,EAC9B+d,QAAQC,IAAI,wBACZspD,EAAcU,UAAU,WAAY,IAGhCN,EAGP,KAAKrwD,IACGqwD,EAAW3iF,OAAOC,OAAO,GAAIT,GAAjC,IACIqrC,EAA0BlmC,EAAOkmC,wBAgBvC,OAfE83C,EAASpoE,gBAAkBswB,EAAwBtwB,gBACnDooE,EAASnoE,WAAaqwB,EAAwBrwB,WAC9CmoE,EAASngF,MAAQqoC,EAAwBroC,MAErCmgF,EAASpoE,kBAEXooE,EAAS/mE,YAAc,KACvB+mE,EAAShoE,UAAY,KACrBgoE,EAASjoE,WAAa,KACtBioE,EAASnoE,WAAa,KACtBmoE,EAASngF,MAAQ,KAEjB+/E,EAAcU,UAAU,WAAY,KAGjCN,EAGX,KAAKrwD,KAEKqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBic,SAAW9W,EAAOulC,cAAczuB,SAEzC,IAAIC,EAAiB,CACjBC,WAAYhX,EAAOulC,cAAcvuB,WACjCF,SAAU9W,EAAOulC,cAAczuB,UAKvC,OAFK8mE,EAAcU,UAAU,gBAAiBvnE,GAEvCinE,EAET,KAAKrwD,IAEC,IAAIixD,EAAsBhB,EAAciB,QAAQ,YAE5Cb,EAAW3iF,OAAOC,OAAO,GAAIT,GAC9B+jF,EAAoB5zD,eAAe,cAE/B4zD,EAAoB7oE,aACpBioE,EAASjoE,WAAa,IAAIwL,KAAKq9D,EAAoB7oE,YAChDwL,KAAKu9D,OAASF,EAAoB7oE,aACnCioE,EAASpoE,gBAAkBgpE,EAAoBhpE,gBAC/CooE,EAAShoE,UAAY4oE,EAAoBV,UACzCF,EAASnoE,WAAa+oE,EAAoB/oE,WAC1CmoE,EAASngF,MAAQ+gF,EAAoB/gF,QAM9C,IAAIkhF,EAAkBnB,EAAciB,QAAQ,iBAKhD,OAJOE,GAAmBA,EAAe,aACjCf,EAASjnE,eAAiB1b,OAAOC,OAAO,GAAIyjF,IAG7Cf,EAET,KAAKrwD,IAEKqwD,EAAW3iF,OAAOC,OAAO,GAAIT,GAOrC,OALOmF,EAAOolC,aAER24C,EAAkBC,EAAUh+E,EAAOolC,aAAa,GAG/C44C,EAEP,KAAKrwD,IACDqwD,EAAW3iF,OAAOC,OAAO,GAAIT,GAMjC,OAJKmF,EAAO6lC,aACRm4C,EAAS/nE,GAAKjW,EAAO6lC,WAAWlmC,IAG7Bq+E,EAEP,KAAKrwD,IAML,KAAKA,IAQH,OANOqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBoc,YAAc5b,OAAOC,OAAO,GAAI0E,EAAOiX,aAK5C+mE,EAGP,KAAKrwD,IAKL,OAHIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACtB+b,oBAAsB5W,EAAO8W,SACtCknE,EAASnnE,sBAAwB7W,EAAOgX,WACnCgnE,EAEb,KAAKrwD,IACCqwD,EAAW3iF,OAAOC,OAAO,GAAIT,GAOjC,OANImkF,EAAmB3jF,OAAOC,OAAO,GAAI0iF,EAASzmE,mBAClC,QAAa,EAC7BynE,EAAgB,UAAe,EAC/BA,EAAgB,OAAah/E,EAAOuX,iBACpCymE,EAASzmE,iBAAmBynE,EAErBhB,EAET,KAAKrwD,IACH,IACIqxD,EADAhB,EAAW3iF,OAAOC,OAAO,GAAIT,GAMjC,OALImkF,EAAmB3jF,OAAOC,OAAO,GAAI0iF,EAASzmE,mBAClC,QAAa,EAC7BynE,EAAgB,UAAe,EAC/BhB,EAASzmE,iBAAmBynE,EAErBhB,EAET,KAAKrwD,IACCqwD,EAAW3iF,OAAOC,OAAO,GAAIT,GASjC,OARIokF,EAAgB5jF,OAAOC,OAAO,GAAI0iF,EAASlmE,WAEjC/E,QAAS,EACvBksE,EAAcznE,UAAW,EACzBynE,EAAclnE,KAAO/X,EAAO+X,KAE5BimE,EAASlmE,SAAWmnE,EAEbjB,EAET,KAAKrwD,IACH,IACIsxD,EADAjB,EAAW3iF,OAAOC,OAAO,GAAIT,GAQjC,OAPIokF,EAAgB5jF,OAAOC,OAAO,GAAI0iF,EAASlmE,WAEjC/E,QAAS,EACvBksE,EAAcznE,UAAW,EAEzBwmE,EAASlmE,SAAWmnE,EAEbjB,EAET,QACE,OAAOnjF,IGxST+X,cIhBa,WAAqE,IAA7C/X,EAA4C,uDAApC0iF,IAAa3qE,cAAe5S,EAAQ,uCACjF,OAAQA,EAAOgnB,MAEb,KAAK2G,IAeJ,OAdOqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBiY,QAAU9S,EAAO8S,QACtB9S,EAAO8S,UACTkrE,EAASjrE,QAAU/S,EAAOiiC,WAGzBjiC,EAAOiiC,YACR+7C,EAAS19E,SAAW,GACpB09E,EAAShrE,eAAiB,GAC1BgrE,EAAS9qE,oBAAsB,GAC/B8qE,EAAS7qE,aAAe,GACxB6qE,EAAS5qE,eAAiB,IAGxB4qE,EAER,KAAKrwD,IAGH,OAFIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBkY,QAAS,EACXirE,EAET,KAAKrwD,IAWH,OAAO3tB,EAAO4S,cAEhB,KAAK+a,IACH,IAAIqwD,EAEN,OAFMA,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBoY,YAAcjT,EAAOgyB,QACzBgsD,EAEP,QACE,OAAOnjF,IJ3BX4X,gBKjBa,WAA+E,IAA/C5X,EAA8C,uDAAtC0iF,IAAa9qE,gBAAiBzS,EAAQ,uCAC3F,OAAQA,EAAOgnB,MAEb,KAAK2G,KACD,IAAIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,GAIpC,OAHGmjF,EAASrrE,OAAS3S,EAAO2S,OACzBqrE,EAAStrE,YAAc1S,EAAO0S,YAE1BsrE,EAGR,QACE,OAAOnjF,ILMX8W,SMpBa,WAAiE,IAAxC9W,EAAuC,uDAA/B0iF,IAAa5rE,SAAU3R,EAAQ,uCAC7E,OAAQA,EAAOgnB,MACb,KAAK2G,IAKH,OAHIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxB+W,eAAT,YAA8B5R,EAAOsjC,YAE9B06C,EAEP,KAAKrwD,IAKH,OAHIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBiX,aAAe,CAACmJ,MAAM,YAAKjb,EAAOsjC,WAAWroB,OAAQG,WAAYpb,EAAOsjC,WAAWloB,YAErF4iE,EAET,KAAKrwD,IAQH,OANIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBqX,gBAAkBlS,EAAOkS,gBAC9B8rE,EAAS9rE,kBACX8rE,EAAS7rE,gBAAiB,GAGrB6rE,EAET,KAAKrwD,IAOH,OALIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBoX,SAAT,YAAwBjS,EAAOiS,UAC/B+rE,EAAS7rE,gBAAiB,EAC1B6rE,EAAS9rE,iBAAkB,EAEpB8rE,EAET,KAAKrwD,IAED,IAAIqwD,EAGJ,OAHIA,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBmX,YAAT,YAA2BhS,EAAOgS,aAE3BgsE,EAGb,QACE,OAAOnjF,INvBXuX,cOrBa,WAA2E,IAA7CvX,EAA4C,uDAApC0iF,IAAanrE,cAAepS,EAAQ,uCACvF,OAAQA,EAAOgnB,MACb,KAAK2G,IAKH,OAHIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxB0X,cAAT,YAA6BvS,EAAOuS,eAE7ByrE,EAET,KAAKrwD,IAKD,OAHIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxByX,cAAT,YAA6BtS,EAAOsS,eAE7B0rE,EAEX,KAAKrwD,IAQH,OANIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBqX,gBAAkBlS,EAAOkS,gBAC9B8rE,EAAS9rE,kBACX8rE,EAAS7rE,gBAAiB,GAGrB6rE,EAET,KAAKrwD,IAOH,OALIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBoX,SAAT,YAAwBjS,EAAOiS,UAC/B+rE,EAAS7rE,gBAAiB,EAC1B6rE,EAAS9rE,iBAAkB,EAEpB8rE,EAET,KAAKrwD,IAED,IAAIqwD,EAGJ,OAHIA,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBwX,qBAAuBrS,EAAOqb,SAEhC2iE,EAGX,QACE,OAAOnjF,IPtBXG,aFwBa,WAAkE,IAA5CH,EAA2C,uDAAnC0iF,IAAaviF,aAAcgF,EAAQ,uCAC9E,OAAQA,EAAOgnB,MAEZ,KAAK2G,IAUF,OARKqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBiY,QAAU9S,EAAO8S,QAEvBkrE,EAASlrE,UACVkrE,EAASxqE,WAAY,EACrBwqE,EAASvqE,qBAAuBuqE,EAASvqE,qBAAuB,GAG5DuqE,EAEV,KAAKrwD,IAAiB,eAKnB,OAFC6wD,EADIR,EAAW3iF,OAAOC,OAAO,GAAIT,IAEjCmjF,EAASzqE,SAAU,EACbyqE,EAEV,KAAKrwD,IAQF,OANIqwD,EAAW3iF,OAAOC,OAAO,GAAIiiF,IAAaviF,eAEjCC,UAAYI,OAAOC,OAAO,GAAIiiF,IAAaviF,aAAaC,WAEjE+iF,EAASzpE,YAAclZ,OAAOC,OAAO,GAAI,CAAEkZ,KAAK,KAChDwpE,EAASvpE,aAAe,GACrBupE,EAGT,KAAKrwD,IAEH,IAAIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,GA6CjC,OA3CGmF,EAAOoc,SAAWpc,EAAOhF,eAG1BwjF,EAA0BR,GAC1BA,EAAS/iF,UAAYI,OAAOC,OAAO,GAAIiiF,IAAaviF,aAAaC,WACjE+iF,EAASzpE,YAAclZ,OAAOC,OAAO,GAAI,CAAEkZ,KAAK,KAChDwpE,EAASvpE,aAAe,GAErBzU,EAAOhF,aAAayY,qBAAuBzT,EAAOhF,aAAa0Y,mBAChEsqE,EAASxqE,WAAY,EACrBwqE,EAAS/iF,UAAU+Y,SAAU,EAC7BgqE,EAAS/iF,UAAUiZ,YAAa,IAI7BlU,EAAOhF,aAAP,cACDgjF,EAAS5oE,YAAcpV,EAAOhF,aAAP,aAGtBgF,EAAOoc,QAAQ8Q,eACf8wD,EAAS/iF,UAAYI,OAAOC,OAAO,GAAI0E,EAAOhF,aAAaC,WAnG1E,SAAoCA,GAElC,IAAIikF,EAAWxiF,IAA6B,QAExC61C,EAAet3C,EAAU4F,MAGjBq+E,GADJ3sC,EAAe,KAAOA,GAAgB,GAAqB,MAAhBA,EAC3B,YACXA,GAAgB,KAAOA,EAAe,IAC3B,cACXA,GAAgB,KAAOA,EAAe,IAC3B,cACXA,GAAgB,KAAOA,EAAe,IAC3B,cACXA,GAAgB,KAAOA,EAAe,IAC3B,cACXA,GAAgB,KAAOA,EAAe,IAC3B,cACXA,GAAgB,KAAOA,EAAe,IAC3B,cACXA,GAAgB,KAAOA,EAAe,IAC3B,cACXA,GAAgB,KAAOA,EAAe,IAC3B,cACXA,GAAgB,KAAOA,EAAe,KAC3B,eAEJ,iBAEhBt3C,EAAU4E,OAASq/E,EAuEVC,CAA2BnB,EAAS/iF,YAGpC+E,EAAOoc,QAAQ+Q,gBAAkBntB,EAAOhF,aAAauZ,cACtDypE,EAASzpE,YAAclZ,OAAOC,OAAO,GAAI0E,EAAOhF,aAAauZ,cAE5DvU,EAAOoc,QAAQgR,gBAAkBptB,EAAOhF,aAAayZ,eACtDupE,EAASvpE,aAAT,YAA4BzU,EAAOhF,aAAayZ,iBAe/CupE,EAEX,KAAKrwD,IACC9yB,EAAM6Z,aAAaK,SAAW/U,EAAO0U,aAAaK,SACpDy9B,cAAc33C,EAAM6Z,aAAaK,SAG/BipE,EAAW3iF,OAAOC,OAAO,GAAIT,GAAjC,IACIukF,EAAkB/jF,OAAOC,OAAO,GAAI0iF,EAAStpE,aAAc1U,EAAO0U,cAEtE,OADAspE,EAAStpE,aAAe0qE,EACjBpB,EAET,KAAKrwD,KACCqwD,EAAW3iF,OAAOC,OAAO,GAAIT,GAKjC,OAJIukF,EAAkB/jF,OAAOC,OAAO,GAAI0iF,EAAStpE,eACjCE,QAAU5U,EAAO4U,QACjCwqE,EAAgBrsE,OAAS/S,EAAO+S,OAChCirE,EAAStpE,aAAe0qE,EACjBpB,EAET,QACE,OAAOnjF,IE5HXma,cDZa,WAAoE,IAA7Cna,EAA4C,uDAApC0iF,IAAavoE,cAAehV,EAAQ,uCAChF,OAAQA,EAAOgnB,MAEZ,KAAK2G,IAUF,OARKqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBiY,QAAU9S,EAAO8S,QAEvBkrE,EAASlrE,UACVkrE,EAASxqE,WAAY,EACrBwqE,EAAS/oE,qBAAuB+oE,EAAS/oE,qBAAuB,GAG5D+oE,EAEV,KAAKrwD,IAAiB,gBAKnB,OAFC8wD,EADIT,EAAW3iF,OAAOC,OAAO,GAAIT,IAEjCmjF,EAASzqE,SAAU,EACbyqE,EAEV,KAAKrwD,IAAiB,SAInB,OAFA8wD,EADIT,EAAW3iF,OAAOC,OAAO,GAAIT,IAEjCmjF,EAAS7pE,0BAA2B,EAC7B6pE,EAEV,KAAKrwD,IAMF,OAJIqwD,EAAW3iF,OAAOC,OAAO,GAAIiiF,IAAavoE,gBAEjCG,WAAa9Z,OAAOC,OAAO,GAAIiiF,IAAavoE,cAAcG,YACnE6oE,EAAS7oE,WAAWpC,QAAS,EAC1BirE,EAGT,KAAKrwD,IAEH,IAAIqwD,EAAW3iF,OAAOC,OAAO,GAAIT,GAiBjC,OAfGmF,EAAOmV,aAGRspE,EAA2BT,GAC3BA,EAAS7oE,WAAa9Z,OAAOC,OAAO,GAAIiiF,IAAavoE,cAAcG,YACnE6oE,EAAS7oE,WAAanV,EAAOmV,WAC7B6oE,EAAS7oE,WAAWpC,QAAS,EAE1BirE,EAAS/oE,qBAAuB+oE,EAAS9oE,qBAC1C8oE,EAASxqE,WAAY,EACrBwqE,EAAS7oE,WAAWI,MAAMglE,UAAW,EACrCyD,EAAS7oE,WAAWI,MAAMrB,YAAa,IAIpC8pE,EAEX,QACE,OAAOnjF,IC9CXwY,kBQtBa,WAA4E,IAAjDxY,EAAgD,uDAAxC0iF,IAAalqE,kBAAmBrT,EAAQ,uCAExF,OAAQA,EAAOgnB,MAEb,KAAK2G,IAQJ,OAPKqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBiY,QAAU9S,EAAO8S,QAEtB9S,EAAO8S,UACTkrE,EAASjrE,QAAU/S,EAAOiiC,WAGtB+7C,EAEP,KAAKrwD,IAGL,OAFMqwD,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBkY,QAAS,EACbirE,EAER,KAAKrwD,IACF,IAAIqwD,EAEJ,OAFIA,EAAW3iF,OAAOC,OAAO,GAAIT,IACxBwY,kBAAoBhY,OAAOC,OAAO,GAAK0E,EAAOqT,mBAChD2qE,EAUT,QACE,OAAOnjF,IRVZmd,oBSrBa,WAA8E,IAJ5DgP,EAISnsB,EAAkD,uDAA1C0iF,IAAavlE,oBAAqBhY,EAAQ,uCAC1F,OAAIA,EAAOgnB,MAAQ2G,IACV9yB,EAAQ,EACNmF,EAAOgnB,MAAQ2G,KANgB,aADX3G,EAQLhnB,EAAOgnB,MAPrB2pB,UAAU3pB,EAAK3oB,OAAS,GAQ3BxD,EAAQ,EAIVA,K,SCZM,SAASyiF,EAAeC,GACrC,OAAO8B,YACLX,EACAnB,EACA+B,YAAgBC,MARpB,yC,gCCGA,4MAAO,IAAMC,EAAgC,gCAChCC,EAAiC,iCACjCC,EAA2B,2BAC3BC,EAAoC,oCACpCC,EAAoC,oCACpCC,EAAgC,iC,gCCP7C,6CAEavsE,EAAc,CACjB,CACI3T,GAAK,EACLC,MAAQ,oBACRC,OAASC,0BACTG,KAAM,2DACNG,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,2CAA4CyjB,MAAO,oBACtE,CAAErpB,IAAI,IAAK4F,MAAQ,gBAAiByjB,MAAO,UAC3C,CAAErpB,IAAI,IAAK4F,MAAQ,mCAAmCyjB,MAAO,+EAEjE6uC,WAAY,SACZr/C,UAAW,EACXkd,cAAe,EAClBM,UAAW,GAGZ,CACI1wB,GAAK,EACLC,MAAQ,uBACRC,OAASC,4BACTG,KAAM,0EACNG,SAAU,CACN,CAAEpG,IAAI,IAAK4F,MAAQ,2CAA4CyjB,MAAO,oBACtE,CAAErpB,IAAI,IAAK4F,MAAQ,gBAAiByjB,MAAO,UAC3C,CAAErpB,IAAI,IAAK4F,MAAQ,mCAAmCyjB,MAAO,iGAEjE6uC,WAAY,SACZr/C,UAAY,EACZkd,cAAe,EAClBM,UAAW,IAGZ,CACI1wB,GAAK,EACLC,MAAQ,sBACRC,OAASC,6BACPG,KAAM,0DACNG,SAAU,CACP,CAAEpG,IAAI,IAAK4F,MAAQ,2CAA4CyjB,MAAO,oBACtE,CAAErpB,IAAI,IAAK4F,MAAQ,gBAAiByjB,MAAO,UAC3C,CAAErpB,IAAI,IAAK4F,MAAQ,mCAAmCyjB,MAAO,+GAElE6uC,WAAY,SACZr/C,UAAW,EACXkd,cAAe,EAClBM,UAAW,M","file":"static/js/main.7c9d7bd8.chunk.js","sourcesContent":["\r\nexport const HOME = 'HOME';\r\nexport const HOMESHOW = 'HOMESHOW';\r\nexport const FREECREDITSCORE = 'FREECREDITSCORE';\r\nexport const FORGOTPASSWORD = 'FORGOTPASSWORD';\r\nexport const DASHBOARD = 'DASHBOARD';\r\nexport const DASHBOARDHISTORY = 'DASHBOARDHISTORY';\r\nexport const HELPCENTRE = 'HELPCENTRE';\r\nexport const LOGIN = 'LOGIN';\r\nexport const CREATEACCOUNT = 'CREATEACCOUNT';\r\nexport const REGISTER = 'REGISTER';\r\n//export const PREFERENCES = 'PREFERENCES';\r\nexport const ARTICLES = 'ARTICLES';\r\nexport const ARTICLE = 'ARTICLE';\r\nexport const FAQS = 'FAQS';\r\nexport const CONTACTUS = 'CONTACTUS';\r\nexport const CREDITCARDLANDING = 'CREDITCARDLANDING';\r\nexport const PRODUCT = 'PRODUCT';\r\nexport const CHANGEPASSWORD = 'CHANGEPASSWORD';\r\nexport const VALIDATEEMAIL = 'VALIDATEEMAIL';\r\nexport const MYDETAILS = 'MYDETAILS';\r\nexport const MYDETAILSVERIFICATION = 'MYDETAILSVERIFICATION';\r\nexport const CREDITREPORTSUMMARY = 'CREDITREPORTSUMMARY';\r\nexport const CREDITCARDS = 'CREDITCARDS';\r\nexport const PERSONALLOANS = 'PERSONALLOANS';\r\nexport const DEALS_CARLOANS = 'DEALS_CARLOANS';\r\nexport const DEALS_INSURANCE = 'DEALS_INSURANCE';\r\nexport const DEALS_HOMELOANS = 'DEALS_HOMELOANS';\r\nexport const ACTIVATEACCOUNT = 'ACTIVATEACCOUNT';\r\nexport const PAGENOTFOUND = 'PAGENOTFOUND';\r\nexport const CREDITCARDSOFFERS = 'CREDITCARDSOFFERS';\r\nexport const EMAILSENTBLUE = 'EMAILSENTBLUE';\r\nexport const VALIDATEEMAILBLUE = 'VALIDATEEMAILBLUE';\r\nexport const HOMELOANCUSTOMERJOURNEY = 'HOMELOANCUSTOMERJOURNEY';\r\nexport const MYPREFERENCES = 'MYPREFERENCES';\r\nexport const ABOUTME = 'ABOUTME';\r\nexport const HOMEOHNO = 'HOMEOHNO';\r\nexport const PARTNERCONSENT = 'PARTNERCONSENT';\r\nexport const SCOREMAPSECTION = 'SCOREMAPSECTION';\r\nexport const SCOREMAP = 'SCOREMAP';\r\nexport const COUNTER = 'COUNTER';\r\nexport const TRUSTPILOTSECTION = 'TRUSTPILOTSECTION';\r\nexport const NEWMEMBERSMS = 'NEWMEMBERSMS';\r\n\r\n\r\nexport const COMMON_SECTION_PADDING = 'xl-pt-40 xl-pb-40 lg-pt-40 lg-pb-40 md-pt-30 md-pb-30 xs-pt-20 xs-pb-20';\r\n","\r\nexport const API_BASE_URL = process.env.REACT_APP_API_BASE_URL;\r\nexport const WEB_SPA_URL = process.env.REACT_APP_WEB_SPA_URL;\r\nexport const WEB_BASE_URL = process.env.REACT_APP_WEB_BASE_URL;\r\nexport const CDN_URL = process.env.REACT_APP_CDN_URL;\r\nexport const MAILCHIMP_RESUBSCRIBELINK = process.env.REACT_APP_MAILCHIMP_RESUBSCRIBELINK;\r\nexport const RECAPTCHA_SITE_KEY = process.env.REACT_APP_RECAPTCHA_SITE_KEY;\r\n\r\nexport const IMAGES_URL = CDN_URL + 'images/';\r\nexport const SCRIPTS_BASE_URL = CDN_URL + 'scripts/';\r\n\r\n\r\nexport const CONTACTUS_BASE_URL ='https://webto.salesforce.com/servlet/servlet.WebToCase?encoding=UTF-8';\r\nexport const CONTACTUS_ORGID = '00D28000001zntC';\r\nexport const CONTACTUS_RECORDTYPE = '012900000016Bb2';\r\nexport const ADDRESS_SERVICE_URL = API_BASE_URL + '/autocomplete/address?address=';\r\nexport const SCORE_INCREMENT_STEP = 20;\r\nexport const SCORE_RETRY_TIMEOUT = parseInt('' + process.env.REACT_APP_SCORE_RETRY_TIMEOUT, 10) || 1000; //5000;\r\nexport const REPORT_RETRY_MAX = parseInt('' + process.env.REACT_APP_REPORT_RETRY_MAX, 10) || 8; // 8\r\nexport const SCORE_RETRY_MAX = parseInt('' + process.env.REACT_APP_SCORE_RETRY_MAX, 10) || 5; // 3\r\nexport const CREDITCARDS_URL = 'https://www.ratecity.com.au/whitelabels/getcreditscore/credit-cards';\r\nexport const PERSOANLLOANS_URL = 'https://www.ratecity.com.au/whitelabels/getcreditscore/personal-loans';\r\nexport const CARLOANS_URL = \"https://www.ratecity.com.au/whitelabels/getcreditscore/car-loans\";\r\n\r\n","export const BEGIN_AJAX_CALL = 'BEGIN_AJAX_CALL';\r\nexport const AJAX_CALL_ERROR = 'AJAX_CALL_ERROR';\r\n\r\nexport const AJAX_LOAD_SCORE = 'AJAX_LOAD_SCORE';\r\n\r\nexport const TRACK_PRODUCTS_SUCCESS = 'TRACK_PRODUCTS_SUCCESS';\r\nexport const LOAD_PRODUCTS_SUCCESS = 'LOAD_PRODUCTS_SUCCESS';\r\nexport const LOADING_PRODUCTS = 'LOADING_PRODUCTS';\r\nexport const FORCE_LOADING_PRODUCTS = 'FORCE_LOADING_PRODUCTS';\r\nexport const SET_LASTCLICKEDPRODUCT = 'SET_LASTCLICKEDPRODUCT';\r\n\r\nexport const LOADING_CREDITCARDS = 'LOADING_CREDITCARDS';\r\nexport const LOAD_CREDITCARDS_SUCCESS = 'LOAD_CREDITCARDS_SUCCESS';\r\nexport const FORCE_LOADING_CREDITCARDS = 'FORCE_LOADING_CREDITCARDS';\r\nexport const TRACK_CREDITCARDS_SUCCESS = 'TRACK_CREDITCARDS_SUCCESS';\r\n\r\nexport const UPDATE_PRODUCT_METADATA = 'UPDATE_PRODUCT_METADATA';\r\n\r\nexport const LOAD_MENU_SUCCESS = 'LOAD_MENU_SUCCESS';\r\n\r\nexport const LOAD_KEYFEATURES_SUCCESS = 'LOAD_KEYFEATURES_SUCCESS';\r\nexport const LOAD_PROCESSSTEPS_SUCCESS = 'LOAD_PROCESSSTEPS_SUCCESS';\r\nexport const LOADING_HOMEPAGE_ARTICLES_SUCCESS = 'LOADING_HOMEPAGE_ARTICLES_SUCCESS';\r\nexport const LOAD_HOMEPAGE_ARTICLES_SUCCESS = 'LOAD_HOMEPAGE_ARTICLES_SUCCESS';\r\n\r\nexport const PROMOTION_PARTICIPATED = 'PROMOTION_PARTICIPATED';\r\n\r\nexport const API_FAIL = 'API_FAIL_';\r\n\r\nexport const REGISTERING_USERNAME = 'REGISTERING_USERNAME';\r\n\r\nexport const USER_PROFILE_DISPLAYNAME = 'USER_PROFILE_DISPLAYNAME';\r\n\r\nexport const IS_AUTHENTICATED_SUCCESS = 'IS_AUTHENTICATED_SUCCESS';\r\n\r\nexport const LOAD_DASHBOARD_TABS_SUCCESS = 'LOAD_DASHBOARD_TABS_SUCCESS';\r\nexport const LOAD_SCORE_CALLTOACTION_SUCCESS = 'LOAD_SCORE_CALLTOACTION_SUCCESS';\r\nexport const LOADING_DASHBOARD_ARTICLES_SUCCESS = 'LOADING_DASHBOARD_ARTICLES_SUCCESS';\r\nexport const LOAD_DASHBOARD_ARTICLES_SUCCESS = 'LOAD_DASHBOARD_ARTICLES_SUCCESS';\r\nexport const UPDATE_DASHBOARD_TABINDEX_SUCCESS = 'UPDATE_DASHBOARD_TABINDEX_SUCCESS';\r\nexport const LOAD_HOMEFAQS_SUCCESS = 'LOAD_HOMEFAQS_SUCCESS';\r\n\r\nexport const RESET_SCORE_PROFILE = 'RESET_SCORE_PROFILE';\r\nexport const LOAD_SCORE_PROFILE_SUCCESS = 'LOAD_SCORE_PROFILE_SUCCESS';\r\n\r\nexport const RESET_REPORT_PROFILE = 'RESET_REPORT_PROFILE'\r\nexport const AJAX_LOAD_REPORT = 'AJAX_LOAD_REPORT'\r\nexport const LOAD_REPORT_PROFILE_SUCCESS = 'LOAD_REPORT_PROFILE_SUCCESS'\r\n\r\nexport const LOAD_TEXT_VARIANTS_SUCCESS = 'LOAD_TEXT_VARIANTS_SUCCESS';\r\n\r\nexport const LOGIN_SUCCESS = 'LOGIN_SUCCESS';\r\nexport const LOGIN_INITIALIZE_STORE = 'LOGIN_INITIALIZE_STORE';\r\nexport const LOGIN_TM_SUCCESS = 'LOGIN_TM_SUCCESS';\r\n\r\nexport const LOGOUT_SUCCESS = 'LOGOUT_SUCCESS';\r\n\r\nexport const CREATEACCOUNT_SUCCESS = 'CREATEACCOUNT_SUCCESS';\r\nexport const REGISTER_SUCCESS = 'REGISTER_SUCCESS';\r\nexport const INIT_USER_SUCCESS = 'INIT_USER_SUCCESS';\r\n\r\nexport const PASSWORDCHANGE_SUCCESS = 'PASSWORDCHANGE_SUCCESS';\r\nexport const LOADUSERDETAILS_SUCCESS = 'LOADUSERDETAILS_SUCCESS';\r\nexport const UPDATEUSERDETAILS_SUCCESS = 'UPDATEUSERDETAILS_SUCCESS';\r\n\r\nexport const GET_PREFERENCES_SUCCESS = 'GET_PREFERENCES_SUCCESS';\r\nexport const SET_PREFERENCES_SUCCESS = 'SET_PREFERENCES_SUCCESS';\r\n\r\nexport const GET_SCORE_COUNTER_SUCCESS = 'GET_SCORE_COUNTER_SUCCESS';\r\nexport const UPDATE_SCORE_COUNTER = 'UPDATE_SCORE_COUNTER';\r\nexport const UPDATE_SCORE_COUNTER_TIMER = 'UPDATE_SCORE_COUNTER_TIMER';\r\n\r\nexport const GET_EXISTING_CUSTOMER_SUCCESS = 'GET_EXISTING_CUSTOMER_SUCCESS';\r\nexport const GET_EXISTING_CUSTOMER_ERROR = 'GET_EXISTING_CUSTOMER_ERROR';\r\n\r\nexport const GET_CUSTOMER_HOMESHOW_CODE_SUCCESS = 'GET_CUSTOMER_HOMESHOW_CODE_SUCCESS';\r\nexport const GET_CUSTOMER_HOMESHOW_CODE_ERROR = 'GET_CUSTOMER_HOMESHOW_CODE_ERROR';\r\n\r\nexport const GET_CREDIT_SUMMARY_SUCCESS = 'GET_CREDIT_SUMMARY_SUCCESS';\r\n\r\nexport const INITAPP = \"INITAPP\";\r\n\r\n// export const LOAD_AUTHORS_SUCCESS = 'LOAD_AUTHORS_SUCCESS';\r\n// export const CREATE_COURSE_SUCCESS = 'CREATE_COURSE_SUCCESS';\r\n// export const UPDATE_COURSE_SUCCESS = 'UPDATE_COURSE_SUCCESS';\r\n","import * as constants from './constants';\r\n\r\n\r\nconst DashboardThemeSun = {\r\n key: 'DashboardThemeSun',\r\n tabControl: \" tab-control-bckgnd-sun \",\r\n tabContent: \" tab-control-score-content-bckgnd-transparent \",\r\n tabContentNoScore: \" tab-control-score-content-bckgnd-bluegradient \",\r\n menu: \" tab-control-menu-bckgnd-opacity \",\r\n showScoreMessagesOption: \"new\",\r\n showNextStepsSection: true,\r\n hasAnimations: true,\r\n productDisplayOption: constants.PRODUCT_DISPLAY_REAL_IMG,\r\n productTitleKey: \"product_title\",\r\n showCallToActions: function(that){\r\n try{\r\n return that.state.scoreShown || that.props.scoreProfile.scoreInfo.noscore;\r\n }\r\n catch(e){\r\n }\r\n\r\n return true;\r\n }\r\n};\r\n\r\n\r\nconst DashboardThemeSunFlip = Object.assign({}, DashboardThemeSun,\r\n {\r\n key: 'DashboardThemeSunFlip',\r\n productDisplayOption: constants.PRODUCT_DISPLAY_REAL_IMG_FLIPCARD,\r\n });\r\n\r\nconst DashboardThemeSunGrowAlt = Object.assign({}, DashboardThemeSun,\r\n {\r\n key: 'DashboardThemeSunGrowAlt',\r\n productDisplayOption: constants.PRODUCT_DISPLAY_REAL_IMG_GROW_ALT,\r\n });\r\n\r\nconst DashboardThemeSunTada = Object.assign({}, DashboardThemeSun,\r\n {\r\n key: 'DashboardThemeSunTada',\r\n productDisplayOption: constants.PRODUCT_DISPLAY_REAL_IMG_TADA,\r\n });\r\n\r\n\r\nconst DashboardThemeFollio = {\r\n key: 'DashboardThemeFollio',\r\n tabControl: \" \",\r\n tabContent: \" tab-control-score-content-bckgnd-bluegradient \",\r\n tabContentNoScore: \" tab-control-score-content-bckgnd-bluegradient \",\r\n menu: \" tab-control-menu-bckgnd-default \",\r\n showScoreMessagesOption: \"old\",\r\n showNextStepsSection: false,\r\n hasAnimations: false,\r\n productDisplayOption: constants.PRODUCT_DISPLAY_MOBILE_NORMAL,\r\n productTitleKey: \"product_title\",\r\n showCallToActions: function(that){\r\n return true;\r\n }\r\n};\r\n\r\nexport const GlobalThemes = {};\r\nGlobalThemes.dashboard_themeSun = DashboardThemeSun;\r\nGlobalThemes.dashboard_themeFollio = DashboardThemeFollio;\r\nGlobalThemes.dashboard_themeSunFlip = DashboardThemeSunFlip;\r\nGlobalThemes.dashboard_themeSunGrowAlt = DashboardThemeSunGrowAlt;\r\nGlobalThemes.dashboard_themeSunTada = DashboardThemeSunTada;\r\n","import * as pages from './pages';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\n\r\nexport const pagesVariants = {};\r\npagesVariants.textVariantSeparator = \"$$\";\r\n\r\nlet productDisclaimerText = \"By clicking \\\"Get Featured Deal\\\" or \\\"Get my deal\\\" or on the product icons above I consent to being contacted by GetCreditScore, their partners, Equifax and their related entities and for them to use and disclose my personal information for business and marketing purposes. I can opt-out of direct marketing by contacting GetCreditscore or any of the above entities directly. If you apply for a product from one of our partners as a result of a referral from GetCreditScore, we may receive a commission from that partner for the referral.\";\r\n\r\n// let loginTermsAndCs = \"

By clicking 'Login', I authorise GetCreditScore Pty Limited (GetCreditScore) to obtain my credit score from Equifax Australia Information\" +\r\n// \"Services and Solutions Pty Limited (Equifax). I acknowledge and accept GetCreditScore's Privacy Policy and Terms of Use.\" +\r\n// \"

\";\r\n\r\nlet loginTermsAndCs = \"

By clicking 'Login', I authorise GetCreditScore to obtain my credit score and, if I’ve elected, an overview of my personal credit file from Equifax Australia Information Services and Solutions Pty Limited

\";\r\n\r\nlet loginTermsAndCsLanding = \"

By clicking 'GET MY CREDITSCORE NOW', I authorise GetCreditScore to obtain my Equifax credit score. I accept GetCreditScore's Privacy Policy and Terms of Use \" +\r\n\"and agree that GetCreditScore and its partners may contact me for marketing purposes. I understand I can unsubscribe at any time by updating my preferences.

\";\r\n\r\nlet loginTermsAndCsMobileUpdate = \"

By clicking 'UPDATE', I authorise GetCreditScore to obtain my Equifax credit score. I accept GetCreditScore's Privacy Policy and Terms of Use \" +\r\n\"and agree that GetCreditScore and its partners may contact me for marketing purposes. I understand I can unsubscribe at any time by updating my preferences.

\";\r\n\r\n// let loginTermsAndCsLanding = \"

By clicking 'GET MY CREDITSCORE NOW', I authorise GetCreditScore Pty Limited (GetCreditScore) to obtain my credit score from Equifax Australia Information\\\r\n// Services and Solutions Pty Limited (Equifax). I acknowledge and accept GetCreditScore's Privacy Policy and Terms of Use.\\\r\n//

I consent to being contacted by GetCreditScore and their partners, Equifax and their related entities, and for them to use and disclose my personal information for business and marketing purposes.\\\r\n// I can opt out of direct marketing by any of the above entities by contacting the entities at any time.\\\r\n//

\";\r\n\r\nlet activateAccTermsAndCs = \"

By clicking 'Activate Account', I authorise GetCreditScore Pty Limited (GetCreditScore) to obtain my credit score from Equifax Australia Information\" +\r\n\"Services and Solutions Pty Limited (Equifax). I acknowledge and accept GetCreditScore's Privacy Policy and Terms of Use.\" +\r\n\"

I consent to being contacted by GetCreditScore and their partners, Equifax and their related entities, and for them to use and disclose my personal information for business and marketing purposes.\" +\r\n\"I can opt out of direct marketing by any of the above entities by contacting the entities at any time.\" +\r\n\"

\";\r\n\r\nlet homeLoanAssistantTermsAndCs = \"

By clicking 'Create My Account' or 'Login', I authorise GetCreditScore Pty Limited (GetCreditScore) to obtain my credit score from Equifax Australia Information\" +\r\n\"Services and Solutions Pty Limited (Equifax). I acknowledge and accept GetCreditScore's Privacy Policy and Terms of Use.\" +\r\n\"

\";\r\n\r\nlet partnerConsent_Toyota = \"

By clicking 'I consent', I authorise GetCreditScore Pty Limited (GetCreditScore) to obtain my credit score from Equifax Australia Information\" +\r\n\"Services and Solutions Pty Limited (Equifax). I acknowledge and accept GetCreditScore's Privacy Policy and Terms of Use.\" +\r\n\"

I consent to being contacted by GetCreditScore and their partners, Equifax and their related entities, and for them to use and disclose my personal information for business and marketing purposes.\" +\r\n\"I can opt out of direct marketing by any of the above entities by contacting the entities at any time.\" +\r\n\"

\";\r\n\r\nlet promoGiveAway2017TermsAndCs = \"

I confirm my details are correct. AU18+ only. Starts: 01/08/17 9am AEST. Ends: 31/08/17 11:59 pm AEST. Max 1 entry form submission/person. Terms & Conditions apply

\";\r\n\r\npagesVariants[\"Api_Generic\"] = \"An unexpected error occurred when trying to perform your request\";\r\npagesVariants[\"Api_Unknown\"] = \"An unexpected error occurred\";\r\npagesVariants[\"Btn_Ok\"] = \"OK\";\r\npagesVariants[\"Btn_Login\"] = \"LOGIN\";\r\npagesVariants[\"Btn_GetMyScoreNow\"] = \"GET MY CREDITSCORE NOW\";\r\npagesVariants[\"Btn_CreateAccount\"] = \"CREATE MY ACCOUNT\";\r\npagesVariants[\"Btn_Save\"] = \"SAVE\";\r\npagesVariants[\"Btn_Cancel\"] = \"CANCEL\";\r\npagesVariants[\"Btn_Send\"] = \"SEND\";\r\npagesVariants[\"Btn_Start\"] = \"START\";\r\npagesVariants[\"Btn_Quote\"] = \"QUOTE\";\r\npagesVariants[\"Btn_GetScoreHistory\"] = \"GET SCORE HISTORY\";\r\npagesVariants[\"Btn_LearnMore\"] = \"LEARN MORE\";\r\npagesVariants[\"Btn_GetScore\"] = \"GET SCORE\";\r\npagesVariants[\"Btn_GetMyScore\"] = \"GET MY SCORE\";\r\npagesVariants[\"Btn_GetMyScore\" + \"promo\"] = \"GET MY SCORE & WIN\";\r\npagesVariants[\"Btn_ViewMore\"] = \"VIEW MORE\";\r\npagesVariants[\"Btn_NextSteps\"] = \"NEXT STEPS\";\r\npagesVariants[\"Btn_IConsent\"] = \"I CONSENT\";\r\npagesVariants[\"Btn_IDontConsent\"] = \"I DO NOT CONSENT\";\r\npagesVariants[\"Btn_Reset\"] = \"RESET\";\r\npagesVariants[\"Btn_ChangePassword\"] = \"SAVE MY NEW PASSWORD\";\r\npagesVariants[\"Btn_ForgotPassword\"] = \"RESET MY PASSWORD\";\r\npagesVariants[\"Api_RetrievingProfile_Error\"] = \"Uh oh - we've encountered an issue in trying to retrieve your profile. We're trying to fix it right now, so please try again shortly or contact us if the issue remains.\";\r\npagesVariants[\"Back_to_previous_page\"] = \"Back to My Deals\";\r\npagesVariants[\"Error_cant_find_address\"] = \"We can't find your address\";\r\npagesVariants[\"Error_localStorage_Missing\"] = \"Sorry - we cannot validate your device whilst using Private Mode - Please try logging in with a normal browser window\";\r\n\r\npagesVariants[\"Gen_Save_Success\"] = \"Your information was saved\";\r\n\r\nlet Api_Equifax_OtherLinks = \"\";\r\n\r\npagesVariants[\"Api_Equifax_Apply_Down\"] = \"Our link to Equifax is currently under maintenance so we are unable to retrieve your credit information at the moment.\";\r\npagesVariants[\"Api_Equifax_Apply_TryLater\"] = \"Equifax is processing many requests now and it will take a bit more time than usual to retrieve your credit information. Please try again in a few minutes.\";\r\npagesVariants[\"Api_Equifax_Apply_NoFile\"] = \"We could not find your credit information with the details provided. Please verify your details or contact us\";\r\npagesVariants[\"Api_Equifax_Apply_BadRequest\"] = \"We could not find your credit information with the details provided. Please verify your details or contact us\";\r\n\r\n\r\npagesVariants[\"Api_Equifax_Down\"] = \"

Sorry!

Our link to Equifax is currently under maintenance so we are unable to retrieve your credit score at the moment.

\" +\r\n\"

What should I do?

\" +\r\n\"

It won't take long to resolve, but you'll need to log in at a later time to try again.

\" +\r\n\"

What can I do in the meantime?

\" +\r\n\"

Did you know we offer:

\" +\r\n Api_Equifax_OtherLinks;\r\n\r\npagesVariants[\"Api_Equifax_TryLater\"] = \"

Sorry!

Equifax is processing many requests now and it will take a bit more time than usual to retrieve your credit score.

\" +\r\n\"

What should I do?

\" +\r\n\"

Please try to refresh the page a bit later to see if your score could be retrieved.

\" +\r\n\"

What can I do in the meantime?

\" +\r\n\"

Did you know we offer:

\" +\r\nApi_Equifax_OtherLinks;\r\n\r\npagesVariants[\"partner_title_Toyota\"] = \"Please provide consent to get your credit score\";\r\npagesVariants[\"partner_consent_Toyota\"] = partnerConsent_Toyota;\r\n\r\n\r\npagesVariants[\"score_disclaimer\"] = \"The credit score is based on the Equifax credit score model\";\r\n\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"top_title\"] = \"Get unlimited access to your credit score, dashboard, tools, insights and personalised offers.\";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"login\"] = \"Login\";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"createAccount\"] = \"Create Account\";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"rememberMe\"] = \" Remember me\";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"forgotPassword\"] = \"Forgotten password\";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"loginTandCs\"] = loginTermsAndCs;\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"loginTandCs\" + \"promo\"] = loginTermsAndCs + promoGiveAway2017TermsAndCs;\r\n\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"incorrectUserOrPass\"] = \"Uh oh! Incorrect username or password. Please check your details and try again, or click Forgotten password below to reset your password.\";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"createAccountErrorUserAlreadyExists\"] = \"There is already a user with your email. \";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"createAccountErrorUserAlreadyExistsLinkText\"] = \"Click here to login instead.\";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"createAccountConfirmationTitle\"] = \"Confirmation\";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"createAccountConfirmationText\"] = \"

Your request for an account is being processed.

You should receive an email in the provided email address with instructions on how to proceed

\";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"createAccountErrorBadRequest\"] = \"The data you have provided is incorrect or incomplete. Please try again.\";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"createAccountErrorRegistrationInProcess\"] = \"We detected an application in progress. We have sent you the validation email again\";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"user_details_not_present\"] = \"Please click on Create Account to finish your registration process\";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"threatMetrix_breach\"] = \"Your account has been locked. Please contact us to activate\";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"tmNotLoaded\"] = \"There seems to be a problem with your session. Please click here to refresh the page and try again.\";\r\n\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"noAccount\"] = \"No account yet? \";\r\npagesVariants[pages.LOGIN + pagesVariants.textVariantSeparator + \"signUpHere\"] = \"Sign up here\";\r\n\r\n\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"header\"] = 'Almost there!';\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"tcsAndCs\"] = loginTermsAndCsLanding;\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"tcsAndCs\" + \"promo\"] = loginTermsAndCsLanding + promoGiveAway2017TermsAndCs;\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"header_create_free_account\"] = 'Create your FREE account';\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"header_create_free_account_1\"] = \" It’s simple and only takes a minute\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"header_create_free_account_2\"] = \" Unlimited access to your credit score\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"header_create_free_account_3\"] = \" Track & monitor your score each month\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"header_create_free_account_dontworry\"] = \"Don't worry, you only need to do this once!\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"header_create_free_account_already_member_part1\"] = \"Already a member?\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"header_create_free_account_already_member_part2\"] = \"Login here\";\r\n\r\n\r\n\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"description\"] = \"We only need a few more details, so we can accurately identify you. Once you complete this form & verify your email, you'll have access to your new member dashboard where you can monitor and track your credit score.\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"do_once\"] = \"Don't worry, you'll only need to do this once!\";\r\n\r\n\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"registrationCompleteMsgTitle\"] = \"Check your email!\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"registrationCompleteMsgText\"] = \"We've sent a message to the email you gave us. Open it up and click Activate Account. We'll take it from there.\";\r\n\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"409_startAgain\"] = \"Your previous registration has expired, can you please try again\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"300_userNotVerified\"] = \"There is already a user registered with your email. We will send you an email in case your account is not verified otherwise please try to login or reset your password\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"302_userExists\"] = \"Looks like there is already a member registered with your email. You can Login to your dashboard here.\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"400_badRequest\"] = \"Please check that the information provided is correct\";\r\n\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"first_name_label\"] = \"FIRST NAME*\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"middle_name_label\"] = \"MIDDLE NAME\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"last_name_label\"] = \"LAST NAME*\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"dob_label\"] = \"DATE OF BIRTH*\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"address_label\"] = \"YOUR ADDRESS*\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"use_prev_address_label\"] = \"I have lived here for less than 3 years\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"prev_address_label\"] = \"PREVIOUS ADDRESS\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"mobile_label\"] = \"MOBILE NUMBER*\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"license_label\"] = \"DRIVER'S LICENCE NUMBER*\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"gender_label\"] = \"GENDER*\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator +\"email_label\"] = \"EMAIL*\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator +\"password_label\"] = \"PASSWORD*\";\r\n\r\npagesVariants[\"enter_email\"] = \"Enter Email\";\r\npagesVariants[\"enter_password\"] = \"Enter Password\";\r\n\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"first_name_plh\"] = \"First name\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"middle_name_plh\"] = \"Middle name\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"last_name_plh\"] = \"Last name\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"address_plh\"] = \"Start typing and pick from the list\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"prev_address_plh\"] = \"Start typing and pick from the list\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"mobile_plh\"] = \"Mobile number\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"license_plh\"] = \"Driver's licence number\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator +\"password_plh\"] = \"Password\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator +\"email_plh\"] = \"Email\";\r\n\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator +\"email_tooltip\"] = {linkText: \" Why do I need to provide this?\", helpText: \"We’ll send you credit score alerts each month to help you track and improve your credit score\"};\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator +\"license_tooltip\"] = {linkText: \" Why do I need to provide this?\", helpText: \"We use this to verify your identity and ensure that only you can access your credit score\"};\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator +\"password_tooltip\"] = {linkText: \" Why do I need this?\", helpText: \"By creating an account you get unlimited access to your credit score\"};\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator +\"address_tooltip\"] = {linkText: \" No address found?\", helpText: \"Just enter your full address like '12 Smith Street, Richmond, VIC 3121'\"};\r\n\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"save_btn\"] = \"SAVE\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"cancel_btn\"] = \"CANCEL\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"saved_message\"] = \"Your information has been saved!\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator +\"validation_error\"] = \"Oops, looks like a field above has an issue.\";\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator +\"validation_error_instruction\"] = \"Please scroll up and check your info.\";\r\n\r\npagesVariants[pages.REGISTER + pagesVariants.textVariantSeparator + \"new_member_error\"] = \"User does not exist. Hmm.. Something went wrong in retrieving your details. Please complete the form below to see your credit score.\";\r\n\r\npagesVariants[pages.VALIDATEEMAIL + pagesVariants.textVariantSeparator + \"resultTitle\"] = \"INFORMATION\";\r\npagesVariants[pages.VALIDATEEMAIL + pagesVariants.textVariantSeparator + \"succeed\"] = \"Click below to login to your member dashboard.\";\r\npagesVariants[pages.VALIDATEEMAIL + pagesVariants.textVariantSeparator + \"fail\"] = \"We couldn't validate your email account. Please try to register again. Contact Us if you continue to experience issues.\";\r\npagesVariants[pages.VALIDATEEMAIL + pagesVariants.textVariantSeparator + \"user_not_present\"] = \"In order to validate your account, you need to complete your registration here\";\r\npagesVariants[pages.VALIDATEEMAIL + pagesVariants.textVariantSeparator + \"mailChimpLinkSuggestion\"] = \"We detected that you unsubscribed from us before, therefore you will need to give consent to our email server provider by cliking the START and complete their process\";\r\n\r\n\r\npagesVariants[pages.CHANGEPASSWORD + pagesVariants.textVariantSeparator + \"reset_password_title\"] = \"Set your new password\";\r\npagesVariants[pages.CHANGEPASSWORD + pagesVariants.textVariantSeparator + \"confirmationTitle\"] = \"Confirmation\";\r\npagesVariants[pages.CHANGEPASSWORD + pagesVariants.textVariantSeparator + \"confirmationText\"] = \"

Your password has been updated.

\";\r\npagesVariants[pages.CHANGEPASSWORD + pagesVariants.textVariantSeparator + \"error_401\"] = \"Your login has expired. You need to login again in order to set your new password\";\r\npagesVariants[pages.CHANGEPASSWORD + pagesVariants.textVariantSeparator + \"error_oldPasswordRequired\"] = \"Old password is required\";\r\npagesVariants[pages.CHANGEPASSWORD + pagesVariants.textVariantSeparator + \"error_passwordMismatch\"] = \"Your new passwords do not match\";\r\npagesVariants[pages.CHANGEPASSWORD + pagesVariants.textVariantSeparator + \"goBackToDashboard\"] = \"Go back to dashboard\";\r\n\r\n\r\n\r\npagesVariants[pages.FORGOTPASSWORD + pagesVariants.textVariantSeparator + \"top_title\"] = \"Forgot your password?\";\r\npagesVariants[pages.FORGOTPASSWORD + pagesVariants.textVariantSeparator + \"content\"] = \"

Don't stress. We'll email you a password reset link, just enter your email address below.

\";\r\npagesVariants[pages.FORGOTPASSWORD + pagesVariants.textVariantSeparator + \"confirmationTitle\"] = \"Send successful!\";\r\npagesVariants[pages.FORGOTPASSWORD + pagesVariants.textVariantSeparator + \"confirmationText\"] = \"

We've sent an email to your email address with a link for you to reset your password.

If the email doesn't show up soon, please check your spam/junk folder.

\";\r\npagesVariants[pages.FORGOTPASSWORD + pagesVariants.textVariantSeparator + \"error_400\"] = \"The email is empty or incorrect\";\r\npagesVariants[pages.FORGOTPASSWORD + pagesVariants.textVariantSeparator + \"goBackToLogin\"] = \"Go back to login\";\r\npagesVariants[pages.FORGOTPASSWORD + pagesVariants.textVariantSeparator + \"emailLabel\"] = \"EMAIL\";\r\npagesVariants[pages.FORGOTPASSWORD + pagesVariants.textVariantSeparator + \"emailPlaceholder\"] = \"Enter your email address\";\r\npagesVariants[pages.FORGOTPASSWORD + pagesVariants.textVariantSeparator + \"dobLabel\"] = \"DATE OF BIRTH\";\r\npagesVariants[pages.FORGOTPASSWORD + pagesVariants.textVariantSeparator + \"dobTooltip\"] = {linkText: \" Why do I need to provide this?\", helpText: \"We need extra verification before resetting your password. In some browser the format is yyyy-mm-dd.\"};\r\n\r\npagesVariants[\"product_disclaimer\"] = productDisclaimerText;\r\npagesVariants[\"product_header\"] = \"Check out the special offers from our partners\";//\"Get a better deal today with the below special offers\";\r\npagesVariants[\"product_title_sales\"] = \"See the deals you've unlocked with your score\";\r\npagesVariants[\"product_header_featured\"] = \"Featured Offers\";\r\n\r\n\r\npagesVariants[pages.PRODUCT + pagesVariants.textVariantSeparator + \"product_more_deals\"] = \"More deals\";\r\npagesVariants[pages.PRODUCT + pagesVariants.textVariantSeparator + \"last_product_description\"] = \"Keep an eye out for more GetCreditScore member benefits including more ways to save, coming soon!\";\r\npagesVariants[pages.PRODUCT + pagesVariants.textVariantSeparator + \"loading_text\"] = \"Your deals are loading...\";\r\n\r\npagesVariants[pages.ABOUTME + pagesVariants.textVariantSeparator + \"loading_text\"] = \"Your profile is loading...\";\r\npagesVariants[pages.DEALS_HOMELOANS + pagesVariants.textVariantSeparator + \"loading_text\"] = \"Your options are loading...\";\r\n\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"score_advice\"] = \"Score Advice\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"score_advice_update\"] = \"See what's helping & hurting your credit score from the below Key Contributing Factors.\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"score_advice_helpcenter\"] = \"HELP CENTRE\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"nextsteps_carousel\"] = \"NEXT STEPS\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"score_loading_text\"] = \"Your credit score info is loading...\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"actions_loading_text\"] = \"Your next steps are loading...\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"HistoryNote\"] = \"Your score is updated monthly, upon logging in to your dashboard\";\r\n\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"no_score_title\"] = \"It seems we are unable to retrieve your score from Equifax.\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"no_score_reason\"] = \"

To resolve, please take the following steps:

\";\r\n\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"no_score_title_inv\"] = \"It seems we are unable to retrieve your score from Equifax.\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"no_score_reason_inv\"] = \"
\"; //


Unfortunately we are unable to retrieve your score from Equifax without verifying your identity.

\";\r\n\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"belowAverageDescription\"] = \"If your credit score is between 0 to 459, your credit score range is Below Average. Your credit score would suggest it's MORE LIKELY that you will incur an adverse event such as a default, bankruptcy or court judgment in the next 12 months.\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"averageDescription\"] = \"If your credit score is between 460 to 660, your credit score range is Average. Your credit score would suggest it's LIKELY that you will incur an adverse event such as a default, bankruptcy or court judgment in the next 12 months.\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"goodDescription\"] = \"If your credit score is between 661 and 734, your credit score range is Good. Your credit score would suggest it's LESS LIKELY you will incur an adverse event that could harm your credit report in the next 12 months. Your odds of keeping a clean credit report over this period are better than Equifax's average credit-active population.\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"veryGoodDescription\"] = \"If your credit score is between 735 and 852, your credit score range is Very Good. Your credit score would suggest it's UNLIKELY that you will incur an adverse event in the next 12 months that could harm your credit report. Your odds of keeping a clean credit report are 2 times better than Equifax's average credit-active population.\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"excellentDescription\"] = \"If your credit score is between 853 and 1200, your credit score range is Excellent. Your credit score would suggest it’s HIGHLY UNLIKELY that an adverse event could harm your credit report in the next 12 months. Your odds of keeping a clean file are 5 times better than Equifax’s average population.\";\r\n\r\npagesVariants[\"score_result_sell\"] = \"Now check what your score can unlock for you!\";\r\npagesVariants[\"score_result_sell-853-1200\"] = \"Great work {displayName}! You've now unlocked our best deals!\";\r\npagesVariants[\"score_result_sell-735-852\"] = \"Keep it up {displayName}! See the deals you've unlocked\";\r\npagesVariants[\"score_result_sell-661-734\"] = \"Nice work {displayName}! Put your good score to work\";\r\npagesVariants[\"score_result_sell-460-660\"] = \"Not bad {displayName}. Can we be of any assistance?\";\r\npagesVariants[\"score_result_sell-0-459\"] = \"How can we help? Want to learn more about your credit score?\";\r\n\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"legend_score_month\"] = \"Your credit score as retrieved that month from Equifax.\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"legend_score_month_nologin\"] = \"With no login this month, this is an estimated score.\";\r\n\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"different_score\"] = \"Different score in the new web site? This may be why.\";\r\npagesVariants[pages.DASHBOARD + pagesVariants.textVariantSeparator + \"different_score_tooltip_message\"] = \"All credit scores from Equifax have been updated following a change of their scoring calculation, bringing it in line with the most current model used to calculate credit scores that are disclosed to credit providers. This new model incorporates “Comprehensive Credit Reporting” which may give you more control over improving your credit score. Read more here.\";\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"featured_on\"] = \"FEATURED ON\";\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"get_free_score_header\"] = \"Get Your Credit Score - It's FREE\";\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"get_free_score_header\" + \"promo\"] = \"Get Your Credit Score and Win - It's FREE\";\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"get_free_score_header\" + \"veda\"] = \"Get Your Veda Credit Score - It's FREE\";\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"get_free_score\"] = \"\";//\"Get a better deal today by finding out your credit score for free\";\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"get_free_score\" + \"full\"] = \"\"; //\"Get a better deal today by finding out your credit score for free\";\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"get_free_score\" + \"savvy\"] = \"Be savvy by finding out your credit score for free\";//\"Be savvy and get a better deal today by finding out your credit score for free\";\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"get_free_score\" + \"toyota\"] = \"Thanks to our friends at Toyota Finance.\";\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"get_free_score\" + \"clean\"] = \"\";//\"Get a better deal today by finding out your credit score for free\";\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"get_free_score\" + \"veda\"] = \"\";//\"Get a better deal today by checking your Equifax (formerly Veda) credit score now\";\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"get_free_score\" + \"smart\"] = \"Be credit smart about your finances and find out your credit score for free\";\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"get_free_score\" + \"promo\"] = \"\";//\"Get a better deal today by finding out your credit score for free
You’ll also have the chance to see if you’ve instantly won a prize!\";\r\n\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"get_started\"] = \"Get started - it's FREE!\";\r\npagesVariants[pages.HOME + pagesVariants.textVariantSeparator + \"get_started_text\"] = \"Receive & understand your credit score and access relevant financial information & offers.\";\r\n\r\npagesVariants[pages.HOMEOHNO + pagesVariants.textVariantSeparator + \"no_account_header_1\"] = \"Oh No!\";\r\npagesVariants[pages.HOMEOHNO + pagesVariants.textVariantSeparator + \"no_account_header_2\"] = \"It looks like you don't have an account\";\r\npagesVariants[pages.HOMEOHNO + pagesVariants.textVariantSeparator + \"no_account_header_3\"] = \"Complete the form below to get your credit score\";\r\n\r\npagesVariants[pages.HELPCENTRE + pagesVariants.textVariantSeparator + \"browse_topics_title\"] = \"BROWSE TOPICS\";\r\npagesVariants[pages.HELPCENTRE + pagesVariants.textVariantSeparator + \"search_results_faq\"] = \"FAQ's\";\r\npagesVariants[pages.HELPCENTRE + pagesVariants.textVariantSeparator + \"search_results_articles\"] = \"Articles\";\r\npagesVariants[pages.HELPCENTRE + pagesVariants.textVariantSeparator + \"title\"] = \"Help Centre\";\r\npagesVariants[pages.HELPCENTRE + pagesVariants.textVariantSeparator + \"title_faq\"] = \"Search or browse our frequently asked questions below\";\r\n\r\npagesVariants[pages.ARTICLES + pagesVariants.textVariantSeparator + \"sidebarscore_title\"] = \"Credit Score\";\r\npagesVariants[pages.ARTICLES + pagesVariants.textVariantSeparator + \"sidebarscore_text\"] = \"Get your credit score for free and enjoy the added benefits GetCreditScore can offer you. It's Free and won't hurt your credit score.\";\r\npagesVariants[pages.ARTICLES + pagesVariants.textVariantSeparator + \"sidebarscore_share\"] = \"SHARE\";\r\npagesVariants[pages.ARTICLES + pagesVariants.textVariantSeparator + \"article_resource\"] = \"RESOURCE\";\r\npagesVariants[pages.ARTICLES + pagesVariants.textVariantSeparator + \"article_next_article\"] = \"NEXT ARTICLE\";\r\npagesVariants[pages.ARTICLES + pagesVariants.textVariantSeparator + \"articles_title\"] = \"Articles\";\r\npagesVariants[pages.ARTICLES + pagesVariants.textVariantSeparator + \"articles_short_title\"] = \"This is your communication hub to get the best insights and expert tips to creating better wealth and lifestyle\";\r\npagesVariants[pages.ARTICLES + pagesVariants.textVariantSeparator + \"articles_back\"] = \"Back to Articles\";\r\npagesVariants[pages.ARTICLES + pagesVariants.textVariantSeparator + \"loading_text\"] = \"Articles are loading...\";\r\n\r\npagesVariants[pages.CONTACTUS + pagesVariants.textVariantSeparator + \"contactus_confirm_title\"] = \"Confirmation\";\r\npagesVariants[pages.CONTACTUS + pagesVariants.textVariantSeparator + \"contactus_confirm_message\"] = \"Your request has been submitted! Thank you!\";\r\npagesVariants[pages.CONTACTUS + pagesVariants.textVariantSeparator + \"contactus_return_home\"] = \"Return to Home page\";\r\n\r\n// pagesVariants[pages.MYDETAILSMOBILE + pagesVariants.textVariantSeparator + \"save_btn\"] = \"UPDATE\";\r\n// pagesVariants[pages.MYDETAILSMOBILE + pagesVariants.textVariantSeparator + \"cancel_btn\"] = \"SKIP\";\r\n// pagesVariants[pages.MYDETAILSMOBILE + pagesVariants.textVariantSeparator + \"header\"] = \"Security Requirement to Update Mobile Numbers\";\r\n// pagesVariants[pages.MYDETAILSMOBILE + pagesVariants.textVariantSeparator + \"description\"] = \"GetCreditScore regularly update the security features of our website in an effort to ensure your information remains secure and protected. To ensure we can validate your account, we are requesting our members review and update their contact mobile numbers. If we believe that your registered contact mobile number is false or a dummy number, your account may become disabled and you may no longer be able to use our services\";\r\n// pagesVariants[pages.MYDETAILSMOBILE + pagesVariants.textVariantSeparator + \"tcsAndCs\"] = loginTermsAndCsMobileUpdate;\r\n\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"save_btn\"] = \"VERIFY\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"cancel_btn\"] = \"SKIP\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"header\"] = \"Identity Verification\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"description\"] = \"Please enter your Driver's Licence details to verify your identity.\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"tcsAndCs\"] = \"By clicking verify we will do a DVS check\";\r\n\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"identity_verification_tooltip\"] = {linkText: \" Why do I need to provide this?\", helpText: \"We use this to verify your identity and ensure that only you can access your credit score\"};\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"400_errorOnUpdate\"] = \"The documentation number you have provided is either incorrect or invalid. Please check and try again.\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"417\"] = \"Unfortunately our server is currently busy. Please try again later. We apologise for any inconvenience caused.\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"error_deferred\"] = \"Unfortunately our server is currently busy. Please try again later. We apologise for any inconvenience caused.\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"error_disabled\"] = \"Unfortunately our server is currently busy. Please try again later. We apologise for any inconvenience caused.\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"identity_failed\"] = \"We could not verify your identity with your registration details plus this information. Please verify your details or contact us\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"identity_failed_generic\"] = \"Please try again.
Please review your details and update to match exactly with the document you are using.
In order to verify your identity, we use the above details. Please check the following:
\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"identity_failed_end\"] = 'Please update the above and click “Verify”';\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"identity_failed_medicare\"] = \"
  1. Your first name and last name are as per the document being verified
    E.g The use of Hyphens “-” Capitals, spaces, abbreviations, two word first/last names
  2. Check any numbers entered are in the correct order
  3. Medicare - ensure you have the correct reference number that is against your name and make sure there are no spaces in between the numbers

\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"identity_failed_passport\"] = \"
  1. Your first name and last name are as per the document being verified
    E.g The use of Hyphens “-” Capitals, spaces, abbreviations, two word first/last names
  2. Check any numbers entered are in the correct order
  3. Passport number - all numbers and letters have been correctly entered

\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"identity_failed_driverlicence\"] = \"
  1. Your first name and last name are as per the document being verified
    E.g The use of Hyphens “-” Capitals, spaces, abbreviations, two word first/last names
  2. Check any numbers entered are in the correct order
  3. Drivers Licence - ensure you are using your Licence number and not card number

\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"identity_worked\"] = \"We are refreshing your login. If this doesn't work please login again.\";\r\n\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"validation_error\"] = \"Oops, looks like a field above has an issue.\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"saved_message\"] = \"Your information has been saved!\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator + \"license_plh\"] = \"DRIVER'S LICENCE NUMBER\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator +\"validation_error_instruction\"] = \"Please scroll up and check your info.\";\r\npagesVariants[pages.MYDETAILSVERIFICATION + pagesVariants.textVariantSeparator +\"refresh_identity_fails\"] = \"We tried to refresh your session with no luck. Please login again to refresh your profile.\";\r\n\r\n\r\npagesVariants[pages.MYDETAILS + pagesVariants.textVariantSeparator + \"header\"] = \"Your details & identification\";\r\npagesVariants[pages.MYDETAILS + pagesVariants.textVariantSeparator + \"description\"] = \"Update your details here\";\r\npagesVariants[pages.MYDETAILS + pagesVariants.textVariantSeparator + \"update_btn\"] = \"Update\";\r\npagesVariants[pages.MYDETAILS + pagesVariants.textVariantSeparator + \"loading_text\"] = \"One moment please, we're just retrieving your details...\";\r\npagesVariants[pages.MYDETAILS + pagesVariants.textVariantSeparator + \"400_errorOnUpdate\"] = \"There was an error updating your information. Please refresh this page to try again.\";\r\npagesVariants[pages.MYDETAILS + pagesVariants.textVariantSeparator + \"404_userNotFound\"] = \"We couldn't find the user to be updated\";\r\n\r\npagesVariants[pages.CREDITCARDS + pagesVariants.textVariantSeparator + \"header\"] = 'Credit Card';\r\npagesVariants[pages.CREDITCARDS + pagesVariants.textVariantSeparator + \"Knowing_credit_score_text\"] = \"\";//'Knowing your credit score is important as most credit card approvals tend to be based on your credit score and other factors such as income and credit card debt.'\r\npagesVariants[pages.CREDITCARDS + pagesVariants.textVariantSeparator + \"latest_offers_text\"] = 'See the latest offers from a range of providers including balance transfer offers, low rate deals and reward point offerings, powered by RateCity. Click on the headings to sort your results';\r\npagesVariants[pages.CREDITCARDS + pagesVariants.textVariantSeparator + \"rateCity _text\"] = 'If you apply for a credit card via RateCity as a result of a referral from GetCreditScore, we may receive a commission from RateCity for the referral. For further details on this comparison table please contact RateCity at www.ratecity.com.au';\r\n\r\npagesVariants[pages.PERSONALLOANS + pagesVariants.textVariantSeparator + \"header\"] = 'Personal Loans';\r\npagesVariants[pages.PERSONALLOANS + pagesVariants.textVariantSeparator + \"Knowing_credit_score_text\"] = \"Knowing your credit score may help you negotiate a better rate with some lenders.\"; //'Knowing your credit score is important as most persoanl loan approvals tend to be based on your credit score and other factors such as income and debt.'\r\npagesVariants[pages.PERSONALLOANS + pagesVariants.textVariantSeparator + \"latest_offers_text\"] = 'See the latest offers from a range of providers, powered by RateCity. Click on the headings to sort your results';\r\npagesVariants[pages.PERSONALLOANS + pagesVariants.textVariantSeparator + \"rateCity _text\"] = 'If you apply for a personal loan via RateCity as a result of a referral from GetCreditScore, we may receive a commission from RateCity for the referral. For further details on this comparison table please contact RateCity at www.ratecity.com.au';\r\n\r\n\r\npagesVariants[pages.DEALS_CARLOANS + pagesVariants.textVariantSeparator + \"header\"] = 'Car Loans';\r\npagesVariants[pages.DEALS_CARLOANS + pagesVariants.textVariantSeparator + \"Knowing_credit_score_text\"] ='Easily compare Car Loan offers below to get yourself the lowest rate & best features possible!'\r\npagesVariants[pages.DEALS_CARLOANS + pagesVariants.textVariantSeparator + \"latest_offers_text\"] = 'See the latest offers from a range of providers, powered by RateCity. Click on the headings to sort your results';\r\npagesVariants[pages.DEALS_CARLOANS + pagesVariants.textVariantSeparator + \"rateCity _text\"] = 'If you apply for a car loan via RateCity as a result of a referral from GetCreditScore, we may receive a commission from RateCity for the referral. For further details on this comparison table please contact RateCity at www.ratecity.com.au';\r\n\r\n\r\npagesVariants[pages.DEALS_HOMELOANS + pagesVariants.textVariantSeparator + \"header\"] = 'Home Loans';\r\npagesVariants[pages.DEALS_HOMELOANS + pagesVariants.textVariantSeparator + \"Knowing_credit_score_text\"] = \"\";//'Knowing your credit score is important as most home loan approvals include your credit score along with other factors such as income and other debts.'\r\npagesVariants[pages.DEALS_HOMELOANS + pagesVariants.textVariantSeparator + \"latest_offers_text\"] = 'See the latest offers from a range of providers including low rate deals, no upfront fee offers and redraw facility offerings, powered by RateCity. Click on the headings to sort your results';\r\npagesVariants[pages.DEALS_HOMELOANS + pagesVariants.textVariantSeparator + \"rateCity _text\"] = 'If you apply for a home loan via RateCity as a result of a referral from GetCreditScore, we may receive a commission from RateCity for the referral. For further details on this comparison table please contact RateCity at www.ratecity.com.au';\r\n\r\npagesVariants[pages.DEALS_INSURANCE + pagesVariants.textVariantSeparator + \"product_header\"] = \"Insurance\";\r\npagesVariants[pages.DEALS_INSURANCE + pagesVariants.textVariantSeparator + \"product_header_d\"] = \"Insurance, powered by\";\r\npagesVariants[pages.DEALS_INSURANCE + pagesVariants.textVariantSeparator + \"product_header_m\"] = \"Insurance, by\";\r\npagesVariants[pages.DEALS_INSURANCE + pagesVariants.textVariantSeparator + \"product_disclaimer\"] = \"Because we don't know your financial needs, we can't advise if this insurance will suit you. You should consider your needs and read the PDS before making a decision to buy insurance. View or download a copy of the Product Disclosure Statement or Financial Services Guide from our partners website. Online Discount Terms & Conditions apply (see partner website). Car insurance not available in NT. \\ This advertisement is brought to you by Budget Direct Insurance.\\\r\nIf you apply for a product from one of our partners as a result of a referral from GetCreditScore, we may receive a commission from that partner for the referral.\";\r\n\r\n\r\npagesVariants[pages.ACTIVATEACCOUNT + pagesVariants.textVariantSeparator + \"header\"] = \"

Activate your account now!

To see your credit score.
It's fast, free and secure

\";\r\npagesVariants[pages.ACTIVATEACCOUNT + pagesVariants.textVariantSeparator + \"header\" + \"promo\"] = \"

See your credit score now!

It’s fast, free and secure.
PLUS you could win instantly!\";\r\npagesVariants[pages.ACTIVATEACCOUNT + pagesVariants.textVariantSeparator + \"button_text\"] = \"Activate account\";\r\npagesVariants[pages.ACTIVATEACCOUNT + pagesVariants.textVariantSeparator + \"tandcs\"] = activateAccTermsAndCs;\r\npagesVariants[pages.ACTIVATEACCOUNT + pagesVariants.textVariantSeparator + \"tandcs\" + \"promo\"] = activateAccTermsAndCs + promoGiveAway2017TermsAndCs;\r\npagesVariants[pages.ACTIVATEACCOUNT + pagesVariants.textVariantSeparator + \"point1\"] = \"Get your FREE Credit Score\";\r\npagesVariants[pages.ACTIVATEACCOUNT + pagesVariants.textVariantSeparator + \"point2\"] = \"Won't affect your credit score\";\r\npagesVariants[pages.ACTIVATEACCOUNT + pagesVariants.textVariantSeparator + \"point3\"] = \"Get a better deal\";\r\n\r\npagesVariants[pages.CONTACTUS + pagesVariants.textVariantSeparator + \"title\"] = \"WE'D LOVE TO HEAR FROM YOU!\";\r\npagesVariants[pages.CONTACTUS + pagesVariants.textVariantSeparator + \"subTitle\"] = \"If you have a question about our service or just want more information about credit scores in general, please send us an email. We'll do our best to respond as quickly as possible\";\r\n\r\npagesVariants[pages.PAGENOTFOUND + pagesVariants.textVariantSeparator + \"page_not_found\"] = \"Page not found!\";\r\npagesVariants[pages.PAGENOTFOUND + pagesVariants.textVariantSeparator + \"go_to_main_page\"] = \"Go back to the main page\";\r\n\r\npagesVariants[pages.CREDITCARDSOFFERS + pagesVariants.textVariantSeparator + \"header\"] = 'Get a better deal.';\r\npagesVariants[pages.CREDITCARDSOFFERS + pagesVariants.textVariantSeparator + \"cc_text\"] = 'GetCreditScore has done the work for you and found some of the best balance transfer credit cards on the market today.';\r\npagesVariants[pages.CREDITCARDSOFFERS + pagesVariants.textVariantSeparator + \"betterdeal_text\"] = \"Reward your credit score\";//'Reward your credit score and get a better deal today!';\r\npagesVariants[pages.CREDITCARDSOFFERS + pagesVariants.textVariantSeparator + \"disclaimer\"] = \"1 Handling fee may apply from credit card provider. Reverts back to cash rate after transfer period. See Details for each product for full terms & conditions.
2 Terms & Conditions apply. See Details for each product. As a result of applying for a credit card through our partners GetCreditScore may receive a commission.\";//'* Terms and Conditions apply. See details for each product.
** Handling fee may apply from credit card provider. See details for each product.';\r\npagesVariants[pages.CREDITCARDSOFFERS + pagesVariants.textVariantSeparator + \"loading_text\"] = \"Credit cards are loading...\";\r\npagesVariants[pages.CREDITCARDSOFFERS + pagesVariants.textVariantSeparator + \"btn_Details\"] = 'Details';\r\npagesVariants[pages.CREDITCARDSOFFERS + pagesVariants.textVariantSeparator + \"btn_Apply\"] = 'Apply';\r\npagesVariants[pages.CREDITCARDSOFFERS + pagesVariants.textVariantSeparator + \"cc_compare_text\"] = 'Want to compare more cards? See our full comparison ';\r\npagesVariants[pages.CREDITCARDSOFFERS + pagesVariants.textVariantSeparator + \"cc_btncompare_text\"] = 'Compare all Credit Cards';\r\npagesVariants[pages.CREDITCARDSOFFERS + pagesVariants.textVariantSeparator + \"cc_view_deals\"] = 'VIEW DEALS';\r\n\r\npagesVariants[pages.EMAILSENTBLUE + pagesVariants.textVariantSeparator + \"header\"] = 'Check your email!';\r\npagesVariants[pages.EMAILSENTBLUE + pagesVariants.textVariantSeparator + \"email_sent\"] = \"We've sent a verification email to the email address you provided.\";\r\npagesVariants[pages.EMAILSENTBLUE + pagesVariants.textVariantSeparator + \"activate_acc_message\"] = 'To instantly see your credit score, open the email we sent you
(be sure to check your junk mail as well) and click Activate Account.';\r\npagesVariants[pages.EMAILSENTBLUE + pagesVariants.textVariantSeparator + \"activate_acc_message\" + \"promo\"] = 'To instantly see your credit score and to see if you’ve won, open the email we sent you
(be sure to check your junk mail as well) and click Activate Account.';\r\n\r\n\r\n\r\npagesVariants[pages.VALIDATEEMAILBLUE + pagesVariants.textVariantSeparator + \"header\"] = \"

Welcome!

You're activated and ready to login and get your credit score!

\";\r\npagesVariants[pages.VALIDATEEMAILBLUE + pagesVariants.textVariantSeparator + \"header\" + \"promo\"] = \"

Welcome!

You're activated and ready to login and get your credit score and see if you’re an INSTANT winner!

\";\r\n\r\n\r\n\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"title\"] = \"Your Home Loan Assistant\";\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"short_description\"] = \"To get the right home loan in the easiest way possible, follow our Home Loan Assistant below, and you will be saving money in no time at all!\";\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"question_how_find_loan\"] = \"Q. How would you like to find your new home loan?\";\r\n\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"question_post_code\"] = \"Q2. So we can match you with your local broker, what is your post code?\";\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"question_loan_type\"] = \"Q3. And finally, what type of loan are you looking for\";\r\n\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"findloan_broker\"] = \"Connect me to my local broker\";\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"findloan_compare\"] = \"Let me compare from a list\";\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"findloan_broker_feature1\"] = \"- They take care of the paperwork\";\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"findloan_broker_feature2\"] = \"- Access deals the public can't get\";\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"findloan_broker_feature3\"] = \"- Can be 100% online if desired\";\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"findloan_compare_feature1\"] = \"- Search, choose & settle online\";\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"findloan_compare_feature2\"] = \"- Over 30 major Aussie lenders\";\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"findloan_compare_feature3\"] = \"- Comparing loans in 30 secs\";\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"btn_GO\"] = \"GO\";\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"btn_Next\"] = \"NEXT\";\r\npagesVariants[pages.HOMELOANCUSTOMERJOURNEY + pagesVariants.textVariantSeparator + \"disclaimer\"] = homeLoanAssistantTermsAndCs;\r\n\r\n\r\npagesVariants[pages.MYPREFERENCES + pagesVariants.textVariantSeparator + \"title\"] = \"My preferences\";\r\npagesVariants[pages.MYPREFERENCES + pagesVariants.textVariantSeparator + \"subtitle\"] = \"Please manage your preferences\";\r\npagesVariants[pages.MYPREFERENCES + pagesVariants.textVariantSeparator + \"categoryHeader\"] = \"Communication Preferences\";\r\npagesVariants[pages.MYPREFERENCES + pagesVariants.textVariantSeparator + \"opt-out-prefix\"] = \"Unsubscribe from \";\r\npagesVariants[pages.MYPREFERENCES + pagesVariants.textVariantSeparator + \"subscriptionHeader\"] = \"All type of emails\";\r\npagesVariants[pages.MYPREFERENCES + pagesVariants.textVariantSeparator + \"subscriptionItem\"] = \"Unsubscribe me from all communications other than as required by law\";\r\npagesVariants[pages.MYPREFERENCES + pagesVariants.textVariantSeparator + \"eqfxMarketingItem\"] = \"Unsubscribe me from marketing offers and communications from Equifax Group and its partners\";\r\npagesVariants[pages.MYPREFERENCES + pagesVariants.textVariantSeparator + \"eqfxMarketingHeader\"] = \"Equifax and its partners' communications\";\r\npagesVariants[pages.MYPREFERENCES + pagesVariants.textVariantSeparator + \"accountHeader\"] = \"Account Management\";\r\npagesVariants[pages.MYPREFERENCES + pagesVariants.textVariantSeparator + \"accountItem\"] = \"Cancel my account\";\r\npagesVariants[pages.MYPREFERENCES + pagesVariants.textVariantSeparator + \"400_ErrorWhenSaving\"] = \"An error ocurred when trying to save the data. Please try again.\";\r\npagesVariants[pages.MYPREFERENCES + pagesVariants.textVariantSeparator + \"404_SyncProblemWithMailchimp\"] = \"An error ocurred when trying save your data in our email server provider. Please contact us.\";\r\npagesVariants[pages.MYPREFERENCES + pagesVariants.textVariantSeparator + \"400_ErrorWhenRequestingData\"] = \"We are not able to retrieve the data from our email server\";\r\npagesVariants[\"mailChimpLinkSuggestion\"] = \"If you have unsubscribed before by clicking in our emails, please {LINK} to consent re-subscribing into our email server provider\";\r\n\r\npagesVariants[pages.SCOREMAPSECTION + pagesVariants.textVariantSeparator + \"titleNormal\"] = \"Compare your region's\";\r\npagesVariants[pages.SCOREMAPSECTION + pagesVariants.textVariantSeparator + \"titleBoldWithDisclaimer\"] = \"credit score\";\r\npagesVariants[pages.SCOREMAPSECTION + pagesVariants.textVariantSeparator + \"titleBold\"] = \"now\";\r\npagesVariants[pages.SCOREMAPSECTION + pagesVariants.textVariantSeparator + \"subtitle\"] = \"We've compared over two million credit scores across 326 regions.\";\r\npagesVariants[pages.SCOREMAPSECTION + pagesVariants.textVariantSeparator + \"getScoreLink\"] = \"Get you credit score now\";\r\npagesVariants[pages.SCOREMAPSECTION + pagesVariants.textVariantSeparator + \"postCodePlaceHolder\"] = \"Postcode\";\r\npagesVariants[pages.SCOREMAPSECTION + pagesVariants.textVariantSeparator + \"compareNowButtonText\"] = \"COMPARE NOW\";\r\n\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"title\"] = \"How does your credit score compare\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"subtitle\"] = \"We've compared over two million credit scores across 326 regions from annual Equifax Australian Credit scorecard\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"postCodePlaceHolder\"] = \"Postcode\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"compareNowButtonText\"] = \"Compare Now\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"mapSearchTitleWithDisclaimer\"] = \"Median Score\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"mapSearchTitle\"] = \"By Region\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"mapSearch\"] = \"Start typing postcode, area or region\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"popupContent\"] = \"

The average Equifax Score in
{SA3Name} region is
{SA3Score}
What's your score?

\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"changeLocation\"] = \"Change Location\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"showResultFor\"] = \"Showing Results for\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"gradientLowestScore\"] = \"Lowest Score\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"gradientHighestScore\"] = \"Highest Score\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"generationTitleWithDisclaimer\"] = \"Median Score\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"generationTitle\"] = \"By Age For Selected Region\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"generationMale\"] = \"Male\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"generationFemale\"] = \"Female\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"areaScoresTitle\"] = \"Min And Max Region Scores\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"lowestScoreTitle\"] = \"Lowest Score Regions\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"highestScoreTitle\"] = \"Highest Score Regions\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"errorTextGeneral\"] = \"Sorry an Error ocurred, please try again.\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"errorTextNoResult\"] = \"Sorry, try expanding your search to a broader area or geographical region.\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"errorPostCodeNoResult\"] = \"No result found for this Postcode.\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"generalDisclaimer\"] = \"*The GetCreditScore credit score is based on the Equifax Credit Score Model. Third parties may not use the GetCreditScore credit score to assess your credit worthiness.\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"legalDisclaimer\"] = \"*The Median scores by Age displayed in this score map are general in nature and are based on the average credit scores held within GetCreditScore as at Dec 2017. Credit Scores may change as they are dynamic and are dependent on time and circumstance. The average credit scores shown do not reflect an individual’s credit score or personal circumstances.\";\r\npagesVariants[pages.SCOREMAP + pagesVariants.textVariantSeparator + \"regionDisclaimer\"] = \"*The Region scores displayed in this score map are general in nature and are based on the average credit scores held within GetCreditScore as at Dec 2017. Credit Scores may change as they are dynamic and are dependent on time and circumstance. The average credit scores shown do not reflect an individual’s credit score or personal circumstances.\";\r\n\r\npagesVariants[pages.COUNTER + pagesVariants.textVariantSeparator + \"labelDesktop\"] = \"CREDIT SCORES GIVEN\";\r\npagesVariants[pages.COUNTER + pagesVariants.textVariantSeparator + \"labelMobile\"] = \"SCORES GIVEN\";\r\n\r\npagesVariants[pages.TRUSTPILOTSECTION + pagesVariants.textVariantSeparator + \"title\"] = \"What our members say\";\r\npagesVariants[pages.TRUSTPILOTSECTION + \"reviews\"] = [\r\n {comment: \"Super quick & easy! Had my report within minutes! Have already recommended these guys to friends and family.\", author: \"Kerry Fisher\" },\r\n {comment: \"Very quickly updated with my credit score and very sound information about improving your credit score.\", author: \"Richard Collins\" },\r\n {comment: \"Excellent service straight to the point and very prompt to respond to my requests, very happy and recommend for everyone to use.\", author: \"Samuel Kamo\" },\r\n {comment: \"It was easy and quick and I am hoping it will get me what I want in the future.\", author: \"Peter Bloomfield\" }\r\n];\r\n\r\npagesVariants[pages.NEWMEMBERSMS + pagesVariants.textVariantSeparator + \"description\"] = \"Get your 100% free credit score now. It takes less than 60 seconds and no credit card is required.\";\r\npagesVariants[pages.NEWMEMBERSMS + pagesVariants.textVariantSeparator + \"title\"] = \"Enter Your Email\";\r\npagesVariants[pages.NEWMEMBERSMS + pagesVariants.textVariantSeparator + \"btnSubmit\"] = \"Get Started\";\r\n\r\nexport default pagesVariants;\r\n","import * as pages from './pages';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\n\r\nexport const creditSummary = {\r\n \"product-header\": {\r\n \"enquiry-id\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"141202-V1ND5-01FYB\"\r\n },\r\n \"datetime-requested\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-12-02T15:51:03.371+11:00\"\r\n },\r\n \"datetime-generated\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-12-02T15:51:05.519+11:00\"\r\n },\r\n \"client-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"my-ref-101\"\r\n },\r\n \"operator-id\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"101\"\r\n },\r\n \"operator-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"John Doe\"\r\n },\r\n \"product-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"VedaScore Apply\"\r\n },\r\n \"permission-type\": {\r\n \"_code\": \"XY\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CONSUMER+COMMERCIAL\"\r\n },\r\n \"product-data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"product-version\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2.0\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"product-data\": {\r\n \"enquiry-report\": {\r\n \"primary-match\": {\r\n \"bureau-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"204027075\"\r\n },\r\n \"individual-name\": {\r\n \"family-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"PETERSON\"\r\n },\r\n \"first-given-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"LOUISE\"\r\n },\r\n \"other-given-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"JULIE\"\r\n },\r\n \"_first-reported-date\": \"2000-08-28\",\r\n \"_last-credit-enquiry-date\": \"2014-06-17\",\r\n \"_last-reported-date\": \"2014-10-31\",\r\n \"__prefix\": \"vs\"\r\n },\r\n \"gender\": {\r\n \"_code\": \"F\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Female\"\r\n },\r\n \"date-of-birth\": {\r\n \"_first-reported-date\": \"2014-12-02\",\r\n \"_last-reported-date\": \"2014-12-02\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1945-06-03\"\r\n },\r\n \"drivers-licence\": {\r\n \"number\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"A20402707\"\r\n },\r\n \"_last-reported-date\": \"2014-09-25\",\r\n \"__prefix\": \"vs\"\r\n },\r\n \"_id-index\": \"1\",\r\n \"_type\": \"strong\",\r\n \"__prefix\": \"vs\"\r\n },\r\n \"other-identities\": {\r\n \"other-identity\": {\r\n \"individual-name\": {\r\n \"family-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"HAAGEN\"\r\n },\r\n \"first-given-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"LOUISE\"\r\n },\r\n \"other-given-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"JULIE\"\r\n },\r\n \"_first-reported-date\": \"2014-12-02\",\r\n \"_last-credit-enquiry-date\": \"2014-11-02\",\r\n \"__prefix\": \"vs\"\r\n },\r\n \"gender\": {\r\n \"_code\": \"F\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Female\"\r\n },\r\n \"date-of-birth\": {\r\n \"_first-reported-date\": \"2014-12-02\",\r\n \"_last-reported-date\": \"2014-12-02\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1945-06-03\"\r\n },\r\n \"is-deceased\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"false\"\r\n },\r\n \"_id-index\": \"2\",\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"addresses\": {\r\n \"address\": [\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"unit-number\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"41\"\r\n },\r\n \"street-number\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"121\"\r\n },\r\n \"street-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"HUNSTMANA\"\r\n },\r\n \"street-type\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CRES\"\r\n },\r\n \"suburb\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"PYRMONT\"\r\n },\r\n \"state\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NSW\"\r\n },\r\n \"postcode\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2009\"\r\n },\r\n \"country-code\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"AUS\"\r\n },\r\n \"_first-reported-date\": \"2014-12-02\",\r\n \"_last-reported-date\": \"2014-12-02\",\r\n \"_type\": \"C\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"unit-number\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"L\"\r\n },\r\n \"street-number\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"90\"\r\n },\r\n \"street-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"ARTHUR\"\r\n },\r\n \"street-type\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"ST\"\r\n },\r\n \"suburb\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NORTH SYDNEY\"\r\n },\r\n \"state\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NSW\"\r\n },\r\n \"postcode\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2055\"\r\n },\r\n \"country-code\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"AUS\"\r\n },\r\n \"_first-reported-date\": \"2001-06-15\",\r\n \"_last-reported-date\": \"2014-09-25\",\r\n \"_type\": \"P\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"unit-number\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"street-number\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"8\"\r\n },\r\n \"street-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"BIRCHGROVE\"\r\n },\r\n \"street-type\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"AVE\"\r\n },\r\n \"suburb\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CANLEY HEIGHTS\"\r\n },\r\n \"state\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NSW\"\r\n },\r\n \"postcode\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2166\"\r\n },\r\n \"country-code\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"AUS\"\r\n },\r\n \"_first-reported-date\": \"2014-06-11\",\r\n \"_last-reported-date\": \"2014-08-29\",\r\n \"_type\": \"P\",\r\n \"__prefix\": \"vs\"\r\n }\r\n ],\r\n \"__prefix\": \"vs\"\r\n },\r\n \"employment\": {\r\n \"employer\": {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"DATA FISH PTY LTD\"\r\n },\r\n \"_first-reported-date\": \"2014-08-25\",\r\n \"_last-reported-date\": \"2014-08-25\",\r\n \"_type\": \"C\",\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"consumer-credit-file\": {\r\n \"credit-enquiries\": {\r\n \"credit-enquiry\": [\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-type\": {\r\n \"_code\": \"RM\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Real Property Mortgage\"\r\n },\r\n \"enquiry-amount\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"560000\"\r\n },\r\n \"relationship\": {\r\n \"_code\": \"1\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Principal's Account (sole)\"\r\n },\r\n \"credit-enquirer\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CRED - 010 ACTIVE BRANCH\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"enquiry-client-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"FD54545SS\"\r\n },\r\n \"_enquiry-date\": \"2012-09-02\",\r\n \"_type\": \"authorised-agent-enquiry\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-type\": {\r\n \"_code\": \"CC\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Credit Card\"\r\n },\r\n \"enquiry-amount\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"5000\"\r\n },\r\n \"relationship\": {\r\n \"_code\": \"1\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Principal's Account (sole)\"\r\n },\r\n \"credit-enquirer\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"VXML 003 ACTIVE\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"enquiry-client-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"MY-REF-01\"\r\n },\r\n \"_enquiry-date\": \"2014-12-02\",\r\n \"_type\": \"credit-application\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-type\": {\r\n \"_code\": \"CA\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Charge Card\"\r\n },\r\n \"enquiry-amount\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"8484\"\r\n },\r\n \"relationship\": {\r\n \"_code\": \"1\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Principal's Account (sole)\"\r\n },\r\n \"credit-enquirer\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"ITIG TCPIP 003 ACTIVE BRANCH\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"enquiry-client-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"8784\"\r\n },\r\n \"_enquiry-date\": \"2014-11-02\",\r\n \"_type\": \"credit-application\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-type\": {\r\n \"_code\": \"UA\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Utilities\"\r\n },\r\n \"enquiry-amount\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"relationship\": {\r\n \"_code\": \"1\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Principal's Account (sole)\"\r\n },\r\n \"credit-enquirer\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"SOLUTIONS TEST\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"_enquiry-date\": \"2014-06-17\",\r\n \"_type\": \"credit-application\",\r\n \"__prefix\": \"vs\"\r\n }\r\n ],\r\n \"__prefix\": \"vs\"\r\n },\r\n \"accounts\": {\r\n \"account\": [\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-id\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"487454DV454\"\r\n },\r\n \"original-credit-provider\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CRED - 003 ACTIVE BRANCH\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"latest-credit-provider\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"AGC TEST P/L\"\r\n },\r\n \"transfer-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-11-05\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-type\": {\r\n \"_code\": \"CC\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Credit Card\"\r\n },\r\n \"relationship\": {\r\n \"_code\": \"1\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Principal's Account (sole)\"\r\n },\r\n \"account-holder-count\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"account-open-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-12-20\"\r\n },\r\n \"account-closed-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-11-20\"\r\n },\r\n \"loan-payment-method\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Principal and Interest in full\"\r\n },\r\n \"term-type\": {\r\n \"_code\": \"R\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Revolving\"\r\n },\r\n \"secured-credit\": {\r\n \"_code\": \"S\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Secured or Partially Secured\"\r\n },\r\n \"term-of-loan\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"120\"\r\n },\r\n \"original-maximum-amount-credit\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"5000\"\r\n },\r\n \"latest-maximum-amount-credit\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"5000\"\r\n },\r\n \"is-unlimited-credit\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"false\"\r\n },\r\n \"association-information\": {\r\n \"latest-start-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-12-20\"\r\n },\r\n \"is-serious-credit-infringement\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"false\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"repayment-history\": {\r\n \"payment\": [\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-01\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"additional-data-fields\":{\r\n \"data-field\": {\r\n \"key\": {\r\n \"__prefix\": \"vs\"\r\n },\r\n \"value\": {\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-02\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-03\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-04\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-05\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-06\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-07\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-08\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-09\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-10\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-11\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2013-12\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-01\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"R\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-02\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"R\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-03\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-04\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-05\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-06\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-07\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-08\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-09\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-10\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-11\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"period\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-12\"\r\n },\r\n \"status\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"C\"\r\n },\r\n \"__prefix\": \"vs\"\r\n }\r\n ],\r\n \"__prefix\": \"vs\"\r\n },\r\n \"_account-data-level\": \"5\",\r\n \"_latest-update-date\": \"2014-12-02\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-id\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"54854SF454\"\r\n },\r\n \"original-credit-provider\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"BLUEDIO\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"latest-credit-provider\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"BLUEDIO\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-type\": {\r\n \"_code\": \"PF\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Personal Loan (fixed term)\"\r\n },\r\n \"relationship\": {\r\n \"_code\": \"1\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Principal's Account (sole)\"\r\n },\r\n \"account-holder-count\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"account-open-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2009-03-02\"\r\n },\r\n \"account-closed-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2011-11-22\"\r\n },\r\n \"account-reopen-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2012-01-20\"\r\n },\r\n \"loan-payment-method\": {\r\n \"_code\": \"I\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Interest only\"\r\n },\r\n \"term-type\": {\r\n \"_code\": \"F\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Fixed\"\r\n },\r\n \"secured-credit\": {\r\n \"_code\": \"S\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Secured or Partially Secured\"\r\n },\r\n \"term-of-loan\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"060\"\r\n },\r\n \"original-maximum-amount-credit\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"latest-maximum-amount-credit\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"is-unlimited-credit\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"false\"\r\n },\r\n \"association-information\": {\r\n \"latest-start-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2009-03-02\"\r\n },\r\n \"is-serious-credit-infringement\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"false\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"_account-data-level\": \"4\",\r\n \"_latest-update-date\": \"2014-12-02\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-id\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"025874WER45\"\r\n },\r\n \"original-credit-provider\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"AGC TEST P/L\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"latest-credit-provider\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"AGC TEST P/L\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-type\": {\r\n \"_code\": \"TC\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Telecommunications Services\"\r\n },\r\n \"relationship\": {\r\n \"_code\": \"1\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Principal's Account (sole)\"\r\n },\r\n \"association-information\": {\r\n \"is-serious-credit-infringement\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"false\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"defaults\": {\r\n \"default\": {\r\n \"status\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Paid\"\r\n },\r\n \"status-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2011-01-20\"\r\n },\r\n \"original-default\": {\r\n \"date-recorded\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2009-01-15\"\r\n },\r\n \"default-amount\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"500\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"current-default\": {\r\n \"date-recorded\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2011-01-20\"\r\n },\r\n \"default-amount\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"500\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"_account-data-level\": \"2\",\r\n \"_latest-update-date\": \"2014-12-02\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-id\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"4611151\"\r\n },\r\n \"latest-credit-provider\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"ITIG TCPIP 003 ACTIVE BRANCH\"\r\n },\r\n \"is-licensee\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"true\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-type\": {\r\n \"_code\": \"AL\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Auto Loan\"\r\n },\r\n \"relationship\": {\r\n \"_code\": \"1\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Principal's Account (sole)\"\r\n },\r\n \"association-information\": {\r\n \"is-serious-credit-infringement\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"false\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"defaults\": {\r\n \"default\": {\r\n \"status\": {\r\n \"_code\": \"O\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Outstanding\"\r\n },\r\n \"status-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-03-01\"\r\n },\r\n \"original-default\": {\r\n \"date-recorded\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-03-01\"\r\n },\r\n \"default-amount\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"35000\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"current-default\": {\r\n \"date-recorded\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-03-01\"\r\n },\r\n \"default-amount\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"45000\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"_account-data-level\": \"2\",\r\n \"_latest-update-date\": \"2014-12-02\",\r\n \"__prefix\": \"vs\"\r\n }\r\n ],\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"commercial-credit-file\": {\r\n \"credit-enquiries\": {\r\n \"credit-enquiry\": {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-type\": {\r\n \"_code\": \"CH\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Cheque\"\r\n },\r\n \"enquiry-amount\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1000\"\r\n },\r\n \"relationship\": {\r\n \"_code\": \"2\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Principal's Account (joint)\"\r\n },\r\n \"credit-enquirer\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"SOLUTIONS TEST\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"_enquiry-date\": \"2014-02-20\",\r\n \"_type\": \"credit-enquiry\",\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"accounts\": {\r\n \"account\": [\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-id\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"525455525411\"\r\n },\r\n \"latest-credit-provider\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"AGC TEST P/L\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"account-type\": {\r\n \"_code\": \"PL\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Personal Loan\"\r\n },\r\n \"relationship\": {\r\n \"_code\": \"1\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Principal's Account (sole)\"\r\n },\r\n \"association-information\": {\r\n \"is-serious-credit-infringement\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"false\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"defaults\": {\r\n \"default\": {\r\n \"status\": {\r\n \"_code\": \"O\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Outstanding\"\r\n },\r\n \"original-default\": {\r\n \"date-recorded\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-03-01\"\r\n },\r\n \"default-amount\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1600\"\r\n },\r\n \"reason-to-report\": {\r\n \"_code\": \"PD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Payment Default\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"current-default\": {\r\n \"date-recorded\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-03-01\"\r\n },\r\n \"default-amount\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1100\"\r\n },\r\n \"reason-to-report\": {\r\n \"_code\": \"PD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Payment Default\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"_account-data-level\": \"2\",\r\n \"_latest-update-date\": \"2014-12-02\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"latest-credit-provider\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"AGC LIMITED\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"association-information\": {\r\n \"latest-start-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2004-06-15\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"_account-data-level\": \"1\",\r\n \"_latest-update-date\": \"2008-04-29\",\r\n \"__prefix\": \"vs\"\r\n }\r\n ],\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"public-record-or-consumer-credit-information\": {\r\n \"court-actions\": {\r\n \"court-action\": [\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"action-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2014-12-02\"\r\n },\r\n \"creditor\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"ELISA FLOYD\"\r\n },\r\n \"court-action-amount\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1500\"\r\n },\r\n \"plaint-number\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"152487454/13/QGLN\"\r\n },\r\n \"court-type\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"District Court\"\r\n },\r\n \"relationship\": {\r\n \"_code\": \"1\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Principal's Account (sole)\"\r\n },\r\n \"_type\": \"other-court-action\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"action-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2011-12-02\"\r\n },\r\n \"creditor\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"SARAH CLARKSON\"\r\n },\r\n \"court-action-amount\": {\r\n \"_currency-code\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2500\"\r\n },\r\n \"plaint-number\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"15484511548/12/METN\"\r\n },\r\n \"court-type\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Local Court\"\r\n },\r\n \"relationship\": {\r\n \"_code\": \"2\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Principal's Account (joint)\"\r\n },\r\n \"co-borrower\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"COM\"\r\n },\r\n \"court-action-status\": {\r\n \"_code\": \"S\",\r\n \"_date\": \"2014-10-01\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Settled\"\r\n },\r\n \"_type\": \"default-judgement\",\r\n \"__prefix\": \"vs\"\r\n }\r\n ],\r\n \"__prefix\": \"vs\"\r\n },\r\n \"disqualified-directorships\": {\r\n \"disqualified-directorship\": {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"date-disqualified\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2008-02-21\"\r\n },\r\n \"date-disqualified-until\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2010-02-21\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"directorships\": {\r\n \"directorship\": [\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"date-appointed\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1999-01-01\"\r\n },\r\n \"organisation\": {\r\n \"bureau-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"165968358\"\r\n },\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"MELISSA'S SWEAT SHOP\"\r\n },\r\n \"type\": {\r\n \"_code\": \"P/L\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proprietary Limited\"\r\n },\r\n \"status\": {\r\n \"_code\": \"REGD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Registered\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"_type\": \"C\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"date-appointed\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2005-01-21\"\r\n },\r\n \"date-ceased\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2007-03-21\"\r\n },\r\n \"date-last-known-as-director\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2007-03-21\"\r\n },\r\n \"organisation\": {\r\n \"bureau-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"166368656\"\r\n },\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"MULLIGANS FOOD\"\r\n },\r\n \"type\": {\r\n \"_code\": \"P/L\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proprietary Limited\"\r\n },\r\n \"organisation-number\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"000309786\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"_type\": \"P\",\r\n \"__prefix\": \"vs\"\r\n }\r\n ],\r\n \"__prefix\": \"vs\"\r\n },\r\n \"business-names\": {\r\n \"business-name\": {\r\n \"id-references\": {\r\n \"id-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"start-date\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2001-03-16\"\r\n },\r\n \"business\": {\r\n \"bureau-reference\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"165289307\"\r\n },\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"MARYS MAX SHOES\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"summary-data\": {\r\n \"data-block\": {\r\n \"characteristic\": [\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0001_ac_op_g_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open guarantor accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0001\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0002_rm_ac_op_g_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open guarantor mortgage accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0002\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0003_ac_op_g_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open guarantor accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0003\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0004_rm_ac_op_g_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open guarantor mortgage accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0004\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0005_ac_op_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0005\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0006_tc_ac_op_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open telco accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0006\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0007_ut_ac_op_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open utility accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0007\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0008_gcc_ac_op_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0008\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0009_gpl_ac_op_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0009\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0010_rm_ac_op_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0010\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0011_ac_op_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0011\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0012_tc_ac_op_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open telco accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0012\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0013_ut_ac_op_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open utility accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0013\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0014_gcc_ac_op_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0014\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0015_gpl_ac_op_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0015\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0016_rm_ac_op_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0016\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0077_re_ac_op_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open rental accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0077\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0078_od_ac_op_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open overdraft accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0078\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0079_ca_ac_op_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open charge card accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0079\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0080_re_ac_op_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open rental accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0080\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0081_od_ac_op_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open overdraft accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0081\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0082_ca_ac_op_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open charge card accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0082\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0401_al_ac_op_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0401\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0402_al_ac_op_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0402\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0203_lmt_rs1_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open account limits where repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0203\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0204_lmt_rs2_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open account limits where repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0204\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0205_lmt_rs3_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open account limits where repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0205\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0206_lmt_rs4_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open account limits where repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0206\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0391_nrm_lmt_rs1_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open non-mortgage account limits where repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0391\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0392_nrm_lmt_rs2_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open non-mortgage account limits where repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0392\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0393_nrm_lmt_rs3_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open non-mortgage account limits where repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0393\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0394_nrm_lmt_rs4_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open non-mortgage account limits where repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0394\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0207_op_ac_oldest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of oldest open account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"36.8\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0207\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0208_tc_op_ac_oldest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of oldest open telco account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0208\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0209_ut_op_ac_oldest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of oldest open utility account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0209\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0210_gcc_op_ac_oldest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of oldest open credit card account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0210\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0211_gpl_op_ac_oldest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of oldest open personal loan account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"36.8\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0211\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0212_rm_op_ac_oldest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of oldest open mortgage account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0212\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0213_op_ac_ygest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of youngest open account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"36.8\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0213\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0214_tc_op_ac_ygest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of youngest open telco account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0214\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0215_ut_op_ac_ygest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of youngest open utility account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0215\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0216_gcc_op_ac_ygest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of youngest open credit card account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0216\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0217_gpl_op_ac_ygest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of youngest open personal loan account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"36.8\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0217\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0218_rm_op_ac_ygest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of youngest open mortgage account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0218\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0425_al_op_ac_oldest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of oldest open auto account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0425\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0426_al_op_ac_ygest_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of youngest open auto account\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0426\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0231_rs4_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0231\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0232_rs3_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0232\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0233_rs2_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0233\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0234_rs1_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"3\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0234\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0235_rs0_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"5\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0235\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0236_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0236\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0237_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0237\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0238_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0238\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0239_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"3\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0239\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0240_rs0_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"5\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0240\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0261_gcc_rs4_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open credit card account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0261\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0262_gcc_rs3_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open credit card account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0262\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0263_gcc_rs2_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open credit card account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0263\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0264_gcc_rs1_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open credit card account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"3\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0264\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0265_gcc_rs0_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open credit card account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"5\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0265\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0266_gcc_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open credit card account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0266\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0267_gcc_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open credit card account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0267\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0268_gcc_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open credit card account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0268\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0269_gcc_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open credit card account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"3\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0269\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0270_gcc_rs0_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open credit card account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"5\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0270\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0271_gpl_rs4_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open personal loan account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0271\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0272_gpl_rs3_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open personal loan account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0272\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0273_gpl_rs2_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open personal loan account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0273\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0274_gpl_rs1_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open personal loan account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0274\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0275_gpl_rs0_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open personal loan account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0275\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0276_gpl_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open personal loan account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0276\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0277_gpl_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open personal loan account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0277\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0278_gpl_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open personal loan account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0278\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0279_gpl_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open personal loan account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0279\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0280_gpl_rs0_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open personal loan account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0280\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0281_rm_rs4_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open mortgage account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0281\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0282_rm_rs3_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open mortgage account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0282\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0283_rm_rs2_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open mortgage account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0283\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0284_rm_rs1_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open mortgage account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0284\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0285_rm_rs0_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open mortgage account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0285\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0286_rm_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open mortgage account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0286\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0287_rm_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open mortgage account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0287\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0288_rm_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open mortgage account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0288\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0289_rm_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open mortgage account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0289\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0290_rm_rs0_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open mortgage account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0290\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0427_al_rs4_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open auto account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0427\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0428_al_rs3_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open auto account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0428\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0429_al_rs2_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open auto account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0429\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0430_al_rs1_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open auto account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0430\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0431_al_rs0_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where the worst open auto account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0431\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0432_al_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open auto account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0432\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0433_al_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open auto account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0433\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0434_al_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open auto account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0434\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0435_al_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open auto account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0435\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0436_al_rs0_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where the worst open auto account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0436\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2236_rs4_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2236\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2237_rs3_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2237\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2238_rs2_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2238\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2239_rs1_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2239\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2240_rs0_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"4\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2240\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2266_gcc_rs4_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open credit card account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2266\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2267_gcc_rs3_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open credit card account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2267\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2268_gcc_rs2_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open credit card account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2268\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2269_gcc_rs1_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open credit card account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2269\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2270_gcc_rs0_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open credit card account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"4\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2270\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2276_gpl_rs4_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open personal loan account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2276\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2277_gpl_rs3_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open personal loan account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2277\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2278_gpl_rs2_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open personal loan account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2278\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2279_gpl_rs1_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open personal loan account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2279\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2280_gpl_rs0_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open personal loan account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2280\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2281_al_rs4_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open auto account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2281\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2282_al_rs3_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open auto account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2282\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2283_al_rs2_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open auto account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2283\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2284_al_rs1_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open auto account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2284\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2285_al_rs0_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open auto account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2285\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2286_rm_rs4_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open mortgage account repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2286\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2287_rm_rs3_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open mortgage account repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2287\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2288_rm_rs2_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open mortgage account repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2288\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2289_rm_rs1_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open mortgage account repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2289\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2290_rm_rs0_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 6 where the worst open mortgage account repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2290\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0339_time_worst_dlq_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since worst open account repayment status in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0339\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0342_gcc_time_worst_dlq_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since worst open credit card account repayment status in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0342\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0343_gpl_time_worst_dlq_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since worst open personal loan account repayment status in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0343\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0344_rm_time_worst_dlq_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since worst open mortgage account repayment status in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0344\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0437_al_time_worst_dlq_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since worst open auto account repayment status in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0437\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0345_time_closure_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since last closed account in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"11.82\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0345\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0086_lmt_rs1_rate_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proportion of open account limits where repayment status was 1+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"percentage\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0086\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0087_lmt_rs1_rate_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proportion of open account limits where repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"percentage\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0087\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0088_lmt_rs2_rate_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proportion of open account limits where repayment status was 2+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"percentage\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0088\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0089_lmt_rs2_rate_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proportion of open account limits where repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"percentage\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0089\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0090_nrm_lmt_rs1_rate_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proportion of open non-mortgage account limits where repayment status was 1+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"percentage\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0090\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0091_nrm_lmt_rs1_rate_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proportion of open non-mortgage account limits where repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"percentage\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0091\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0092_nrm_lmt_rs2_rate_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proportion of open non-mortgage account limits where repayment status was 2+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"percentage\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0092\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0093_nrm_lmt_rs2_rate_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proportion of open non-mortgage account limits where repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"percentage\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0093\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0017_ac_cls_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of closed accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0017\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0018_tc_ac_cls_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of closed telco accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0018\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0019_ut_ac_cls_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of closed utility accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0019\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0020_gcc_ac_cls_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of closed credit card accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0020\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0021_gpl_ac_cls_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of closed personal loan accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0021\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0022_rm_ac_cls_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of closed mortgage accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0022\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0403_al_ac_cls_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of closed auto accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0403\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0449_ca_ac_cls_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of closed charge accounts < 24 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0449\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0450_od_ac_cls_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of closed overdraft accounts < 24 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0450\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0451_re_ac_cls_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of closed equipment hire/rental accounts < 24 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0451\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0047_ac_op_lmt_mxs_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Maximum sum of open account limits in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0047\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0048_sec_ac_op_lmt_mxs_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Maximum sum of open secured account limits in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0048\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0049_nsec_ac_op_lmt_mxs_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Maximum sum of open unsecured account limits in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0049\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0050_ac_op_lmt_mns_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Minimum sum of open account limits in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0050\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0051_sec_ac_op_lmt_mns_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Minimum sum of open secured account limits in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0051\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0052_nsec_ac_op_lmt_mns_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Minimum sum of open unsecured account limits in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0052\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0055_nsec_ac_op_lmt_avs_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Average sum of open unsecured account limits in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0055\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0056_ac_op_lmt_mxs_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Maximum sum of open account limits in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0056\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0057_sec_ac_op_lmt_mxs_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Maximum sum of open secured account limits in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0057\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0058_nsec_ac_op_lmt_mxs_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Maximum sum of open unsecured account limits in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0058\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0059_ac_op_lmt_mns_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Minimum sum of open account limits in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0059\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0060_sec_ac_op_lmt_mns_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Minimum sum of open secured account limits in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0060\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0061_nsec_ac_op_lmt_mns_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Minimum sum of open unsecured account limits in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0061\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0064_nsec_ac_op_lmt_avs_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Average sum of open unsecured account limits in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0064\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0068_ac_op_lmt_mxs_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Maximum sum of open account limits in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0068\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0069_sec_ac_op_lmt_mxs_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Maximum sum of open secured account limits in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0069\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0070_nsec_ac_op_lmt_mxs_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Maximum sum of open unsecured account limits in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0070\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0071_ac_op_lmt_mns_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Minimum sum of open account limits in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0071\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0072_sec_ac_op_lmt_mns_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Minimum sum of open secured account limits in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0072\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0073_nsec_ac_op_lmt_mns_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Minimum sum of open unsecured account limits in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0073\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0076_nsec_ac_op_lmt_avs_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Average sum of open unsecured account limits in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0076\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0395_sec_lmt_rate_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proportion of open secured account limits in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"percentage\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0395\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0396_nsec_lmt_rate_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proportion of open unsecured account limits in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"percentage\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0396\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0397_sec_lmt_rate_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proportion of open secured account limits in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"percentage\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0397\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0398_nsec_lmt_rate_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Proportion of open unsecured account limits in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"percentage\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0398\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0348_time_lmt_inc_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since last open account limits increased in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0348\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0389_nsec_time_lmt_inc_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since last open unsecured account limits increased in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0389\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0390_sec_time_lmt_inc_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since last open secured account limits increased in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0390\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0349_gcc_time_lmt_dec_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since last open credit card account limits decreased in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0349\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0350_months_lmt_inc_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 24 where open account limits increased\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0350\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0351_months_lmt_inc_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months out of the last 12 where open account limits increased\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0351\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0023_ac_op_al6m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts where age of account <= 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0023\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0024_ac_op_agt6l12m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts where age of account > 6 and <= 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0024\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0026_gcc_ac_op_al6m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts where age of account <= 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0026\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0027_gcc_ac_op_agt6l12m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts where age of account > 6 and <= 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0027\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0029_gpl_ac_op_al6m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts where age of account <= 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0029\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0030_gpl_ac_op_agt6l12m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts where age of account > 6 and <= 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0030\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0032_grm_ac_op_al6m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts where age of account <= 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0032\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0033_grm_ac_op_agt6l12m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts where age of account > 6 and <= 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0033\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0035_tc_ac_op_al6m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open telco accounts where age of account <= 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0035\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0036_tc_ac_op_agt6l12m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open telco accounts where age of account > 6 and <= 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0036\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0038_ut_ac_op_al6m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open utility accounts where age of account <= 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0038\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0039_ut_ac_op_agt6l12m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open utility accounts where age of account > 6 and <= 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0039\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0404_al_ac_op_al6m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts where age of account <= 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0404\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0405_al_ac_op_agt6l12m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts where age of account > 6 and <= 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0405\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX7385_ac_op_al3m_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts where age of account <= 3 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX7385\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0352_wrs_closure_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst repayment status at closure in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0352\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0355_gcc_wrs_closure_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst credit card repayment status at closure in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0355\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0356_gpl_wrs_closure_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst personal loan repayment status at closure in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0356\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0357_rm_wrs_closure_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst mortgage repayment status at closure in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0357\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0438_al_wrs_closure_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst auto repayment status at closure in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0438\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0362_ac_wrs_own_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own worst account repayment status\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0362\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0363_ac_wrs_own_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own worst account repayment status in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0363\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0353_ac_rs1_own_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own number of accounts where repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0353\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0364_ac_own_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own number of accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0364\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0365_lmt_own_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own sum of account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0365\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0366_lmt_rs1_own_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own sum of account limits where repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0366\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX7364_ntcut_dist_cp_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of distinct Credit Provider open non-telco and non-utility accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX7364\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX7365_tcut_dist_cp_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of distinct Credit Provider open telco or utility accounts in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX7365\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX7366_tcut_dist_cp_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of distinct Credit Provider open telco or utility accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX7366\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX7367_ntcut_dist_cp_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of distinct Credit Provider open non-telco and non-utility accounts\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX7367\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX7377_ntcut_rs1_dist_cp_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of distinct credit provider open non-telco and non-utility accounts where repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX7377\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX7378_ntcut_rs2_dist_cp_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of distinct credit provider open non-telco and non-utility accounts where repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX7378\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX7379_ntcut_rs3_dist_cp_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of distinct credit provider open non-telco and non-utility accounts where repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX7379\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX7380_ntcut_rs4_dist_cp_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of distinct credit provider open non-telco and non-utility accounts where repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX7380\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX7381_tcut_rs1_dist_cp_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of distinct credit provider open telco or utility accounts where repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX7381\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX7382_tcut_rs2_dist_cp_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of distinct credit provider open telco or utility accounts where repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX7382\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX7383_tcut_rs3_dist_cp_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of distinct credit provider open telco or utility accounts where repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX7383\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX7384_tcut_rs4_dist_cp_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of distinct credit provider open telco or utility accounts where repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX7384\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0041_ac_op_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0041\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0044_gcc_ac_op_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open credit card account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0044\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0045_gpl_ac_op_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open personal loan account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0045\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0046_rm_ac_op_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open mortgage account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0046\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0066_sec_ac_op_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open secured account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"12000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0066\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0067_nsec_ac_op_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open unsecured account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0067\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0083_re_ac_op_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open rental account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0083\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0084_od_ac_op_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open overdraft account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0084\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0085_ca_ac_op_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open charge card account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0085\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0358_ac_op_g_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open guarantor account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0358\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0359_gcc_ac_op_g_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open guarantor credit card account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0359\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0360_gpl_ac_op_g_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open guarantor personal loan account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0360\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0361_rm_ac_op_g_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open guarantor mortgage account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0361\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0406_al_ac_op_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open auto account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0406\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0439_al_ac_op_g_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open guarantor auto account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"P\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Partial\"\r\n },\r\n \"_id\": \"CX0439\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0452_tc_ac_op_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open telco account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0452\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0453_ua_ac_op_lmt_s_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Sum of open utilities account limits\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0453\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0094_ac_rs0_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts where repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0094\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0095_ac_rs1_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts where repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0095\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0096_ac_rs2_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts where repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0096\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0097_ac_rs3_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts where repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0097\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0098_ac_rs4_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts where repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0098\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0099_ac_rs0_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts where repayment status was current in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0099\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0100_ac_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts where repayment status was 1+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0100\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0101_ac_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts where repayment status was 2+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0101\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0102_ac_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts where repayment status was 3+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0102\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0103_ac_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open accounts where repayment status was 4+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0103\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0124_gcc_ac_rs0_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts where repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0124\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0125_gcc_ac_rs1_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts where repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0125\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0126_gcc_ac_rs2_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts where repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0126\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0127_gcc_ac_rs3_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts where repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0127\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0128_gcc_ac_rs4_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts where repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0128\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0129_gcc_ac_rs0_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts where repayment status was current in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0129\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0130_gcc_ac_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts where repayment status was 1+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0130\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0131_gcc_ac_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts where repayment status was 2+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0131\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0132_gcc_ac_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts where repayment status was 3+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0132\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0133_gcc_ac_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open credit card accounts where repayment status was 4+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0133\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0134_gpl_ac_rs0_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts where repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0134\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0135_gpl_ac_rs1_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts where repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0135\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0136_gpl_ac_rs2_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts where repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0136\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0137_gpl_ac_rs3_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts where repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0137\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0138_gpl_ac_rs4_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts where repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0138\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0139_gpl_ac_rs0_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts where repayment status was current in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0139\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0140_gpl_ac_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts where repayment status was 1+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0140\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0141_gpl_ac_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts where repayment status was 2+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0141\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0142_gpl_ac_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts where repayment status was 3+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0142\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0143_gpl_ac_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open personal loan accounts where repayment status was 4+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0143\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0144_rm_ac_rs0_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts where repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0144\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0145_rm_ac_rs1_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts where repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0145\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0146_rm_ac_rs2_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts where repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0146\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0147_rm_ac_rs3_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts where repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0147\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0148_rm_ac_rs4_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts where repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0148\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0149_rm_ac_rs0_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts where repayment status was current in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0149\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0150_rm_ac_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts where repayment status was 1+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0150\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0151_rm_ac_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts where repayment status was 2+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0151\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0152_rm_ac_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts where repayment status was 3+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0152\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0153_rm_ac_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open mortgage accounts where repayment status was 4+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0153\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0407_al_ac_rs0_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts where repayment status was current\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0407\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0408_al_ac_rs1_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts where repayment status was 1+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0408\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0409_al_ac_rs2_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts where repayment status was 2+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0409\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0410_al_ac_rs3_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts where repayment status was 3+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0410\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0411_al_ac_rs4_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts where repayment status was 4+\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0411\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0412_al_ac_rs0_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts where repayment status was current in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0412\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0413_al_ac_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts where repayment status was 1+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0413\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0414_al_ac_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts where repayment status was 2+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0414\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0415_al_ac_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts where repayment status was 3+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0415\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0416_al_ac_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of open auto accounts where repayment status was 4+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0416\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0160_ac_op_mth_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open account repayment status was 1+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0160\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0163_gcc_ac_op_mth_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open credit card account repayment status was 1+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0163\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0164_gpl_ac_op_mth_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open personal loan account repayment status was 1+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0164\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0165_rm_ac_op_mth_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open mortgage account repayment status was 1+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0165\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0166_ac_op_mth_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open account repayment status was 2+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0166\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0169_gcc_ac_op_mth_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open credit card account repayment status was 2+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0169\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0170_gpl_ac_op_mth_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open personal loan account repayment status was 2+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0170\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0171_rm_ac_op_mth_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open mortgage account repayment status was 2+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0171\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0172_ac_op_mth_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open account repayment status was 3+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0172\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0175_gcc_ac_op_mth_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open credit card account repayment status was 3+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0175\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0176_gpl_ac_op_mth_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open personal loan account repayment status was 3+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0176\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0177_rm_ac_op_mth_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open mortgage account repayment status was 3+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0177\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0178_ac_op_mth_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open account repayment status was 4+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0178\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0181_gcc_ac_op_mth_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open credit card account repayment status was 4+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0181\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0182_gpl_ac_op_mth_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open personal loan account repayment status was 4+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0182\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0183_rm_ac_op_mth_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open mortgage account repayment status was 4+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0183\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0418_al_ac_op_mth_rs1_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open auto account repayment status was 1+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0418\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0419_al_ac_op_mth_rs2_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open auto account repayment status was 2+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0419\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0420_al_ac_op_mth_rs3_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open auto account repayment status was 3+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0420\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0421_al_ac_op_mth_rs4_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since any open auto account repayment status was 4+ in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0421\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0184_wrs_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open account repayment status\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0184\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0185_wrs_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open account repayment status in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0185\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0186_wrs_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open account repayment status in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0186\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0193_gcc_wrs_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open credit card account repayment status\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0193\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0194_gcc_wrs_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open credit card account repayment status in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0194\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0195_gcc_wrs_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open credit card account repayment status in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0195\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0196_gpl_wrs_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open personal loan account repayment status\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0196\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0197_gpl_wrs_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open personal loan account repayment status in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0197\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0198_gpl_wrs_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open personal loan account repayment status in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0198\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0199_rm_wrs_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open mortgage account repayment status\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0199\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0200_rm_wrs_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open mortgage account repayment status in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0200\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0201_rm_wrs_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open mortgage account repayment status in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0201\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0399_wrs_al6m_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open account repayment status where age of account <= 6 months in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0399\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0400_wrs_agt6l12m_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open account repayment status where age of account > 6 and <= 12 months in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0400\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0422_al_wrs_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open auto account repayment status\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0422\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0423_al_wrs_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open auto account repayment status in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0423\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0424_al_wrs_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open auto account repayment status in the last 24 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0424\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0443_ca_wrs_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open charge card account repayment status\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0443\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0444_ca_wrs_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open charge card account repayment status < 24 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0444\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0445_od_wrs_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open overdraft account repayment status\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0445\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0446_od_wrs_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open overdraft account repayment status < 24 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0446\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0447_re_wrs_0m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open equipment hire/rental account repayment status\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0447\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX0448_re_wrs_24m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open equipment hire/rental account repayment status < 24 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX0448\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2186_wrs_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open account repayment status in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2186\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2195_gcc_wrs_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open credit card account repayment status in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2195\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2198_gpl_wrs_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open personal loan account repayment status in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2198\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2199_al_wrs_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open auto account repayment status in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2199\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"CX2201_rm_wrs_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Worst open mortgage account repayment status in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"CX2201\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NA8900_xr_cur\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of cross references\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NA8900\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NA8904_age_fle\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of primary file\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"171.74\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NA8904\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NA8905_ntb_flg\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"New to bureau flag\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"boolean\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Yes\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NA8905\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NA8908_age_ind\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Main age of applicant\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"833.99\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NA8908\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NA8911_deceased_flg\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Deceased flag\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"boolean\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"No\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NA8911\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NA8920_em_time_1\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months at latest employer\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"3.77\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NA8920\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NA8921_ad_time_1\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months at latest address\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NA8921\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NA8922_file_notes\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"File notes\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"boolean\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-993\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NA8922\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP7500_inslv_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of insolvencies in the last 84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP7500\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP7501_inslv_dis_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of discharged insolvencies in the last 84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP7501\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP7502_inslv_bkrpt_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of bankrupt only insolvencies in the last 84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP7502\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP7503_inslv_dis_time_1\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since last discharged insolvency\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP7503\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP7504_dj_60m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of judgements in the last 60 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP7504\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP7505_dj_time_1\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since last judgement\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"36.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP7505\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP7509_wr_48m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of court writs in the last 48 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP7509\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP8500_dr_cur\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of current directorships\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP8500\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP8501_dr_time_max_cur\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months of longest current directorship\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"191.01\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP8501\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP8502_dr_prev_60m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of previous directorships in the last 60 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP8502\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP8503_dr_disq_60m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of Disqualified Directorships in the last 60 months-ever\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP8503\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP8504_dr_disq_time_1\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since last disqualified directorship\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"81.81\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP8504\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP8508_pr_cur\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of business names held\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP8508\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP8509_dr_prev_120m_ever\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of previous directorships in the last 120 months-ever\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP8509\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7513_df_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer defaults/SCI in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7513\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7514_df_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer defaults/SCI in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7514\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7516_df_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7516\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7517_df_tcut_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer telco or utility defaults/SCI in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7517\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7518_df_tcut_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer telco or utility defaults/SCI in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7518\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7520_df_tcut_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer telco or utility defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7520\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7524_df_rm_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer mortgage defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7524\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7556_df_sts_pd_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer paid or current defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7556\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7560_df_sts_stld_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer settled defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7560\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7561_df_sts_na_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer new arrangement defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7561\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7568_df_sts_unpd_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer unpaid defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7568\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7585_df_origamt_tcut_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total original dollar amount of consumer telco or utility defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"500\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7585\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7586_df_origamt_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total original dollar amount of consumer defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"35500\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7586\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7589_df_time_1\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since last consumer default/SCI\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"70.87\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7589\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7591_df_s_1_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Status of last consumer default/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"P\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7591\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7596_df_own_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own number of consumer default/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7596\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7597_df_latamt_own_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own total latest dollar amount of consumer default/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7597\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7801_df_gpl_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer personal loan defaults/SCI < 60/84 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7801\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7802_df_al_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer auto loan defaults/SCI < 60/84 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7802\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7803_df_cc_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer credit card defaults/SCI < 60/84 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7803\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7804_df_ca_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer charge card defaults/SCI < 60/84 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7804\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7805_df_od_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer overdraft defaults/SCI < 60/84 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7805\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7806_df_re_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer equipment hire/rental defaults/SCI < 60/84 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7806\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7999_enq_7d\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer enquiries in the last 7 days\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7999\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8000_enq_1m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer enquiries in the last 1 month\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8000\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8001_enq_3m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer enquiries in the last 3 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8001\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8002_enq_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer enquiries in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"3\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8002\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8003_enq_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer enquiries in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"3\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8003\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8006_enq_60m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer enquiries in the last 60 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"3\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8006\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8028_enq_rm_1m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer mortgage enquiries in the last 1 month\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8028\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8029_enq_rm_3m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer mortgage enquiries in the last 3 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8029\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8030_enq_rm_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer mortgage enquiries in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8030\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8031_enq_rm_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer mortgage enquiries in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8031\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8034_enq_rm_60m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer mortgage enquiries in the last 60 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8034\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8042_enq_tcut_1m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer telco or utility enquiries in the last 1 month\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8042\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8043_enq_tcut_3m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer telco or utility enquiries in the last 3 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8043\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8044_enq_tcut_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer telco or utility enquiries in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8044\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8045_enq_tcut_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer telco or utility enquiries in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8045\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8048_enq_tcut_60m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer telco or utility enquiries in the last 60 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8048\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8049_enq_own_3m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own number of consumer enquiries in the last 3 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8049\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8050_enq_own_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own number of consumer enquiries in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8050\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8056_enq_amt_1\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Dollar amount of last consumer enquiry\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"8484\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8056\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8057_enq_amt_2\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Dollar amount of 2nd last consumer enquiry\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8057\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8059_enq_time_1\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since last consumer enquiry\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8059\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8060_enq_time_2\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since 2nd last consumer enquiry\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"5.85\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8060\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8062_enq_amt_3m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total value of consumer enquiries < 3 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"13484\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8062\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX8063_enq_amt_60m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total value of consumer enquiries < 60 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"13485\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX8063\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7513_df_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial defaults/SCI in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7513\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7514_df_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial defaults/SCI in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7514\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7516_df_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7516\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7517_df_tcut_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial telco or utility defaults/SCI in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7517\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7518_df_tcut_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial telco or utility defaults/SCI in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7518\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7520_df_tcut_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial telco or utility defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7520\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7524_df_RM_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial mortgage defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7524\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7568_df_sts_unpd_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial unpaid defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7568\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7585_df_origamt_tcut_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total original dollar amount of commercial telco or utility defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7585\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7586_df_origamt_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total original dollar amount of commercial defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1600\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7586\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7589_df_time_1\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since last commercial default/SCI\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"9.01\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7589\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7591_df_s_1_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Status of last commercial default/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"O\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7591\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7596_df_own_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own number of commercial default/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7596\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7597_df_latamt_own_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own total latest dollar amount of commercial default/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7597\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7999_enq_7d\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial enquiries in the last 7 days\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7999\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8000_enq_1m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial enquiries in the last 1 month\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8000\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8001_enq_3m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial enquiries in the last 3 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8001\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8002_enq_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial enquiries in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8002\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8003_enq_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial enquiries in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8003\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8006_enq_60m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial enquiries in the last 60 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8006\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8028_enq_rm_1m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial mortgage enquiries in the last 1 month\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8028\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8029_enq_rm_3m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial mortgage enquiries in the last 3 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8029\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8030_enq_rm_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial mortgage enquiries in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8030\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8031_enq_rm_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial mortgage enquiries in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8031\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8034_enq_rm_60m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial mortgage enquiries in the last 60 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8034\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8042_enq_tcut_1m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial telco or utility enquiries in the last 1 month\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8042\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8043_enq_tcut_3m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial telco or utility enquiries in the last 3 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8043\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8044_enq_tcut_6m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial telco or utility enquiries in the last 6 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8044\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8045_enq_tcut_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial telco or utility enquiries in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8045\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8048_enq_tcut_60m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial telco or utility enquiries in the last 60 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8048\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8049_enq_own_3m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own number of commercial enquiries in the last 3 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8049\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8050_enq_own_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Own number of commercial enquiries in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8050\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8056_enq_amt_1\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Dollar amount of last commercial enquiry\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8056\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8057_enq_amt_2\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Dollar amount of 2nd last commercial enquiry\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8057\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8059_enq_time_1\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since last commercial enquiry\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"9.82\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8059\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8060_enq_time_2\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Months since 2nd last commercial enquiry\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991.0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8060\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8062_enq_amt_3m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total value of commercial enquiries < 3 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8062\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY8063_enq_amt_60m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total value of commercial enquiries < 60 mths\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY8063\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NA8902_age_fle_max\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Age of oldest file\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"months\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"171.74\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NA8902\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP7506_dj_out_amt_60m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total dollar amount of outstanding (not settled paid or discontinued) judgements in the last 60 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP7506\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP7508_dj_out_60m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of unpaid or unsettled judgements in the last 60 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP7508\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP7510_wr_out_48m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of unpaid or unsettled court writs in the last 48 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP7510\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP8505_dr_adv\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of struck-off or deregistered companies for director\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP8505\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NP8506_dr_adv_disq_60m_ever\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of external administration companies for director or disqualified directorships in the last 60 months-ever\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NP8506\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7511_sci_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of consumer SCI in the last 84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7511\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7512_sci_latamt_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total latest dollar amount of consumer SCI in the last 84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"-991\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7512\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7587_df_latamt_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total latest dollar amount of consumer defaults/SCI in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"45000\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7587\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7588_df_latamt_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total latest dollar amount of consumer defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"45500\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7588\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NX7601_adv_48_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Consumer adverse on file flag in the last 48/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Y\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NX7601\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7511_sci_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Number of commercial SCI in the last 84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"count\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7511\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7512_sci_latamt_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total latest dollar amount of commercial SCI in the last 84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"0\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7512\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7587_df_latamt_12m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total latest dollar amount of commercial defaults/SCI in the last 12 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1100\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7587\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7588_df_latamt_60_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Total latest dollar amount of commercial defaults/SCI in the last 60/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"AUD\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"1100\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7588\",\r\n \"_key-characteristic\": \"true\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"variable-name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"NY7601_adv_48_84m\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Commercial adverse on file flag in the last 48/84 months\"\r\n },\r\n \"value\": {\r\n \"_unit\": \"char\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Y\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"N\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Negative\"\r\n },\r\n \"_id\": \"NY7601\",\r\n \"_key-characteristic\": \"false\",\r\n \"__prefix\": \"vs\"\r\n }\r\n ],\r\n \"_name\": \"genesis\",\r\n \"_type\": \"standard\",\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"score-data\": {\r\n \"score\": {\r\n \"scorecard\": {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"VedaScore Apply\"\r\n },\r\n \"version\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"2.0\"\r\n },\r\n \"type\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Consumer+Commercial\"\r\n },\r\n \"data-level\": {\r\n \"_code\": \"C\",\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Comprehensive\"\r\n },\r\n \"_id\": \"VSA_2.0_XY_CR\",\r\n \"__prefix\": \"vs\"\r\n },\r\n \"risk-odds\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"6.964404506368992\"\r\n },\r\n \"key-contributing-factors\": {\r\n \"contributing-factor\": [\r\n {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Public Adverse Information\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"The existence of public adverse information such as court judgements and writs can have a powerful impact on risk.\"\r\n },\r\n \"score-impactor\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Greatly Increases Risk\"\r\n },\r\n \"_id\": \"KCF-011\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Commercial Default Information\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"The existence of commercial default information can be a powerful indicator of risk.\"\r\n },\r\n \"score-impactor\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Marginally Increases Risk\"\r\n },\r\n \"_id\": \"KCF-010\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Time Since Observed Delinquency\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"The length of time since the last late payment made can be an indicator of risk.\"\r\n },\r\n \"score-impactor\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Marginally Increases Risk\"\r\n },\r\n \"_id\": \"KCF-015\",\r\n \"__prefix\": \"vs\"\r\n },\r\n {\r\n \"name\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Consumer Default Information\"\r\n },\r\n \"description\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"The existence of consumer default information can be a powerful indicator of risk.\"\r\n },\r\n \"score-impactor\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"Marginally Increases Risk\"\r\n },\r\n \"_id\": \"KCF-007\",\r\n \"__prefix\": \"vs\"\r\n }\r\n ],\r\n \"__prefix\": \"vs\"\r\n },\r\n \"score-masterscale\": {\r\n \"__prefix\": \"vs\",\r\n \"__text\": \"480\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"__prefix\": \"vs\"\r\n },\r\n \"_xmlns:vs\": \"http://vedaxml.com/vxml2/vedascore-apply-v2-0.xsd\",\r\n \"_xmlns:xsi\": \"http://www.w3.org/2001/XMLSchema-instance\",\r\n \"_response-type\": \"report\",\r\n \"_xsi:schemaLocation\": \"http://vedaxml.com/vxml2/vedascore-apply-v2-0.xsd ..\\\\..\\\\vedascore-apply-v2-0-6.xsd\",\r\n \"__prefix\": \"vs\"\r\n }\r\n\r\nexport default creditSummary;\r\n","\r\n\r\nexport const USERROLES = {\r\n IdentityVerified: \"IV\",\r\n IdentityNotVerified: \"INV\",\r\n IdentityVerifiedCount: \"ICV\",\r\n IdentityVerifiedDriverLicence: \"IDL\",\r\n IdentityVerifiedPassport: \"IPA\",\r\n IdentityVerifiedMedicare: \"IME\",\r\n TemporaryPassword: \"TP\",\r\n EmailVerified: \"EV\",\r\n MobileVerified: \"MV\",\r\n OneFactor: \"1FA\",\r\n TwoFactor: \"2FA\",\r\n IsInCohort: \"IHC\",\r\n RoleSeparator: \",\"\r\n };\r\n \r\n\r\n\r\nexport const hasOneRole = (roles, roleToFind) => {\r\n let hasTheRole = roleToFind == undefined;\r\n\r\n if(roles && !hasTheRole){\r\n let rs = roles.split(USERROLES.RoleSeparator);\r\n if(rs){\r\n let roleFound = null;\r\n for(let i = 0; i < rs.length && !roleFound; i++){\r\n if(rs[i] == roleToFind){\r\n roleFound = rs[i];\r\n }\r\n }\r\n\r\n hasTheRole = roleFound;\r\n }\r\n }\r\n\r\n return hasTheRole;\r\n};\r\n\r\nexport const getDvsInfoFromRoles = (roles) => {\r\n var ret = {};\r\n ret.isDriverLicenceDone = hasOneRole(roles, USERROLES.IdentityVerifiedDriverLicence);\r\n ret.isPassportDone = hasOneRole(roles, USERROLES.IdentityVerifiedPassport);\r\n ret.isMedicareDone = hasOneRole(roles, USERROLES.IdentityVerifiedMedicare);\r\n ret.dvsCount = (ret.isDriverLicenceDone ? 1:0) + \r\n (ret.isMedicareDone ? 1:0) + \r\n (ret.isPassportDone ? 1:0);\r\n return ret;\r\n}\r\n\r\n","import * as ImagesPath from '../../config/imagesPath';\r\n\r\nexport const productTypes = {\r\n homeloan: 1,\r\n carloan: 2,\r\n personalloan: 3,\r\n businessloan: 4,\r\n creditcard: 5,\r\n refinancemortgage: 6,\r\n insurance: 7,\r\n insuranceCar: 8,\r\n insuranceHome: 9,\r\n insuranceLife: 10,\r\n insuranceProtection: 11,\r\n homeLoanAssistant: 12,\r\n homeLoanAssistantExpert: 15,\r\n};\r\n\r\nexport const insuranceProducts = [\r\n {\r\n id : \"insurancecar\",\r\n title : \"Car Insurance\",\r\n imgUrl : ImagesPath.ImgProduct_InsuranceCar,\r\n callToAction:\r\n {\r\n title: \"GET QUOTE\",\r\n action: {}\r\n },\r\n href: null,\r\n show: true,\r\n actionRoute: null,\r\n features: [\r\n { key:\"1\", title : \"15% online discount\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Quote in just 2 mins\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Lifetime guarantee on authorised repairs\", classToAppend: \"hidden-xs\"},\r\n { key:\"4\", title : \"21 day money-back guarantee\", classToAppend: \"hidden-xs\"},\r\n ]\r\n },\r\n {\r\n id : \"insurancehome\",\r\n title : \"Home Insurance\",\r\n imgUrl : ImagesPath.ImgProduct_InsuranceHome,\r\n callToAction:\r\n {\r\n title: \"GET QUOTE\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Up to 30% online discount\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Home and/or Contents\", classToAppend: \"\"},\r\n {key:\"3\", title : \"Quick & easy quote\", classToAppend: \"hidden-xs\"},\r\n {key:\"4\", title : \"21 day money-back guarantee\", classToAppend: \"hidden-xs\"},\r\n ]\r\n },{\r\n id : \"insurancelife\",\r\n title : \"Life Insurance\",\r\n imgUrl : ImagesPath.ImgProduct_InsuranceLife,\r\n callToAction:\r\n {\r\n title: \"GET QUOTE\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Lump sum up to $1 million\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Advance funeral payment\", classToAppend: \"\"},\r\n { key:\"3\", title : \"No medical required\", classToAppend: \"hidden-xs\"},\r\n { key:\"4\", title : \"No extra to pay monthly\", classToAppend: \"hidden-xs\"},\r\n ]\r\n },\r\n {\r\n id : \"incomeprotection\",\r\n title : \"Income Protection\",\r\n imgUrl : ImagesPath.ImgProduct_InsuranceIncome,\r\n callToAction:\r\n {\r\n title: \"GET QUOTE\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Monthly benefit up to $10,000\", classToAppend: \"\" },\r\n { key:\"2\", title : \"No premiums while you claim\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Benefit period of 1,2 or 5 years\", classToAppend: \"hidden-xs\"},\r\n { key:\"4\", title : \"Choose 30 or 60 day waiting period\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n];\r\n\r\n\r\n// export const products = [\r\n// {\r\n// id : \"creditcard_rc_table\",\r\n// linkRef: \"creditcard\",\r\n// title : \"Credit Card\",\r\n// imgUrl : ImagesPath.ImgProduct_CC,\r\n// imgUrl_Sales : ImagesPath.ImgProduct_CC_Sales,\r\n// show: false,\r\n// callToAction:\r\n// {\r\n// title: 'GET FEATURED DEAL',\r\n// salesTitle: \"Credit Cards\",\r\n// action: {}\r\n// },\r\n// features: [\r\n// { key:\"1\", title : \"Comprehensive comparison\", classToAppend: \"\" },\r\n// { key:\"2\", title : \"Approx. 200 different products\", classToAppend: \"\"},\r\n// { key:\"3\", title : \"0% Balance Transfer cards\", classToAppend: \"\"},\r\n// { key:\"4\", title : \"Reward program cards\", classToAppend: \"hidden-xs\"},\r\n// { key:\"5\", title : \"Frequent flyer cards\", classToAppend: \"hidden-xs\"},\r\n// ]\r\n// }\r\n// ];\r\n//\r\nexport const products = [\r\n {\r\n id : \"creditcard_rc_table\",\r\n linkRef: \"creditcard\",\r\n title : \"Credit Card\",\r\n imgUrl : ImagesPath.ImgProduct_CC,\r\n imgUrl_Sales : ImagesPath.ImgProduct_CC_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Credit Cards\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Comprehensive comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Approx. 200 different products\", classToAppend: \"\"},\r\n { key:\"3\", title : \"0% Balance Transfer cards\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Reward program cards\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Frequent flyer cards\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n , {\r\n id : \"creditcard_rc_selectedCards\",\r\n linkRef: \"creditcard\",\r\n title : \"Credit Card\",\r\n imgUrl : ImagesPath.ImgProduct_CC,\r\n imgUrl_Sales : ImagesPath.ImgProduct_CC_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Credit Cards\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Comprehensive comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Approx. 200 different products\", classToAppend: \"\"},\r\n { key:\"3\", title : \"0% Balance Transfer cards\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Reward program cards\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Frequent flyer cards\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n , {\r\n id : \"creditcard_rc_bestccs\",\r\n linkRef: \"creditcard\",\r\n title : \"Credit Card\",\r\n imgUrl : ImagesPath.ImgProduct_CC,\r\n imgUrl_Sales : ImagesPath.ImgProduct_CC_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Credit Cards\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Comprehensive comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Approx. 200 different products\", classToAppend: \"\"},\r\n { key:\"3\", title : \"0% Balance Transfer cards\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Reward program cards\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Frequent flyer cards\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"creditcard_ccc_frequentflyer\",\r\n linkRef: \"creditcard\",\r\n title : \"Credit Card\",\r\n imgUrl : ImagesPath.ImgProduct_CC,\r\n imgUrl_Sales : ImagesPath.ImgProduct_CC_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Credit Cards\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Comprehensive comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Approx. 200 different products\", classToAppend: \"\"},\r\n { key:\"3\", title : \"0% Balance Transfer cards\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Reward program cards\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Frequent flyer cards\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"creditcard_ccc_bt\",\r\n linkRef: \"creditcard\",\r\n title : \"Credit Card\",\r\n imgUrl : ImagesPath.ImgProduct_CC,\r\n imgUrl_Sales : ImagesPath.ImgProduct_CC_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Credit Cards\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Comprehensive comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Approx. 200 different products\", classToAppend: \"\"},\r\n { key:\"3\", title : \"0% Balance Transfer cards\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Reward program cards\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Frequent flyer cards\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 509;\r\n isSatisfied = isSatisfied && userProfile && userProfile.extras && userProfile.extras.age >= 24 && userProfile.extras.age <= 54;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"creditcard_ccc_best\",\r\n linkRef: \"creditcard\",\r\n title : \"Credit Card\",\r\n imgUrl : ImagesPath.ImgProduct_CC,\r\n imgUrl_Sales : ImagesPath.ImgProduct_CC_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Credit Cards\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Comprehensive comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Approx. 200 different products\", classToAppend: \"\"},\r\n { key:\"3\", title : \"0% Balance Transfer cards\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Reward program cards\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Frequent flyer cards\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 509;\r\n isSatisfied = isSatisfied && userProfile && userProfile.extras && userProfile.extras.age >= 24 && userProfile.extras.age <= 54;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"creditcard_westpac\",\r\n linkRef: \"creditcard\",\r\n title : \"Credit Card\",\r\n imgUrl : ImagesPath.ImgProduct_CC,\r\n imgUrl_Sales : ImagesPath.ImgProduct_CC_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Credit Cards\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Comprehensive comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Approx. 200 different products\", classToAppend: \"\"},\r\n { key:\"3\", title : \"0% Balance Transfer cards\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Reward program cards\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Frequent flyer cards\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 700;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"creditcard_hsbc\",\r\n linkRef: \"creditcard\",\r\n title : \"Credit Card\",\r\n imgUrl : ImagesPath.ImgProduct_CC,\r\n imgUrl_Sales : ImagesPath.ImgProduct_CC_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Credit Cards\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Comprehensive comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Approx. 200 different products\", classToAppend: \"\"},\r\n { key:\"3\", title : \"0% Balance Transfer cards\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Reward program cards\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Frequent flyer cards\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 700;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"creditcard_ccc_homepage\",\r\n linkRef: \"creditcard\",\r\n title : \"Credit Card\",\r\n imgUrl : ImagesPath.ImgProduct_CC,\r\n imgUrl_Sales : ImagesPath.ImgProduct_CC_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Credit Cards\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Comprehensive comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Approx. 200 different products\", classToAppend: \"\"},\r\n { key:\"3\", title : \"0% Balance Transfer cards\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Reward program cards\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Frequent flyer cards\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"personalloan_nowfinance\",\r\n linkRef: \"personalloan\",\r\n title : \"Personal Loan\",\r\n imgUrl : ImagesPath.ImgProduct_PersonalLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_PersonalLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Personal Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Tailored to your credit score\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Borrow up to $50,000\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote before you apply\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Fast approval Process\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"100% online\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 600;\r\n isSatisfied = isSatisfied && userProfile && userProfile.extras && userProfile.extras.age >= 21 && userProfile.extras.age <= 60;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"personalloan_harmoney\",\r\n linkRef: \"personalloan\",\r\n title : \"Personal Loan\",\r\n imgUrl : ImagesPath.ImgProduct_PersonalLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_PersonalLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Personal Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Tailored to your credit score\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Borrow up to $50,000\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote before you apply\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Fast approval Process\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"100% online\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 500;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"personalloan_societyone\",\r\n linkRef: \"personalloan\",\r\n title : \"Personal Loan\",\r\n imgUrl : ImagesPath.ImgProduct_PersonalLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_PersonalLoan_Sales,\r\n show: false,\r\n hasHandshake: true,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Personal Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Tailored to your credit score\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Borrow up to $50,000\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote before you apply\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Fast approval Process\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"100% online\", classToAppend: \"hidden-xs\"},\r\n ]\r\n ,\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 622;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"personalloan_ratecity\",\r\n linkRef: \"personalloan\",\r\n title : \"Personal Loan\",\r\n imgUrl : ImagesPath.ImgProduct_PersonalLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_PersonalLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Personal Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Tailored to your credit score\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Borrow up to $50,000\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote before you apply\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Fast approval Process\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"100% online\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"personalloan_ratecity_best\",\r\n linkRef: \"personalloan\",\r\n title : \"Personal Loan\",\r\n imgUrl : ImagesPath.ImgProduct_PersonalLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_PersonalLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Personal Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Tailored to your credit score\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Borrow up to $50,000\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote before you apply\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Fast approval Process\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"100% online\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"personalloan_pepper\",\r\n linkRef: \"personalloan\",\r\n title : \"Personal Loan\",\r\n imgUrl : ImagesPath.ImgProduct_PersonalLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_PersonalLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Personal Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Tailored to your credit score\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Borrow up to $50,000\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote before you apply\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Fast approval Process\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"100% online\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n \r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 700; \r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"personalloan_p1\",\r\n linkRef: \"personalloan\",\r\n title : \"Personal Loan\",\r\n imgUrl : ImagesPath.ImgProduct_PersonalLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_PersonalLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Personal Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Tailored to your credit score\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Borrow up to $50,000\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote before you apply\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Fast approval Process\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"100% online\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"personalloan_p2\",\r\n linkRef: \"personalloan\",\r\n title : \"Personal Loan\",\r\n imgUrl : ImagesPath.ImgProduct_PersonalLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_PersonalLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Personal Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Tailored to your credit score\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Borrow up to $50,000\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote before you apply\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Fast approval Process\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"100% online\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"personalloan_maccredit\",\r\n linkRef: \"personalloan\",\r\n title : \"Personal Loan\",\r\n imgUrl : ImagesPath.ImgProduct_PersonalLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_PersonalLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Personal Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Tailored to your credit score\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Borrow up to $50,000\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote before you apply\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Fast approval Process\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"100% online\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){ \r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 480 && scoreProfile.scoreInfo.score <= 600;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"MoneyPlace_pl\",\r\n linkRef: \"personalloan\",\r\n title : \"Personal Loan\",\r\n imgUrl : ImagesPath.ImgProduct_PersonalLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_PersonalLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Personal Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Tailored to your credit score\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Borrow up to $50,000\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote before you apply\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Fast approval Process\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"100% online\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 501 && scoreProfile.scoreInfo.score <= 900;\r\n isSatisfied = isSatisfied && userProfile && userProfile.extras && userProfile.extras.age >= 20 && userProfile.extras.age <= 60;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"RateSetter_pl\",\r\n linkRef: \"personalloan\",\r\n title : \"Personal Loan\",\r\n imgUrl : ImagesPath.ImgProduct_PersonalLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_PersonalLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Personal Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Tailored to your credit score\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Borrow up to $50,000\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote before you apply\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Fast approval Process\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"100% online\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 726;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"personalloan_latitude\",\r\n linkRef: \"personalloan\",\r\n title : \"Personal Loan\",\r\n imgUrl : ImagesPath.ImgProduct_PersonalLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_PersonalLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Personal Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Tailored to your credit score\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Borrow up to $50,000\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote before you apply\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Fast approval Process\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"100% online\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 650;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"homeloan\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Online approval\", classToAppend: \"\" },\r\n {key:\"2\", title : \"1600 loans from 30 lenders\", classToAppend: \"\"},\r\n {key:\"3\", title : \"Online chat support\", classToAppend: \"\"},\r\n {key:\"4\", title : \"Loan matched to your needs\", classToAppend: \"hidden-xs\"},\r\n {key:\"5\", title : \"Loan approval assistance\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"homeloan_hashching\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Pre-negotiated savings $$$\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Broker does all your paperwork\", classToAppend: \"\"},\r\n {key:\"3\", title : \"Deals not advertised by lenders\", classToAppend: \"\"},\r\n {key:\"4\", title : \"25% cash back on home insurance\", classToAppend: \"hidden-xs\"},\r\n {key:\"5\", title : \"Obligation & cost free\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n\t\t ,{\r\n id : \"homeloan_joust_A\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n hasHandshake: true,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Banks bid live for your business\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Create competitive tension\", classToAppend: \"\"},\r\n {key:\"3\", title : \"Reduce middleman costs \", classToAppend: \"\"},\r\n {key:\"4\", title : \"You choose the lender based on how hard they chase your business \", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n // return {\r\n // isSatisfied: true,\r\n // altId: this.altProductIdentifier\r\n // };\r\n\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 700;\r\n isSatisfied = isSatisfied && userProfile && userProfile.extras && userProfile.extras.state != 'TAS';\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"homeloan_joust_B\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n hasHandshake: true,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Banks bid live for your business\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Create competitive tension\", classToAppend: \"\"},\r\n {key:\"3\", title : \"Reduce middleman costs \", classToAppend: \"\"},\r\n {key:\"4\", title : \"You choose the lender based on how hard they chase your business \", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 700;\r\n isSatisfied = isSatisfied && userProfile && userProfile.extras && userProfile.extras.state != 'TAS';\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"homeloan_ratecity\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Sort by lowest rates\", classToAppend: \"\"},\r\n {key:\"3\", title : \"See minimum deposit\", classToAppend: \"\"},\r\n {key:\"4\", title : \"View repayment amount\", classToAppend: \"hidden-xs\"},\r\n {key:\"5\", title : \"Simple to enquire\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"homeloan_ratecity_IMB_HL\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n hasHandshake: true,\r\n hasPushLead: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Sort by lowest rates\", classToAppend: \"\"},\r\n {key:\"3\", title : \"See minimum deposit\", classToAppend: \"\"},\r\n {key:\"4\", title : \"View repayment amount\", classToAppend: \"hidden-xs\"},\r\n {key:\"5\", title : \"Simple to enquire\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"homeloan_ratecity_virgin\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Sort by lowest rates\", classToAppend: \"\"},\r\n {key:\"3\", title : \"See minimum deposit\", classToAppend: \"\"},\r\n {key:\"4\", title : \"View repayment amount\", classToAppend: \"hidden-xs\"},\r\n {key:\"5\", title : \"Simple to enquire\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"homeloan_ratecity_amp\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n hasHandshake: false,\r\n hasPushLead: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Sort by lowest rates\", classToAppend: \"\"},\r\n {key:\"3\", title : \"See minimum deposit\", classToAppend: \"\"},\r\n {key:\"4\", title : \"View repayment amount\", classToAppend: \"hidden-xs\"},\r\n {key:\"5\", title : \"Simple to enquire\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"homeloan_uno\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n hasHandshake: true,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easily compare more options\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Online application & approval\", classToAppend: \"\"},\r\n {key:\"3\", title : \"Fast personalised service 7 days\", classToAppend: \"\"},\r\n {key:\"4\", title : \"If you find a better deal, they’ll pay the difference for a year\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"homeloan_uno_betterrate\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n hasHandshake: true,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easily compare more options\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Online application & approval\", classToAppend: \"\"},\r\n {key:\"3\", title : \"Fast personalised service 7 days\", classToAppend: \"\"},\r\n {key:\"4\", title : \"If you find a better deal, they’ll pay the difference for a year\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"homeloan_pepper\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n hasHandshake: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easily compare more options\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Online application & approval\", classToAppend: \"\"},\r\n {key:\"3\", title : \"Fast personalised service 7 days\", classToAppend: \"\"},\r\n {key:\"4\", title : \"If you find a better deal, they’ll pay the difference for a year\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"homeloan_wizard\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easily compare more options\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Online application & approval\", classToAppend: \"\"},\r\n {key:\"3\", title : \"Fast personalised service 7 days\", classToAppend: \"\"},\r\n {key:\"4\", title : \"If you find a better deal, they’ll pay the difference for a year\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"homeloan_ing\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n hasHandshake: false,\r\n hasPushLead: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Sort by lowest rates\", classToAppend: \"\"},\r\n {key:\"3\", title : \"See minimum deposit\", classToAppend: \"\"},\r\n {key:\"4\", title : \"View repayment amount\", classToAppend: \"hidden-xs\"},\r\n {key:\"5\", title : \"Simple to enquire\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"homeloan_ratecity_hls\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n hasHandshake: false,\r\n hasPushLead: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Sort by lowest rates\", classToAppend: \"\"},\r\n {key:\"3\", title : \"See minimum deposit\", classToAppend: \"\"},\r\n {key:\"4\", title : \"View repayment amount\", classToAppend: \"hidden-xs\"},\r\n {key:\"5\", title : \"Simple to enquire\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 621;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n } \r\n ,{\r\n id : \"homeloan_h1\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n hasHandshake: false,\r\n hasPushLead: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Sort by lowest rates\", classToAppend: \"\"},\r\n {key:\"3\", title : \"See minimum deposit\", classToAppend: \"\"},\r\n {key:\"4\", title : \"View repayment amount\", classToAppend: \"hidden-xs\"},\r\n {key:\"5\", title : \"Simple to enquire\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 621;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n } \r\n ,{\r\n id : \"homeloan_h2\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n hasHandshake: false,\r\n hasPushLead: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Sort by lowest rates\", classToAppend: \"\"},\r\n {key:\"3\", title : \"See minimum deposit\", classToAppend: \"\"},\r\n {key:\"4\", title : \"View repayment amount\", classToAppend: \"hidden-xs\"},\r\n {key:\"5\", title : \"Simple to enquire\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 621;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n } \r\n ,{\r\n id : \"homeloan_ratecity_comp_table\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n hasHandshake: false,\r\n hasPushLead: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Sort by lowest rates\", classToAppend: \"\"},\r\n {key:\"3\", title : \"See minimum deposit\", classToAppend: \"\"},\r\n {key:\"4\", title : \"View repayment amount\", classToAppend: \"hidden-xs\"},\r\n {key:\"5\", title : \"Simple to enquire\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"homeloan_rams\",\r\n linkRef: \"homeloan\",\r\n title : \"Home Loan\",\r\n imgUrl : ImagesPath.ImgProduct_HomeLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_HomeLoan_Sales,\r\n show: false,\r\n hasHandshake: false,\r\n hasPushLead: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Home Loans\",\r\n action: {}\r\n },\r\n features: [\r\n {key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n {key:\"2\", title : \"Sort by lowest rates\", classToAppend: \"\"},\r\n {key:\"3\", title : \"See minimum deposit\", classToAppend: \"\"},\r\n {key:\"4\", title : \"View repayment amount\", classToAppend: \"hidden-xs\"},\r\n {key:\"5\", title : \"Simple to enquire\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 600;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n } \r\n ,{\r\n id : \"autoloan_stratton\",\r\n linkRef: \"autoloan\",\r\n title : \"Car Loan\",\r\n imgUrl : ImagesPath.ImgProduct_AutoLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_AutoLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Car Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Instant quote\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Online approval\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Car & Motorbike loans\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Boat & Caravan loans\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Novated leasing options\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"autoloan_ratecity\",\r\n linkRef: \"autoloan\",\r\n title : \"Car Loan\",\r\n imgUrl : ImagesPath.ImgProduct_AutoLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_AutoLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Car Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Online approval\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Car & Motorbike loans\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Boat & Caravan loans\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Novated leasing options\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"autoloan_ratecity_imb\",\r\n linkRef: \"autoloan\",\r\n title : \"Car Loan\",\r\n imgUrl : ImagesPath.ImgProduct_AutoLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_AutoLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Car Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Online approval\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Car & Motorbike loans\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Boat & Caravan loans\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Novated leasing options\", classToAppend: \"hidden-xs\"},\r\n ]\r\n ,\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 650;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"autoloan_latitude\",\r\n linkRef: \"autoloan\",\r\n title : \"Car Loan\",\r\n imgUrl : ImagesPath.ImgProduct_AutoLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_AutoLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Car Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Online approval\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Car & Motorbike loans\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Boat & Caravan loans\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Novated leasing options\", classToAppend: \"hidden-xs\"},\r\n ]\r\n ,\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 700;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"autoloan_ratecity_loan\",\r\n linkRef: \"autoloan\",\r\n title : \"Car Loan\",\r\n imgUrl : ImagesPath.ImgProduct_AutoLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_AutoLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Car Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Online approval\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Car & Motorbike loans\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Boat & Caravan loans\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Novated leasing options\", classToAppend: \"hidden-xs\"},\r\n ]\r\n ,\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 600 && scoreProfile.scoreInfo.score <= 900;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"autoloan_ratecity_creditconcierge\",\r\n linkRef: \"autoloan\",\r\n title : \"Car Loan\",\r\n imgUrl : ImagesPath.ImgProduct_AutoLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_AutoLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Car Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Online approval\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Car & Motorbike loans\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Boat & Caravan loans\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Novated leasing options\", classToAppend: \"hidden-xs\"},\r\n ]\r\n ,\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 450;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"autoloan_firstmac\",\r\n linkRef: \"autoloan\",\r\n title : \"Car Loan\",\r\n imgUrl : ImagesPath.ImgProduct_AutoLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_AutoLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Car Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Online approval\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Car & Motorbike loans\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Boat & Caravan loans\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Novated leasing options\", classToAppend: \"hidden-xs\"},\r\n ]\r\n ,\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 650;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"Approved_car\",\r\n linkRef: \"autoloan\",\r\n title : \"Car Loan\",\r\n imgUrl : ImagesPath.ImgProduct_AutoLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_AutoLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Car Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Online approval\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Car & Motorbike loans\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Boat & Caravan loans\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Novated leasing options\", classToAppend: \"hidden-xs\"},\r\n ]\r\n ,\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 450;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"RateSetter_car\",\r\n linkRef: \"autoloan\",\r\n title : \"Car Loan\",\r\n imgUrl : ImagesPath.ImgProduct_AutoLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_AutoLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Car Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Easy online comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Online approval\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Car & Motorbike loans\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Boat & Caravan loans\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Novated leasing options\", classToAppend: \"hidden-xs\"},\r\n ]\r\n ,\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 600;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n ,{\r\n id : \"insurance\",\r\n linkRef: \"insurance\",\r\n title : \"Insurance\",\r\n imgUrl : ImagesPath.ImgProduct_Insurance,\r\n imgUrl_Sales : ImagesPath.ImgProduct_Insurance_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Insurance\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Car, Home & Life Insurance \", classToAppend: \"\" },\r\n { key:\"2\", title : \"Income protection\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Up to 30% online discount (Home)\", classToAppend: \"\"},\r\n { key:\"4\", title : \"15% online discount (Car)\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Get a quote in just minutes\", classToAppend: \"hidden-xs\"},\r\n ],\r\n subProducts : insuranceProducts\r\n }\r\n ,{\r\n id : \"insurance_altmedia\",\r\n linkRef: \"insurance\",\r\n title : \"Health Insurance\",\r\n imgUrl : ImagesPath.ImgProduct_Insurance,\r\n imgUrl_Sales : ImagesPath.ImgProduct_InsuranceBag,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Insurance\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Takes less than 2 mins \", classToAppend: \"\" },\r\n { key:\"2\", title : \"Compare policies & save\", classToAppend: \"\"},\r\n { key:\"3\", title : \"10 instant quotes\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Apply online\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Avoid paying extra taxes\", classToAppend: \"hidden-xs\"},\r\n ],\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = true;\r\n //userProfile && userProfile.extras && userProfile.extras.age >= 30;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n }\r\n\t\t ,{\r\n id : \"businessloan_valiant\",\r\n linkRef: \"businessloan\",\r\n title : \"Business Loan\",\r\n imgUrl : ImagesPath.ImgProduct_BusinessLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_BusinessLoan_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Business Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"A loan for every business type\", classToAppend: \"\" },\r\n { key:\"2\", title : \"50+ loans from over 35 lenders\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Business credit cards\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Compare rates, terms & fees\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Dedicated credit specialists\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n ,{\r\n id : \"businessloan_ondeck\",\r\n linkRef: \"businessloan\",\r\n title : \"Business Loan\",\r\n imgUrl : ImagesPath.ImgProduct_BusinessLoan,\r\n imgUrl_Sales : ImagesPath.ImgProduct_BusinessLoan_Sales,\r\n show: false,\r\n \r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Business Loans\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"$10K - $150K term loans\", classToAppend: \"\" },\r\n { key:\"2\", title : \"10 minute online application\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Funds in as fast as 1 business day\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Minimum 1 year trading req.\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Minimum 100K turnover req.\", classToAppend: \"hidden-xs\"},\r\n ]\r\n ,\r\n isCustomRuleSatisfied: function(userProfile, scoreProfile){\r\n let isSatisfied = scoreProfile && scoreProfile.scoreInfo && scoreProfile.scoreInfo.score >= 500;\r\n return {\r\n isSatisfied: isSatisfied,\r\n altId: this.altProductIdentifier\r\n };\r\n }\r\n },\r\n {\r\n id : \"utilities_one\",\r\n linkRef: \"utilities\",\r\n title : \"Utilities\",\r\n imgUrl : ImagesPath.ImgProduct_Utilities,\r\n imgUrl_Sales : ImagesPath.ImgProduct_Utilities_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Utilities\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Takes less than 2 mins \", classToAppend: \"\" },\r\n { key:\"2\", title : \"Compare policies & save\", classToAppend: \"\"},\r\n { key:\"3\", title : \"instant quotes\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Apply online\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Avoid paying extra taxes\", classToAppend: \"hidden-xs\"},\r\n ]\r\n },\r\n {\r\n id : \"car_subscription_one\",\r\n linkRef: \"carsubscription\",\r\n title : \"Car Subscription\",\r\n imgUrl : ImagesPath.ImgProduct_CarSubscription,\r\n imgUrl_Sales : ImagesPath.ImgProduct_CarSubscription_Sales,\r\n show: false,\r\n callToAction:\r\n {\r\n title: 'GET FEATURED DEAL',\r\n salesTitle: \"Car Subscription\",\r\n action: {}\r\n },\r\n features: [\r\n { key:\"1\", title : \"Takes less than 2 mins \", classToAppend: \"\" },\r\n { key:\"2\", title : \"Compare policies & save\", classToAppend: \"\"},\r\n { key:\"3\", title : \"instant quotes\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Apply online\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Avoid paying extra taxes\", classToAppend: \"hidden-xs\"},\r\n ]\r\n }\r\n];\r\n\r\nlet _partnerHandshakeConfig = {};\r\n\r\n_partnerHandshakeConfig[\"8\"] = {\r\n logoImgUrl: ImagesPath.ImgLogoJoust,\r\n description: \"Get a reverse home loan auction at Joust Home Loans and the baanks will bid on you\",\r\n cssClassForImage: \"pm-partner-joust\",\r\n features: [\r\n { key:\"1\", title : \"Set up your live Joust auction in minutes\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Watch the banks battle for your home loan\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Potentially save thousands with your better rate!\", classToAppend: \"\"},\r\n ]\r\n};\r\n\r\n_partnerHandshakeConfig[\"2\"] = {\r\n logoImgUrl: ImagesPath.ImgProduct_HomeLoan_Wizard,\r\n description: \"\",\r\n cssClassForImage: \"pm-partner-rc\",\r\n features: [\r\n { key:\"1\", title : \"Speak to an expert\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Free consultation by phone 7 days a week\", classToAppend: \"\"}\r\n ]\r\n};\r\n\r\n_partnerHandshakeConfig[\"7\"] = {\r\n logoImgUrl: ImagesPath.ImgLogoUnoWin,\r\n description: \"\",\r\n cssClassForImage: \"pm-partner-uno\",\r\n features: [\r\n { key:\"1\", title : \"See your matched deals\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Free consultation by phone 7 days a week\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Option to apply online with support from experts\", classToAppend: \"\"},\r\n ]\r\n};\r\n\r\n\r\n_partnerHandshakeConfig[\"4\"] = {\r\n logoImgUrl: ImagesPath.ImgLogoSocietyOne,\r\n description: \"Personal loans that reward your good credit\",\r\n cssClassForImage: \"\",\r\n features: [\r\n { key:\"1\", title : \"No monthly fees\", classToAppend: \"\" },\r\n { key:\"2\", title : \"No early repayment fees\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote in 2 min.\", classToAppend: \"\"}\r\n ]\r\n};\r\n\r\n\r\n\r\nexport const partnerHandshakeConfig = _partnerHandshakeConfig;\r\n","\r\n\r\nexport const imgRoot = process.env.REACT_APP_CDN_URL.substr(0, process.env.REACT_APP_CDN_URL.length - 1);\r\n\r\nexport const blueSectionImgUrl = imgRoot + '/images/activateaccount/computer-nominute.png';\r\nexport const ImgComputerShadow = imgRoot + \"/images/home/thumb-laptop-free-credit-score.png\";\r\n\r\nexport const ImgPromoGiveAwayPricesWithText = imgRoot + \"/images/promo/textbot.png\";\r\nexport const ImgPromoGiveAwayPricesWithTextTopMobile = imgRoot + \"/images/promo/texttopmobile.png\";\r\n\r\nexport const ImgNoAccountWarning = imgRoot + \"/images/home/warningohno.png\";\r\n\r\nexport const ImgLoadingSpinner1 = imgRoot + \"/images/gcs/loading.gif\";\r\n\r\nexport const ImgLogoGcsBlue = imgRoot + \"/images/logo/GCS-Logo-blue.png\";\r\nexport const ImgLogoGcsWhite = imgRoot + \"/images/logo/GCS-Logo-white.png\";\r\nexport const ImgLogoGcsBlack = imgRoot + \"/images/logo/GCS-Logo-black.png\";\r\nexport const ImgLogoGcsDialSmall = imgRoot + \"/images/logo/Gcs_dial_small.png\";\r\nexport const ImgLogoGcsBlueXmas = imgRoot + \"/images/logo/GCS-Logo-blue-xmas.png\";\r\nexport const ImgLogoGcsWhiteXmas = imgRoot + \"/images/logo/GCS-Logo-white-xmas.png\";\r\nexport const ImgLogoGcsHalloween = imgRoot + \"/images/logo/Logo_GCS_Halloween.png\";\r\nexport const ImgLogoToyota = imgRoot + \"/images/logo/toyota.png\";\r\nexport const ImgLogoBudgetDirect = imgRoot + \"/images/logo/budget-direct-logo.svg\";\r\nexport const ImgLogoJoust = imgRoot + \"/images/logo/joust-logo.png\";\r\nexport const ImgLogoUno = imgRoot + \"/images/logo/uno-logo.svg\";\r\nexport const ImgLogoUnoWin = imgRoot + \"/images/logo/uno-logo-win.png\";\r\nexport const ImgLogoSocietyOne = imgRoot + \"/images/logo/soc1_logo.png\";\r\nexport const ImgLogoToyotaFinance = imgRoot + \"/images/logo/toyota_finance_logo.svg\";\r\nexport const ImgLogoToyotaFinance2 = imgRoot + \"/images/logo/toyota-logo-2.png\";\r\nexport const ImgLogoPowerTorque = imgRoot + \"/images/logo/power-torque-logo.png\";\r\nexport const ImgLogoFirstMac = imgRoot + \"/images/logo/loans-logo-image.png\";\r\nexport const ImgLogoFirstMacHLA = imgRoot + \"/images/partner/hla_loans_dot_com.jpg\";\r\n\r\n\r\n\r\n// articles\r\nexport const ImgArticles_5waystoimproveyourcreditscore = imgRoot + \"/images/articles/5-ways-to-improve-your-credit-score.jpg\";\r\nexport const ImgArticles_mythsvsfacts = imgRoot + \"/images/articles/myths-vs-facts.png\";\r\nexport const ImgArticles_infographics = imgRoot + \"/images/articles/cs_infographic.png\";\r\nexport const ImgArticles_whenbuyinganewphone = imgRoot + \"/images/articles/when-buying-a-new-phone.jpg\";\r\nexport const ImgArticles_comprehensivecreditreporting = imgRoot + \"/images/articles/comprehensive-credit-reporting1.jpg\";\r\nexport const ImgArticles_areyoudatingacreditdude = imgRoot + \"/images/articles/are-you-dating-a-credit-dud.jpg\";\r\nexport const ImgArticles_generationbuy = imgRoot + \"/images/articles/generation-buy.jpg\";\r\nexport const ImgArticles_bonditobolivia = imgRoot + \"/images/articles/from-bondi-to-bolivia.jpg\";\r\nexport const ImgArticles_partnersbehaviour = imgRoot + \"/images/articles/could-your-partners-fin-behaviour.jpg\";\r\nexport const ImgArticles_discoveryourcreditscore = imgRoot + \"/images/articles/credit-score.jpg\";\r\nexport const ImgArticles_understandyourcreditscore = imgRoot + \"/images/articles/understanding-your-credit-score.jpg\";\r\n\r\n\r\nexport const ImgNextSteps_seewhatscontributingtoscore = imgRoot + \"/images/nextsteps/see-whats-contributing-to-score.jpg\";\r\nexport const ImgNextSteps_getbetterdealarms = imgRoot + \"/images/nextsteps/get_better_deal-arms.jpg\";\r\nexport const ImgNextSteps_requestcreditreport = imgRoot + \"/images/nextsteps/request-credit-report.jpg\";\r\nexport const ImgNextSteps_seehowyourscoreiscalculated = imgRoot + \"/images/nextsteps/see-how-your-score-calculated.jpg\";\r\nexport const ImgNextSteps_consolidateyourdebt = imgRoot + \"/images/nextsteps/consolidate-your-debt.jpg\";\r\nexport const ImgNextSteps_improveyourcreditscore = imgRoot + \"/images/nextsteps/improve-your-credit-score.jpg\";\r\nexport const ImgNextSteps_faqs = imgRoot + \"/images/nextsteps/faqs.jpg\";\r\nexport const ImgNextSteps_disputecreditreport = imgRoot + \"/images/nextsteps/dispute-your-credit-report.jpg\";\r\nexport const ImgNextSteps_protectyourscore = imgRoot + \"/images/nextsteps/protect-your-score-identity.jpg\";\r\nexport const ImgNextSteps_carinsurance = imgRoot + \"/images/nextsteps/car_insurance.jpg\";\r\nexport const ImgNextSteps_homeinsurance = imgRoot + \"/images/nextsteps/home_insurance.jpg\";\r\nexport const ImgNextSteps_creditcard = imgRoot + \"/images/nextsteps/credit_card.jpg\";\r\nexport const ImgNextSteps_homeloanuno = imgRoot + \"/images/nextsteps/home_loan_uno.jpg\";\r\nexport const ImgNextSteps_lifeinsurance = imgRoot + \"/images/nextsteps/life_insurance.jpg\";\r\nexport const ImgNextSteps_homeloanuno_1 = imgRoot + \"/images/nextsteps/home_loan_uno_1.jpg\";\r\nexport const ImgNextSteps_homeloanuno_2 = imgRoot + \"/images/nextsteps/home_loan_uno_2.jpg\";\r\nexport const ImgNextSteps_pepper = imgRoot + \"/images/nextsteps/pepper_nextsteps.jpg\";\r\nexport const ImgNextSteps_homeloanjoust = imgRoot + \"/images/nextsteps/home_loan_joust.jpg\";\r\nexport const ImgNextSteps_homeloanGeneric = imgRoot + \"/images/nextsteps/hl_generic.jpg\";\r\nexport const ImgNextSteps_homeloanUbank = imgRoot + \"/images/nextsteps/home_loan_ubank_ns.png\";\r\nexport const ImgNextSteps_homeloanUnoLoanScoreA = imgRoot + \"/images/nextsteps/uno_loanScore_tile_292x195a.png\";\r\nexport const ImgNextSteps_homeloanUnoLoanScoreB = imgRoot + \"/images/nextsteps/uno_loanScore_tile_292x195b.png\";\r\nexport const ImgNextSteps_homeloanUnoLoanScoreQ3 = imgRoot + \"/images/nextsteps/uno_gcs_q3_19_offer292x195.png\";\r\nexport const ImgNextSteps_macCredit_1 = imgRoot + \"/images/nextsteps/maccredit_1.png\";\r\nexport const ImgNextSteps_nowFinance_1 = imgRoot + \"/images/nextsteps/nowfinance_1.png\";\r\n\r\nexport const ImgNextSteps_ratesetter_hig = imgRoot + \"/images/nextsteps/ratesetter_high.png\";\r\nexport const ImgNextSteps_ratesetter_med = imgRoot + \"/images/nextsteps/ratesetter_med.png\";\r\nexport const ImgNextSteps_ratesetter_low = imgRoot + \"/images/nextsteps/ratesetter_low.png\";\r\n\r\nexport const ImgNextSteps_ondeck_ns_1 = imgRoot + \"/images/nextsteps/ondeck_ns_1.png\";\r\nexport const ImgNextSteps_gofinance_ns_1 = imgRoot + \"/images/nextsteps/gofinance_ns_1.jpg\";\r\n\r\n\r\nexport const ImgFeatures_protect = imgRoot + \"/images/features/Protect.png\";\r\nexport const ImgFeatures_free = imgRoot + \"/images/features/Free.png\";\r\nexport const ImgFeatures_save = imgRoot + \"/images/features/Save.png\";\r\nexport const ImgFeatures_quick = imgRoot + \"/images/features/Quick.png\";\r\nexport const ImgFeatures_safe = imgRoot + \"/images/features/Safe.png\";\r\nexport const ImgFeatures_detailed = imgRoot + \"/images/features/Detailed.png\";\r\n\r\n\r\n\r\nexport const ImgDashboard_score = imgRoot + \"/images/dashboard/Score.png\";\r\nexport const ImgDashboard_history = imgRoot + \"/images/dashboard/History.png\";\r\nexport const ImgDashboard_compare = imgRoot + \"/images/dashboard/Compare.png\";\r\n\r\n\r\n\r\nexport const ImgProduct_InsuranceCar = imgRoot + \"/images/products/insurance/svg/car-insurance.svg\";\r\nexport const ImgProduct_InsuranceHome = imgRoot + \"/images/products/insurance/svg/home-insurance.svg\";\r\nexport const ImgProduct_InsuranceLife = imgRoot + \"/images/products/insurance/svg/life-insurance.svg\";\r\nexport const ImgProduct_InsuranceIncome = imgRoot + \"/images/products/insurance/svg/income-insurance.svg\";\r\n\r\nexport const ImgProduct_InsuranceBag = imgRoot + \"/images/products/insurance-health.png\";\r\n\r\n\r\n\r\nexport const ImgProduct_CC = imgRoot + \"/images/products/Credit-Card.png\";\r\nexport const ImgProduct_CC_Sales = imgRoot + \"/images/products/cc_4.png\";\r\n\r\nexport const ImgProduct_PersonalLoan = imgRoot + \"/images/products/Personal-Loan.png\";\r\nexport const ImgProduct_PersonalLoan_Sales = imgRoot + \"/images/products/personal_loan_2.png\";\r\n\r\nexport const ImgProduct_HomeLoan = imgRoot + \"/images/products/Home-Loan.png\";\r\nexport const ImgProduct_HomeLoan_Sales = imgRoot + \"/images/products/home_loan_3.png\";\r\nexport const ImgProduct_HomeLoan_Wizard = imgRoot + \"/images/logo/ratecity-logo.svg\";\r\n\r\nexport const ImgProduct_AutoLoan = imgRoot + \"/images/products/Auto-Loan.png\";\r\nexport const ImgProduct_AutoLoan_Sales = imgRoot + \"/images/products/car_loan_2.png\";\r\n\r\nexport const ImgProduct_CarSubscription = imgRoot + \"/images/products/Auto-Loan.png\";\r\nexport const ImgProduct_CarSubscription_Sales = imgRoot + \"/images/products/car_subscription_1.png\";\r\n\r\nexport const ImgProduct_Utilities = imgRoot + \"/images/products/Home-Loan.png\";\r\nexport const ImgProduct_Utilities_Sales = imgRoot + \"/images/products/utilities_1.png\";\r\n\r\nexport const ImgProduct_Insurance = imgRoot + \"/images/products/insurance.png\";\r\nexport const ImgProduct_Insurance_Sales = imgRoot + \"/images/products/insurance_3.png\";\r\n\r\nexport const ImgProduct_BusinessLoan = imgRoot + \"/images/products/Business-Loan.png\";\r\nexport const ImgProduct_BusinessLoan_Sales = imgRoot + \"/images/products/business_loan_3.png\";\r\n\r\n\r\nexport const ImgProduct_CC_Offer_Anz = imgRoot + \"/images/products/credit-card-offers/cc-anz-low-rate-platinum.png\";\r\nexport const ImgProduct_CC_Offer_Citi = imgRoot + \"/images/products/credit-card-offers/cc-citi-rewards-platinum.png\";\r\nexport const ImgProduct_CC_Offer_Hsbc1 = imgRoot + \"/images/products/credit-card-offers/cc-hsbc-1.png\";\r\nexport const ImgProduct_CC_Offer_Virgin = imgRoot + \"/images/products/credit-card-offers/cc-virgin-2.png\";\r\n\r\nexport const ImgInput_GenderMale = imgRoot + \"/images/registration/male.png\";\r\nexport const ImgInput_GenderFemale = imgRoot + \"/images/registration/male.png\";\r\n\r\nexport const ImgWizard_Like = imgRoot + '/images/about-me/like.png';\r\nexport const ImgWizard_HomeLoan_Signed = imgRoot + \"/images/wizard/signed.png\";\r\nexport const ImgWizard_HomeLoan_ThumbUp = imgRoot + \"/images/wizard/thumbup.png\";\r\nexport const ImgWizard_HomeLoan_Magnifier = imgRoot + \"/images/wizard/magnifier.png\";\r\nexport const ImgWizard_HomeLoan_Info = imgRoot + \"/images/wizard/info.png\";\r\n\r\n\r\nexport const ImgWizard_CreditCardPage_Banner = imgRoot + \"/images/credit-card-offers/credit-card.png\";\r\nexport const ImgWizard_CreditCard_Banner = imgRoot + \"/images/credit-cards/credit-card.png\";\r\n\r\n\r\n\r\nexport const ImgHome_Faq = imgRoot + \"/images/home/home_faq.png\";\r\n\r\n\r\nexport const ImgFeatured_Sunrise = imgRoot + \"/images/featured/Sunrise.png\";\r\nexport const ImgFeatured_News = imgRoot + \"/images/featured/news.png\";\r\nexport const ImgFeatured_Channel = imgRoot + \"/images/featured/Channel-7.png\";\r\nexport const ImgFeatured_Financial = imgRoot + \"/images/featured/Financial-Review.png\";\r\nexport const ImgFeatured_CRates = imgRoot + \"/images/featured/cr_logo.png\";\r\nexport const ImgFeatured_BadCredit = imgRoot + \"/images/featured/bc-logo.png\";\r\n\r\n\r\n\r\nexport const ImgActivateAccount_Computer = imgRoot + \"/images/activateaccount/computer.png\";\r\n\r\nexport const ImgEmailSent_NewEmail = imgRoot + \"/images/email-sent-blue/new-email.jpg\";\r\n\r\nexport const ImgRegistration_IconSafe = imgRoot + \"/images/registration/icon-safe.png\";\r\nexport const ImgRegistration_IconDiamond = imgRoot + \"/images/registration/icon-diamond.png\";\r\nexport const ImgRegistration_IconClock = imgRoot + \"/images/registration/icon-clock.png\";\r\n\r\n\r\nexport const ImgPromotion_Peazie_Prizes = imgRoot + \"/images/promo/prizes.png\";\r\nexport const ImgPromotion_Peazie_Headline = imgRoot + \"/images/promo/headline.png\";\r\nexport const ImgPromotion_Peazie_Texttop = imgRoot + \"/images/promo/texttop.png\";\r\n\r\n\r\nexport const ImgDashboard_NoScore_Person = imgRoot + '/images/dashboard/noscore/person.png';\r\nexport const ImgDashboard_NoScore_Paper = imgRoot + '/images/dashboard/noscore/paper.png';\r\nexport const ImgDashboard_NoScore_Phone = imgRoot + '/images/dashboard/noscore/phone.png';\r\nexport const ImgDashboard_NoScore_Card = imgRoot + '/images/dashboard/noscore/card.png';\r\n\r\n\r\nexport const ImgGcs_Preloader = imgRoot + '/images/gcs/preloader.gif';\r\n\r\n\r\nexport const ImgDashboard_Dial_Blank = imgRoot + '/images/dial/Dial-blank.png';\r\n\r\nexport const ImgScoreMapRoot = imgRoot + '/images/score-map/';\r\nexport const ImgScoreMap_GenerationY = imgRoot + '/images/score-map/avatar-18+round.png';\r\nexport const ImgScoreMap_GenerationX = imgRoot + '/images/score-map/avatar-35+round.png';\r\nexport const ImgScoreMap_GenerationBoomer = imgRoot + '/images/score-map/avatar-45+round.png';\r\nexport const ImgScoreMap_GenerationBuilder = imgRoot + '/images/score-map/avatar-65+round.png';\r\nexport const ImgScoreMap_IconEmail = imgRoot + '/images/score-map/icon-email.png';\r\nexport const ImgScoreMap_IconFB = imgRoot + '/images/score-map/icon-fb.png';\r\nexport const ImgScoreMap_IconG = imgRoot + '/images/score-map/icon-g+.png';\r\nexport const ImgScoreMap_IconTwitter = imgRoot + '/images/score-map/icon-twitter.png';\r\nexport const ImgScoreMap_Avatar = imgRoot + '/images/score-map/avatars-grouped.png';\r\n\r\n// New Images\r\nexport const ImgLogo = imgRoot + '/images/new/logo/logo.png';\r\nexport const ImgLogoBlack = imgRoot + '/images/new/logo/logo-black.svg';\r\nexport const ImgLogoWhite = imgRoot + '/images/new/logo/logo-white.svg';\r\n\r\n\r\nexport const ImgIconMobile = imgRoot + '/images/new/icons/hamburger.svg';\r\nexport const ImgIconMobileWhite = imgRoot + '/images/new/icons/hamburger-white.svg';\r\nexport const ImgIconSee = imgRoot + '/images/new/icons/see.svg';\r\n\r\n\r\nexport const ImgPictureHome = imgRoot + '/images/new/picture/home-1.png';\r\nexport const ImgPictureHome_2x = imgRoot + '/images/new/picture/home-1@2x.png';\r\nexport const ImgPictureHome1 = imgRoot + '/images/new/picture/home-1.png';\r\nexport const ImgPictureHome2 = imgRoot + '/images/new/picture/home-2.png';\r\nexport const ImgPictureHome2_2x = imgRoot + '/images/new/picture/home-2@2x.png';\r\nexport const ImgPictureHome3 = imgRoot + '/images/new/picture/home-3.png';\r\nexport const ImgPictureHome4 = imgRoot + '/images/new/picture/home-4.png';\r\nexport const ImgPictureHome4_2x = imgRoot + '/images/new/picture/home-4@2x.png';\r\nexport const ImgPictureHome5_2x = imgRoot + '/images/new/picture/home-5@2x.png';\r\n\r\nexport const ImgIcon1a = imgRoot + '/images/new/icons/1a.svg';\r\nexport const ImgIcon2a = imgRoot + '/images/new/icons/2a.svg';\r\nexport const ImgIcon3a = imgRoot + '/images/new/icons/3a.svg';\r\nexport const ImgIcon4a = imgRoot + '/images/new/icons/4a.svg';\r\n\r\nexport const ImgLogoSeven2 = imgRoot + '/images/new/logo/seven2.png';\r\nexport const ImgLogoNews = imgRoot + '/images/new/logo/news.png';\r\nexport const ImgLogoCredrates = imgRoot + '/images/new/logo/credrates.png';\r\nexport const ImgLogoFinancial = imgRoot + '/images/new/logo/financial.png';\r\nexport const ImgLogoSunrise = imgRoot + '/images/new/logo/sunrise.png';\r\nexport const ImgLogoBadcredit2 = imgRoot + '/images/new/logo/badcredit2.png';\r\n\r\nexport const ImgIconSvgHome1 = imgRoot + '/images/new/icons/home-1.svg';\r\nexport const ImgIconSvgHome9 = imgRoot + '/images/new/icons/home-9.svg';\r\nexport const ImgIconSvgHome3 = imgRoot + '/images/new/icons/home-3.svg';\r\nexport const ImgIconSvgHome4 = imgRoot + '/images/new/icons/home-4.svg';\r\nexport const ImgIconSvgHome8 = imgRoot + '/images/new/icons/home-8.svg';\r\nexport const ImgIconSvgHome6 = imgRoot + '/images/new/icons/home-6.svg';\r\nexport const ImgIconSvgHome7 = imgRoot + '/images/new/icons/home-7.svg';\r\nexport const ImgIconSvgArrowLeftBlue = imgRoot + '/images/new/icons/arrow-left-blue.svg';\r\n\r\nexport const ImgLogoTrustPilot = imgRoot + '/images/new/logo/trustpilot.png';\r\nexport const ImgIconSvgTrustPilotStar = imgRoot + '/images/new/icons/trustpilot-star.svg';\r\n\r\nexport const ImgIconCreditCards = imgRoot + '/images/new/icons/credit-cards.png';\r\nexport const ImgIconPersonal = imgRoot + '/images/new/icons/personal.svg';\r\nexport const ImgIconHome = imgRoot + '/images/new/icons/home.svg';\r\nexport const ImgIconCar = imgRoot + '/images/new/icons/car.svg';\r\nexport const ImgIconInsurance = imgRoot + '/images/new/icons/insurance.png';\r\nexport const ImgIconBusiness = imgRoot + '/images/new/icons/business.svg';\r\n\r\n\r\nexport const ImgIconArrowLeftBlue = imgRoot + '/images/new/icons/arrow-left-blue.svg';\r\nexport const ImgPictureBlog6 = imgRoot + '/images/new/picture/blog-6.png';\r\nexport const ImgPictureBlog7 = imgRoot + '/images/new/picture/blog-7.png';\r\nexport const ImgPictureBlog8 = imgRoot + '/images/new/picture/blog-8.png';\r\n\r\nexport const ImgIconHistory = imgRoot + '/images/new/icons/history.svg';\r\nexport const ImgIconTooltip = imgRoot + '/images/new/icons/tooltip.svg';\r\n\r\nexport const ImgIconEnergy = imgRoot + '/images/new/icons/energy-icon.png';\r\nexport const ImgIcontech = imgRoot + '/images/new/icons/tech-icon.svg';\r\nexport const ImgIconOther = imgRoot + '/images/new/icons/other-icon.png';\r\nexport const ImgIconReduce = imgRoot + '/images/new/icons/reduce.svg';\r\n\r\nexport const ImgPictureReduce = imgRoot + '/images/new/picture/reduce.png';\r\n\r\nexport const ImgIconBell = imgRoot + '/images/new/icons/bell.svg';\r\nexport const ImgIconBellBlue = imgRoot + '/images/new/icons/bell-blue.svg';\r\n\r\nexport const ImgIconInfoBlue = imgRoot + '/images/new/icons/info-blue.svg';\r\n\r\nexport const ImgIconCloseBlack = imgRoot + '/images/new/icons/close-black.svg';\r\n\r\nexport const ImgIconInfo = imgRoot + '/images/new/icons/info.svg';\r\n\r\nexport const ImgIconTrash = imgRoot + '/images/new/icons/trash.svg';\r\nexport const ImgIconTrash2 = imgRoot + '/images/new/icons/trash2.svg';\r\n\r\nexport const ImgIconEye = imgRoot + '/images/new/icons/eye.svg';\r\n\r\nexport const ImgIconCloseBlue = imgRoot + '/images/new/icons/close-blue.svg';\r\n\r\nexport const Img2FAMobile = imgRoot + \"/images/new/icons/mobile.svg\";\r\n\r\nexport const ImgWizard_AboutMe_Single = imgRoot + \"/images/new/icons/single@2x.png\";\r\nexport const ImgWizard_AboutMe_SingleParent = imgRoot + \"/images/new/icons/parent@2x.png\";\r\nexport const ImgWizard_AboutMe_CoupleNoKid = imgRoot + \"/images/new/icons/couple-nokids@2x.png\";\r\nexport const ImgWizard_AboutMe_CoupleKids = imgRoot + \"/images/new/icons/couple-kids@2x.png\";\r\nexport const ImgWizard_AboutMe_EmptyNester = imgRoot + \"/images/new/icons/empty@2x.png\";\r\n\r\nexport const ImgIconSubmission = imgRoot + '/images/new/icons/submission.svg';\r\n\r\nexport const ImgIconPrev = imgRoot + '/images/new/icons/prev.svg';\r\n\r\nexport const ImgIconCalendar = imgRoot + '/images/new/icons/calendar.svg';\r\n\r\nexport const ImgIconScoreGauge = imgRoot + '/images/new/icons/help-get.svg'\r\n\r\nexport const ImgIconOk = imgRoot + '/images/new/icons/ok.png';\r\nexport const ImgIconQuestion = imgRoot + '/images/new/icons/question.png';\r\nexport const ImgIconAlert2 = imgRoot + '/images/new/icons/alert2.png';\r\nexport const ImgIconAlert = imgRoot + '/images/new/icons/alert.svg';\r\n\r\n// New icons for Acrds 3.0\r\nexport const ImgIconOkNew = imgRoot + '/images/new/icons/circle-check-solid.png';\r\nexport const ImgIconQuestionNew = imgRoot + '/images/new/icons/circle-question-solid.png';\r\nexport const ImgIconAlertNew = imgRoot + '/images/new/icons/triangle-exclamation-solid.png';\r\nexport const ImgIconFHIA = imgRoot + '/images/new/icons/icon-FHI-A.png';\r\nexport const ImgIconFHIV = imgRoot + '/images/new/icons/icon-FHI-V.png';\r\n\r\n//export const ImgPictureMedicare1 = imgRoot + '/images/new/picture/medicare1.png';\r\nexport const ImgIconPreferences = imgRoot + '/images/new/icons/preferences.svg';\r\n\r\nexport const ImgIconDl = imgRoot + '/images/new/icons/dl.svg';\r\nexport const ImgIconPassport = imgRoot + '/images/new/icons/passport.svg';\r\nexport const ImgIconMedicare = imgRoot + '/images/new/icons/medicare.svg';\r\n\r\nexport const ImgIconHelpInfo2x = imgRoot + '/images/new/icons/help-info@2x.png';\r\n\r\nexport const ImgIconEmail = imgRoot + '/images/new/icons/email.svg';\r\nexport const ImgIconEmail2FA = imgRoot + '/images/new/icons/email2FA.svg';\r\n\r\n\r\nexport const ImgDvs_M_B = imgRoot + '/images/new/identity/medicare/m_blue.png';\r\nexport const ImgDvs_M_G = imgRoot + '/images/new/identity/medicare/m_green.png';\r\nexport const ImgDvs_M_Y = imgRoot + '/images/new/identity/medicare/m_yellow.png';\r\n\r\n//commented some paths due to DVS change new images\r\nexport const ImgDvs_DL_AAT = imgRoot + '/images/new/identity/dl/dl_AAT.jpg';\r\n// export const ImgDvs_DL_ACT = imgRoot + '/images/new/identity/dl/dl_ACT.jpg';\r\n// export const ImgDvs_DL_NSW = imgRoot + '/images/new/identity/dl/dl_NSW.jpg';\r\n// export const ImgDvs_DL_NT = imgRoot + '/images/new/identity/dl/dl_NT.jpg';\r\nexport const ImgDvs_DL_NZ = imgRoot + '/images/new/identity/dl/dl_NZ.jpg';\r\nexport const ImgDvs_DL_OS = imgRoot + '/images/new/identity/dl/dl_OS.jpg';\r\n// export const ImgDvs_DL_QLD = imgRoot + '/images/new/identity/dl/dl_QLD.jpg';\r\n// export const ImgDvs_DL_SA = imgRoot + '/images/new/identity/dl/dl_SA.jpg';\r\n// export const ImgDvs_DL_TAS = imgRoot + '/images/new/identity/dl/dl_TAS.jpg';\r\n// export const ImgDvs_DL_VIC = imgRoot + '/images/new/identity/dl/dl_VIC.jpg';\r\n// export const ImgDvs_DL_WA = imgRoot + '/images/new/identity/dl/dl_WA.jpg';\r\n\r\n//new images for DVS change\r\nexport const ImgDvs_DL_ACT = imgRoot + '/images/new/identity/dlnew/act_new.jpg';\r\nexport const ImgDvs_DL_NSW = imgRoot + '/images/new/identity/dlnew/nsw_new.jpg';\r\nexport const ImgDvs_DL_NT = imgRoot + '/images/new/identity/dlnew/nt_new.jpg';\r\nexport const ImgDvs_DL_QLD = imgRoot + '/images/new/identity/dlnew/qld_new.jpg';\r\nexport const ImgDvs_DL_SA = imgRoot + '/images/new/identity/dlnew/sa_new.jpg';\r\nexport const ImgDvs_DL_TAS = imgRoot + '/images/new/identity/dlnew/tas_new.jpg';\r\n//export const ImgDvs_DL_VIC = imgRoot + '/images/new/identity/dlnew/vic_new.jpg';\r\nexport const ImgDvs_DL_VIC = imgRoot + '/images/new/identity/dlnew/vic1_new.jpg';\r\nexport const ImgDvs_DL_WA = imgRoot + '/images/new/identity/dlnew/wa_new.jpg';\r\n\r\n\r\nexport const ImgKcfProgressBar_1 = imgRoot + '/images/picture/kcf-progress-1.png';\r\nexport const ImgKcfProgressBar_2 = imgRoot + '/images/picture/kcf-progress-2.png';\r\nexport const ImgKcfProgressBar_3 = imgRoot + '/images/picture/kcf-progress-3.png';\r\nexport const ImgKcfProgressBar_4 = imgRoot + '/images/picture/kcf-progress-4.png';\r\nexport const ImgKcfProgressBar_5 = imgRoot + '/images/picture/kcf-progress-5.png';\r\nexport const ImgKcfProgressBar_6 = imgRoot + '/images/picture/kcf-progress-6.png';\r\n\r\n// export const ImgPictureBlue = '/images/picture/blue.png';\r\n// export const ImgPictureGreen = '/images/picture/green.png';\r\n// export const ImgPictureYellow = '/images/picture/yellow.png';\r\n\r\n// export const ImgPictureACT = '/images/picture/ACT.jpg';\r\n// export const ImgPictureNSW = '/images/picture/NSW.jpg';\r\n// export const ImgPictureNT = '/images/picture/NT.jpg';\r\n// export const ImgPictureQLD = '/images/picture/QLD.jpg';\r\n// export const ImgPictureSA = '/images/picture/SA.jpg';\r\n// export const ImgPictureTAS = '/images/picture/TAS.jpg';\r\n// export const ImgPictureVIC = '/images/picture/VIC.jpg';\r\n// export const ImgPictureWA = '/images/picture/WA.jpg';\r\n\r\n\r\n\r\n\r\n","\r\nimport * as pages from '../../components/shared/pages';\r\nimport { GlobalThemes } from '../../components/shared/themes';\r\nimport pagesVariants from '../../components/shared/textVariants';\r\nimport creditSummary from '../../components/shared/creditSummary';\r\nimport {\r\n menuItemList,\r\n menuItemsNamePerPage,\r\n keyFeatures,\r\n gcsProcessSteps,\r\n gcsHomeFaqs,\r\n dashboardtabs \r\n} from '../../components/shared/staticData';\r\n\r\nimport { products } from '../../components/shared/staticProducts';\r\nimport { creditCards } from '../../components/shared/staticProductsCreditCards';\r\n\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nexport default {\r\n\r\n menu:\r\n {\r\n menuItemList: menuItemList,\r\n menuItemsNamesPerPage: menuItemsNamePerPage,\r\n menuItemsPerPage:{\r\n menuItemsAuthenticated:{},\r\n menuItems: {}\r\n }\r\n },\r\n\r\n textVariants: pagesVariants,\r\n\r\n creditSummary: creditSummary,\r\n\r\n homePage: {\r\n keyFeatureList: keyFeatures,\r\n processSteps: gcsProcessSteps,\r\n gcsHomeFaqs: gcsHomeFaqs,\r\n articles: [],\r\n articlesLoading: false,\r\n articlesLoaded: false\r\n },\r\n\r\n dashboardPage:\r\n {\r\n selectedDashboardTab: 0,\r\n callsToAction: [],\r\n dashboardTabs : dashboardtabs,\r\n articles: [],\r\n articlesLoading: false,\r\n articlesLoaded: false\r\n },\r\n\r\n productMetadata:\r\n {\r\n isAnonymous: null,\r\n userId : null\r\n },\r\n\r\n productResult: {\r\n isAnonymous: null,\r\n partnerId: null,\r\n userId : null,\r\n loading: null,\r\n loaded : null,\r\n products: [],\r\n hiddenProducts: [],\r\n lastProduct: null,\r\n productsCall2Action: [],\r\n call2Actions: [],\r\n productsByType: []\r\n },\r\n\r\n creditCardsResult: {\r\n isAnonymous: null,\r\n userId : null,\r\n loading: null,\r\n loaded : null,\r\n products: creditCards\r\n },\r\n\r\n scoreProfile:{\r\n apiFail: false,\r\n loading: true,\r\n //hasScoreInProgress: false,\r\n isTimeout: false,\r\n // isNoRecords : false,\r\n tryingCGetScoreCount: 0,\r\n tryingGetScoreMax: GlobalVariables.SCORE_RETRY_MAX,\r\n scoreInfo:\r\n {\r\n score: null,\r\n bandDescription: null,\r\n bandRange: null,\r\n information: null,\r\n scoreDiff: null,\r\n scoreDiffSince: null,\r\n imgUrl: ImagesPath.ImgDashboard_Dial_Blank,\r\n\r\n noScore: false,\r\n isScoreBadRequest : false,\r\n isTryLater: false,\r\n isServiceNotAvailableNow: false,\r\n isNoFile: false,\r\n IsIdentityIssue: false,\r\n isContactUs: false\r\n // isScoreError: false\r\n },\r\n //scoreAdvice: { helping:[], hurting: []},\r\n scoreAdvice:{\r\n kcfs: []\r\n },\r\n scoreHistory: [],\r\n scoreCounter: {\r\n isEnabled: true,\r\n loaded: false,\r\n counter: 3532496,\r\n updateInterval: 10000,\r\n counterIncrement: 1,\r\n timerId: null\r\n }\r\n },\r\n\r\n reportProfile:{\r\n apiFail: false,\r\n loading: true,\r\n isTimeout: false,\r\n tryingGetReportCount: 0,\r\n tryingGetReportMax: GlobalVariables.REPORT_RETRY_MAX, \r\n isServiceNotAvailableNow: false,\r\n reportInfo:\r\n {\r\n displayName: \"\",\r\n isError: false,\r\n isInProgress: false, \r\n loaded: false,\r\n issue: {},\r\n scoreInfo: {\r\n \"score\": null,\r\n \"bandDescription\": null,\r\n \"bandRange\": null,\r\n \"scoreBandMin\": null,\r\n \"scoreBandMax\": null,\r\n \"information\": null\r\n },\r\n scoreAdvice:{\r\n kcfs: []\r\n },\r\n enquiries: [],\r\n // {\r\n // \"enquiryDate\": \"24/02/2020\",\r\n // \"accountType\": \"Credit Card\",\r\n // \"enquiryAmount\": \"145\",\r\n // \"relationship\": \"Principal's Account (sole)\",\r\n // \"creditEnquirier\": \"PREMIER BANK\",\r\n // \"enquiryClientReference\": \"something\"\r\n // },\r\n accounts: [],\r\n // \"hasDefaults\": true,\r\n // \"latestUpdatedDate\": \"05/07/2020\",\r\n // \"accountId\": \"123DEFANZ\",\r\n // \"originalCreditProvider\": \"ANZ RISK MANAGEMENT\",\r\n // \"latestCreditProvider\": \"ANZ RISK MANAGEMENT\",\r\n // \"accountType\": \"Credit Card\",\r\n // \"relationship\": \"Principal's Account (sole)\",\r\n // \"accountOpenDate\": null,\r\n // \"accountClosedDate\": null,\r\n // \"accountReopenDate\": null,\r\n // \"originalMaximumCredit\": null,\r\n // \"latestMaximumCredit\": null,\r\n // \"repaymentHistory\": null\r\n courtActions: [],\r\n //actionDate\r\n //creditor\r\n //courtActionAmount\r\n //courtType\r\n //courtActionStatus \r\n } \r\n},\r\n\r\n userProfile: {\r\n urlPrefix: '',\r\n isAuthenticated: false,\r\n identifier: null,\r\n redirect_uri: null,\r\n expires_at: null,\r\n csrfToken: null,\r\n roles: null,\r\n tm: null,\r\n rnd: null,\r\n isPromotionEnabled: null,\r\n isPromotionEnabledForUser: false,\r\n isPromotionEnabledLoaded: false,\r\n isPromotionNewUser: false,\r\n displayName: '',\r\n themes: {\r\n dashboard: \"themeFollio\"\r\n },\r\n isThemeLoaded: false,\r\n extras: {\r\n isBusinessOwner: false,\r\n state: null,\r\n age: null\r\n },\r\n hasAccount: false,\r\n registeringUsername: '',\r\n registeringRememberMe: null,\r\n username: null,\r\n rememberMeInfo: {\r\n rememberMe:false,\r\n username: null\r\n }, \r\n userDetails: null,\r\n preferences: {\r\n isActive: true,\r\n isSubscribed: true,\r\n categories: []\r\n\r\n },\r\n isTrustPilotEnabled: true,\r\n existingCustomer: {\r\n loaded: false,\r\n hasError: false,\r\n detail: {\r\n firstName: \"\",\r\n middleName: \"\",\r\n lastName: \"\",\r\n email: \"\"\r\n }\r\n },\r\n homeShow: {\r\n loaded: false,\r\n hasError: false,\r\n code: null\r\n }\r\n },\r\n\r\n ajaxCallsInProgress: 0\r\n\r\n};\r\n","export default 0;","if (process.env.REACT_APP_GCS_ENV == 'production') {\r\n module.exports = require('./configureStore.prod');\r\n} else {\r\n module.exports = require('./configureStore.dev');\r\n}","\r\nimport * as GlobalVariables from './configureGlobalVariables';\r\n\r\nexport const RouteHome = '/home';\r\nexport const RouteCreateAccount = '/create-account';\r\nexport const RouteCreateAccountVerifyEmail = '/create-account/verify-email';\r\nexport const RouteLogin = '/login';\r\nexport const RouteLogin2FA = '/login-2fa';\r\nexport const RouteContactUs = '/contact-us';\r\nexport const RouteContactUsSuccess = '/contact-us-success';\r\nexport const RouteLodgeacomplaint = '/Lodge-a-complaint';\r\nexport const RouteLodgeacomplaintSuccess = '/Lodge-a-complaint-success';\r\nexport const RouteTermsOfUse = '/terms-of-use';\r\nexport const RoutePrivacyPolicy = '/privacy-policy';\r\n\r\nexport const RouteArticles = '/articles';\r\nexport const RouteCreditScore = '/dashboard';\r\nexport const RouteDashboard = '/dashboard';\r\nexport const RouteLearnMore = '#learn-articles-section';\r\nexport const RouteHelpCenter = '/helpcenter';\r\nexport const RouteRegisterId = '/register-id';\r\nexport const RouteCreditSummary = '/credit-report-overview';\r\nexport const RouteForgotPassword = '/forgot-password';\r\nexport const RouteFreeCreditScore = '/free-credit-score';\r\nexport const RouteDashboardScoreHistory = '/dashboard-score-history';\r\nexport const RouteCheckYourInbox = '/check-your-inbox';\r\nexport const RouteMyPreferences = '/my-preferences';\r\n\r\nexport const RouteChangePassword = '/change-password';\r\nexport const DeleteAccount = '/delete-account';\r\nexport const MyDetails = '/my-details';\r\nexport const MyDetailsVerification = '/my-details/verification';\r\nexport const CreateAccount = '/create-account';\r\nexport const CreateAccountMobile = '/create-account/mobile';\r\nexport const CreateAccountVerifyMobile = '/create-account/verify-mobile';\r\n\r\nexport const AboutMe = '/about-me';\r\n\r\n\r\nexport const RouteExternalHome = GlobalVariables.WEB_BASE_URL;\r\nexport const RouteExternalHomeSPA = GlobalVariables.WEB_SPA_URL;\r\n\r\nexport const RouteContactUsFix = GlobalVariables.WEB_BASE_URL + 'contact-us';\r\nexport const RouteLodgeacomplaintFix = GlobalVariables.WEB_BASE_URL + 'contact-us';\r\n\r\nexport const RouteExternalTermsOfUse = GlobalVariables.WEB_BASE_URL + 'terms-of-use';\r\nexport const RouteExternalPrivacyPolicy = GlobalVariables.WEB_BASE_URL + 'privacy-policy';\r\nexport const RouteExternalHelpCenter = GlobalVariables.WEB_BASE_URL + 'helpcentre';\r\nexport const RouteExternalArticles = GlobalVariables.WEB_BASE_URL + 'articles';\r\n\r\nexport const RouteGetMyCreditScore = GlobalVariables.WEB_BASE_URL + 'faq/get-my-credit-score';\r\nexport const RouteImproveMyCreditScore = GlobalVariables.WEB_BASE_URL + 'faq/improve-my-credit-score';\r\nexport const RouteUseMyCreditScore = GlobalVariables.WEB_BASE_URL + 'faq/use-my-credit-score';\r\nexport const RouteMyCreditReport = GlobalVariables.WEB_BASE_URL + 'faq/my-credit-report';\r\nexport const RouteMythsVsFacts = GlobalVariables.WEB_BASE_URL + 'faq/myths-vs-facts';\r\nexport const RouteGeneralInformation = GlobalVariables.WEB_BASE_URL + 'faq/general-information';","import React from 'react'\r\nimport * as pages from './pages.js';\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport {USERROLES, hasOneRole} from '../../common/gcsLogic';\r\n\r\nexport const menuItemList = [\r\n {\r\n id: 'deals_d',\r\n name: 'Deals',\r\n link: '',\r\n ref: '#product-section',\r\n className: '',\r\n isAuthenticated: false\r\n },\r\n {\r\n id: 'creditsummary_d',\r\n name: 'Credit Report Overview',\r\n link: '/credit-report-overview',\r\n isAuthenticated: true,\r\n role: USERROLES.IsInCohort\r\n },\r\n {\r\n id: 'creditsummary_m',\r\n name: 'Credit Report Overview',\r\n link: '/credit-report-overview',\r\n isAuthenticated: true,\r\n role: USERROLES.IsInCohort\r\n },\r\n {\r\n id: 'articles',\r\n name: 'Articles',\r\n link: '',\r\n ref: RoutesVariables.RouteExternalArticles\r\n }, {\r\n id: 'helpcentre',\r\n name: 'Help',\r\n link: '',\r\n ref: RoutesVariables.RouteExternalHelpCenter\r\n }, {\r\n id: 'login',\r\n name: 'Log in',\r\n link: '/login',\r\n ref: '',\r\n isAuthenticated: false,\r\n }, {\r\n id: 'my-account',\r\n name: 'My account',\r\n link: '',\r\n ref: '',\r\n isAuthenticated: true,\r\n subMenuList: [\r\n {\r\n id: 'manage-account',\r\n name: 'Edit profile',\r\n link: '/my-details',\r\n ref: ''\r\n },\r\n {\r\n id: 'manage-identity',\r\n name: 'Verify Identity',\r\n link: '/my-details/verification',\r\n ref: ''\r\n },\r\n {\r\n id: 'about-me',\r\n name: 'About me',\r\n link: '/about-me',\r\n ref: ''\r\n },\r\n {\r\n id: 'my-preferences',\r\n name: 'Preferences',\r\n link: '/my-preferences',\r\n ref: ''\r\n },\r\n {\r\n id: 'change-password',\r\n name: 'Change password',\r\n link: '/change-password',\r\n ref: ''\r\n },\r\n {\r\n id: 'logout',\r\n name: 'Log out',\r\n link: '/logout',\r\n ref: ''\r\n }\r\n ]\r\n }, {\r\n id: 'getscore_d',\r\n name: 'Get score',\r\n link: '/create-account',\r\n className: 'btn btn-primary',\r\n ref: '',\r\n isAuthenticated: false\r\n }, \r\n {\r\n id: 'getscore_m',\r\n name: 'Get score',\r\n link: '/create-account',\r\n className: 'btn btn-primary',\r\n ref: '',\r\n isAuthenticated: false\r\n }, \r\n {\r\n id: 'dashboard_d',\r\n name: 'Dashboard',\r\n link: '/dashboard',\r\n className: '',\r\n ref: '',\r\n isAuthenticated: true,\r\n }, {\r\n id: 'dashboard_m',\r\n name: 'Dashboard',\r\n link: '/dashboard',\r\n className: '',\r\n ref: '',\r\n isAuthenticated: true,\r\n },\r\n {\r\n id: 'contactus_d',\r\n name: 'Contact Us',\r\n link: '/contact-us',\r\n //link: '',\r\n className: '',\r\n ref: '',\r\n //ref: RoutesVariables.RouteContactUsFix,\r\n isAuthenticated: true,\r\n }, {\r\n id: 'contactus_m',\r\n name: 'Contact Us',\r\n link: '/contact-us',\r\n //link: '',\r\n className: '',\r\n ref: '',\r\n //ref: RoutesVariables.RouteContactUsFix,\r\n isAuthenticated: true,\r\n },\r\n {\r\n id: 'viewoffersD_d',\r\n name: 'View offers',\r\n link: '/dashboard#product-section',\r\n className: '',\r\n ref: '',\r\n isAuthenticated: true,\r\n }, {\r\n id: 'viewoffersD_m',\r\n name: 'View offers',\r\n link: '/dashboard#product-section',\r\n ref: '',\r\n //className: 'hidden-lg hidden-md hidden-sm',\r\n className: '',\r\n //subMenuListOnlyMobile: true,\r\n isAuthenticated: true\r\n }, {\r\n id: 'viewoffers_d',\r\n name: 'View offers',\r\n link: '',\r\n className: '',\r\n ref: '#product-section',\r\n isAuthenticated: true,\r\n }, {\r\n id: 'viewoffers_m',\r\n name: 'View offers',\r\n link: '',\r\n ref: '#product-section',\r\n //className: 'hidden-lg hidden-md hidden-sm',\r\n className: '',\r\n //subMenuListOnlyMobile: true,\r\n isAuthenticated: true \r\n }\r\n];\r\n\r\nlet _menuItemsNamePerPage = {};\r\n//[\"deals\", \"articles\", \"helpcentre\",\"login\",\"my-account\",\"getscore_d\", \"getscore_m\",\"dashboard_d\",\"dashboard_m\",\"viewoffers_d\",\"viewoffers_m\"];\r\nlet articlesMenuItems = [\"helpcentre\",\"dashboard_m\",\"creditsummary_m\",\"login\",\"my-account\",\"getscore_d\", \"getscore_m\",\"dashboard_d\"];\r\n_menuItemsNamePerPage[\"DEFAULT\"] = [\"contactus_d\", \"contactus_m\",\"dashboard_m\",\"creditsummary_m\",\"deals_d\",\"deals_m\", \"articles\", \"helpcentre\",\"login\",\"my-account\",\"getscore_d\", \"getscore_m\",\"dashboard_d\"];\r\n_menuItemsNamePerPage[pages.HOME] = [\"articles\",\"helpcentre\",\"dashboard_m\",\"creditsummary_m\",\"login\",\"my-account\",\"getscore_d\", \"getscore_m\",\"dashboard_d\",'creditsummary_d'];\r\n_menuItemsNamePerPage[pages.DASHBOARD] = [\"articles\", \"helpcentre\",\"contactus_d\", \"contactus_m\",\"dashboard_m\",\"creditsummary_m\",'creditsummary_d',\"login\",\"my-account\"];\r\n_menuItemsNamePerPage[pages.DASHBOARDHISTORY] = [\"articles\", \"helpcentre\",\"contactus_d\", \"contactus_m\",\"dashboard_d\",\"dashboard_m\",\"creditsummary_m\",'creditsummary_d',\"login\",\"my-account\"];\r\n_menuItemsNamePerPage[pages.DEALS_INSURANCE] = [\"articles\",\"helpcentre\",\"login\",\"my-account\",\"getscore_d\", \"getscore_m\", \"dashboard_d\",\"dashboard_m\",'creditsummary_d',\"creditsummary_m\"];\r\n_menuItemsNamePerPage[pages.CREDITCARDS] = [\"articles\",\"helpcentre\",\"login\",\"my-account\",\"getscore_d\", \"getscore_m\",\"dashboard_d\",\"dashboard_m\",'creditsummary_d',\"creditsummary_m\"];\r\n_menuItemsNamePerPage[pages.PERSONALLOANS] = [\"articles\", \"helpcentre\",\"login\",\"my-account\",\"getscore_d\", \"getscore_m\",\"dashboard_d\",\"dashboard_m\",'creditsummary_d',\"creditsummary_m\"];\r\n_menuItemsNamePerPage[pages.DEALS_HOMELOANS] = [\"articles\", \"helpcentre\",\"login\",\"my-account\",\"getscore_d\",\"dashboard_d\",'creditsummary_d',\"creditsummary_m\"];\r\n_menuItemsNamePerPage[pages.DEALS_CARLOANS] = [\"articles\", \"helpcentre\",\"login\",\"my-account\",\"getscore_d\", \"getscore_m\",\"dashboard_d\",\"dashboard_m\",'creditsummary_d',\"creditsummary_m\"];\r\n_menuItemsNamePerPage[pages.CREDITCARDSOFFERS] = [\"articles\", \"helpcentre\",\"login\",\"my-account\",\"getscore_d\", \"getscore_m\", \"dashboard_d\",\"dashboard_m\"];\r\n_menuItemsNamePerPage[pages.HOMELOANCUSTOMERJOURNEY] = [\"articles\", \"helpcentre\",\"login\",\"my-account\",\"dashboard_d\",\"dashboard_m\"];\r\n\r\n_menuItemsNamePerPage[pages.SCOREMAP] = _menuItemsNamePerPage[\"DEFAULT\"];\r\n_menuItemsNamePerPage[pages.HELPCENTRE] = [\"articles\",\"login\",\"my-account\",\"getscore_d\", \"getscore_m\",\"dashboard_d\",\"dashboard_m\"];\r\n_menuItemsNamePerPage[pages.LOGIN] = [];\r\n_menuItemsNamePerPage[pages.CREATEACCOUNT] = [];\r\n_menuItemsNamePerPage[pages.REGISTER] = [];\r\n_menuItemsNamePerPage[pages.MYDETAILSVERIFICATION] = [\"dashboard_d\",\"dashboard_m\",'creditsummary_d',\"my-account\"];\r\n// _menuItemsNamePerPage[pages.PREFERENCES] = [];\r\n_menuItemsNamePerPage[pages.ARTICLES] = articlesMenuItems;\r\n_menuItemsNamePerPage[pages.ARTICLE] = articlesMenuItems;\r\n_menuItemsNamePerPage[pages.FAQS] = articlesMenuItems;\r\n_menuItemsNamePerPage[pages.MYDETAILS] = _menuItemsNamePerPage[\"DEFAULT\"];\r\n_menuItemsNamePerPage[pages.CREDITREPORTSUMMARY] = _menuItemsNamePerPage[\"DEFAULT\"];\r\n_menuItemsNamePerPage[pages.PAGENOTFOUND] = [];\r\n_menuItemsNamePerPage[pages.EMAILSENTBLUE] = [];\r\n_menuItemsNamePerPage[pages.VALIDATEEMAILBLUE] = [];\r\n_menuItemsNamePerPage[pages.MYPREFERENCES] = _menuItemsNamePerPage[\"DEFAULT\"];\r\n_menuItemsNamePerPage[pages.HOMEOHNO] = [];\r\n_menuItemsNamePerPage[pages.PARTNERCONSENT] = [];\r\n\r\n\r\nexport const menuItemsNamePerPage = _menuItemsNamePerPage;\r\n\r\n\r\nexport const keyFeatures = [\r\n {\r\n key:0,\r\n title:

Won’t affect Your Score

,\r\n description:

Accessing your credit score via
GetCreditScore won’t negatively
affect your credit score.

,\r\n imgUrl: ImagesPath.ImgIconSvgHome1\r\n },\r\n {\r\n key:1,\r\n title:

100% free to join

,\r\n description:

We believe access to your
personal credit score is your right,
and an important step on your
way to financial health.

,\r\n imgUrl: ImagesPath.ImgIconSvgHome9\r\n },\r\n {\r\n key:2,\r\n title:

Get the answers behind
your credit score

,\r\n description:

See your credit report overview
information that is the details
behind your credit score.

,\r\n imgUrl: ImagesPath.ImgIconSvgHome3\r\n },\r\n {\r\n key:3,\r\n title:

Access to Product Offers

,\r\n description:

Review hundreds of different
product offers for GetCreditScore
members to help you find the offer
that suits you.

,\r\n imgUrl: ImagesPath.ImgIconSvgHome4\r\n },\r\n {\r\n key:4,\r\n title:

{'Quick & Easy'}

,\r\n description:

It is simple and fast to sign up and
get your free credit score

,\r\n imgUrl: ImagesPath.ImgIconSvgHome8\r\n },\r\n {\r\n key:5,\r\n title:

Get an idea of how lenders view you

,\r\n description:

Many organisations including
financial, telco and utility providers
may review credit scores as part of
your application.

,\r\n imgUrl: ImagesPath.ImgIconSvgHome6\r\n },\r\n {\r\n key:5,\r\n title:

{'Safe, Secure & Simple'}

,\r\n description:

Your information is protected via
identity checks and encryption. We
retrieve your credit score directly
from Equifax (formerly Veda).

,\r\n imgUrl: ImagesPath.ImgIconSvgHome7\r\n }\r\n];\r\n\r\n\r\nexport const gcsProcessSteps =\r\n{\r\nsteps:[\r\n {\r\n key:\"1\",\r\n title:\"Get your FREE Credit Score\",\r\n text:\"Sign up for your free Credit Score, it takes 60 seconds.\",\r\n hideOnMobile: true\r\n },\r\n {\r\n key:\"2\",\r\n title:\"Know where you stand *\",\r\n text:\"Use our interactive credit score dashboard to understand what's driving your score & how to improve it.\",\r\n hideOnMobile: false\r\n },\r\n {\r\n key:\"3\",\r\n title:\"Get a better indication of how lenders view you\",\r\n text:\"Being aware of your credit score may allow you to negotiate a better rate with some lenders.\",\r\n hideOnMobile: true\r\n }\r\n],\r\ndisclaimer: \"* The GetCreditScore (GCS) credit score is based on the Equifax Credit Score Model. Third parties may not use the GCS credit score to assess your credit worthiness.\"\r\n};\r\n\r\nexport const gcsHomeFaqs =[\r\n {\r\n key:\"1\",\r\n title:\"What is a Credit Score?\",\r\n text: \"A credit score is a number which summarises the credit information from your credit report. Credit scores are one indicator of your credit risk and may be used by credit providers like banks and credit card companies to help understand how responsible you are to lend to. Generally, a higher credit score is considered better as it indicates lower risk. Your credit score from GetCreditScore is generated by Australia’s leading credit bureau, Equifax, and is a number between 0 and 1200.\",\r\n //text: \"A credit score is a number that is calculated based on the information in your credit report, which helps credit providers know how responsible you are to lend to. It’s a number that is between 0 and 1200, where a higher number means you are more likely to be able to repay the loan. Equifax, whose credit score is available from Get Credit Score, is Australia’s leading credit reporting body, and has credit information on 18 million Australians, and is used by most lenders and credit providers.\",\r\n //text: \"A credit score is a number that helps credit providers know how responsible you are to lend to. It’s between 0 and 1200, where a higher number means you are more likely to be able repay the loan. Equifax, whose credit score is available from GetCreditScore, is Australia’s leading credit reporting body, and has credit information on 18 million Australians, and is used by most lenders and credit providers.\",\r\n hideOnMobile: false\r\n },\r\n {\r\n key:\"2\",\r\n title:\"How is my credit score calculated?\",\r\n text:\"Your credit score* with GetCreditScore is calculated from your current situation and past behaviour as reported to Equifax, Australia’s leading credit bureau. This may include credit limits, your repayment history, overdue debts, how often you’ve asked for credit and the kinds of loans or credit you’ve asked for, the frequency of your credit applications, and several other factors.* Your GetCreditScore credit score is based on the Equifax Credit Score Model\",\r\n hideOnMobile: false\r\n }\r\n];\r\n\r\n\r\nexport const dashboardtabs = [\r\n {\r\n key: 'DashboardScore',\r\n tabIndex : 0,\r\n imgUrl: ImagesPath.ImgDashboard_score,\r\n text:'SCORE',\r\n widgetName: 'DashboardScore',\r\n linkCssClass: 'link-touch'\r\n }\r\n ,{\r\n key: 'DashboardScoreHistory',\r\n tabIndex : 1,\r\n imgUrl: ImagesPath.ImgDashboard_history,\r\n text:'HISTORY',\r\n widgetName: 'DashboardScoreHistory',\r\n linkCssClass: 'link-touch'\r\n }\r\n ,{\r\n key: 'DashboardScoreNextSteps',\r\n tabIndex : 2,\r\n imgUrl: ImagesPath.ImgDashboard_history,\r\n text:'NEXT STEPS',\r\n widgetName: 'DashboardScore',\r\n link: '#dashboard-next-steps-section',\r\n cssClass: 'hidden-md hidden-lg',\r\n linkCssClass: 'link-touch'\r\n }\r\n ,{\r\n key: 'DashboardScoreOffers',\r\n tabIndex : 3,\r\n imgUrl: ImagesPath.ImgDashboard_compare,\r\n text:'DEALS',\r\n widgetName: 'DashboardScore',\r\n link: '#product-section',\r\n linkCssClass: 'link-touch'\r\n }\r\n // },\r\n // {\r\n // key:'DashboardScoreCompare',\r\n // tabIndex : 2,\r\n // imgUrl:'Media/images/compare.png',\r\n // text:'COMPARE'\r\n // }\r\n];\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\nexport function register(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(process.env.PUBLIC_URL, window.location.href);\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, 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, 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","export const medicareCardColour = {\r\n green: 'G',\r\n yellow: 'Y',\r\n blue: 'B'\r\n };","import delay from './delay';\r\nimport * as GlobalVariables from '../config/configureGlobalVariables';\r\n//import EventTrackingHelper from './EventTrackingHelper';\r\n\r\nimport * as mcolour from '../common/dvsMedicare';\r\n\r\nclass ValidationApi {\r\n\r\n\r\n static validateEmailInivio(email) {\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/validate/email';\r\n\r\n const options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json'//,\r\n //'x-gcs-xsrf': csrfToken\r\n },\r\n body: JSON.stringify({email: email})\r\n };\r\n\r\n return fetch(fullUrl, options).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }).catch(function (error) {\r\n throw(error);\r\n });\r\n }\r\n\r\n static validateMobileInivio(mobile) {\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/validate/mobile';\r\n\r\n const options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json'//,\r\n //'x-gcs-xsrf': csrfToken\r\n },\r\n body: JSON.stringify({mobile: mobile})\r\n };\r\n\r\n return fetch(fullUrl, options).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }).catch(function (error) {\r\n throw(error);\r\n });\r\n }\r\n\r\n\r\n static validateCustomerPromise(customer, omitFields) {\r\n\r\n var validateCustomerResults = ValidationApi.validateCustomer(customer, omitFields);\r\n\r\n validateCustomerResults.isCurrentEmailValid = customer[\"isCurrentEmailValid\"];\r\n validateCustomerResults.isCurrentMobileValid = customer[\"isCurrentMobileValid\"];\r\n\r\n if(!validateCustomerResults.isValid && validateCustomerResults.errors && (validateCustomerResults.errors.email || validateCustomerResults.errors.mobile)){\r\n return Promise.resolve(validateCustomerResults);\r\n }\r\n else{\r\n var validationsPromise = [];\r\n\r\n if(!omitFields || !omitFields[\"email\"]) {\r\n //validateCustomerResults.isCurrentEmailValid = customer[\"isCurrentEmailValid\"];\r\n if(!validateCustomerResults.errors.email && !customer[\"isCurrentEmailValid\"]){\r\n validateCustomerResults.isCurrentEmailValid = false;\r\n var emailPromise = ValidationApi.validateEmailInivio(customer.email).then( emailResult =>\r\n {\r\n validateCustomerResults.isValid = validateCustomerResults.isValid && emailResult.isValid;\r\n\r\n if(!emailResult.isValid){\r\n validateCustomerResults.errors.email = 'Email is invalid';\r\n\r\n //EventTrackingHelper.trackAccountEmailValidation();\r\n }\r\n else{\r\n validateCustomerResults.isCurrentEmailValid = true;\r\n }\r\n\r\n return validateCustomerResults;\r\n });\r\n\r\n validationsPromise.push(emailPromise);\r\n }\r\n }\r\n\r\n if ((!omitFields || !omitFields[\"mobile\"])) {\r\n //validateCustomerResults.isCurrentMobileValid = customer[\"isCurrentMobileValid\"];\r\n if(!validateCustomerResults.errors.mobile && !customer[\"isCurrentMobileValid\"]){\r\n\r\n validateCustomerResults.isCurrentMobileValid = false;\r\n var mobilePromise = ValidationApi.validateMobileInivio(customer.mobile).then( mobileResult =>\r\n {\r\n validateCustomerResults.isValid = validateCustomerResults.isValid && mobileResult.isValid;\r\n\r\n if(!mobileResult.isValid){\r\n validateCustomerResults.errors.mobile = 'Mobile number seems invalid';\r\n\r\n //EventTrackingHelper.trackAccountMobileValidation();\r\n }\r\n else{\r\n validateCustomerResults.isCurrentMobileValid = true;\r\n }\r\n\r\n return validateCustomerResults;\r\n });\r\n\r\n validationsPromise.push(mobilePromise);\r\n }\r\n }\r\n\r\n if(validationsPromise.length > 0){\r\n\r\n return Promise.all(validationsPromise).then( values => {\r\n let returnValidation = {};\r\n\r\n returnValidation = Object.assign(returnValidation, ...values);\r\n\r\n return returnValidation;\r\n });\r\n }\r\n else {\r\n return Promise.resolve(validateCustomerResults);\r\n }\r\n }\r\n }\r\n\r\n static validateCustomer(customer, omitFields) {\r\n\r\n let formIsValid = true;\r\n let firstElementName = null;\r\n\r\n let errors = { dob: { dd: '', mm: '', yy: '' } };\r\n\r\n if(!omitFields || !omitFields[\"firstName\"]){\r\n let errorFirstName = ValidationApi.isFirstNameValid(\"First name\", customer.firstName, 40);\r\n if (errorFirstName) {\r\n errors.firstName = errorFirstName;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'firstName';}\r\n }\r\n }\r\n\r\n if(!omitFields || !omitFields[\"middleName\"]){\r\n let errorMiddleName = ValidationApi.isNonRequiredNameFieldValid('Middle name', customer.middleName, 80);\r\n if (errorMiddleName) {\r\n errors.middleName = errorMiddleName;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'middleName';}\r\n }\r\n }\r\n\r\n if(!omitFields || !omitFields[\"lastName\"]){\r\n let errorLastName = ValidationApi.isLastNameValid('Last name', customer.lastName, 50);\r\n if (errorLastName) {\r\n errors.lastName = errorLastName;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'lastName';}\r\n }\r\n }\r\n\r\n if (!omitFields || !omitFields[\"mobile\"]) {\r\n let errorMobile = ValidationApi.validateMobile(customer.mobile);\r\n if (errorMobile) {\r\n errors.mobile = errorMobile;\r\n formIsValid = false;\r\n if (firstElementName == null) { firstElementName = 'mobile'; }\r\n }\r\n }\r\n\r\n if(!omitFields || !omitFields[\"email\"]){\r\n let errorEmail = ValidationApi.validateEmail(customer.email);\r\n if (errorEmail) {\r\n errors.email = errorEmail;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'email';}\r\n }\r\n }\r\n\r\n if(!omitFields || !omitFields[\"dob\"]){\r\n let errorDDOfBirth = ValidationApi.requiredField('Day of birth', customer.dob[\"dd\"]);\r\n if (errorDDOfBirth) {\r\n errors.dob[\"dd\"] = errorDDOfBirth;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'dob';}\r\n }\r\n\r\n let errorMMOfBirth = ValidationApi.requiredField('Month of birth', customer.dob[\"mm\"]);\r\n if (errorMMOfBirth) {\r\n errors.dob[\"mm\"] = errorMMOfBirth;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'dob';}\r\n }\r\n \r\n let errorYYYYOfBirth = ValidationApi.requiredField('Year of birth', customer.dob[\"yy\"]);\r\n if (errorYYYYOfBirth) {\r\n errors.dob[\"yy\"] = errorYYYYOfBirth;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'dob';}\r\n }\r\n \r\n let errorDate = ValidationApi.validateDOB(customer.dob[\"dd\"] + \"/\" + customer.dob[\"mm\"] + \"/\" + customer.dob[\"yy\"]);\r\n if (errorDate) {\r\n errors.dob.dateError = errorDate;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'dob';}\r\n }\r\n \r\n } \r\n\r\n if(!omitFields || !omitFields[\"address\"]){\r\n let errorAddress = ValidationApi.requiredField('Address', customer.address);\r\n\r\n if (!errorAddress) {\r\n errorAddress = ValidationApi.validateAddressLengthdField('Address', customer.address, 20, 300);\r\n if(errorAddress){\r\n errors.address = errorAddress;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'address';}\r\n }\r\n else{\r\n errorAddress = ValidationApi.validateAddressState('Address', customer.address);\r\n if(errorAddress){\r\n errors.address = errorAddress;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'address';}\r\n }\r\n }\r\n }\r\n else{\r\n errors.address = errorAddress;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'address';}\r\n }\r\n\r\n if (customer.hasLivedLessThan3Years) {\r\n let errorPrevAddress = ValidationApi.requiredField('Previous address', customer.addressPrevious);\r\n if (!errorPrevAddress) {\r\n errorPrevAddress = ValidationApi.validateAddressLengthdField('Address', customer.addressPrevious, 20, 300);\r\n if(errorPrevAddress){\r\n errors.addressPrevious = errorPrevAddress;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'addressPrevious';}\r\n }\r\n else{\r\n errorPrevAddress = ValidationApi.validateAddressState('Address', customer.addressPrevious);\r\n if(errorPrevAddress){\r\n errors.addressPrevious = errorPrevAddress;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'addressPrevious';}\r\n }\r\n }\r\n }\r\n else{\r\n errors.addressPrevious = errorPrevAddress;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'addressPrevious';}\r\n }\r\n }\r\n }\r\n\r\n // let errorMobile = ValidationApi.validateMobile(customer.mobile);\r\n // if (errorMobile) {\r\n // errors.mobile = errorMobile;\r\n // formIsValid = false;\r\n // if(firstElementName == null){firstElementName = 'mobile';}\r\n // }\r\n\r\n // if(customer.driversLicence){\r\n // let errorLicence = ValidationApi.validateDriverLicence(customer.driversLicence);\r\n // if (errorLicence) {\r\n // errors.driversLicence = errorLicence;\r\n // formIsValid = false;\r\n // if(firstElementName == null){firstElementName = 'driversLicence';}\r\n // }\r\n // }\r\n\r\n if(!omitFields || !omitFields[\"gender\"]){\r\n let errorGender = ValidationApi.validateGender(customer.gender);\r\n if (errorGender) {\r\n errors.gender = errorGender;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'gender';}\r\n }\r\n }\r\n\r\n if(!omitFields || !omitFields[\"password\"]){\r\n let errorPassword = ValidationApi.validatePassword(customer.password);\r\n if (errorPassword) {\r\n errors.password = errorPassword;\r\n formIsValid = false;\r\n if(firstElementName == null){firstElementName = 'password';}\r\n }\r\n }\r\n\r\n if(!omitFields || !omitFields[\"consent\"]){ \r\n if (!customer.consent) {\r\n errors.consent = \"Please select this field to continue\";\r\n formIsValid = false; \r\n }\r\n }\r\n\r\n errors.hasError = !formIsValid;\r\n errors.firstOne = firstElementName;\r\n return {\r\n isValid : formIsValid,\r\n errors: errors\r\n };\r\n }\r\n\r\n static validateEmail(email) {\r\n var re = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n var result = \"\";\r\n\r\n if (!re.test(email)) {\r\n result = 'Email is invalid';\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static validatePassword(password) {\r\n\r\n if(password){\r\n return \"\";\r\n }\r\n else{\r\n return \"Password is required\";\r\n }\r\n\r\n // at least one number, one lowercase and one uppercase letter\r\n // at least six characters\r\n var re = /(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/;\r\n\r\n if (!re.test(password))\r\n return \"Password should contain one number, one lowercase, one uppercase letter and to be at least 6 characters\";\r\n\r\n else\r\n return '';\r\n }\r\n\r\n static validateDOB(dateString) {\r\n\r\n if (!ValidationApi.validateDate(dateString)) {\r\n return \"This date is invalid\";\r\n }\r\n\r\n if (!ValidationApi.validateAge(dateString)) {\r\n return \"You need to be 18 years or older\";\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n static validateDate(dateString) {\r\n let monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n let currentYear = (new Date).getFullYear();\r\n\r\n let parts = dateString.split(\"/\"),\r\n day = parseInt(parts[0], 10),\r\n month = parseInt(parts[1], 10),\r\n year = parseInt(parts[2], 10);\r\n\r\n if (isNaN(day) || isNaN(month) || isNaN(year)) {\r\n return false;\r\n }\r\n\r\n\r\n if (year < 1900 || year > currentYear || month < 1 || month > 12) {\r\n return false;\r\n }\r\n\r\n // Adjust for leap years\r\n if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) {\r\n monthLength[1] = 29;\r\n }\r\n\r\n // Check the range of the day\r\n if (day <= 0 || day > monthLength[month - 1]) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n static validateAge(dateString) {\r\n let parts = dateString.split(\"/\"),\r\n day = parseInt(parts[0], 10),\r\n month = parseInt(parts[1], 10),\r\n year = parseInt(parts[2], 10);\r\n\r\n //18 years and above check\r\n let date = new Date(year + 18, month - 1, day);\r\n\r\n if (date > new Date()) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n static validateGender(gender) {\r\n if (gender == null)\r\n return 'Gender is required.';\r\n }\r\n\r\n //// Old Logic Before DVS Change\r\n // static validateDriverLicence(licenceNumber) {\r\n\r\n // if (!licenceNumber) {\r\n // return \"Driver licence number is required\";\r\n // }\r\n\r\n // let licenceNumberLength = licenceNumber.length;\r\n\r\n // // check if 3rd and 4th character are num.\r\n // let sliceCheck = function () {\r\n // let numberSliced = licenceNumber.slice(2, 4);\r\n // let numberMatch = numberSliced.match(/\\d+/g);\r\n // if (numberMatch) {\r\n // if (numberMatch.join('').length == 2) {\r\n // return true;\r\n // }\r\n // return false;\r\n // }\r\n // return false;\r\n // };\r\n\r\n // //check numbers\r\n // let licenceNumberCheck = function () {\r\n // let numberMatch = licenceNumber.match(/\\d+/g);\r\n // if (numberMatch) {\r\n // if (numberMatch.join('').length >= 4) {\r\n // return true;\r\n // }\r\n // return false;\r\n // }\r\n // return false;\r\n // };\r\n\r\n // //check alfa\r\n // let licenceAlphaCheck = function () {\r\n // let alfaMatch = licenceNumber.match(/[a-zA-Z]+/g);\r\n // if (alfaMatch) {\r\n // if (alfaMatch.join('').length <= 2) {\r\n // return true;\r\n // }\r\n // return false;\r\n // }\r\n // return true;\r\n // };\r\n\r\n // //check if is only alfaNumeric\r\n // let licenceAlphaNumericCheck = function () {\r\n // let specialCharacters = /[^a-zA-Z0-9]/.test(licenceNumber);\r\n // if (!specialCharacters) {\r\n // return true;\r\n // }\r\n // return false;\r\n // };\r\n\r\n // if (parseInt(licenceNumber, 10) == 0) return \"Driver licence number is invalid.\";\r\n\r\n // if (licenceNumberLength >= 4 && licenceNumberLength <= 9 && licenceAlphaCheck() && licenceNumberCheck() && sliceCheck() && licenceAlphaNumericCheck()) {\r\n // return '';\r\n\r\n // }\r\n // return \"Driver licence number is invalid.\";\r\n // }\r\n\r\n //// New Logic for DVS change\r\n static validateDriverLicence(licenceNumber, stateCode) {\r\n\r\n if (!licenceNumber) {\r\n return \"Driver licence number is required\";\r\n }\r\n\r\n let licenceNumberLength = licenceNumber.length;\r\n\r\n // // check if 3rd and 4th character are num.\r\n // let sliceCheck = function () {\r\n // let numberSliced = licenceNumber.slice(2, 4);\r\n // let numberMatch = numberSliced.match(/\\d+/g);\r\n // if (numberMatch) {\r\n // if (numberMatch.join('').length == 2) {\r\n // return true;\r\n // }\r\n // return false;\r\n // }\r\n // return false;\r\n // };\r\n\r\n // //check numbers\r\n // let licenceNumberCheck = function () {\r\n // let numberMatch = licenceNumber.match(/\\d+/g);\r\n // if (numberMatch) {\r\n // if (numberMatch.join('').length >= 4) {\r\n // return true;\r\n // }\r\n // return false;\r\n // }\r\n // return false;\r\n // };\r\n\r\n // //check alfa\r\n // let licenceAlphaCheck = function () {\r\n // let alfaMatch = licenceNumber.match(/[a-zA-Z]+/g);\r\n // if (alfaMatch) {\r\n // if (alfaMatch.join('').length <= 2) {\r\n // return true;\r\n // }\r\n // return false;\r\n // }\r\n // return true;\r\n // };\r\n\r\n //check if is only alfaNumeric\r\n let licenceAlphaNumericCheck = function () {\r\n let specialCharacters = /[^a-zA-Z0-9]/.test(licenceNumber);\r\n if (!specialCharacters) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n //check if is only Numeric\r\n let licenceNumericCheck = function () {\r\n let specialCharacters = /[^0-9]/.test(licenceNumber);\r\n if (!specialCharacters) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n // if (parseInt(licenceNumber, 10) == 0) return \"Driver licence number is invalid.\";\r\n\r\n //StateWise Validation\r\n if ((stateCode == \"ACT\") || (stateCode == \"NT\") || (stateCode == \"VIC\"))\r\n {\r\n if (licenceNumberLength >= 1 && licenceNumberLength <= 10 && licenceNumericCheck()) \r\n {\r\n return '';\r\n }\r\n }\r\n \r\n if (stateCode == \"SA\")\r\n {\r\n if (licenceNumberLength == 6 && licenceAlphaNumericCheck()) \r\n {\r\n return '';\r\n }\r\n }\r\n \r\n if (stateCode == \"WA\") \r\n {\r\n if (licenceNumberLength == 7 && licenceNumericCheck()) \r\n {\r\n return '';\r\n }\r\n }\r\n \r\n if (stateCode == \"QLD\")\r\n {\r\n if (licenceNumberLength >= 8 && licenceNumberLength <= 9 && licenceNumericCheck()) \r\n {\r\n return '';\r\n }\r\n }\r\n \r\n if ((stateCode == \"TAS\") || (stateCode == \"NSW\"))\r\n {\r\n if (licenceNumberLength >= 6 && licenceNumberLength <= 8 && licenceAlphaNumericCheck()) \r\n {\r\n return '';\r\n }\r\n }\r\n\r\n // if (licenceNumberLength >= 4 && licenceNumberLength <= 9 && licenceAlphaCheck() && licenceNumberCheck() && sliceCheck() && licenceAlphaNumericCheck()) {\r\n // return '';\r\n\r\n // }\r\n return \"Driver licence number is invalid.\";\r\n}\r\n\r\n //// New Addition for DVS change\r\n static validatecardNumber(cardNumber, stateCode) {\r\n\r\n if (!cardNumber) {\r\n return \"Card number is required\";\r\n }\r\n\r\n let cardNumberLength = cardNumber.length;\r\n\r\n // // check if 3rd and 4th character are num.\r\n // let sliceCheck = function () {\r\n // let numberSliced = cardNumber.slice(2, 4);\r\n // let numberMatch = numberSliced.match(/\\d+/g);\r\n // if (numberMatch) {\r\n // if (numberMatch.join('').length == 2) {\r\n // return true;\r\n // }\r\n // return false;\r\n // }\r\n // return false;\r\n // };\r\n\r\n // //check numbers\r\n // let licenceNumberCheck = function () {\r\n // let numberMatch = cardNumber.match(/\\d+/g);\r\n // if (numberMatch) {\r\n // if (numberMatch.join('').length >= 4) {\r\n // return true;\r\n // }\r\n // return false;\r\n // }\r\n // return false;\r\n // };\r\n\r\n // //check alfa\r\n // let licenceAlphaCheck = function () {\r\n // let alfaMatch = cardNumber.match(/[a-zA-Z]+/g);\r\n // if (alfaMatch) {\r\n // if (alfaMatch.join('').length <= 2) {\r\n // return true;\r\n // }\r\n // return false;\r\n // }\r\n // return true;\r\n // };\r\n\r\n //check if is only alfaNumeric\r\n let cardNumberAlphaNumericCheck = function () {\r\n let specialCharacters = /[^a-zA-Z0-9]/.test(cardNumber);\r\n if (!specialCharacters) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n //check if is only Numeric\r\n let cardNumberNumericCheck = function () {\r\n let specialCharacters = /[^0-9]/.test(cardNumber);\r\n if (!specialCharacters) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n // if (parseInt(cardNumber, 10) == 0) return \"Card number is invalid.\";\r\n //StateWise Validation\r\n if ((stateCode == \"TAS\") || (stateCode == \"SA\"))\r\n {\r\n if (cardNumberLength == 9 && cardNumberAlphaNumericCheck()) \r\n {\r\n return '';\r\n }\r\n }\r\n\r\n if (stateCode == \"NSW\")\r\n {\r\n if (cardNumberLength == 10 && cardNumberNumericCheck()) \r\n {\r\n return '';\r\n }\r\n }\r\n\r\n if (stateCode == \"ACT\") \r\n {\r\n if (cardNumberLength == 10 && cardNumberAlphaNumericCheck()) \r\n {\r\n return '';\r\n }\r\n }\r\n\r\n if (stateCode == \"WA\")\r\n {\r\n if (cardNumberLength >= 8 && cardNumberLength <= 10 && cardNumberAlphaNumericCheck()) \r\n {\r\n return '';\r\n }\r\n }\r\n\r\n if (stateCode == \"NT\")\r\n {\r\n if (cardNumberLength >= 6 && cardNumberLength <= 8 && cardNumberNumericCheck()) \r\n {\r\n return '';\r\n }\r\n }\r\n if (stateCode == \"QLD\") \r\n {\r\n if (cardNumberLength == 10 && cardNumberAlphaNumericCheck()) \r\n {\r\n return '';\r\n }\r\n }\r\n if (stateCode == \"VIC\") \r\n {\r\n if (cardNumberLength == 8 && cardNumberAlphaNumericCheck()) \r\n {\r\n return '';\r\n }\r\n }\r\n\r\n // if (cardNumberLength >= 4 && cardNumberLength <= 9 && licenceAlphaCheck() && licenceNumberCheck() && sliceCheck() && licenceAlphaNumericCheck()) \r\n // {\r\n // return '';\r\n // }\r\n return \"Card number is invalid.\";\r\n}\r\n\r\n\r\n static requiredAlphabeticalField(fieldName, fieldValue) {\r\n let result = '';\r\n\r\n if (!fieldValue) {\r\n result = fieldName + ' is required.';\r\n }\r\n\r\n else if (!ValidationApi.isChar(fieldValue)) {\r\n result += fieldName +' should contains letters only.';\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static isFirstNameValid(fieldName, fieldValue, maxLength) {\r\n return ValidationApi.isNameFieldValid(fieldName, fieldValue, maxLength, true, true);\r\n }\r\n\r\n static isLastNameValid(fieldName, fieldValue, maxLength) {\r\n return ValidationApi.isNameFieldValid(fieldName, fieldValue, maxLength, false, true);\r\n }\r\n\r\n static isNonRequiredNameFieldValid(fieldName, fieldValue, maxLength) {\r\n return ValidationApi.isNameFieldValid(fieldName, fieldValue, maxLength, true, false);\r\n }\r\n\r\n static isNameFieldValid(fieldName, fieldValue, maxLength, shouldBeginWithAlpha, isRequired) {\r\n if (!isRequired && !fieldValue) {\r\n return \"\";\r\n }\r\n \r\n if (isRequired && !fieldValue) {\r\n return fieldName + \" is required.\";\r\n }\r\n\r\n fieldValue.trim();\r\n\r\n if (fieldValue.length > maxLength) {\r\n return `${fieldName} cannot be longer than ${maxLength} characters.`;\r\n }\r\n\r\n let regexValidator;\r\n\r\n if (shouldBeginWithAlpha) {\r\n regexValidator = new RegExp(\"^(?!.*([-|\\\\s|'|’][-|\\\\s|'|’]+))[a-zA-Z][a-zA-Z\\\\s'-]*$\");\r\n } else {\r\n regexValidator = new RegExp(\"^(?!.*([-|\\\\s|'|’][-|\\\\s|'|’]+))([a-zA-Z]|'[a-zA-Z])[a-zA-Z\\\\s'-]*$\");\r\n }\r\n \r\n if (!regexValidator.test(fieldValue)) {\r\n return fieldName + \" contains invalid characters.\";\r\n }\r\n \r\n return \"\";\r\n }\r\n\r\n static requiredNameField(fieldName, fieldValue) {\r\n let result = '';\r\n\r\n // check if field is not empty\r\n if (!fieldValue) {\r\n result = fieldName + ' is required.';\r\n return result;\r\n }\r\n\r\n // check if field contains not only spaces, apostrophes or hyphons\r\n let updatedValue = fieldValue.replace(/\\s+/g, '');\r\n updatedValue = updatedValue.replace(/\\-+/g, '');\r\n updatedValue = updatedValue.replace(/\\'+/g, '');\r\n if (updatedValue.length == 0) {\r\n result = fieldName + \" contains invalid characters\";\r\n return result;\r\n }\r\n\r\n // check other characters\r\n var re = /^[a-z -'-']+$/i;\r\n\r\n if (!re.test(fieldValue))\r\n result = fieldName + \" contains invalid characters\";\r\n\r\n return result;\r\n }\r\n\r\n static nameField(fieldName, fieldValue) {\r\n let result = '';\r\n\r\n if (!fieldValue) return;\r\n\r\n // check if field contains not only spaces, apostrophes or hyphons\r\n let updatedValue = fieldValue.replace(/\\s+/g, '');\r\n updatedValue = updatedValue.replace(/\\-+/g, '');\r\n updatedValue = updatedValue.replace(/\\'+/g, '');\r\n if (updatedValue.length == 0) {\r\n result = fieldName + \" contains invalid characters\";\r\n return result;\r\n }\r\n\r\n // check other characters\r\n var re = /^[a-z -'-']+$/i;\r\n\r\n if (!re.test(fieldValue))\r\n result = fieldName + \" contains invalid characters\";\r\n\r\n return result;\r\n }\r\n\r\n static alphabeticalField(fieldName, fieldValue) {\r\n let result = '';\r\n\r\n if (fieldValue) {\r\n if (!ValidationApi.isChar(fieldValue)) {\r\n result += fieldName +' should contains letters only.';\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static isNumber(n) {\r\n return !isNaN(parseFloat(n)) && isFinite(n);\r\n }\r\n\r\n static isInteger(value) {\r\n return typeof value === 'number' &&\r\n isFinite(value) &&\r\n Math.floor(value) === value;\r\n }\r\n\r\n static isChar(str) {\r\n return /^[a-zA-Z]+$/.test(str);\r\n }\r\n\r\n static isMobile(number) {\r\n if(number){\r\n number = number.replace(/\\s+/g, '');\r\n return /^\\d{10}$/.test(number) ;\r\n }\r\n return false;\r\n }\r\n\r\n static validateMobile(mobile){\r\n let result = '';\r\n if (!mobile) {\r\n result = 'Mobile number is required.';\r\n }\r\n else if (!ValidationApi.isMobile(mobile)) {\r\n result = 'Mobile number should contain valid 10 digits only.';\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static isValidPostCode(postCode) {\r\n const postCodeLength = 4;\r\n const value = Number(postCode);\r\n const valueIsInteger = ValidationApi.isInteger(value);\r\n const valueHasProperLength = postCode && postCode.length === postCodeLength;\r\n\r\n return valueIsInteger && valueHasProperLength;\r\n }\r\n\r\n static requiredField(fieldName, fieldValue) {\r\n let result = '';\r\n\r\n if (!fieldValue) {\r\n\r\n result = fieldName + ' is required.';\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static validateLengthdField(fieldName, fieldValue, minLength, maxLength) {\r\n let result = '';\r\n\r\n if (fieldValue) {\r\n let l = ('' + fieldValue).length;\r\n if(minLength){\r\n if(l < minLength){\r\n result += fieldName + ' is less than ' + minLength + ' characters';\r\n }\r\n }\r\n\r\n if(maxLength){\r\n if(l > maxLength){\r\n result += fieldName + ' is more than ' + maxLength + ' characters';\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static validateAddressLengthdField(fieldName, fieldValue, minLength, maxLength) {\r\n let result = '';\r\n\r\n if (fieldValue) {\r\n let l = ('' + fieldValue).length;\r\n if(minLength){\r\n if(l < minLength){\r\n result += fieldName + ' is less than ' + minLength + ' characters. Please select from the list, otherwise enter it in the format of \"12 smith street, Sydney NSW 2000\"';\r\n }\r\n }\r\n\r\n if(maxLength){\r\n if(l > maxLength){\r\n result += fieldName + ' is more than ' + maxLength + ' characters. Please select from the list, otherwise enter it in the format of \"12 smith street, Sydney NSW 2000\"';\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static validateAddressState(fieldName, fieldValue) {\r\n let result = '';\r\n\r\n if (fieldValue) {\r\n let l = ('' + fieldValue);\r\n if( !(l.indexOf('NSW') >=0 ||\r\n l.indexOf('VIC') >=0 ||\r\n l.indexOf('NT') >=0 ||\r\n l.indexOf('TAS') >=0 ||\r\n l.indexOf('WA') >=0 ||\r\n l.indexOf('QLD') >=0 ||\r\n l.indexOf('SA') >=0 ||\r\n l.indexOf('ACT') >=0)\r\n ){\r\n\r\n result += fieldName + ' needs to include the state: NSW, VIC, NT, TAS, WA, QLD, SA, ACT';\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n static validateIdentityDocuments(csrfToken, validationRequest) {\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/validate/identity-documents';\r\n \r\n const options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-gcs-xsrf': csrfToken\r\n },\r\n body: JSON.stringify(validationRequest)\r\n };\r\n \r\n return fetch(fullUrl, options).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }).catch(function (error) {\r\n throw(error);\r\n });\r\n }\r\n\r\n static getIdentityDocumentsValidation(csrfToken, validationRequest) {\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/validate/identity-documents'; \r\n const options = {\r\n method: 'PUT',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-gcs-xsrf': csrfToken\r\n },\r\n body: JSON.stringify(validationRequest)\r\n };\r\n \r\n return fetch(fullUrl, options).then(response =>\r\n { \r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }).catch(function (error) { \r\n throw(error);\r\n });\r\n }\r\n\r\n static validateIdentityRequestDLPromise(dlRequest){\r\n\r\n let errors = {};\r\n let formIsValid = true;\r\n\r\n if(!dlRequest.consent){\r\n errors.consent = 'Consent is mandatory';\r\n formIsValid = false; \r\n }\r\n\r\n if(!dlRequest.consent1){\r\n errors.consent1 = 'Consent is mandatory';\r\n formIsValid = false; \r\n }\r\n\r\n let errorLicence = ValidationApi.validateDriverLicence(dlRequest.number, dlRequest.stateCode);\r\n if (errorLicence) {\r\n errors.number = errorLicence;\r\n formIsValid = false; \r\n }\r\n\r\n\r\n\r\n // let errorCardNumber = ValidationApi.validatecardNumber(dlRequest.cardNumber);\r\n // if (errorCardNumber) {\r\n // if ((dlRequest.stateCode == \"VIC\") || (dlRequest.stateCode == \"QLD\"))\r\n // {\r\n // errors.cardNumber = {};\r\n // }\r\n // else{\r\n // errors.cardNumber = errorCardNumber;\r\n // formIsValid = false; \r\n // } \r\n // }\r\n\r\n \r\n let errorCardNumber = ValidationApi.validatecardNumber(dlRequest.cardNumber, dlRequest.stateCode);\r\n if (errorCardNumber) {\r\n errors.cardNumber = errorCardNumber;\r\n formIsValid = false; \r\n } \r\n \r\n\r\n errors.stateCode = ValidationApi.validateAddressState(\"stateCode\", dlRequest.stateCode);\r\n\r\n errors.hasError = !formIsValid; \r\n return Promise.resolve({\r\n isValid : formIsValid,\r\n errors: errors\r\n });\r\n }\r\n\r\n static validateIdentityRequestMedicarePromise(medicareRequest){\r\n \r\n let errors = {};\r\n let formIsValid = true;\r\n\r\n if(!medicareRequest.consent){\r\n errors.consent = 'Consent is mandatory';\r\n formIsValid = false; \r\n }\r\n\r\n if(!medicareRequest.consent1){\r\n errors.consent1 = 'Consent is mandatory';\r\n formIsValid = false; \r\n }\r\n\r\n let errorNumber = ValidationApi.isNumber(medicareRequest.number);\r\n if (!errorNumber) {\r\n errors.number = 'Number is invalid';\r\n formIsValid = false; \r\n }\r\n \r\n let errorReferenceNumber = ValidationApi.isNumber(medicareRequest.referenceNumber);\r\n if (!errorReferenceNumber) {\r\n errors.referenceNumber = 'Reference number is invalid';\r\n formIsValid = false; \r\n }\r\n\r\n // console.log('medicareCardColour', mcolour.medicareCardColour);\r\n // console.log('medicareCardColour', mcolour.medicareCardColour.green);\r\n if ((medicareRequest.cardColour != mcolour.medicareCardColour.green) &&\r\n (medicareRequest.cardColour != mcolour.medicareCardColour.blue) &&\r\n (medicareRequest.cardColour != mcolour.medicareCardColour.yellow)){ \r\n errors.cardColour = \"Invalid card colour\";\r\n formIsValid = false; \r\n }\r\n\r\n if (!medicareRequest.dateOfExpiry ||\r\n !medicareRequest.dateOfExpiry.mm ||\r\n !medicareRequest.dateOfExpiry.yy\r\n ) { \r\n errors.dateOfExpiry = {\r\n dateError: \"Expiry Date does not seem right. In some browsers you need to input the date as YYYY-MM (or YYYY-MM-DD depending on your medicare card) (year 4 digits, dash, month 4 digits and an optional 2 digits day)\"\r\n };\r\n formIsValid = false; \r\n }\r\n \r\n errors.hasError = !formIsValid; \r\n return Promise.resolve({\r\n isValid : formIsValid,\r\n errors: errors\r\n });\r\n }\r\n\r\n static validateIdentityRequestPassportPromise(passportRequest){\r\n\r\n let errors = {};\r\n let formIsValid = true; \r\n \r\n if(!passportRequest.consent){\r\n errors.consent = 'Consent is mandatory';\r\n formIsValid = false; \r\n }\r\n\r\n if(!passportRequest.consent1){\r\n errors.consent1 = 'Consent is mandatory';\r\n formIsValid = false; \r\n }\r\n\r\n if (!passportRequest.number || passportRequest.number.length > 20) {\r\n errors.number = \"The passport number seems incorrect\";\r\n formIsValid = false;\r\n }\r\n \r\n errors.hasError = !formIsValid; \r\n return Promise.resolve({\r\n isValid : formIsValid,\r\n errors: errors\r\n });\r\n }\r\n}\r\n\r\nexport default ValidationApi;\r\n","export function createMarkup(txt) {\r\n return {__html: txt};\r\n};\r\n\r\nexport function hasLocalStorage(){\r\n\r\n var mod = 't';\r\n try {\r\n localStorage.setItem(mod, mod);\r\n localStorage.removeItem(mod);\r\n return true;\r\n } catch(e) {\r\n return false;\r\n }\r\n}\r\n\r\nexport function scrollIntoView(elementId){\r\n let element = document.getElementById(elementId);\r\n if(element){ element.scrollIntoView({behavior: \"smooth\"})};\r\n}\r\n\r\nexport function forceScrollFromUrl(){\r\n let i = 0;\r\n\r\n if((i = window.location.href.indexOf('#')) >= 0){\r\n i++;\r\n let scrollElementId = window.location.href.substr(i, window.location.href.length - i);\r\n scrollIntoView(scrollElementId);\r\n }\r\n}\r\n\r\nexport function isMobileDevice() {\r\n\r\n return ( navigator.userAgent.match(/Android/i)\r\n || navigator.userAgent.match(/webOS/i)\r\n || navigator.userAgent.match(/iPhone/i)\r\n || navigator.userAgent.match(/iPad/i)\r\n || navigator.userAgent.match(/iPod/i)\r\n || navigator.userAgent.match(/BlackBerry/i)\r\n || navigator.userAgent.match(/Windows Phone/i)\r\n );\r\n\r\n}\r\n\r\nexport function isAppleDevice() {\r\n return (\r\n navigator.userAgent.match(/iPhone/i)\r\n || navigator.userAgent.match(/iPad/i)\r\n || navigator.userAgent.match(/iPod/i)\r\n );\r\n}\r\n\r\nexport function searchInList(list, keyName, searchId){\r\n var item = null;\r\n if(list && list[\"length\"]){\r\n for(var i = 0; i < list.length && item == null; i++){\r\n var searchItem = list[i];\r\n if(searchItem[keyName] == searchId){\r\n item= searchItem;\r\n }\r\n }\r\n }\r\n\r\n return item;\r\n}\r\n","\r\n\r\nexport const PRODUCTTYPE_HOMELOAN = 1;\r\nexport const PARTNER_RATECITY = 2;\r\nexport const PRODUCT_CREDITCARD = 5;\r\nexport const PARTNER_UNO = 7;\r\nexport const PARTNER_FIRSTMAC = 26;\r\nexport const PARTNER_TOYOTA = 12;\r\nexport const PARTNER_POWERTORQUE = 24;\r\nexport const PRODUCT_UNO_HLA = 8;\r\nexport const PARTNER_PEPPER = 13;\r\nexport const PRODUCT_PEPPER_HLA = 9;\r\n\r\nexport const RatecityHomeLoansUrl = \"https://www.ratecity.com.au/whitelabels/getcreditscore/home-loans\";\r\nexport const OnDeckBusinessLoansUrl = \"https://www.ondeck.com.au/know-your-score/?utm_source=Get%20Credit%20Score%20Banner\";\r\nexport const TrustPilotReviewUrl = {\r\n widget: \"https://au.trustpilot.com/review/www.getcreditscore.com.au\",\r\n widgetUrl: \"https://au.trustpilot.com/review/www.getcreditscore.com.au\",\r\n carouselWidgetLight: \"//widget.trustpilot.com/trustboxes/53aa8912dec7e10d38f59f36/index.html?locale=en-AU&templateId=53aa8912dec7e10d38f59f36&businessunitId=5a7a2414e70bdc0001447258&styleHeight=130px&styleWidth=100%25&theme=light&stars=5&schemaType=Organization\",\r\n inlineWidgetLight: \"//widget.trustpilot.com/trustboxes/5406e65db0d04a09e042d5fc/index.html?locale=en-AU&templateId=5406e65db0d04a09e042d5fc&businessunitId=5a7a2414e70bdc0001447258&styleHeight=28px&styleWidth=100%25&theme=light\",\r\n microWidgetDark: \"//widget.trustpilot.com/trustboxes/5419b732fbfb950b10de65e5/index.html?locale=en-AU&templateId=5419b732fbfb950b10de65e5&businessunitId=5a7a2414e70bdc0001447258&styleHeight=24px&styleWidth=100%25&theme=dark\"\r\n};\r\n","\r\nimport $ from 'jquery'\r\nimport 'bootstrap'\r\nimport offside from 'offside-js'\r\n\r\n\r\nexport const tonikInitMenu = () =>{\r\n\r\n// mobile menu\r\nif ($('#menu-mobile').length > 0) {\r\n let myOffside = offside('#menu-mobile', {\r\n slidingElementsSelector: '#app',\r\n buttonsSelector: '#button-mobile'\r\n })\r\n\r\n $('.site-overlay').on('click touchstart', function (e) {\r\n let container = $('.offside')\r\n if (!container.is(e.target) && container.has(e.target).length === 0 && !$('#button-mobile').is(e.target) && $('#button-mobile').has(e.target).length === 0) {\r\n myOffside.close()\r\n }\r\n })\r\n}\r\n// mobile menu END\r\n\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as pages from '../shared/pages';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport {tonikInitMenu} from '../../tonik/menu';\r\n\r\nconst MyAccountItem = ({ menuItem, user, blueIcons = false}) => {\r\n\r\n tonikInitMenu();\r\n\r\n var renderedComponent = (\r\n
\r\n
\r\n \r\n
\r\n {\r\n menuItem.subMenuList.map( (item,i) => { if (item.id == \"logout\") {\r\n return ({item.name})\r\n }\r\n else {\r\n return ({item.name})\r\n }\r\n })\r\n }\r\n
\r\n
\r\n
\r\n );\r\n\r\n return renderedComponent;\r\n\r\n};\r\n\r\nMyAccountItem.propTypes = {\r\n menuItem: PropTypes.object.isRequired,\r\n user: PropTypes.object,\r\n\r\n};\r\n\r\n\r\nexport default MyAccountItem;","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport * as pages from '../shared/pages';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport {tonikInitMenu} from '../../tonik/menu';\r\n\r\nconst MenuMobile = ({ menuItemList, user, renderMobile = false}) => {\r\n\r\n tonikInitMenu();\r\n\r\n let clickButtonMobile = ()=> {\r\n tonikInitMenu();\r\n }\r\n\r\n var mobileMenuContent = (\r\n <>\r\n {user && user.displayName && ( \r\n <>\r\n
\r\n

GetCreditScore

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

{user.displayName}

\r\n Log out\r\n
\r\n
\r\n \r\n )}\r\n\r\n {!user || !user.displayName && ( \r\n <>\r\n

GetCreditScore

\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\n \r\n ReactDOM.render(mobileMenuContent, document.getElementById('menu-mobile'))\r\n\r\n if(renderMobile && document.getElementById('dashboard-menu')) {\r\n var mobileDashboardContent = (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"\"/\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n ReactDOM.render(mobileDashboardContent, document.getElementById('dashboard-menu'))\r\n }\r\n\r\n return null;\r\n\r\n};\r\n\r\nMenuMobile.propTypes = {\r\n menuItemList: PropTypes.array,\r\n user: PropTypes.object,\r\n\r\n};\r\n\r\n\r\nexport default MenuMobile;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport * as funcs from '../../components/shared/functions';\r\nimport * as GlobalFixedVariables from '../../config/GlobalFixedVariables';\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport {tonikInitMenu} from '../../tonik/menu';\r\n\r\nimport MyAccountItem from './MyAccountItem';\r\nimport MenuMobile from './MenuMobile';\r\n\r\nconst $ = window.$;\r\n\r\nfunction handleMenuClick(e) {\r\n let target = e.target;\r\n\r\n if (target) {\r\n if ($(target).hasClass(\"glyphicon-chevron-down\")) {\r\n $(target).removeClass(\"glyphicon-chevron-down\");\r\n $(target).toggleClass(\"glyphicon-chevron-up\");\r\n }\r\n else {\r\n $(target).removeClass(\"glyphicon-chevron-up\");\r\n $(target).toggleClass(\"glyphicon-chevron-down\");\r\n }\r\n }\r\n\r\n e.preventDefault();\r\n}\r\n\r\nconst MenuLinkItem = ({menuItem, useJustAnchors, activeItem}) => {\r\n let renderedComponent = null;\r\n if (menuItem.subMenuList && menuItem.subMenuList.length > 0) {\r\n var liClass = '';\r\n if(menuItem.subMenuListOnlyMobile){\r\n liClass += 'hidden-md hidden-sm hidden-lg';\r\n }\r\n else {\r\n liClass += 'dropdown';\r\n }\r\n\r\n renderedComponent = (\r\n
  • \r\n \r\n {menuItem.name} handleMenuClick(e)} className=\"hidden-lg hidden-md hidden-sm pull-right glyphicon glyphicon-chevron-down top-menu-chevron-down\">\r\n \r\n
      \r\n {menuItem.subMenuList.map( item => {\r\n return()\r\n })}\r\n
    \r\n
  • \r\n )\r\n } else{\r\n\r\n let aClassName = menuItem.className;\r\n let linkComponent = null;\r\n if (menuItem.ref) {\r\n linkComponent = {menuItem.name};\r\n } else if (menuItem.link) {\r\n if(useJustAnchors){\r\n linkComponent = {menuItem.name};\r\n }\r\n else{\r\n linkComponent = {menuItem.name}\r\n }\r\n }\r\n\r\n let li_className = '';\r\n if(menuItem.className){\r\n var classes = menuItem.className.split(' ');\r\n for(var c in classes){\r\n if(classes[c] != null && classes[c].startsWith('hidden')){\r\n li_className += ' ' + classes[c];\r\n }\r\n }\r\n }\r\n\r\n renderedComponent = (\r\n
  • \r\n {linkComponent}\r\n
  • \r\n )\r\n}\r\n\r\n return (renderedComponent)\r\n\r\n};\r\n\r\nMenuLinkItem.propTypes = {\r\n mainItem: PropTypes.object,\r\n useJustAnchors: PropTypes.bool\r\n};\r\n\r\nconst MenuItemLinkLogo = ({useJustAnchors, cssClass, isLogoImgBlue, urlPrefix = ''}) => {\r\n let headerLinkComponent = null;\r\n let logoImg = isLogoImgBlue ? ImagesPath.ImgLogoGcsBlue : ImagesPath.ImgLogoGcsWhite;\r\n\r\n if (isXmas()) {\r\n logoImg = isLogoImgBlue ? ImagesPath.ImgLogoGcsBlueXmas : ImagesPath.ImgLogoGcsWhiteXmas;\r\n }\r\n\r\n\r\n if(isHalloween()) {\r\n logoImg = ImagesPath.ImgLogoGcsHalloween;\r\n }\r\n\r\n if (useJustAnchors) {\r\n headerLinkComponent = ;\r\n } else {\r\n headerLinkComponent = ;\r\n }\r\n\r\n return (headerLinkComponent);\r\n};\r\n\r\nconst isXmas = () => {\r\n const december = 12;\r\n const xmasLastDay = 26;\r\n\r\n const currentDate = new Date();\r\n currentDate.setHours(0,0,0,0);\r\n\r\n const isDec = currentDate.getMonth() + 1 === december;\r\n const isBeforeXmasLastDay = currentDate.getDate() <= xmasLastDay;\r\n\r\n return (isDec && isBeforeXmasLastDay);\r\n}\r\n\r\nconst isHalloween = () => {\r\n const october = 10;\r\n const halloweenStartDay = 24;\r\n const halloweenLastDay = 31;\r\n\r\n const curDate = new Date();\r\n curDate.setHours(0,0,0,0);\r\n\r\n const isOct = curDate.getMonth() + 1 === october;\r\n const isHalloween = curDate.getDate() >= halloweenStartDay;\r\n const isBeforeHalloweenLastDay = curDate.getDate() <= halloweenLastDay;\r\n\r\n return (isOct && isHalloween && isBeforeHalloweenLastDay);\r\n}\r\n\r\nclass Menu extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.clickButtonMobile = this.clickButtonMobile.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n tonikInitMenu();\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n }\r\n\r\n clickButtonMobile(){\r\n tonikInitMenu();\r\n }\r\n\r\n render() \r\n {\r\n const {mainClass = 'header-log', navClass= 'col-lg-6 offset-lg-4 col-md-8 offset-md-1', menuItemList, useJustAnchors, logoBlack=false, blueIcons = false, activeItem = true, user= null, renderMobile=false} = this.props;\r\n var logo = logoBlack ? ImagesPath.ImgLogoBlack : ImagesPath.ImgLogoWhite;\r\n var icon = logoBlack ? ImagesPath.ImgIconMobile : ImagesPath.ImgIconMobileWhite;\r\n let classMain = mainClass;\r\n let classNav = navClass;\r\n if(menuItemList && menuItemList.filter(item => item.id == 'my-account').length > 0){\r\n classNav = 'col-lg-8 menu menu-first';\r\n classMain = blueIcons ? 'header-dashboard header-about':'header-dashboard';\r\n }\r\n let componentToRender = null;\r\n var itemMyAccount = null;\r\n\r\n componentToRender = (\r\n
    \r\n
    \r\n
    \r\n {!renderMobile && (
    \r\n \r\n
    )}\r\n
    \r\n \"\"\r\n
    \r\n
    \r\n \r\n
    \r\n { itemMyAccount && (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n\r\n return componentToRender;\r\n }\r\n}\r\n\r\nMenu.propTypes = {\r\n mainClasses: PropTypes.string,\r\n menuItemList: PropTypes.array,\r\n useJustAnchors: PropTypes.bool\r\n};\r\n\r\nexport default Menu;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as pages from '../../shared/pages';\r\nimport * as funcs from '../../shared/functions';\r\nimport * as GlobalFixedVariables from '../../../config/GlobalFixedVariables';\r\n\r\n\r\nexport const AlreadyMember = ({cssClass, text, linkText, isAuthenticated, onLinkClick}) => {\r\n let component = ;\r\n\r\n if(!isAuthenticated){\r\n component = (\r\n

    \r\n {text}\r\n {linkText}\r\n

    \r\n );\r\n }\r\n\r\n return ( component );\r\n}\r\n","import delay from './delay';\r\nimport * as pages from '../components/shared/pages.js';\r\nimport pagesVariants from '../components/shared/textVariants';\r\n\r\nimport {USERROLES, hasOneRole} from '../common/gcsLogic';\r\n\r\nimport {\r\nmenuItemList,\r\nmenuItemsNamePerPage,\r\nkeyFeatures,\r\ngcsProcessSteps,\r\ngcsHomeFaqs,\r\ndashboardtabs} from '../components/shared/staticData';\r\n\r\n/*\r\nlet dashboardTabComponents = [\r\n DashboardScore,\r\n DashboardScoreHistory,\r\n DashboardScoreCompare\r\n];\r\n*/\r\n\r\n////This would be performed on the server in a real app. Just stubbing in.\r\n//const generateId = (author) => {\r\n// return author.firstName.toLowerCase() + '-' + author.lastName.toLowerCase();\r\n//};\r\n\r\n\r\n\r\nclass LayoutApi {\r\n\r\n\r\n static getMenuForPage(pageid, userProfile, menuItemList, menuItemsNamePerPage) {\r\n\r\n return new Promise((resolve, reject) => {\r\n let roles = userProfile.roles\r\n setTimeout(() => {\r\n // pick the right menu items\r\n var menuItemsAllowedKeys = menuItemsNamePerPage[pageid];\r\n if(!menuItemsAllowedKeys){\r\n menuItemsAllowedKeys = menuItemsNamePerPage[\"DEFAULT\"];\r\n }\r\n\r\n var menuItemsToReturn = [];\r\n for(var i = 0; i < menuItemsAllowedKeys.length; i++){\r\n\r\n //var miIndex = menuItemList.findIndex(a => a.id == menuItemsAllowedKeys[i]); \r\n for(var index in menuItemList){\r\n var menuItem = menuItemList[index];\r\n if(menuItem.id == menuItemsAllowedKeys[i]){ \r\n\r\n if(!menuItem.hasOwnProperty('isAuthenticated') ||\r\n (userProfile && (userProfile.isAuthenticated == menuItem.isAuthenticated) && (!menuItem.role || hasOneRole(roles, menuItem.role) ) ) ||\r\n (!userProfile && !menuItem.isAuthenticated)){\r\n menuItemsToReturn.push(menuItem);\r\n }\r\n }\r\n }\r\n }\r\n \r\n resolve(menuItemsToReturn);\r\n\r\n }, delay);\r\n });\r\n }\r\n\r\n\r\n static getKeyFeatures() {\r\n\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n //resolve(Object.assign([], products));\r\n resolve(keyFeatures);\r\n }, delay);\r\n });\r\n }\r\n\r\n static getHomeFaq() {\r\n\r\n return Promise.resolve(gcsHomeFaqs);\r\n // return new Promise((resolve, reject) => {\r\n // setTimeout(() => {\r\n // //resolve(Object.assign([], products));\r\n // resolve(keyFeatures);\r\n // }, delay);\r\n // });\r\n }\r\n\r\n static getGcsProcessSteps() {\r\n\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n //resolve(Object.assign([], products));\r\n resolve(gcsProcessSteps);\r\n }, delay);\r\n });\r\n }\r\n\r\n static getDashboardTabs(userContext, excludeTabIndex) {\r\n\r\n let dtabs = dashboardtabs;\r\n\r\n if(excludeTabIndex){\r\n dtabs = [...dashboardtabs];\r\n dtabs.splice(excludeTabIndex, 1);\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n //resolve(Object.assign([], products));\r\n resolve(dtabs);\r\n\r\n }, delay);\r\n });\r\n }\r\n\r\n\r\n static getTextVariants(userProfile, pageId) {\r\n\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n //resolve(Object.assign([], products));\r\n resolve(pagesVariants);\r\n\r\n }, delay);\r\n });\r\n }\r\n\r\n\r\n\r\n\r\n //static saveAuthor(author) {\r\n // author = Object.assign({}, author); // to avoid manipulating object passed in.\r\n // return new Promise((resolve, reject) => {\r\n // setTimeout(() => {\r\n // // Simulate server-side validation\r\n // const minAuthorNameLength = 3;\r\n // if (author.firstName.length < minAuthorNameLength) {\r\n // reject(`First Name must be at least ${minAuthorNameLength} characters.`);\r\n // }\r\n\r\n // if (author.lastName.length < minAuthorNameLength) {\r\n // reject(`Last Name must be at least ${minAuthorNameLength} characters.`);\r\n // }\r\n\r\n // if (author.id) {\r\n // const existingAuthorIndex = authors.findIndex(a => a.id == author.id);\r\n // authors.splice(existingAuthorIndex, 1, author);\r\n // } else {\r\n // //Just simulating creation here.\r\n // //The server would generate ids for new authors in a real app.\r\n // //Cloning so copy returned is passed by value rather than by reference.\r\n // author.id = generateId(author);\r\n // authors.push(author);\r\n // }\r\n\r\n // resolve(author);\r\n // }, delay);\r\n // });\r\n //}\r\n\r\n //static deleteAuthor(authorId) {\r\n // return new Promise((resolve, reject) => {\r\n // setTimeout(() => {\r\n // const indexOfAuthorToDelete = authors.findIndex(author => {\r\n // author.authorId == authorId;\r\n // });\r\n // authors.splice(indexOfAuthorToDelete, 1);\r\n // resolve();\r\n // }, delay);\r\n // });\r\n //}\r\n}\r\n\r\nexport default LayoutApi;\r\n","\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\n\r\nexport const articlesCategories = [\r\n {\r\n id: 'financial',\r\n name:'FINANCIAL'\r\n },\r\n {\r\n id: 'saving',\r\n name:'SAVINGS'\r\n },\r\n {\r\n id: 'credithealth',\r\n name:'CREDIT HEALTH'\r\n }\r\n];\r\n\r\nexport const articles = [\r\n {\r\n \"id\": \"0\",\r\n \"title\": \"5 ways to improve your credit score\",\r\n \"seoName\":\"5-ways-to-improve-your-credit-score\",\r\n \"imgUrl\": ImagesPath.ImgArticles_5waystoimproveyourcreditscore,\r\n \"category\": { \"id\":\"credithealth\", \"name\":\"CREDIT HEALTH\"},\r\n \"text\":\"These five steps to improving your credit score can help you turn your score into an Excellent credit score!\"\r\n },\r\n {\r\n \"id\": \"1\",\r\n \"title\":\"Credit Score Myths\",\r\n \"seoName\":\"credit-score-myths\",\r\n \"imgUrl\": ImagesPath.ImgArticles_mythsvsfacts,\r\n \"category\": { \"id\":\"financial\", \"name\":\"FINANCIAL\"},\r\n \"text\":\"With so much information available online, it can be tough to separate fact from fiction. To help you cut through the noise, we’ve busted the eight biggest credit score myths.\"\r\n },{\r\n \"id\": \"2\",\r\n \"title\":\"Credit Score Infographic - How is your credit score calculated?\",\r\n \"seoName\":\"credit-score-infographic-how-is-your-credit-score-calculated\",\r\n \"imgUrl\":ImagesPath.ImgArticles_infographics,\r\n \"category\": { \"id\":\"credithealth\", \"name\":\"CREDIT HEALTH\"},\r\n \"text\":\"Have you ever wondered what actually makes up your credit score? Find out here.\"\r\n },{\r\n \"id\": \"3\",\r\n \"title\":\"Free Credit Score | Discover Yours Now\",\r\n \"seoName\":\"free-credit-score-discover-yours-now\",\r\n \"imgUrl\":ImagesPath.ImgArticles_discoveryourcreditscore,\r\n \"category\": { \"id\":\"financial\", \"name\":\"FINANCIAL\"},\r\n \"text\":\"Did you know its super simple to find out your credit score? You don’t need to be credit savvy to find yours; it takes less than 60 seconds and is 100% free.\"\r\n },\r\n {\r\n \"id\": \"4\",\r\n \"title\": \"What Comprehensive Credit Reporting means for you and your credit score\",\r\n \"seoName\": \"everything-to-know-about-comprehensive-credit-reporting\",\r\n \"imgUrl\": ImagesPath.ImgArticles_comprehensivecreditreporting,\r\n \"category\": { \"id\":\"credithealth\", \"name\":\"CREDIT HEALTH\"},\r\n \"text\": \"Everything to know about Comprehensive Credit Reporting.\"\r\n },\r\n {\r\n \"id\": \"5\",\r\n \"title\":\"How To Understand Your Credit Score\",\r\n \"seoName\":\"understanding-your-credit-score\",\r\n \"imgUrl\":ImagesPath.ImgArticles_understandyourcreditscore,\r\n \"category\": { \"id\":\"credithealth\", \"name\":\"CREDIT HEALTH\"},\r\n \"text\":\"Learn more about your credit score and understand how your credit score is calculated, as it could help boost your confidence when you apply for credit.\"\r\n },{\r\n \"id\": \"6\",\r\n \"title\":\"Generation buY; why not all hope is lost for us\",\r\n \"seoName\":\"generation-buy-why-not-all-hope-is-lost-for-us\",\r\n \"imgUrl\":ImagesPath.ImgArticles_generationbuy,\r\n \"category\": { \"id\":\"credithealth\", \"name\":\"CREDIT HEALTH\"},\r\n \"text\":\"Many Gen Y's believe they might never own their own home due to the skyrocketing house prices in major Australian cities.\"\r\n },\r\n {\r\n \"id\": \"7\",\r\n \"title\": \"From Bondi to Bolivia; how to save for a trip of a lifetime\",\r\n \"seoName\": \"from-bondi-to-bolivia-how-to-save-for-a-trip-of-a-lifetime\",\r\n \"imgUrl\": ImagesPath.ImgArticles_bonditobolivia,\r\n \"category\": { \"id\":\"financial\", \"name\":\"FINANCIAL\"},\r\n \"text\": \"From the classroom, to the Uni lecture theatre, to your office desk – there is so much more of the world to see.\"\r\n },\r\n {\r\n \"id\": \"8\",\r\n \"title\": \"Could your partner’s financial behaviours be impacting your future?\",\r\n \"seoName\": \"could-your-partner-s-financial-behaviours-be-impacting-your-future\",\r\n \"imgUrl\": ImagesPath.ImgArticles_partnersbehaviour,\r\n \"category\": { \"id\":\"financial\", \"name\":\"FINANCIAL\"},\r\n \"text\": \"What do you look for in a partner? A kind heart? A good sense of humour? Good financial habits?\"\r\n }\r\n];\r\n\r\nexport const articlesLearn =\r\n{\r\n title:'Learn from the experts',\r\n article: articles[0],\r\n articles: [articles[1],\r\n articles[2],\r\n articles[4],\r\n ]\r\n};\r\n","import * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\nexport const faqTopics =[];\r\n\r\n\r\nexport const faqs = [ ];\r\n\r\n\r\nexport const staticSectionFAQS = [\r\n {\r\n id: \"0\",\r\n title:\"What is a credit score?\",\r\n href: GlobalVariables.WEB_BASE_URL + 'faq/get-my-credit-score/#what-is-a-credit-score',\r\n text:\"A credit score is a number which summarises the credit information from your credit report. Credit scores are one indicator of your credit risk and may be used by credit providers like banks and credit card companies to help understand how responsible you are to lend to. Generally, a higher credit score is considered better as it indicates lower risk. Your credit score from GetCreditScore is generated by Australia’s leading credit bureau, Equifax, and is a number between 0 and 1200.\"\r\n },\r\n\r\n {\r\n id: \"1\",\r\n title: \"How is my credit score calculated?\",\r\n href: GlobalVariables.WEB_BASE_URL + 'faq/improve-my-credit-score/#how-is-my-credit-score-calculated',\r\n text: \"Simply, your credit score* is calculated from your credit report which is a record of your current situation and past behaviour, including:\\\r\n\t
    \\\r\n\t \\\r\n\t\t

    You can obtain your credit report, including a free option, directly from Equifax here.

    \\\r\n \t

    * Your GetCreditScore credit score is based on the Equifax Credit Score Model

    \"\r\n},\r\n\r\n{\r\n id: \"2\",\r\n href: GlobalVariables.WEB_BASE_URL + 'faq/general-information/#are-all-credit-scores-from-different-bureaus-the-same',\r\n title:\"Are credit scores from different bureaus the same?\",\r\n subTitle: '',\r\n text:\"Not all credit scores are the same. Every credit score relies on different data, and credit providers don’t all use the same score, however\\\r\n\t\tEquifax, where GetCreditScore receives its credit scores from, has credit information on 18 million Australians making it Australia’s leading\\\r\n\t\tcredit reporting organisation.\"\r\n }]\r\n","import delay from './delay';\r\n\r\nimport{ articlesLearn, articlesCategories, articles} from '../components/shared/staticArticles';\r\nimport{ faqTopics, faqs} from '../components/shared/staticFaq';\r\n\r\n\r\nclass ArticlesApi {\r\n static getArticlesForHome() {\r\n\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n //resolve(Object.assign([], products));\r\n resolve(articles.slice(0,6));\r\n }, delay);\r\n });\r\n }\r\n\r\n static getArticlesForDashboard() {\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n setTimeout(() => {\r\n //resolve(Object.assign([], products));\r\n //resolve(articlesLearn);\r\n resolve(articles.slice(0,6));\r\n }, delay);\r\n });\r\n }\r\n\r\n static getArticle( articleSearch = { id:null, seoName:null, isFull: true }) {\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n setTimeout(() => {\r\n\r\n var article = {};\r\n for(var i = 0; i < articles.length; i++){\r\n var art = articles[i];\r\n if(art.id == articleSearch.id || art.seoName == articleSearch.seoName){\r\n article = art;\r\n if(!article.nextArticle){\r\n var j = i + 1;\r\n if (j >= articles.length){\r\n j = 0;\r\n }\r\n\r\n article.nextArticle = {\r\n id: articles[j].id,\r\n title: articles[j].title,\r\n seoName: articles[j].seoName\r\n };\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n\r\n resolve(article);\r\n }, delay);\r\n });\r\n }\r\n\r\n static searchFaqAndArticles(searchParams = { searchTerm: '', hasArticles:true, hasFaqs:true, categoryId:null}) {\r\n\r\n return new Promise((resolve, reject) => {\r\n\r\n setTimeout(() => {\r\n\r\n var tmpArticles = [];\r\n if(searchParams.categoryId){\r\n for(var i in articles){\r\n var art = articles[i];\r\n if(art.category.id == searchParams.categoryId){\r\n tmpArticles.push(art);\r\n }\r\n }\r\n }\r\n else {\r\n tmpArticles = articles;\r\n }\r\n\r\n var searchResult = {\r\n faqs : faqs,\r\n articles: tmpArticles\r\n }\r\n //resolve(Object.assign([], products));\r\n resolve(searchResult);\r\n }, delay);\r\n });\r\n }\r\n\r\n static getArticlesCategories() {\r\n\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n //resolve(Object.assign([], products));\r\n resolve(articlesCategories);\r\n }, delay);\r\n });\r\n }\r\n\r\n static getFaqTopics() {\r\n\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n //resolve(Object.assign([], products));\r\n resolve(faqTopics);\r\n }, delay);\r\n });\r\n }\r\n\r\n static getFaqByTopic(faqTopicId){\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n var topic = null;\r\n for(var i in faqTopics){\r\n var cTopic = faqTopics[i];\r\n if(cTopic.id == faqTopicId){\r\n topic = cTopic;\r\n break;\r\n }\r\n }\r\n\r\n var faqsToReturn = [];\r\n\r\n for(var j in faqs){\r\n var cFaq = faqs[j];\r\n if(cFaq.faqTopicId == faqTopicId){\r\n faqsToReturn.push(cFaq);\r\n }\r\n }\r\n\r\n //resolve(Object.assign([], products));\r\n resolve({\r\n topic : topic,\r\n faqs: faqsToReturn\r\n });\r\n }, delay);\r\n });\r\n }\r\n\r\n //static saveAuthor(author) {\r\n // author = Object.assign({}, author); // to avoid manipulating object passed in.\r\n // return new Promise((resolve, reject) => {\r\n // setTimeout(() => {\r\n // // Simulate server-side validation\r\n // const minAuthorNameLength = 3;\r\n // if (author.firstName.length < minAuthorNameLength) {\r\n // reject(`First Name must be at least ${minAuthorNameLength} characters.`);\r\n // }\r\n\r\n // if (author.lastName.length < minAuthorNameLength) {\r\n // reject(`Last Name must be at least ${minAuthorNameLength} characters.`);\r\n // }\r\n\r\n // if (author.id) {\r\n // const existingAuthorIndex = authors.findIndex(a => a.id == author.id);\r\n // authors.splice(existingAuthorIndex, 1, author);\r\n // } else {\r\n // //Just simulating creation here.\r\n // //The server would generate ids for new authors in a real app.\r\n // //Cloning so copy returned is passed by value rather than by reference.\r\n // author.id = generateId(author);\r\n // authors.push(author);\r\n // }\r\n\r\n // resolve(author);\r\n // }, delay);\r\n // });\r\n //}\r\n\r\n //static deleteAuthor(authorId) {\r\n // return new Promise((resolve, reject) => {\r\n // setTimeout(() => {\r\n // const indexOfAuthorToDelete = authors.findIndex(author => {\r\n // author.authorId == authorId;\r\n // });\r\n // authors.splice(indexOfAuthorToDelete, 1);\r\n // resolve();\r\n // }, delay);\r\n // });\r\n //}\r\n}\r\n\r\nexport default ArticlesApi;\r\n","import delay from './delay';\r\nimport * as GlobalVariables from '../config/configureGlobalVariables';\r\nimport * as GlobalFixedVariables from '../config/GlobalFixedVariables';\r\nimport * as funcs from '../components/shared/functions';\r\n\r\n\r\n// import {\r\n// callToActionConfiguration,\r\n// masterCallsToAction,\r\n// } from '../components/shared/staticCallsToAction';\r\n\r\nimport {\r\nproducts\r\n} from '../components/shared/staticProducts';\r\n\r\n// const _scoreHistory = [\r\n// { date: '20160101', score: 400, isReal: true},\r\n// { date: '20160101', score: 500, isReal: false},\r\n// { date: '20160401', score: 600, isReal: true},\r\n// { date: '20160601', score: 700, isReal: true},\r\n// { date: '20160601', score: 750, isReal: false},\r\n// { date: '20160901', score: 800, isReal: true},\r\n// { date: '20160601', score: 850, isReal: false},\r\n// { date: '20160901', score: 900, isReal: true}\r\n// ];\r\n\r\nclass ScoreApi {\r\n static getScoreProfile(csrfToken, options = {includeScore: true, includeAdvices: true, includeHistory: true}) {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/creditscore';\r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n let requestOptions = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers,\r\n body: JSON.stringify(options)\r\n }\r\n\r\n return fetch(fullUrl, requestOptions).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n }); \r\n }\r\n\r\n // static findActionById(masterCallsToAction, actionId){\r\n\r\n // var item = null;\r\n // for(var i = 0; i < masterCallsToAction.length && item == null; i++){\r\n // var searchItem = masterCallsToAction[i];\r\n // if(searchItem.id == actionId){\r\n // item= searchItem;\r\n // }\r\n // }\r\n\r\n // return item;\r\n // }\r\n\r\n // static getCallsToAction(csrfToken, scoreProfile, userProfile) {\r\n //\r\n // const fullUrl = GlobalVariables.API_BASE_URL + 'v1/creditscore/call2actions';\r\n //\r\n // let requestOptions = {\r\n // method: 'GET',\r\n // mode: 'cors',\r\n // credentials: 'include',\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'x-gcs-xsrf': csrfToken\r\n // }\r\n // // ,body: JSON.stringify()\r\n // }\r\n //\r\n // return fetch(fullUrl, requestOptions).then(response =>\r\n // {\r\n // if (!response.ok) {\r\n // return Promise.reject(response);\r\n // }\r\n // else{\r\n // return response.json();\r\n // }\r\n // }\r\n // ).catch(function (error) {\r\n // throw(error);\r\n // });\r\n // }\r\n\r\n static getCallsToAction(scoreProfile, userProfile, productResult) {\r\n \r\n let callToActionArray = [];\r\n\r\n for(let i = 0; i < productResult.call2Actions.length; i++){\r\n\r\n var loadedNextStep = productResult.call2Actions[i];\r\n var nextStepItem = Object.assign({}, loadedNextStep); \r\n\r\n callToActionArray.push(nextStepItem);\r\n\r\n } \r\n\r\n return Promise.resolve(callToActionArray); \r\n }\r\n\r\n // static getCallsToActionOld(scoreProfile, userProfile, productResult) {\r\n\r\n // var currentScore = 0;\r\n // if(scoreProfile && scoreProfile.scoreInfo){\r\n // var currentScore = scoreProfile.scoreInfo.score || 0;\r\n // }\r\n\r\n // // var configItem = null;\r\n // // for(var cocnfigIndex = 0; cocnfigIndex < callToActionConfiguration.length && configItem == null; cocnfigIndex++){\r\n // // var tmpConfigItem = callToActionConfiguration[cocnfigIndex];\r\n // // if(tmpConfigItem.range.min <= currentScore && tmpConfigItem.range.max >= currentScore) {\r\n // // configItem = tmpConfigItem;\r\n // // }\r\n // // }\r\n\r\n // if(productResult.partnerId == GlobalFixedVariables.PARTNER_TOYOTA){\r\n // configItem = null;\r\n // }\r\n\r\n // let isMobile = funcs.isMobileDevice();\r\n // var callToActionArray = [];\r\n // if(configItem){\r\n \r\n // var stepIndex = 0;\r\n // var exclude = false;\r\n // var idCache = {};\r\n // for(var j = 0; j < configItem.actions.length; j++){\r\n // exclude = false;\r\n\r\n // var actionId = configItem.actions[j];\r\n // var actionItem = ScoreApi.findActionById(masterCallsToAction, actionId);\r\n\r\n // var customAction = null;\r\n // if(actionItem && actionItem[\"isCustomRuleSatisfied\"]){\r\n // customAction = actionItem[\"isCustomRuleSatisfied\"](userProfile, scoreProfile, configItem);\r\n // if(!customAction.isSatisfied){\r\n // if(customAction.altId && !idCache[\"\" + customAction.altId]){\r\n // actionItem = ScoreApi.findActionById(masterCallsToAction, customAction.altId);\r\n // idCache[\"\" + customAction.altId] = true;\r\n // customAction = null;\r\n // }\r\n // else{\r\n // exclude = true;\r\n // }\r\n // }\r\n // }\r\n\r\n // if(!exclude && actionItem && !(isMobile && actionItem[\"excludeFromMobile\"])){\r\n\r\n // stepIndex++;\r\n // var actionItemWithStep = Object.assign({step: stepIndex}, actionItem);\r\n // if(customAction && customAction.altUrl){\r\n // actionItemWithStep.href = customAction.altUrl;\r\n // }\r\n\r\n // let prodItem = null;\r\n // if(actionItemWithStep[\"elementType\"] == 'homeloan'){\r\n // prodItem = funcs.searchInList(productResult.productsCall2Action, \"productTypeId\", actionItemWithStep.productTypeId);\r\n // if(prodItem){\r\n // let itemMetadata = actionItemWithStep.productDefinitions[prodItem.productIdentifier];\r\n // actionItemWithStep = Object.assign({}, actionItemWithStep, itemMetadata);\r\n // }\r\n // }\r\n\r\n // let standardLoad = !actionItemWithStep[\"loadLinkFromProducts\"];\r\n // if(!standardLoad){\r\n\r\n // prodItem = funcs.searchInList(productResult.productsCall2Action, \"productIdentifier\", actionItemWithStep[\"productIdentifier\"]);\r\n\r\n // if(prodItem){\r\n // var masterProdConfig = funcs.searchInList(products, \"id\", actionItemWithStep[\"productIdentifier\"]);\r\n // let mixedProdConfig = Object.assign({}, masterProdConfig, prodItem);\r\n // actionItemWithStep.product = mixedProdConfig;\r\n // actionItemWithStep.partnerId = mixedProdConfig.partnerId;\r\n // actionItemWithStep.productTypeId = mixedProdConfig.productTypeId;\r\n // actionItemWithStep.productId = mixedProdConfig.productId;\r\n // }\r\n // else{\r\n // standardLoad = true;\r\n // }\r\n\r\n // }\r\n\r\n // if(standardLoad){\r\n // if(userProfile && userProfile.identifier && actionItem && actionItemWithStep.href){\r\n // actionItemWithStep.href = actionItemWithStep.href.replace('{USERID}', 'u-' + userProfile.identifier);\r\n // }\r\n // }\r\n\r\n // if(actionItem){\r\n // idCache[\"\" + actionItem.id] = true;\r\n // callToActionArray.push(actionItemWithStep);\r\n // }\r\n\r\n // }\r\n // }\r\n // }\r\n\r\n // return Promise.resolve(callToActionArray);\r\n \r\n // // return new Promise((resolve, reject) => {\r\n // // setTimeout(() => {\r\n // // resolve(callToActionArray);\r\n\r\n // // }, delay);\r\n // // });\r\n // }\r\n\r\n\r\n // static getScoreHistory(userContext) {\r\n //\r\n // return new Promise((resolve, reject) => {\r\n // setTimeout(() => {\r\n // // pick the right menu items\r\n // //resolve(Object.assign([], products));\r\n // // console.log(JSON.stringify(menuItemsToReturn));\r\n // resolve(\r\n //\r\n // );\r\n // }, delay);\r\n // });\r\n // }\r\n\r\n static getScoreCounter() {\r\n const fullUrl = GlobalVariables.API_BASE_URL + \"v1/creditscore/counter\";\r\n\r\n const options = {\r\n method: 'GET',\r\n mode: 'cors',\r\n credentials: 'include', \r\n };\r\n\r\n return fetch(fullUrl, options)\r\n .then(response => {\r\n if (response.ok) {\r\n return response.json();\r\n }\r\n else {\r\n return Promise.reject(response);\r\n }\r\n })\r\n .catch(function (error) {\r\n throw(error);\r\n });\r\n }\r\n};\r\n\r\nexport default ScoreApi;\r\n","import * as types from './actionTypes';\r\n\r\nexport function beginAjaxCall() {\r\n return {type: types.BEGIN_AJAX_CALL};\r\n}\r\n\r\nexport function ajaxCallError() {\r\n return {type: types.AJAX_CALL_ERROR};\r\n}\r\n\r\nexport function apiFail(apiName, stateProperty){\r\n return {type: types.API_FAIL + stateProperty, api: {apiName : apiName, stateProperty: stateProperty}};\r\n}\r\n","class HelperApi {\r\n\r\n static setDateIntoCustomerFromIsoString(customer, isoString) {\r\n\r\n //isoString is 1981-09-10T00:00:00.\r\n if(isoString){\r\n customer.dateOfBirth = new Date(isoString);\r\n customer.dob = {\r\n yy: isoString.substr(0,4),\r\n mm: isoString.substr(5,2),\r\n dd: isoString.substr(8,2)\r\n };\r\n }\r\n }\r\n\r\n static setInnerDateOfBirthAndDobFromNumbers(customer, year, month, day) {\r\n\r\n var yStr = '' + year;\r\n var mStr = '' + month;\r\n var dStr = '' + day;\r\n\r\n if(mStr.length == 1){\r\n mStr = '0' + mStr;\r\n }\r\n\r\n if(dStr.length == 1){\r\n dStr = '0' + dStr;\r\n }\r\n\r\n customer.dateOfBirth = new Date('' + yStr + '-' + mStr + '-' + dStr + 'T00:00:00Z');\r\n customer.dob = {\r\n yy: yStr,\r\n mm: mStr,\r\n dd: dStr\r\n };\r\n }\r\n\r\n static getInnerDateOfBirthAndDobFromNumbers(year, month, day) {\r\n\r\n var yStr = '' + year;\r\n var mStr = '' + month;\r\n var dStr = '' + day;\r\n\r\n if(mStr.length == 1){\r\n mStr = '0' + mStr;\r\n }\r\n\r\n if(dStr.length == 1){\r\n dStr = '0' + dStr;\r\n }\r\n\r\n return {\r\n dateTypeObj: new Date('' + yStr + '-' + mStr + '-' + dStr + 'T00:00:00Z'),\r\n datePartsObj : {\r\n yy: yStr,\r\n mm: mStr,\r\n dd: dStr\r\n }\r\n };\r\n }\r\n\r\n static encodeData(data) {\r\n return Object.keys(data).map(function(key) {\r\n return [key, data[key]].map(encodeURIComponent).join(\"=\");\r\n }).join(\"&\");\r\n }\r\n \r\n static toCurrencyFormat(value, decimalPoints = 0, currencySymbols = \"$\") {\r\n value = Number(value);\r\n value = (!isNaN(value) && isFinite(value)) \r\n ? value.toFixed(decimalPoints).replace(/(\\d)(?=(\\d\\d\\d)+(?!\\d))/g, \"$1,\")\r\n : \"0\";\r\n \r\n return currencySymbols + value;\r\n }\r\n\r\n static toThousandSeparatedFormat(value) {\r\n const intValue = parseInt(value, 10);\r\n return (!isNaN(intValue) && isFinite(intValue))\r\n ? intValue.toLocaleString(\"en-AU\")\r\n : \"\";\r\n }\r\n\r\n static removeCommaSeparators(value) {\r\n if (value)\r\n value = value.replace(/,/g, \"\");\r\n\r\n return value;\r\n }\r\n\r\n}\r\n\r\nexport default HelperApi;\r\n","import delay from './delay';\r\nimport * as GlobalVariables from '../config/configureGlobalVariables';\r\n\r\nimport {\r\nproducts,\r\nproductTypes\r\n} from '../components/shared/staticProducts';\r\n\r\nimport {\r\ncreditCards\r\n} from '../components/shared/staticProductsCreditCards';\r\n\r\nimport * as ImagesPath from '../config/imagesPath';\r\n\r\n// This file mocks a web API by working with the hard-coded data below.\r\n// It uses setTimeout to simulate the delay of an AJAX call.\r\n// All calls return promises.\r\n\r\n\r\n////This would be performed on the server in a real app. Just stubbing in.\r\n//const generateId = (author) => {\r\n// return author.firstName.toLowerCase() + '-' + author.lastName.toLowerCase();\r\n//};\r\n\r\nclass ProductApi {\r\n\r\n static getProductTypes(userProfile, scoreProfile, requestProductType, initialCollection) {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/product/init';\r\n let csrfToken = userProfile.csrfToken;\r\n\r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n \r\n let options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers,\r\n body: JSON.stringify(requestProductType)\r\n };\r\n\r\n return fetch(fullUrl, options).then(response =>\r\n { \r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n let productConfigJson = response.json();\r\n\r\n return productConfigJson.then( productConfig => { \r\n \r\n // transform Products into previous format\r\n let productResult = [];\r\n let hiddenProductsResult = [];\r\n\r\n for(var i = 0; i < productConfig.productConfiguration.length; i++){\r\n var prodMaster = productConfig.productConfiguration[i]; \r\n //add to array\r\n var prodItem = ProductApi.getProductFromApiProduct(prodMaster);\r\n \r\n if(prodItem.show){\r\n productResult.push(prodItem);\r\n }\r\n else{\r\n hiddenProductsResult.push(prodItem);\r\n }\r\n }\r\n \r\n // Copy the next steps in this one\r\n let nextSteps = []; \r\n var stepNumber = 1;\r\n for(var j = 0; j < productConfig.call2Actions.length; j++) {\r\n var callToAction = productConfig.call2Actions[j];\r\n var nextStep = ProductApi.getNextStepFromApiNextStep(callToAction); \r\n if(nextStep){\r\n nextStep.step = stepNumber++;\r\n nextSteps.push(nextStep);\r\n } \r\n }\r\n \r\n // add other products to provide other choices\r\n var productsByType = [];\r\n if(productConfig.productsByType){\r\n\r\n for(var ind = 0; ind < productConfig.productsByType.length; ind++){\r\n var typeList = productConfig.productsByType[ind];\r\n if(typeList && typeList.products && typeList.products.length > 0){\r\n\r\n var prodTypeKey = \"pt_\" + typeList.productTypeId;\r\n productsByType[prodTypeKey] = []; // Initialize final object\r\n for(var pi = 0; pi < typeList.products.length; pi++ ){\r\n\r\n var prodApi = typeList.products[pi];\r\n \r\n if(prodApi){ \r\n\r\n var prodExtraFinal = ProductApi.getProductFromApiProduct(prodApi);\r\n if(prodExtraFinal){\r\n productsByType[prodTypeKey].push(prodExtraFinal);\r\n } \r\n }\r\n } \r\n } \r\n }\r\n }\r\n \r\n let responseObj =\r\n {\r\n isAnonymous: productConfig.isAnonymous,\r\n userId: productConfig.userId,\r\n products: productResult,\r\n hiddenProducts: hiddenProductsResult,\r\n partnerId: productConfig.partnerId,\r\n productsCall2Action: productConfig.productConfigurationCall2Action,\r\n call2Actions: nextSteps,\r\n productsByType: productsByType\r\n }; \r\n \r\n return responseObj;\r\n\r\n });\r\n }\r\n }\r\n ).catch(function (error) {\r\n\r\n throw(error);\r\n });\r\n }\r\n\r\n \r\n static getProductFromApiCommon(prodMaster){\r\n \r\n var prodItem = null;\r\n if(prodMaster){\r\n\r\n prodItem = {};\r\n // Main properties\r\n prodItem.show = prodMaster.show;\r\n if((prodMaster.productTypeId == productTypes.homeLoanAssistant) || (prodMaster.productTypeId == productTypes.homeLoanAssistantExpert)){\r\n prodItem.show = false;\r\n } \r\n prodItem.id = prodMaster.productIdentifier;\r\n prodItem.productId = prodMaster.productId;\r\n prodItem.productTypeId = prodMaster.productTypeId;\r\n prodItem.partnerId = prodMaster.partnerId;\r\n prodItem.linkRef = prodMaster.linkRef;\r\n prodItem.href = prodMaster.href;\r\n prodItem.actionRoute = prodMaster.actionRoute;\r\n prodItem.hasPushLead = prodMaster.hasPushLead;\r\n prodItem.hasHandshake = prodMaster.hasHandshake;\r\n prodItem.controlType = prodMaster.controlType;\r\n prodItem.altProductIdentifier = prodMaster.altProductIdentifier; \r\n \r\n // Display\r\n prodItem.productDisplayMain = prodMaster.productDisplayMain;\r\n prodItem.productDisplayNextStep = prodMaster.productDisplayNextStep;\r\n prodItem.productDisplayHandshake = prodMaster.productDisplayHandshake;\r\n prodItem.productDisplayWizard = prodMaster.productDisplayWizard;\r\n prodItem.productDisplayList = prodMaster.productDisplayList;\r\n \r\n }\r\n\r\n return prodItem;\r\n }\r\n \r\n \r\n static getProductFromApiProduct(prodMaster){\r\n \r\n var prodItem = null;\r\n if(prodMaster){\r\n\r\n prodItem = ProductApi.getProductFromApiCommon(prodMaster); \r\n \r\n if(prodItem){\r\n\r\n if(prodItem.productDisplayList){\r\n \r\n prodItem.partnerLogoImgUrl = prodItem.productDisplayList.imgUrl;\r\n prodItem.partnerTitle = prodItem.productDisplayList.title;\r\n prodItem.partnerDescription = prodItem.productDisplayList.description; \r\n } \r\n\r\n if(prodItem.productDisplayMain){\r\n \r\n prodItem.imgUrl = prodMaster.productDisplayMain.imgUrl2 ? prodMaster.productDisplayMain.imgUrl2 : ProductApi.getDefaultBadImageForProd(prodMaster);\r\n prodItem.imgUrl_Sales = prodMaster.productDisplayMain.imgUrl ? prodMaster.productDisplayMain.imgUrl : ProductApi.getDefaultImageForProd(prodMaster);\r\n prodItem.title = prodItem.productDisplayMain.title ? prodItem.productDisplayMain.title : ProductApi.getDefaultBadActionBtnTextForProd(prodMaster);\r\n prodItem.title2 = prodItem.productDisplayMain.title2 ? prodItem.productDisplayMain.title2 : ProductApi.getDefaultBadActionBtnTextForProd(prodMaster);\r\n\r\n prodItem.callToAction = {}; \r\n prodItem.callToAction.salesTitle = prodItem.productDisplayMain.actionBtn ?\r\n prodItem.productDisplayMain.actionBtn :\r\n ProductApi.getDefaultActionBtnTextForProd(prodMaster);\r\n prodItem.callToAction.title = prodItem.productDisplayMain.actionBtn2 ?\r\n prodItem.productDisplayMain.actionBtn2 :\r\n ProductApi.getDefaultBadActionBtnTextForProd(prodMaster);\r\n \r\n prodItem.features = [];\r\n if(prodMaster.productDisplayMain.features){\r\n let x = 0; \r\n prodMaster.productDisplayMain.features.forEach( (item, index) => {\r\n prodItem.features.push({ key: ++x, title : item.title, classToAppend: item.classToAppend }); \r\n });\r\n } \r\n }\r\n else{\r\n let defaultText = ProductApi.getDefaultBadActionBtnTextForProd(prodMaster);\r\n let salesText = ProductApi.getDefaultActionBtnTextForProd(prodMaster);\r\n prodItem.imgUrl = ProductApi.getDefaultBadImageForProd(prodMaster);\r\n prodItem.imgUrl_Sales = prodMaster.imgUrl ? prodMaster.imgUrl : ProductApi.getDefaultImageForProd(prodMaster);\r\n prodItem.title = salesText;\r\n prodItem.callToAction = { \"title\": defaultText, \"salesTitle\": salesText, \"action\": {} };\r\n prodItem.features = ProductApi.getDefaultFeaturesTextForProd(prodMaster);\r\n } \r\n }\r\n }\r\n\r\n return prodItem;\r\n }\r\n \r\n static getNextStepFromApiNextStep(callToAction){\r\n\r\n var nextStep = null;\r\n if(callToAction){\r\n nextStep = {};\r\n nextStep.id = callToAction.id;\r\n nextStep.text = callToAction.title;\r\n nextStep.description = callToAction.description;\r\n nextStep.actionText = callToAction.actionBtn;\r\n nextStep.imgUrl = callToAction.imgUrl;\r\n nextStep.href = callToAction.href;\r\n nextStep.actionRoute = callToAction.action;\r\n\r\n nextStep.linkTarget = callToAction.linkTarget ? callToAction.linkTarget : '_blank';\r\n nextStep.trackClick = callToAction.product != null; \r\n \r\n if(callToAction.product){\r\n callToAction.product.isNextStep = true;\r\n nextStep.product = callToAction.product;\r\n nextStep.product.id = nextStep.product.productIdentifier;\r\n \r\n if(nextStep.href){\r\n nextStep.product.href = nextStep.href;\r\n }\r\n else if(nextStep.actionRoute){\r\n nextStep.product.actionRoute = nextStep.actionRoute;\r\n }\r\n \r\n nextStep.productIdentifier = nextStep.product.productIdentifier;\r\n nextStep.partnerId = callToAction.product.partnerId;\r\n nextStep.productTypeId = callToAction.product.productTypeId;\r\n nextStep.productId = callToAction.product.productId;\r\n } \r\n }\r\n \r\n return nextStep;\r\n }\r\n\r\n static getDefaultImageForProd(prodMaster){\r\n \r\n var prodTypeId = prodMaster.productTypeId;\r\n\r\n if(prodTypeId == productTypes.homeloan){\r\n return ImagesPath.ImgProduct_HomeLoan_Sales;\r\n }\r\n else if(prodTypeId == productTypes.carloan){\r\n return ImagesPath.ImgProduct_AutoLoan_Sales;\r\n }\r\n else if(prodTypeId == productTypes.personalloan){\r\n return ImagesPath.ImgProduct_PersonalLoan_Sales;\r\n }\r\n else if(prodTypeId == productTypes.businessloan){\r\n return ImagesPath.ImgProduct_BusinessLoan_Sales;\r\n }\r\n else if(prodTypeId == productTypes.creditcard){\r\n return ImagesPath.ImgProduct_CC_Sales;\r\n } \r\n else if( (prodTypeId == productTypes.insurance) ||\r\n (prodTypeId == productTypes.insuranceCar) ||\r\n (prodTypeId == productTypes.insuranceHome) ||\r\n (prodTypeId == productTypes.insuranceLife) ||\r\n (prodTypeId == productTypes.insuranceProtection) ){\r\n return ImagesPath.ImgProduct_Insurance_Sales;\r\n }\r\n else if(prodTypeId == productTypes.homeLoanAssistant){\r\n return ImagesPath.ImgProduct_HomeLoan_Sales;\r\n } \r\n } \r\n\r\n static getDefaultFeaturesTextForProd(prodMaster){\r\n \r\n let prodTypeId = prodMaster.productTypeId;\r\n if(prodTypeId == productTypes.homeloan){\r\n return [\r\n {key:\"1\", title : \"Online approval\", classToAppend: \"\" },\r\n {key:\"2\", title : \"1600 loans from 30 lenders\", classToAppend: \"\"},\r\n {key:\"3\", title : \"Online chat support\", classToAppend: \"\"},\r\n {key:\"4\", title : \"Loan matched to your needs\", classToAppend: \"hidden-xs\"},\r\n {key:\"5\", title : \"Loan approval assistance\", classToAppend: \"hidden-xs\"},\r\n ];\r\n }\r\n else if(prodTypeId == productTypes.carloan){\r\n return [\r\n { key:\"1\", title : \"Instant quote\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Online approval\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Car & Motorbike loans\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Boat & Caravan loans\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Novated leasing options\", classToAppend: \"hidden-xs\"},\r\n ];\r\n }\r\n else if(prodTypeId == productTypes.personalloan){\r\n return [\r\n { key:\"1\", title : \"Tailored to your credit score\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Borrow up to $50,000\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Get a quote before you apply\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Fast approval Process\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"100% online\", classToAppend: \"hidden-xs\"},\r\n ];\r\n }\r\n else if(prodTypeId == productTypes.businessloan){\r\n return [\r\n { key:\"1\", title : \"A loan for every business type\", classToAppend: \"\" },\r\n { key:\"2\", title : \"50+ loans from over 35 lenders\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Business credit cards\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Compare rates, terms & fees\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Dedicated credit specialists\", classToAppend: \"hidden-xs\"},\r\n ];\r\n }\r\n else if(prodTypeId == productTypes.creditcard){\r\n return [\r\n { key:\"1\", title : \"Comprehensive comparison\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Approx. 200 different products\", classToAppend: \"\"},\r\n { key:\"3\", title : \"0% Balance Transfer cards\", classToAppend: \"\"},\r\n { key:\"4\", title : \"Reward program cards\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Frequent flyer cards\", classToAppend: \"hidden-xs\"},\r\n ];\r\n }\r\n else if( (prodTypeId == productTypes.insurance) ||\r\n (prodTypeId == productTypes.insuranceCar) ||\r\n (prodTypeId == productTypes.insuranceHome) ||\r\n (prodTypeId == productTypes.insuranceLife) ||\r\n (prodTypeId == productTypes.insuranceProtection) ){\r\n return [\r\n { key:\"1\", title : \"Car, Home & Life Insurance \", classToAppend: \"\" },\r\n { key:\"2\", title : \"Income protection\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Up to 30% online discount (Home)\", classToAppend: \"\"},\r\n { key:\"4\", title : \"15% online discount (Car)\", classToAppend: \"hidden-xs\"},\r\n { key:\"5\", title : \"Get a quote in just minutes\", classToAppend: \"hidden-xs\"},\r\n ];\r\n }\r\n else if(prodTypeId == productTypes.homeLoanAssistant){\r\n return ImagesPath.ImgProduct_HomeLoan;\r\n }\r\n }\r\n\r\n static getDefaultBadImageForProd(prodMaster){\r\n \r\n let prodTypeId = prodMaster.productTypeId;\r\n\r\n if(prodTypeId == productTypes.homeloan){\r\n return ImagesPath.ImgProduct_HomeLoan;\r\n }\r\n else if(prodTypeId == productTypes.carloan){\r\n return ImagesPath.ImgProduct_AutoLoan;\r\n }\r\n else if(prodTypeId == productTypes.personalloan){\r\n return ImagesPath.ImgProduct_PersonalLoan;\r\n }\r\n else if(prodTypeId == productTypes.businessloan){\r\n return ImagesPath.ImgProduct_BusinessLoan;\r\n }\r\n else if(prodTypeId == productTypes.creditcard){\r\n return ImagesPath.ImgProduct_CC;\r\n } \r\n else if( (prodTypeId == productTypes.insurance) ||\r\n (prodTypeId == productTypes.insuranceCar) ||\r\n (prodTypeId == productTypes.insuranceHome) ||\r\n (prodTypeId == productTypes.insuranceLife) ||\r\n (prodTypeId == productTypes.insuranceProtection) ){\r\n return ImagesPath.ImgProduct_Insurance;\r\n }\r\n else if(prodTypeId == productTypes.homeLoanAssistant){\r\n return ImagesPath.ImgProduct_HomeLoan;\r\n } \r\n\r\n } \r\n\r\n static getDefaultBadActionBtnTextForProd(prodMaster){\r\n return \"GET MY DEAL\";\r\n }\r\n\r\n static getDefaultActionBtnTextForProd(prodMaster){\r\n var prodTypeId = prodMaster.productTypeId;\r\n\r\n if(prodTypeId == productTypes.homeloan){\r\n return \"Home Loans\";\r\n }\r\n else if(prodTypeId == productTypes.carloan){\r\n return \"Car Loans\";\r\n }\r\n else if(prodTypeId == productTypes.personalloan){\r\n return \"Personal Loans\";\r\n }\r\n else if(prodTypeId == productTypes.businessloan){\r\n return \"Business Loans\";\r\n }\r\n else if(prodTypeId == productTypes.creditcard){\r\n return \"Credit Cards\";\r\n } \r\n else if(\r\n (prodTypeId == productTypes.insurance) ||\r\n (prodTypeId == productTypes.insuranceCar) ||\r\n (prodTypeId == productTypes.insuranceHome) ||\r\n (prodTypeId == productTypes.insuranceLife) ||\r\n (prodTypeId == productTypes.insuranceProtection) \r\n ){\r\n return \"Insurance\";\r\n }\r\n else if(prodTypeId == productTypes.homeLoanAssistant){\r\n return \"Home Loans\";\r\n } \r\n }\r\n\r\n static getProductTypesOld(userProfile, scoreProfile, requestProductType, initialCollection) {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/product/init';\r\n\r\n let csrfToken = userProfile.csrfToken;\r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n let options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers,\r\n body: JSON.stringify(requestProductType)\r\n };\r\n\r\n return fetch(fullUrl, options).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n\r\n let productConfigJson = response.json();\r\n\r\n return productConfigJson.then( productConfig => {\r\n\r\n var productResult = [];\r\n\r\n for(var i = 0; i < initialCollection.length; i++){\r\n var productMasterItem = initialCollection[i];\r\n var configItem = ProductApi.findConfigItemById(productConfig.productConfiguration, \"productIdentifier\", productMasterItem.id);\r\n\r\n var productResultItem = Object.assign({}, productMasterItem, configItem);\r\n\r\n if(productResultItem.show){\r\n if(productMasterItem.subProducts){\r\n var subProductResult = [];\r\n for(var j = 0; j < productMasterItem.subProducts.length; j++){\r\n var subProductItem = productMasterItem.subProducts[j];\r\n var subConfigItem = ProductApi.findConfigItemById(productConfig.productConfiguration, \"productIdentifier\", subProductItem.id);\r\n subProductResult.push( Object.assign({}, subProductItem, subConfigItem));\r\n }\r\n\r\n productResultItem.subProducts = subProductResult;\r\n }\r\n\r\n productResult.push( productResultItem );\r\n }\r\n }\r\n\r\n // Reset the items if a condition is not met.\r\n\r\n for(var k = 0; k < productResult.length; k++){\r\n var pr = productResult[k];\r\n var altItem = '';\r\n if(pr[\"isCustomRuleSatisfied\"]){\r\n let condition = pr[\"isCustomRuleSatisfied\"](userProfile, scoreProfile)\r\n if(condition && !condition.isSatisfied){\r\n\r\n var initialItem = ProductApi.findConfigItemById(initialCollection, \"id\", condition.altId);\r\n var apiItem = ProductApi.findConfigItemById(productConfig.productConfiguration, \"productIdentifier\", condition.altId);\r\n if(initialItem && apiItem){\r\n var productResultItem = Object.assign({}, initialItem, apiItem);\r\n productResultItem.show = true;\r\n productResult[k] = productResultItem;\r\n }\r\n }\r\n }\r\n }\r\n \r\n // add other products to provide other choices\r\n var productsByType = [];\r\n if(productConfig.productsByType){\r\n\r\n for(var ind = 0; ind < productConfig.productsByType.length; ind++){\r\n var typeList = productConfig.productsByType[ind];\r\n if(typeList && typeList.products && typeList.products.length > 0){\r\n\r\n var prodTypeKey = \"pt_\" + typeList.productTypeId;\r\n productsByType[prodTypeKey] = []; // Initialize final object\r\n for(var pi = 0; pi < typeList.products.length; pi++ ){\r\n\r\n var prodApi = typeList.products[pi];\r\n var prodStatic = ProductApi.findConfigItemById(initialCollection, \"id\", prodApi.productIdentifier);\r\n if(prodApi && prodStatic){\r\n var prodExtraFinal = Object.assign({}, prodStatic, prodApi);\r\n var addProduct = true;\r\n if(prodExtraFinal[\"isCustomRuleSatisfied\"]){\r\n let condition = prodExtraFinal[\"isCustomRuleSatisfied\"](userProfile, scoreProfile);\r\n if(condition && !condition.isSatisfied){\r\n addProduct = false;\r\n }\r\n }\r\n \r\n if(addProduct){\r\n productsByType[prodTypeKey].push(prodExtraFinal);\r\n }\r\n }\r\n } \r\n \r\n } \r\n }\r\n }\r\n\r\n let responseObj =\r\n {\r\n isAnonymous: productConfig.isAnonymous,\r\n userId: productConfig.userId,\r\n products: productResult,\r\n partnerId: productConfig.partnerId,\r\n productsCall2Action: productConfig.productConfigurationCall2Action,\r\n productsByType: productsByType\r\n };\r\n\r\n return responseObj;\r\n\r\n }); \r\n\r\n }\r\n }\r\n ).catch(function (error) {\r\n\r\n throw(error);\r\n });\r\n }\r\n\r\n\r\n\r\n static findConfigItemById(list, keyName, searchId){\r\n var item = null;\r\n for(var i = 0; i < list.length && item == null; i++){\r\n var searchItem = list[i];\r\n if(searchItem[keyName] == searchId){\r\n item= searchItem;\r\n }\r\n }\r\n\r\n return item;\r\n }\r\n\r\n\r\n static trackProductClick(trackProductRequest) {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/tracking/product-click';\r\n\r\n let options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n // 'x-gcs-xsrf': csrfToken\r\n },\r\n body: JSON.stringify(trackProductRequest)\r\n }\r\n \r\n return fetch(fullUrl, options);\r\n }\r\n\r\n static trackReferralClick(trackReferrlRequest) {\r\n\r\n //trackReferrlRequest = {tid, userIdentifier}\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/tracking/referral';\r\n\r\n let options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n // 'x-gcs-xsrf': csrfToken\r\n },\r\n body: JSON.stringify(trackReferrlRequest)\r\n }\r\n\r\n return fetch(fullUrl, options).then(response =>\r\n {\r\n if(response.ok){\r\n return Promise.resolve(response.ok);\r\n }\r\n else{\r\n return Promise.reject(response.ok);\r\n }\r\n }).catch(function (error) {\r\n throw(error);\r\n });\r\n }\r\n\r\n static getCreditCards() {\r\n return Promise.resolve(creditCards);\r\n }\r\n\r\n static getProductRedirect(csrfToken, product){\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/product/redirect';\r\n\r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n let options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers,\r\n body: JSON.stringify({productId: product.id, mode: product.mode})\r\n }\r\n\r\n return fetch(fullUrl, options).then(response =>\r\n {\r\n if(response.ok){\r\n return response.json();\r\n }\r\n else{\r\n return Promise.reject(response);\r\n }\r\n }).catch(function (error) {\r\n throw(error);\r\n });\r\n }\r\n\r\n // static trackCreditCardClick(trackCreditCardRequest) {\r\n //\r\n // const fullUrl = GlobalVariables.API_BASE_URL + 'v1/tracking/product-click';\r\n //\r\n // let options = {\r\n // method: 'POST',\r\n // mode: 'cors',\r\n // credentials: 'include',\r\n // headers: {\r\n // 'Content-Type': 'application/json'\r\n // // 'x-gcs-xsrf': csrfToken\r\n // },\r\n // body: JSON.stringify(trackCreditCardRequest)\r\n // }\r\n //\r\n // return fetch(fullUrl, options);\r\n // }\r\n\r\n //static saveAuthor(author) {\r\n // author = Object.assign({}, author); // to avoid manipulating object passed in.\r\n // return new Promise((resolve, reject) => {\r\n // setTimeout(() => {\r\n // // Simulate server-side validation\r\n // const minAuthorNameLength = 3;\r\n // if (author.firstName.length < minAuthorNameLength) {\r\n // reject(`First Name must be at least ${minAuthorNameLength} characters.`);\r\n // }\r\n\r\n // if (author.lastName.length < minAuthorNameLength) {\r\n // reject(`Last Name must be at least ${minAuthorNameLength} characters.`);\r\n // }\r\n\r\n // if (author.id) {\r\n // const existingAuthorIndex = authors.findIndex(a => a.id == author.id);\r\n // authors.splice(existingAuthorIndex, 1, author);\r\n // } else {\r\n // //Just simulating creation here.\r\n // //The server would generate ids for new authors in a real app.\r\n // //Cloning so copy returned is passed by value rather than by reference.\r\n // author.id = generateId(author);\r\n // authors.push(author);\r\n // }\r\n\r\n // resolve(author);\r\n // }, delay);\r\n // });\r\n //}\r\n\r\n //static deleteAuthor(authorId) {\r\n // return new Promise((resolve, reject) => {\r\n // setTimeout(() => {\r\n // const indexOfAuthorToDelete = authors.findIndex(author => {\r\n // author.authorId == authorId;\r\n // });\r\n // authors.splice(indexOfAuthorToDelete, 1);\r\n // resolve();\r\n // }, delay);\r\n // });\r\n //}\r\n}\r\n\r\nexport default ProductApi;\r\n","import * as types from './actionTypes';\r\nimport {beginAjaxCall} from './ajaxStatusActions';\r\nimport HelperApi from '../../api/HelperApi';\r\nimport ProductApi from '../../api/mockProductApi';\r\n//import ReactGA from 'react-ga';\r\n\r\nconst dataLayer = window.dataLayer;\r\n\r\nexport function trackReferralFromPartner(tid, userIdentifier) {\r\n return (dispatch, getState) => {\r\n\r\n if(tid){\r\n //var state = getState();\r\n var referralRequest = { tid: tid, userIdentifier: userIdentifier};\r\n return ProductApi.trackReferralClick(referralRequest);\r\n }\r\n };\r\n}\r\n\r\nfunction setUserId(state){\r\n\r\n if(dataLayer && state && state.userProfile && state.userProfile.identifier ){\r\n dataLayer.push({user_id: state.userProfile.identifier});\r\n //ReactGA.set({ userId: state.userProfile.identifier });\r\n //ReactGA.set({ dimension1: state.userProfile.identifier });\r\n }\r\n}\r\n\r\nfunction trackGaEvent(category, action, label, value){\r\n\r\n var obj = {\r\n //hitType: 'event',\r\n event: 'custom',\r\n event_value: value,\r\n event_category: category,\r\n event_action: action,\r\n event_label: label \r\n };\r\n\r\n try{\r\n if(dataLayer){\r\n dataLayer.push(obj);\r\n }\r\n //ReactGA.send(obj);\r\n }\r\n catch(e){\r\n console.log(e);\r\n } \r\n}\r\n\r\nfunction trackFbEvent( keyString){\r\n\r\n try{\r\n if(window[\"fbq\"]){\r\n window[\"fbq\"]('trackCustom', keyString);\r\n }\r\n }\r\n catch(e){\r\n console.log(e);\r\n }\r\n\r\n}\r\n\r\nexport function trackPageView() {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n\r\n //ReactGA.set({ page: window.location.pathname });\r\n setUserId(state);\r\n\r\n //ReactGA.pageview(window.location.pathname);\r\n\r\n if(window[\"fbq\"]){\r\n window[\"fbq\"]('track', 'PageView', {page: window.location.pathname });\r\n }\r\n\r\n return null;\r\n\r\n };\r\n}\r\n\r\n\r\nexport function trackButtonClick(page, btnName) {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('Click-' + page, 'click', btnName || '');\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackGetScoreButtonClick(page, btnName) {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('GetScore', 'click', btnName || '');\r\n trackFbEvent('GetScore_Click');\r\n trackFbEvent('GetScore_Click_' + btnName);\r\n\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackScoreMapSearch(source, postcode) {\r\n return (dispatch, getState) => {\r\n const state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('ScoreMap', 'search-' + source, postcode || ''); \r\n \r\n return null;\r\n };\r\n}\r\n\r\n\r\n// export function trackCreditCardClick(productInfo) {\r\n// return (dispatch, getState) => {\r\n// var state = getState();\r\n// setUserId(state);\r\n//\r\n//\r\n// return null;\r\n// };\r\n// }\r\n\r\n\r\n\r\nexport function trackAccountCreated() {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('Account', 'Created', 'Create My Account');\r\n trackFbEvent('Account_Created');\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackDashboardTab(tabName) {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('Dashboard', 'TabView', tabName);\r\n\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackLogin(identifier) {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n //ReactGA.set({ userId: identifier });\r\n //ReactGA.set({ dimension1: identifier });\r\n\r\n trackGaEvent('Account', 'Login', 'Login to Account');\r\n trackFbEvent('Account_Login');\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackAboutMe(action, step, actionid) {\r\n return (dispatch, getState) => {\r\n\r\n try {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n let actionNum = parseInt(actionid, 10);\r\n if(actionNum){\r\n actionNum = null;\r\n }\r\n\r\n trackGaEvent('AboutMe', action, step, actionNum);\r\n }\r\n catch(ex){\r\n\r\n }\r\n\r\n //trackFbEvent('Account_Registered');\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackPromotionParticipated(action, step, actionid) {\r\n return (dispatch, getState) => {\r\n\r\n try {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('Promotion', 'Participated', 'GiveAway201708');\r\n }\r\n catch(ex){\r\n\r\n }\r\n\r\n //trackFbEvent('Account_Registered');\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackUserDetailsCreated() {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('Account', 'Registered', 'Save ID Form');\r\n trackFbEvent('Account_Registered');\r\n\r\n // if (isExistingCustomer) {\r\n // trackGaEvent('Account', 'Registered', 'Save ID Form Existing Customer');\r\n // }\r\n\r\n return null;\r\n };\r\n}\r\n\r\n\r\nexport function trackUserDetailsUpdated() {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('Account', 'Updated', 'Update ID Form');\r\n trackFbEvent('Account_Updated');\r\n return null;\r\n };\r\n}\r\n\r\n\r\nexport function trackAccountVerified() {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('Account', 'Verfified', 'AccountVerfified');\r\n trackFbEvent('Account_Verified');\r\n return null;\r\n };\r\n}\r\n\r\n\r\nexport function trackNotFoundPage() {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('NotFound', 'React', window.location.pathname);\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackScore(success) {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n if(success){\r\n trackGaEvent('Dashboard', 'ScoreResult', 'Success');\r\n trackFbEvent('Score Success');\r\n }\r\n else{\r\n trackGaEvent('Dashboard', 'ScoreResult', 'Failure');\r\n trackFbEvent('Score Failure');\r\n }\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackReport(success) {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n if(success){\r\n trackGaEvent('Dashboard', 'ReportResult', 'Success');\r\n trackFbEvent('Report Success');\r\n }\r\n else{\r\n trackGaEvent('Dashboard', 'ReportResult', 'Failure');\r\n trackFbEvent('Report Failure');\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n\r\nexport function trackSearchHelpCentre() {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackSearchArticles() {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackProductClick(productInfo) {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('Product', 'click', productInfo.productTypeId, productInfo.partnerId);\r\n if(productInfo.productId){\r\n trackGaEvent('ProductClick', productInfo.productTypeId, productInfo.partnerId, productInfo.productId);\r\n }\r\n trackFbEvent('Product_Click');\r\n trackFbEvent('Product_Click_' + productInfo.productTypeId);\r\n\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackScoreActionClick(actionId) {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('Dashboard', 'ScoreAction', actionId);\r\n\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackScoreTooltipClick() {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('Dashboard', 'ScoreTooltip', 'ScoreApiChanged');\r\n\r\n return null;\r\n };\r\n}\r\n\r\nexport function trackNoScoreActionClick(actionLabel) {\r\n return (dispatch, getState) => {\r\n var state = getState();\r\n setUserId(state);\r\n\r\n trackGaEvent('Dashboard', 'NoScoreAction', actionLabel);\r\n\r\n return null;\r\n };\r\n}","import LayoutApi from '../../api/mockLayoutApi';\r\nimport ArticlesApi from '../../api/mockArticlesApi.js'\r\nimport ScoreApi from '../../api/mockScoreApi.js'\r\nimport * as types from './actionTypes';\r\nimport {beginAjaxCall, apiFail} from './ajaxStatusActions';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\nimport * as trackingActions from './trackingActions';\r\n\r\n\r\nexport function resetScoreProfile() {\r\n return {type: types.RESET_SCORE_PROFILE};\r\n}\r\n\r\nexport function ajaxLoadScore(loading) {\r\n return {type: types.AJAX_LOAD_SCORE, loading};\r\n}\r\n\r\n// export function loadScoreProfileSuccess(scoreProfile, isNoRecords, isInProgress, isTryingCountReached, options) {\r\n// return {type: types.LOAD_SCORE_PROFILE_SUCCESS, scoreProfile, isNoRecords, isInProgress, isTryingCountReached, options};\r\n// }\r\n\r\n\r\nexport function loadScoreProfileSuccess(scoreProfile, options) {\r\n return {type: types.LOAD_SCORE_PROFILE_SUCCESS, scoreProfile, options};\r\n}\r\n\r\nexport function updateDisplayName(displayName){\r\n return {type: types.USER_PROFILE_DISPLAYNAME, displayName};\r\n}\r\n\r\n\r\nexport function loadScoreProfile(options = {includeScore: true, includeAdvices: true, includeHistory: false}, forced=false, retry = false) {\r\n return (dispatch, getState) => {\r\n\r\n let state = getState();\r\n let scoreProfileState = state.scoreProfile;\r\n\r\n //console.log('loadScoreProfile', GlobalVariables.SCORE_RETRY_TIMEOUT, scoreProfileState.tryingCGetScoreCount, scoreProfileState.tryingGetScoreMax, forced, retry);\r\n if(!forced){\r\n\r\n //if(shouldNotLoadScoreProfile(scoreProfileState, options) || scoreProfileState.tryingCGetScoreCount > scoreProfileState.tryingGetScoreMax){\r\n\r\n if(scoreProfileState.tryingCGetScoreCount > scoreProfileState.tryingGetScoreMax){\r\n //dispatch(ajaxLoadScore(false));\r\n\r\n dispatch(loadScoreProfileSuccess(scoreProfileState, options));\r\n dispatch(trackingActions.trackScore(false));\r\n return Promise.resolve(scoreProfileState);\r\n } \r\n //}\r\n }\r\n\r\n\r\n dispatch(ajaxLoadScore(true));\r\n options.retry = retry;\r\n return ScoreApi.getScoreProfile(state.userProfile.csrfToken, options).then(scoreProfile => {\r\n\r\n dispatch(loadScoreProfileSuccess(scoreProfile, options));\r\n dispatch(updateDisplayName(scoreProfile[\"displayName\"]));\r\n dispatch(trackingActions.trackScore(true));\r\n\r\n return Promise.resolve(scoreProfile);\r\n }).catch(error => {\r\n\r\n if(error.status == 417){\r\n // keep trying\r\n //dispatch(loadScoreProfileSuccess(null, true, options));\r\n console.log('loadScoreProfile 417', GlobalVariables.SCORE_RETRY_TIMEOUT, scoreProfileState.tryingCGetScoreCount, scoreProfileState.tryingGetScoreMax, forced, retry);\r\n if(scoreProfileState.tryingCGetScoreCount > scoreProfileState.tryingGetScoreMax)\r\n return Promise.resolve();\r\n\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n\r\n resolve(dispatch(loadScoreProfile(options, false, true)));\r\n }, GlobalVariables.SCORE_RETRY_TIMEOUT);\r\n \r\n });\r\n }\r\n else if(error.status == 409) {\r\n let scoreProfileFake = {\r\n scoreInfo: {\r\n isServiceNotAvailableNow : true,\r\n noScore: true\r\n }\r\n };\r\n \r\n dispatch(loadScoreProfileSuccess(scoreProfileFake, options));\r\n return Promise.resolve();\r\n }\r\n else {\r\n dispatch(apiFail(\"ScoreApi\", \"scoreProfile\"));\r\n //dispatch(ajaxLoadScore(false));\r\n return Promise.resolve();\r\n }\r\n\r\n });\r\n };\r\n}\r\n//\r\n// export function loadScoreProfile(options = {includeScore: true, includeAdvices: true, includeHistory: false}, forced=false) {\r\n// return (dispatch, getState) => {\r\n//\r\n// let state = getState();\r\n// let scoreProfileState = state.scoreProfile;\r\n//\r\n// if((!forced && shouldNotLoadScoreProfile(scoreProfileState, options)) || scoreProfileState.tryingCGetScoreCount > scoreProfileState.tryingGetScoreMax){\r\n//\r\n// if(scoreProfileState.tryingCGetScoreCount > scoreProfileState.tryingGetScoreMax){\r\n// dispatch(ajaxLoadScore(false));\r\n// dispatch(loadScoreProfileSuccess(null, false, scoreProfileState.hasScoreInProgress, true, options));\r\n//\r\n// }\r\n//\r\n// dispatch(trackingActions.trackScore(false));\r\n// return Promise.resolve(scoreProfileState);\r\n// }\r\n//\r\n// dispatch(ajaxLoadScore(true));\r\n// return ScoreApi.getScoreProfile(state.userProfile.csrfToken, options).then(scoreProfile => {\r\n//\r\n// dispatch(loadScoreProfileSuccess(scoreProfile, false, false, false, options));\r\n// dispatch(updateDisplayName(scoreProfile[\"displayName\"]));\r\n// dispatch(trackingActions.trackScore(true));\r\n//\r\n// return Promise.resolve(scoreProfile);\r\n// }).catch(error => {\r\n//\r\n// if(error.status == 417){\r\n// // keep trying\r\n// dispatch(loadScoreProfileSuccess(null, false, true, false, options));\r\n//\r\n// return new Promise((resolve, reject) => {\r\n// setTimeout(() => {\r\n// resolve(dispatch(loadScoreProfile(options, true)));\r\n// }, GlobalVariables.SCORE_RETRY_TIMEOUT);\r\n// });\r\n// }\r\n// else if(error.status == 410){\r\n// // no records\r\n// dispatch(loadScoreProfileSuccess(null, true, false, false, options));\r\n//\r\n// return new Promise((resolve, reject) => {\r\n// setTimeout(() => {\r\n// resolve(dispatch(loadScoreProfile(options, true)));\r\n// }, GlobalVariables.SCORE_RETRY_TIMEOUT);\r\n// });\r\n// }\r\n// else {\r\n// dispatch(apiFail(\"ScoreApi\", \"scoreProfile\"));\r\n// dispatch(ajaxLoadScore(false));\r\n// return Promise.resolve();\r\n// }\r\n//\r\n// });\r\n// };\r\n// }\r\n\r\nfunction shouldNotLoadScoreProfile(scoreProfileState, options){\r\n\r\nlet scorePart = ( scoreProfileState.scoreInfo && scoreProfileState.scoreInfo.score) || !options.includeScore;\r\nlet advicesPart = ( scoreProfileState.advices &&\r\n (\r\n (scoreProfileState.advices.helping && scoreProfileState.advices.helping.length > 0) ||\r\n (scoreProfileState.advices.hurting && scoreProfileState.advices.hurting.length > 0)\r\n ) || !options.includeAdvices );\r\n\r\n let scoreHistoryPart = ( scoreProfileState.scoreHistory && scoreProfileState.scoreHistory.length > 0) || !options.includeHistory;\r\n\r\n return scorePart && advicesPart && scoreHistoryPart;\r\n\r\n}\r\n\r\nexport function initializeScoreCounterSuccess(scoreCounter) {\r\n return { type: types.GET_SCORE_COUNTER_SUCCESS, scoreCounter };\r\n}\r\n\r\nexport function updateScoreCounter(counter, loaded) {\r\n return { type: types.UPDATE_SCORE_COUNTER, counter, loaded };\r\n}\r\n\r\nexport function initializeScoreCounter() {\r\n return (dispatch, getState) => {\r\n let state = getState();\r\n let scoreCounterState = state.scoreProfile.scoreCounter;\r\n\r\n if (!scoreCounterState.timerId) {\r\n return ScoreApi.getScoreCounter().then((scoreCounterResponse) => {\r\n let counter = scoreCounterResponse.counter || scoreCounterState.counter;\r\n let increment = scoreCounterResponse.counterIncrement || scoreCounterState.counterIncrement;\r\n let timerInterval = scoreCounterResponse.updateInterval || scoreCounterState.updateInterval;\r\n let loaded = true;\r\n\r\n initializeScoreCounterTimer(counter, increment, timerInterval, loaded, dispatch);\r\n\r\n return scoreCounterResponse;\r\n\r\n }).catch(error => {\r\n\r\n let counter = scoreCounterState.counter;\r\n let increment = scoreCounterState.counterIncrement;\r\n let timerInterval = scoreCounterState.updateInterval;\r\n let loaded = true;\r\n\r\n initializeScoreCounterTimer(counter, increment, timerInterval, loaded, dispatch);\r\n });\r\n }\r\n\r\n };\r\n}\r\n\r\nfunction initializeScoreCounterTimer(counter, increment, timerInterval, loaded, dispatch) {\r\n let isTimerOn = false;\r\n let timerId = setInterval(() => {\r\n if (isTimerOn) {\r\n let rndIncrement = Math.floor(Math.random() * increment) + 1;\r\n counter = counter + rndIncrement;\r\n dispatch(updateScoreCounter(counter, loaded));\r\n }\r\n }, timerInterval);\r\n\r\n let sC = {};\r\n sC.timerId = timerId;\r\n sC.counter = counter;\r\n sC.counterIncrement = increment;\r\n sC.updateInterval = timerInterval;\r\n sC.loaded = loaded;\r\n\r\n dispatch(initializeScoreCounterSuccess(sC));\r\n isTimerOn = true;\r\n}\r\n","import LayoutApi from '../../api/mockLayoutApi';\r\nimport * as types from './actionTypes';\r\nimport {beginAjaxCall} from './ajaxStatusActions';\r\n//import { push } from 'react-router-redux';\r\n\r\n\r\n\r\n// export function navigateToUrl(url) {\r\n// return (dispatch, getState) => {\r\n\r\n// dispatch(push(url));\r\n// }\r\n// }\r\n\r\nexport function getMenuForPageSuccess(pageid, menuForPage, isAuthenticated) {\r\n\r\n return {type: types.LOAD_MENU_SUCCESS, pageid, menuForPage, isAuthenticated};\r\n}\r\n\r\nexport function getMenuForPage(pageid, forced=false) {\r\n return (dispatch, getState) => {\r\n\r\n var state = getState();\r\n\r\n var menuItemsPerPage = state.menu.menuItemsPerPage;\r\n var userProfile = state.userProfile;\r\n if(!forced &&\r\n menuItemsPerPage.menuItems.hasOwnProperty(pageid) &&\r\n menuItemsPerPage.menuItemsAuthenticated.hasOwnProperty(pageid) &&\r\n menuItemsPerPage.menuItemsAuthenticated[pageid] == userProfile.isAuthenticated){\r\n\r\n return null;//retrievedAuthenticated\r\n }\r\n\r\n //todo: we should load this items per user\r\n var menuItemListInState = state.menu.menuItemList;\r\n var menuItemsNamesPerPageInState = state.menu.menuItemsNamesPerPage;\r\n\r\n return LayoutApi.getMenuForPage(pageid, userProfile, menuItemListInState, menuItemsNamesPerPageInState).then(menuForPage => {\r\n\r\n dispatch(getMenuForPageSuccess(pageid, menuForPage, userProfile.isAuthenticated));\r\n }).catch(error => {\r\n throw(error);\r\n });\r\n };\r\n}\r\n\r\nexport function getTextVariantsSuccess(textVariants) {\r\n\r\n return {type: types.LOAD_TEXT_VARIANTS_SUCCESS, textVariants};\r\n}\r\n\r\nexport function getTextVariants(forced=false) {\r\n return (dispatch, getState) => {\r\n\r\n var state = getState();\r\n if(!forced && state.textVariants){\r\n return null;\r\n }\r\n\r\n return LayoutApi.getTextVariants(state.userProfile).then(variants => {\r\n dispatch(getTextVariantsSuccess(variants));\r\n }).catch(error => {\r\n throw(error);\r\n });\r\n };\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as pages from '../shared/pages';\r\nimport {TrustPilotReviewUrl} from './../../config/GlobalFixedVariables';\r\n\r\n\r\n\r\nclass TrusPilotBaseGcsWidget extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {loaded: false };\r\n this.refreshExternalHooks = this.refreshExternalHooks.bind(this);\r\n }\r\n\r\n componentDidMount(){\r\n this.refreshExternalHooks(); \r\n }\r\n\r\n componentDidUpdate(){\r\n this.refreshExternalHooks();\r\n }\r\n\r\n refreshExternalHooks(){\r\n if(!this.state.loaded){\r\n if(window.Trustpilot && window.Trustpilot.Modules && window.Trustpilot.Modules.WidgetManagement){ \r\n window.Trustpilot.Modules.WidgetManagement.initialize();\r\n this.setState({loaded: true});\r\n }\r\n }\r\n }\r\n}\r\n\r\nclass InlineTrustStoreWidget extends TrusPilotBaseGcsWidget {\r\n constructor(props, context) {\r\n super(props, context); \r\n } \r\n render(){ \r\n return ( \r\n
    \r\n Trustpilot\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst TrustPilotMicroTrustStore = ({textVariants}) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\n\r\n/* Carousel component ----------------------------------------- */\r\n\r\nclass CarouselWidget extends TrusPilotBaseGcsWidget {\r\n constructor(props, context) {\r\n super(props, context); \r\n } \r\n \r\n render(){\r\n return (\r\n // \r\n
    \r\n Trustpilot\r\n
    \r\n // \r\n\r\n //
    \r\n // \r\n // \r\n // \r\n //
    \r\n // );\r\n //}\r\n\r\n //return (component);\r\n\r\n //return (
    );\r\n }\r\n\r\n// let component =
    ;\r\n \r\n// if (userIdentifier){ //&& process.env.REACT_APP_GCS_ENV == 'production') {\r\n// let url = \"https://h.online-metrix.net/fp/tags.js?org_id=r7wrjrd9&session_id=\" + userIdentifier + \"&pageid=1\";\r\n// component = (\r\n//
    \r\n// \r\n// \r\n//
    \r\n// );\r\n// }\r\n\r\n// return (component);\r\n}\r\n\r\nexport default ThreatMetrixComponent;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReCAPTCHA from 'react-google-recaptcha';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\nconst GcsRecaptcha = ({ recaptchaRef, onSelectRecaptcha }) => {\r\n return (\r\n\r\n \r\n )\r\n}\r\n\r\nGcsRecaptcha.propTypes = {\r\n recaptchaRef: PropTypes.object,\r\n onSelectRecaptcha: PropTypes.func\r\n}\r\n\r\nexport default GcsRecaptcha","import $ from 'jquery'\r\nimport 'bootstrap'\r\nimport '@chenfengyuan/datepicker'\r\n\r\n\r\nexport const initTonikForms = () => {\r\n\r\n// global select in forms\r\n$('.form-label-group').on('change', 'select.form-control', function () {\r\n if ($(this).val() !== '') {\r\n $(this).addClass('filled')\r\n } else {\r\n $(this).removeClass('filled')\r\n }\r\n })\r\n \r\n $('.form-label-group select.form-control').each(function () {\r\n if ($(this).val() !== '') {\r\n $(this).addClass('filled')\r\n }\r\n })\r\n\r\n $('[data-toggle=\"datepicker\"]').datepicker()\r\n\r\n\r\n \r\n $(document).on('click', '.link-password:not(.text)', function (e) {\r\n $(this).addClass('text')\r\n $(this).parent().find('.password').attr('type', 'text')\r\n e.preventDefault()\r\n })\r\n\r\n $(document).on('click', '.link-password.text', function (e) {\r\n $(this).removeClass('text')\r\n $(this).parent().find('.password').attr('type', 'password')\r\n e.preventDefault()\r\n })\r\n\r\n \r\n// field style page\r\n// on change\r\n$('.check-field-extra').on('change', function () {\r\n if ($(this).is(':checked')) {\r\n $(this).parents('.checkbox-field').find('.check-field').removeClass('d-none')\r\n } else {\r\n $(this).parents('.checkbox-field').find('.check-field').addClass('d-none')\r\n }\r\n})\r\n\r\n// after page load\r\n$('.check-field-extra').each(function () {\r\n if ($(this).is(':checked')) {\r\n $(this).parents('.checkbox-field').find('.check-field').removeClass('d-none')\r\n } else {\r\n $(this).parents('.checkbox-field').find('.check-field').addClass('d-none')\r\n }\r\n})\r\n// end field style\r\n\r\n$('.info-tooltip').tooltip();\r\n\r\n return;\r\n}\r\n\r\nexport const initTonikFormsTooltip = () => {\r\n $('.info-tooltip').tooltip();\r\n return;\r\n}\r\n\r\n//$('[data-toggle=\"datepicker\"]').datepicker()","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\nimport {parse} from 'query-string';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport LoginBox from './LoginBox';\r\nimport * as pages from '../shared/pages';\r\nimport LoadingIndicator from '../common/controls/LoadingIndicator';\r\n\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\n\r\nimport ValidationApi from '../../api/validationApi.js';\r\n\r\nimport ThreatMetrixComponent from '../common/ThreatMetrixComponent';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport {PromotionBanner} from '../sections/PromotionBanner';\r\nimport FooterSmallSection from '../common/footerSmall';\r\n\r\nimport GcsRecaptcha from \"../common/GcsRecaptcha\";\r\n\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\n\r\nexport class LoginPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n userCredentials: {\r\n email: props.registeringUsername,\r\n fckpass: '',\r\n rememberMe: props.registeringRememberMe\r\n },\r\n errors: {},\r\n loginMode: true,\r\n accountBeingCreated: false,\r\n loading: false,\r\n tmLoaded: null,\r\n tmValue: null,\r\n tmFinished: true, //!(process.env.REACT_APP_TM == 'true'),\r\n tmTryCount : 1,\r\n forcedPassword: false,\r\n resetRecaptcha: false\r\n };\r\n\r\n this.updateCustomerState = this.updateCustomerState.bind(this);\r\n this.onForgotPasswordClick = this.onForgotPasswordClick.bind(this);\r\n this.onActionClick = this.onActionClick.bind(this);\r\n this.onChangeModeClick = this.onChangeModeClick.bind(this);\r\n this.performLogin = this.performLogin.bind(this);\r\n this.doLogin = this.doLogin.bind(this); \r\n this.onGoBackToHomePage = this.onGoBackToHomePage.bind(this);\r\n this.loadTmVariables = this.loadTmVariables.bind(this);\r\n this.onSelectRecaptcha = this.onSelectRecaptcha.bind(this);\r\n this.doResetRecaptcha = this.doResetRecaptcha.bind(this); \r\n this.onProfileComplete = this.onProfileComplete.bind(this);\r\n\r\n this.recaptchaRef = React.createRef(); \r\n }\r\n\r\n componentDidMount() {\r\n \r\n if (parse(this.props.location.search).p && parse(this.props.location.search).u) {\r\n this.setState({ forcedPassword: true});\r\n }\r\n\r\n this.props.actions.getMenuForPage(pages.LOGIN);\r\n this.props.actions.getTextVariants();\r\n //this.loadTmVariables();\r\n\r\n this.props.actions.initUser().then( r => {\r\n if (this.props.rememberMeInfo.rememberMe) {\r\n let currentStateCredentials = this.state.userCredentials;\r\n currentStateCredentials.email = this.props.rememberMeInfo.username;\r\n currentStateCredentials.rememberMe = true;\r\n this.setState({ userCredentials: currentStateCredentials });\r\n }\r\n\r\n this.loadTmVariables().then(r => {\r\n let fckpass = parse(this.props.location.search).p;\r\n let username = parse(this.props.location.search).u;\r\n\r\n if (fckpass && username) {\r\n let user = this.state.userCredentials;\r\n user.email = username;\r\n user.fckpass = fckpass;\r\n\r\n this.setState({userCredentials: user }, () => {\r\n this.performLogin();\r\n });\r\n }\r\n });\r\n });\r\n\r\n this.doResetRecaptcha();\r\n initTonikForms();\r\n \r\n }\r\n\r\n loadTmVariables(isForced){\r\n return this.props.actions.tm(isForced).then(r => {\r\n this.setState({tmLoaded : true});\r\n }).catch(e => {\r\n //this.setState({tmLoaded : false});\r\n });\r\n }\r\n\r\n onProfileComplete(session_id){\r\n this.setState({tmFinished : true});\r\n //console.log('finish tm loading', this.props.tm == session_id, this.props.tm, session_id);\r\n if(this.props.tm != session_id){\r\n this.props.actions.tmSuccess({id: session_id})\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n\r\n // redirects from this methods because this page shouldn't be accessed\r\n // if the user is logged-in \r\n \r\n if (nextProps.isAuthenticated) {\r\n // go back to the page if the r parameter is set\r\n\r\n let ret = '';\r\n\r\n if (this.state.forcedPassword) { \r\n var par = parse(this.props.location.search).p\r\n if(par && par.length > 50){\r\n par = par.substr(0,50);\r\n }\r\n ret = nextProps.redirect_uri ? nextProps.redirect_uri : RoutesVariables.RouteChangePassword + '?p=' + par; \r\n }\r\n\r\n if (ret == '') {\r\n ret = RoutesVariables.RouteCreditScore;\r\n\r\n let returnUrl = this.props.match.params.returnUrl;\r\n let retUrl = parse(this.props.location.search).retUrl;\r\n\r\n if (nextProps.redirect_uri) {\r\n if(nextProps.redirect_uri.indexOf(RoutesVariables.RouteLogin2FA) >= 0){\r\n ret = nextProps.redirect_uri + (retUrl ? \"?retUrl=\" + encodeURIComponent(retUrl) : \"\");\r\n }else{\r\n ret = nextProps.redirect_uri;\r\n }\r\n\r\n } else if (returnUrl) {\r\n ret = '/' + returnUrl;\r\n } else if (retUrl) {\r\n ret = '' + retUrl;\r\n }\r\n }\r\n \r\n this.props.history.push(ret);\r\n return;\r\n }\r\n\r\n if (nextProps.registeringUsername != this.props.registeringUsername) {\r\n let userCredentials = Object.assign({}, this.state.userCredentials);\r\n userCredentials.email = nextProps.registeringUsername;\r\n userCredentials.rememberMe = this.props.registeringRememberMe;\r\n this.setState({ userCredentials });\r\n }\r\n\r\n this.doResetRecaptcha();\r\n }\r\n\r\n onSelectRecaptcha(token){ \r\n if (token) { \r\n this.doLogin(token); \r\n } \r\n \r\n this.setState({resetRecaptcha: true, loading: false});\r\n }\r\n \r\n doResetRecaptcha(){\r\n if (this.state.resetRecaptcha) {\r\n try{\r\n this.recaptchaRef.current.reset();\r\n this.setState({resetRecaptcha: false});\r\n }\r\n catch(ex){\r\n console.log(ex);\r\n }\r\n \r\n }\r\n }\r\n\r\n componentWillUnmount(){\r\n this.props.actions.updateRegisteringUsername(this.state.userCredentials.email, this.state.userCredentials.rememberMe);\r\n }\r\n\r\n updateCustomerState(event) {\r\n const field = event.target.name;\r\n\r\n let userCredentials = this.state.userCredentials;\r\n userCredentials[field] = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\r\n\r\n let errors = this.state.errors;\r\n errors[field] = '';\r\n\r\n return this.setState({ userCredentials: userCredentials, errors: errors });\r\n }\r\n\r\n onChangeModeClick(evt){\r\n evt.preventDefault();\r\n\r\n this.props.history.push(RoutesVariables.CreateAccount);\r\n }\r\n\r\n onForgotPasswordClick(evt){\r\n evt.preventDefault();\r\n\r\n this.props.history.push(RoutesVariables.RouteForgotPassword);\r\n }\r\n\r\n onGoBackToHomePage(evt){\r\n evt.preventDefault();\r\n this.props.history.push('/');\r\n }\r\n\r\n onActionClick(event) {\r\n event.preventDefault();\r\n this.performLogin();\r\n }\r\n\r\n performLogin(){\r\n this.setState({ loading: true });\r\n\r\n // Clean errors\r\n let errors = this.state.errors;\r\n errors = {};\r\n this.setState({ errors: errors });\r\n\r\n if (!this.loginFormIsValid()) {\r\n this.setState({ loading: false, forcedPassword: false });\r\n return;\r\n }\r\n\r\n this.recaptchaRef.current.execute(); \r\n }\r\n\r\n doLogin(token){\r\n \r\n var loginContext = null;\r\n let loginCredentials = { username: this.state.userCredentials.email,\r\n password: this.state.userCredentials.fckpass,\r\n rememberMe: this.state.userCredentials.rememberMe,\r\n context: loginContext\r\n };\r\n\r\n let errors = {}; \r\n if(this.state.tmLoaded || this.props.tm != null)\r\n {\r\n\r\n this.props.actions.login(loginCredentials, token).catch( e => {\r\n\r\n if(e.status == 401){\r\n errors['login'] = this.props.textVariants[pages.LOGIN + this.props.textVariants.textVariantSeparator + \"incorrectUserOrPass\"];\r\n }\r\n else if(e.status == 406){\r\n\r\n errors['login'] = this.props.textVariants[pages.LOGIN + this.props.textVariants.textVariantSeparator + \"threatMetrix_breach\"];\r\n }\r\n else if(e.status == 403){\r\n\r\n errors['login'] = this.props.textVariants[pages.LOGIN + this.props.textVariants.textVariantSeparator + \"user_details_not_present\"];\r\n }\r\n else if(e.status == 409){\r\n\r\n errors['login'] = this.props.textVariants[pages.LOGIN + this.props.textVariants.textVariantSeparator + \"createAccountErrorRegistrationInProcess\"];\r\n }\r\n else {\r\n\r\n if(!funcs.hasLocalStorage()){\r\n errors['login'] = this.props.textVariants[\"Error_localStorage_Missing\"];\r\n }\r\n else{\r\n errors['login'] = this.props.textVariants[\"Api_Generic\"];\r\n }\r\n }\r\n\r\n this.setState({ errors: errors, loading: false });\r\n \r\n }).finally( e => {\r\n \r\n if(!this.props.isAuthenticated){\r\n this.setState({ loading: false, forcedPassword: false });\r\n this.doResetRecaptcha();\r\n }\r\n });\r\n }\r\n else {\r\n \r\n if(this.state.tmTryCount > GlobalVariables.SCORE_RETRY_MAX){\r\n errors['login'] = this.props.textVariants[pages.LOGIN + this.props.textVariants.textVariantSeparator + \"tmNotLoaded\"];\r\n this.setState({ errors: errors, loading: false, forcedPassword: false });\r\n }\r\n else {\r\n\r\n setTimeout(() => {\r\n\r\n this.setState({tmTryCount: this.state.tmTryCount + 1});\r\n this.loadTmVariables();\r\n this.performLogin();\r\n }, GlobalVariables.SCORE_RETRY_TIMEOUT);\r\n }\r\n }\r\n }\r\n\r\n\r\n loginFormIsValid() {\r\n\r\n let formIsValid = true;\r\n let errors = {};\r\n\r\n var errorEmail = ValidationApi.validateEmail(this.state.userCredentials.email);\r\n if (errorEmail) {\r\n errors.email = errorEmail;\r\n formIsValid = false;\r\n }\r\n\r\n var errorPass = ValidationApi.validatePassword(this.state.userCredentials.fckpass);\r\n if (errorPass) {\r\n errors.fckpass = errorPass;\r\n formIsValid = false;\r\n }\r\n\r\n this.setState({errors: errors});\r\n\r\n return formIsValid;\r\n }\r\n\r\n render() { \r\n let loginArea =\r\n
    \r\n \r\n
    ;\r\n\r\n if(this.state.forcedPassword){\r\n loginArea = ;\r\n } \r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {loginArea}\r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nLoginPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.LOGIN]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.LOGIN];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n tm: state.userProfile.tm,\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n registeringUsername: state.userProfile.registeringUsername,\r\n registeringRememberMe: state.userProfile.registeringRememberMe,\r\n isAuthenticated: state.userProfile.isAuthenticated,\r\n redirect_uri: state.userProfile.redirect_uri,\r\n rememberMeInfo: state.userProfile.rememberMeInfo,\r\n userProfile: state.userProfile\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoginPage);\r\n","import delay from './delay';\r\nimport * as GlobalVariables from '../config/configureGlobalVariables';\r\nimport * as GlobalFixedVariables from '../config/GlobalFixedVariables';\r\nimport * as funcs from '../components/shared/functions';\r\n\r\n\r\nclass VerificationApi {\r\n static verifyEmailOneTimeCodeRegistration(oneTimeCode, recaptchaToken) {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/user/register/verify-totp-email';\r\n\r\n let requestOptions = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-recaptcha': recaptchaToken\r\n //'x-gcs-xsrf': csrfToken\r\n },\r\n body: JSON.stringify({ \r\n oneTimeCode\r\n })\r\n };\r\n\r\n return fetch(fullUrl, requestOptions).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n }); \r\n } \r\n\r\n static verifyEmailOneTimeCodeAuth(csrfToken, oneTimeCode) {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/user/verify-totp-email';\r\n \r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n let requestOptions = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers,\r\n body: JSON.stringify({ \r\n oneTimeCode\r\n })\r\n };\r\n \r\n return fetch(fullUrl, requestOptions).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n }); \r\n } \r\n\r\n static sendEmailOneTimeCodeAuth(csrfToken, recaptchaToken) {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/user/send-totp-email';\r\n \r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n if(recaptchaToken){\r\n headers['x-recaptcha'] = recaptchaToken;\r\n } \r\n let requestOptions = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers\r\n // ,body: JSON.stringify({ \r\n // oneTimeCode\r\n // })\r\n };\r\n \r\n return fetch(fullUrl, requestOptions).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n }); \r\n } \r\n\r\n static sendEmailOneTimeCodeRegistration(recaptchaToken) {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/user/register/send-totp-email';\r\n \r\n let requestOptions = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-recaptcha': recaptchaToken\r\n //'x-gcs-xsrf': csrfToken\r\n }\r\n // , body: JSON.stringify({ \r\n // oneTimeCode\r\n // })\r\n };\r\n \r\n return fetch(fullUrl, requestOptions).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n }); \r\n } \r\n\r\n static verifyMobileOneTimeCodeRegistration(csrfToken, oneTimeCode, recaptchaToken) {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/user/register/verify-totp-mobile';\r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n if(recaptchaToken){\r\n headers['x-recaptcha'] = recaptchaToken;\r\n } \r\n let requestOptions = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers,\r\n body: JSON.stringify({ \r\n oneTimeCode\r\n })\r\n };\r\n \r\n return fetch(fullUrl, requestOptions).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n }); \r\n } \r\n \r\n static verifyMobileOneTimeCodeAuth(csrfToken, oneTimeCode) {\r\n \r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/user/verify-totp-mobile';\r\n \r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n \r\n let requestOptions = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers,\r\n body: JSON.stringify({ \r\n oneTimeCode\r\n })\r\n };\r\n \r\n return fetch(fullUrl, requestOptions).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n }); \r\n } \r\n \r\n static sendMobileOneTimeCodeAuth(csrfToken, recaptchaToken) {\r\n \r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/user/send-totp-mobile';\r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n if(recaptchaToken){\r\n headers['x-recaptcha'] = recaptchaToken;\r\n } \r\n let requestOptions = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers,\r\n body: JSON.stringify({ \r\n })\r\n };\r\n \r\n return fetch(fullUrl, requestOptions).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n }); \r\n } \r\n \r\n static sendMobileOneTimeCodeRegistration(csrfToken, mobile, recaptchaToken) {\r\n \r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/user/register/send-totp-mobile';\r\n \r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n if(recaptchaToken){\r\n headers['x-recaptcha'] = recaptchaToken;\r\n } \r\n let requestOptions = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers\r\n ,body: JSON.stringify({ \r\n destination: mobile\r\n })\r\n };\r\n \r\n return fetch(fullUrl, requestOptions).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n }); \r\n } \r\n};\r\n\r\nexport default VerificationApi;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\n\r\nconst TextNumericInput = ({ name, label, onChange, placeholder, value, error, autoComplete = \"on\", shouldRender = true, toolTip, maxLength = 100, required = false, groupClass = \"form-group\"}) => {\r\n\r\n let inputCls = 'form-control';\r\n\r\n //let groupClass = \"form-group\";\r\n if (error && error.length > 0) {\r\n inputCls += ' is-invalid';\r\n }\r\n\r\n let component =
    ;\r\n if(shouldRender){\r\n component =
    \r\n\r\n \r\n\r\n \r\n\r\n {error && (\r\n <>\r\n \"\"\r\n
    \r\n {error}\r\n
    \r\n \r\n )}\r\n\r\n {toolTip &&
    \r\n \r\n {toolTip[\"linkText\"]}\r\n
    }\r\n\r\n\r\n
    ;\r\n }\r\n\r\n return (component);\r\n};\r\n\r\nTextNumericInput.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n placeholder: PropTypes.string,\r\n value: PropTypes.string,\r\n shouldRender: PropTypes.bool,\r\n toolTip: PropTypes.object,\r\n error: PropTypes.string\r\n};\r\n\r\nexport default TextNumericInput;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\n\r\nimport LoginFrame from './LoginFrame';\r\n\r\nconst Login2FAInputBoxButton = ({ loading, enabled, textVariants }) => {\r\n\r\n let btnText = '';\r\n let btnCls = 'btn btn-primary full-width';\r\n\r\n btnText = textVariants[\"Btn_Login\"];\r\n\r\n if (loading)\r\n btnCls +='btn btn-primary full-width disabled';\r\n\r\n return (\r\n \r\n {btnText}\r\n {loading &&()}\r\n \r\n )\r\n}\r\n\r\nconst Login2FAInputBox = ({\r\n textVariants,\r\n onChange,\r\n oneTimeCode,\r\n onActionClick, \r\n otcError,\r\n infoMessage,\r\n errorMessage,\r\n onGoBack,\r\n loading,\r\n enabled\r\n }) => { \r\n\r\nreturn (\r\n By clicking 'Login', I authorise GetCreditScore to obtain my credit score and, if I’ve elected, an overview of my personal credit file from Equifax Australia Information Services and Solutions Pty Limited.}\r\n cssClass=\" n-100vh\"\r\n >\r\n
    \r\n

    Please enter the code you received to login

    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n {infoMessage && \r\n
    \r\n \r\n
    \r\n } \r\n {errorMessage && \r\n
    \r\n \r\n
    \r\n } \r\n \r\n \r\n

    Pick another destination here

    \r\n \r\n
    \r\n\r\n \r\n);\r\n\r\n};\r\n\r\nLogin2FAInputBox.propTypes = {\r\n textVariants: PropTypes.object.isRequired, \r\n onChange: PropTypes.func.isRequired,\r\n onGoBack: PropTypes.func.isRequired,\r\n otcError: PropTypes.object, \r\n loading: PropTypes.bool, \r\n enabled: PropTypes.bool, \r\n onActionClick: PropTypes.func.isRequired\r\n};\r\n\r\nexport default Login2FAInputBox;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport LoginFrame from './LoginFrame';\r\n\r\nconst Login2FASelectionBox = ({\r\n textVariants, \r\n onActionClick, \r\n infoMessage,\r\n errorMessage \r\n }) => { \r\n\r\nreturn (\r\n \r\n
    \r\n

    2nd Factor Verification

    \r\n

    Please select where to receive a one time code

    \r\n
    \r\n
    \r\n
    \r\n
    {onActionClick(e, 'E')}}>\r\n \r\n \r\n
    \r\n
    {onActionClick(e, 'M')}}>\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n {infoMessage && \r\n
    \r\n \r\n
    \r\n } \r\n {errorMessage && \r\n
    \r\n \r\n
    \r\n } \r\n
    \r\n\r\n \r\n);\r\n\r\n};\r\n\r\n\r\nLogin2FASelectionBox.propTypes = {\r\n textVariants: PropTypes.object.isRequired, \r\n onActionClick: PropTypes.func.isRequired, \r\n};\r\n\r\nexport default Login2FASelectionBox;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\nimport {parse} from 'query-string';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport * as pages from '../shared/pages';\r\nimport LoadingIndicator from '../common/controls/LoadingIndicator';\r\n\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\n\r\nimport ValidationApi from '../../api/validationApi.js';\r\nimport VerificationAPI from '../../api/verificationApi';\r\n\r\nimport ThreatMetrixComponent from '../common/ThreatMetrixComponent';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport {PromotionBanner} from '../sections/PromotionBanner';\r\n\r\nimport FooterSmallSection from '../common/footerSmall'\r\nimport Login2FAInputBox from './Login2FAInputBox';\r\nimport Login2FASelectionBox from './Login2FASelectionBox';\r\nimport GcsRecaptcha from \"../common/GcsRecaptcha\";\r\n\r\nimport {USERROLES, hasOneRole} from '../../common/gcsLogic';\r\n\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\n\r\nexport class Login2FAPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { \r\n errorMessage: '', \r\n loading: false,\r\n tmLoaded: null,\r\n tmTryCount : 1,\r\n tmFinished: true, //!(process.env.REACT_APP_TM == 'true'),\r\n verificationCode: '',\r\n otcError: null, \r\n isChannelSelection: true, \r\n channelSelected: null,\r\n resetRecaptcha: false \r\n };\r\n \r\n this.onSelectChannel = this.onSelectChannel.bind(this); \r\n this.onVerificationCodeSubmit = this.onVerificationCodeSubmit.bind(this);\r\n this.onChangeVerificationCode = this.onChangeVerificationCode.bind(this); \r\n this.redirectToAuth = this.redirectToAuth.bind(this); \r\n this.loadTmVariables = this.loadTmVariables.bind(this);\r\n this.onSubmitSendOTC = this.onSubmitSendOTC.bind(this);\r\n this.onSelectRecaptcha = this.onSelectRecaptcha.bind(this);\r\n this.doResetRecaptcha = this.doResetRecaptcha.bind(this); \r\n this.doSubmitSendOTC = this.doSubmitSendOTC.bind(this);\r\n this.onProfileComplete = this.onProfileComplete.bind(this);\r\n \r\n this.recaptchaRef = React.createRef(); \r\n }\r\n\r\n componentDidMount() {\r\n \r\n let ret = ''; \r\n ret = RoutesVariables.RouteDashboard;\r\n \r\n this.props.actions.isAuthenticated().then(e => { \r\n \r\n let retUrl = parse(this.props.location.search).retUrl;\r\n if(!e.isAuthenticated || !hasOneRole(e.roles, USERROLES.OneFactor)){ \r\n ret = RoutesVariables.RouteLogin + (retUrl ? \"?retUrl=\" + encodeURIComponent(retUrl) : \"\" );\r\n this.props.history.push(ret);\r\n return;\r\n } else{\r\n\r\n if(hasOneRole(e.roles, USERROLES.TwoFactor)){\r\n ret = retUrl ? retUrl : RoutesVariables.RouteDashboard;\r\n this.props.history.push(ret);\r\n return;\r\n }\r\n } \r\n\r\n this.props.actions.getMenuForPage(pages.LOGIN);\r\n this.props.actions.getTextVariants();\r\n //this.loadTmVariables(); \r\n }); \r\n \r\n this.doResetRecaptcha();\r\n initTonikForms(); \r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n \r\n let ret = '';\r\n if(nextProps.userProfile && nextProps.userProfile.isAuthenticated){\r\n\r\n let retUrl = parse(this.props.location.search).retUrl;\r\n // It means it did verify it correctly\r\n if(hasOneRole(nextProps.userProfile.roles, USERROLES.TwoFactor)){\r\n\r\n if (nextProps.redirect_uri) {\r\n if(nextProps.redirect_uri.indexOf(RoutesVariables.RouteLogin2FA) >= 0){\r\n ret = nextProps.redirect_uri + \"?retUrl=\" + encodeURIComponent(retUrl);\r\n }else{\r\n ret = nextProps.redirect_uri;\r\n } \r\n } else if (retUrl) {\r\n ret = '' + retUrl;\r\n } \r\n this.props.history.push(ret);\r\n }\r\n } \r\n } \r\n\r\n onSelectRecaptcha(token){\r\n \r\n if (token) { \r\n this.doSubmitSendOTC(token); \r\n } \r\n\r\n this.setState({resetRecaptcha: true, loading: false});\r\n }\r\n\r\n doResetRecaptcha(){\r\n if (this.state.resetRecaptcha) {\r\n try{\r\n this.recaptchaRef.current.reset();\r\n this.setState({resetRecaptcha: false});\r\n }\r\n catch(ex){\r\n console.log(ex);\r\n } \r\n }\r\n }\r\n\r\n loadTmVariables(){\r\n\r\n if(this.props.tm){\r\n this.setState({tmFinished : true});\r\n }\r\n\r\n return this.props.actions.tm().then(r => {\r\n this.setState({tmLoaded : true});\r\n return r;\r\n }).catch(e => {\r\n //this.setState({tmLoaded : false});\r\n });\r\n } \r\n \r\n onProfileComplete(session_id){\r\n this.setState({tmFinished : true});\r\n //console.log('finish tm loading', this.props.tm == session_id, this.props.tm, session_id);\r\n if(this.props.tm != session_id){\r\n this.props.actions.tmSuccess({id: session_id})\r\n }\r\n }\r\n \r\n onSelectChannel(event, channel){\r\n event.preventDefault(); \r\n this.setState({ isChannelSelection: channel == null, channelSelected: channel, otcError: null },\r\n () => {\r\n if(channel) {\r\n this.onSubmitSendOTC(event);\r\n }\r\n }); \r\n }\r\n\r\n onSubmitSendOTC(){ \r\n this.setState({ errorMessage: null, infoMessage: null, loading: true });\r\n \r\n if(this.state.channelSelected)\r\n this.recaptchaRef.current.execute();\r\n }\r\n\r\n doSubmitSendOTC(token){\r\n\r\n var channel = this.state.channelSelected;\r\n // Send Verification Code\r\n var sendOtcPromise = null;\r\n if(channel == 'E'){\r\n sendOtcPromise = VerificationAPI.sendEmailOneTimeCodeAuth(this.props.userProfile.csrfToken, token);\r\n } else if(channel == 'M'){\r\n sendOtcPromise = VerificationAPI.sendMobileOneTimeCodeAuth(this.props.userProfile.csrfToken, token);\r\n }\r\n \r\n if(sendOtcPromise){\r\n sendOtcPromise.then( (verification) => {\r\n // Redirect to re-auth\r\n if(verification && verification.isError){\r\n this.setState({ isChannelSelection: true, otcError: '', errorMessage: verification.errorMessage, infoMessage: null });\r\n } else{\r\n this.setState({ isChannelSelection: false, otcError: null }); \r\n }\r\n }).catch( e => {\r\n \r\n if( e.status == 400){\r\n e.json().then( verification => {\r\n if(verification){\r\n this.setState({ errorMessage: verification.errorMessage, infoMessage: null });\r\n } else{\r\n this.setState({ errorMessage: 'Unexpected error sending your one time code', infoMessage: null });\r\n } \r\n });\r\n } else {\r\n this.setState({ errorMessage: 'An unexpected error occurred sending the one time code. Please contact us. or try to login again', infoMessage: null });\r\n }\r\n\r\n this.setState({ isChannelSelection: true});\r\n this.doResetRecaptcha();\r\n\r\n }).finally( () => {\r\n this.setState({loading: false});\r\n }); \r\n }\r\n }\r\n\r\n onChangeVerificationCode(event) {\r\n \r\n let verificationCode = this.state.verificationCode;\r\n verificationCode = event.target.value;\r\n\r\n return this.setState({ verificationCode: verificationCode, otcError: null });\r\n }\r\n \r\n onVerificationCodeSubmit(event){\r\n\r\n event.preventDefault();\r\n // Validate \r\n if (!this.state.verificationCode || (this.state.verificationCode.length < 5 && !this.state.verificationCode.match(/^[0-9]+$/g))){\r\n this.setState({otcError: 'The One Time Code is not Valid'}); \r\n }\r\n else{\r\n this.setState({ errorMessage: null, infoMessage: null, loading: true });\r\n // Verify Verification Code\r\n var verifyOtcPromise = null;\r\n if(this.state.channelSelected == 'E'){\r\n verifyOtcPromise = VerificationAPI.verifyEmailOneTimeCodeAuth(this.props.userProfile.csrfToken, this.state.verificationCode);\r\n } else if(this.state.channelSelected == 'M'){\r\n verifyOtcPromise = VerificationAPI.verifyMobileOneTimeCodeAuth(this.props.userProfile.csrfToken, this.state.verificationCode);\r\n }\r\n\r\n verifyOtcPromise.then( (verification) => {\r\n // Redirect to re-auth\r\n if(verification.isError){\r\n this.setState({ errorMessage: verification.errorMessage, infoMessage: null });\r\n } else{\r\n this.redirectToAuth();\r\n }\r\n }).catch( e => {\r\n if( e.status == 400){\r\n e.json().then( verification => {\r\n this.setState({ errorMessage: verification.errorMessage, infoMessage: null });\r\n });\r\n } else {\r\n this.setState({ errorMessage: 'An unexpected error occurred. Please contact us.', infoMessage: null });\r\n }\r\n }).finally( () => {\r\n this.setState({loading: false});\r\n });\r\n }\r\n }\r\n \r\n redirectToAuth(){\r\n \r\n this.props.actions.refreshAuthentication(this.state.channelSelected).then(r =>{\r\n\r\n if(r.roles && hasOneRole(r.roles, USERROLES.TwoFactor)){\r\n let retUrl = parse(this.props.location.search).retUrl;\r\n if(retUrl == RoutesVariables.RouteLogin2FA){\r\n retUrl = ''; // Cancel infinite loop\r\n }\r\n var navigateUrl = r.redirect_uri || (retUrl ? retUrl : RoutesVariables.RouteDashboard);\r\n this.props.history.push(navigateUrl); \r\n }\r\n else{ \r\n this.setState({errorMessage: 'We could not authorise you. Please contact us or try to send another verification code with the link below'});\r\n }\r\n }).catch(e => {\r\n\r\n if(e.status == 400){\r\n e.json().then( resp => {\r\n this.setState({errorMessage: resp.errorMessage});\r\n });\r\n }\r\n else{\r\n this.setState({errorMessage: 'An unexpected error ocurred. We could not authorise you. Please contact us or try to send another SMS verification'});\r\n }\r\n });\r\n } \r\n \r\n render() { \r\n return (\r\n
    \r\n \r\n\r\n {/* {\r\n !this.props.tm && \r\n } */}\r\n \r\n \r\n {this.state.isChannelSelection &&\r\n
    \r\n \r\n
    }\r\n\r\n {!this.state.isChannelSelection &&\r\n
    \r\n {this.onSelectChannel(e, null)}} \r\n otcError={this.state.otcError}\r\n loading={this.state.loading}\r\n infoMessage={this.state.infoMessage}\r\n errorMessage={this.state.errorMessage}\r\n enabled={this.state.tmFinished}\r\n />\r\n
    \r\n } \r\n\r\n \r\n
    \r\n );\r\n }\r\n }\r\n\r\nLogin2FAPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.LOGIN]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.LOGIN];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n tm: state.userProfile.tm,\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n registeringUsername: state.userProfile.registeringUsername,\r\n registeringRememberMe: state.userProfile.registeringRememberMe,\r\n isAuthenticated: state.userProfile.isAuthenticated,\r\n redirect_uri: state.userProfile.redirect_uri,\r\n rememberMeInfo: state.userProfile.rememberMeInfo,\r\n userProfile: state.userProfile\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Login2FAPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as funcs from '../shared/functions';\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport LoginFrame from './LoginFrame';\r\n\r\nconst LoginBoxMessage = ({titleText, contentText, actionName, onActionClick, href, showTandCs = true}) => {\r\n\r\nlet clickable = ;\r\nif(href){\r\n clickable = {actionName};\r\n}\r\n\r\n return (\r\n\r\n By clicking 'Login', I authorise GetCreditScore Pty Limited (GetCreditScore) to obtain my credit score from Equifax Australia InformationServices and Solutions Pty Limited (Equifax). I acknowledge and accept GetCreditScore's Privacy Policy and Terms of Use.}\r\n >\r\n

    {titleText}

    \r\n

    \r\n
    \r\n {actionName && clickable }\r\n
    \r\n \r\n );\r\n }\r\n\r\nLoginBoxMessage.propTypes = {\r\n titleText: PropTypes.string.isRequired,\r\n contentText: PropTypes.string.isRequired,\r\n actionName: PropTypes.string,\r\n onActionClick: PropTypes.func\r\n};\r\n\r\nexport default LoginBoxMessage;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\n\r\nconst TextInput = ({name, label, onChange, placeholder, value, error, shouldRender = true, autocomplete=\"on\", toolTip, maxLength=100, required=false, disabled=false, groupClass=\"form-label-group\", type=\"text\"}) => {\r\n\r\n let inputCls = 'form-control';\r\n\r\n if (type == \"textarea\") {\r\n inputCls = 'form-control notes';\r\n groupClass=\"form-label-group form-label-group-textarea\";\r\n }\r\n\r\n //let groupClass = \"form-label-group\";\r\n if (error && error.length > 0) {\r\n inputCls += ' is-invalid';\r\n }\r\n\r\n let component =
    ;\r\n\r\n if(shouldRender){\r\n if (type == \"textarea\") {\r\n component = \r\n
    \r\n \r\n \r\n {toolTip && (\r\n \"\"/\r\n )}\r\n \r\n \r\n
    \r\n {error && (\r\n <>\r\n \"\"\r\n
    \r\n {error}\r\n
    \r\n \r\n )}\r\n
    ;\r\n }\r\n else\r\n {\r\n component = \r\n
    \r\n \r\n \r\n {toolTip && (\r\n \"\"/\r\n )}\r\n \r\n \r\n {error && (\r\n <>\r\n \"\"\r\n
    \r\n {error}\r\n
    \r\n \r\n )}\r\n
    ;\r\n }\r\n\r\n \r\n }\r\n\r\n return (component);\r\n};\r\n\r\nTextInput.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n placeholder: PropTypes.string,\r\n value: PropTypes.string,\r\n shouldRender: PropTypes.bool,\r\n toolTip: PropTypes.object,\r\n error: PropTypes.string\r\n};\r\n\r\nexport default TextInput;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\n\r\nconst DateInputSimple = ({id, name, label, onChange, value, error, toolTip, groupClass = \"form-group\", notDay=false}) => {\r\n\r\n var fullControlName = name;\r\n\r\n var internalid = 'date_birth' + id;\r\n\r\n // var dayCtrlId = fullControlName + 'dd';\r\n // var monthCtrlId = fullControlName + 'mm';\r\n // var yearCtrlId = fullControlName + 'yy';\r\n\r\n var classDD = \"form-control text-center\";\r\n if (error && (error[\"dd\"] || error.dateError)) {\r\n classDD = classDD + ' has-error';\r\n }\r\n\r\n var classMM = \"form-control text-center\";\r\n if (error && (error[\"mm\"] || error.dateError)) {\r\n classMM = classMM + ' has-error';\r\n }\r\n\r\n var classYYYY = \"form-control text-center yyyy\";\r\n if (error && (error[\"yy\"] || error.dateError)) {\r\n classYYYY = classYYYY + ' has-error';\r\n }\r\n\r\n var requiredError = '';\r\n let inputCls = 'form-control';\r\n //let groupClass = \"form-group\";\r\n\r\n if (error) {\r\n if(!notDay){\r\n requiredError = error['dd'] ? error['dd'] + ' ' : \"\";\r\n }\r\n requiredError += error['mm'] ? error['mm'] + ' ' : \"\";\r\n requiredError += error['yy'] ? error['yy'] + ' ' : \"\";\r\n\r\n if(requiredError){\r\n inputCls+= ' is-invalid';\r\n }\r\n else if(error.dateError){\r\n inputCls+= ' is-invalid';\r\n requiredError = error && error.dateError;\r\n }\r\n }\r\n\r\n var sinchronizeWithParent = function sinchronizeWithParent() {\r\n \r\n var innerValue = document.getElementById(internalid).value;\r\n\r\n if(!innerValue){\r\n innerValue = notDay? \"-\": \"--\";\r\n }\r\n\r\n var date = innerValue.split('-');\r\n var value = {};\r\n if(notDay){\r\n value= {\r\n 'mm': date[1] || '',\r\n 'yy': date[0] || '',\r\n }\r\n }\r\n else {\r\n value= {\r\n 'dd': date[2] || '',\r\n 'mm': date[1] || '',\r\n 'yy': date[0] || '',\r\n }\r\n }\r\n var obj = {\r\n target: {\r\n name: fullControlName,\r\n value: value\r\n }\r\n };\r\n\r\n onChange(obj);\r\n };\r\n\r\n return (\r\n
    \r\n {sinchronizeWithParent()}} autoComplete=\"off\"\r\n pattern={notDay ?\"[0-9]{4}-[0-9]{2}\": \"[0-9]{4}-[0-9]{2}-[0-9]{2}\"}\r\n title={toolTip ? toolTip[\"helpText\"]:''}\r\n />\r\n {toolTip && (\r\n \"\"/\r\n )}\r\n \r\n\r\n {requiredError && (\r\n <>\r\n
    \r\n {requiredError}\r\n
    \r\n \r\n )}\r\n
    \r\n\r\n );\r\n};\r\n\r\n DateInputSimple.propTypes = {\r\n id: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n value: PropTypes.object,\r\n error: PropTypes.object,\r\n toolTip: PropTypes.object,\r\n};\r\n\r\nexport default DateInputSimple;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport DateInputMask from './DateInputMask';\r\nimport DateInputSimple from './DateInputSimple';\r\n\r\nimport * as pages from '../../shared/pages';\r\n\r\nconst DateInputGeneral = ({customer, error, textVariants, onChange, shouldRender = true, groupClass = \"form-group\", toolTip=null}) => {\r\n\r\n var Component = <>;\r\n if(shouldRender){\r\n Component = ;\r\n }\r\n\r\n return (Component);\r\n\r\n};\r\n\r\n\r\n\r\n\r\nexport default DateInputGeneral;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\n\r\nconst GenderInput = ({name, label, onChange, shouldRender = true, value, error, cssClass = 'radio-button mt-1 ml-lg-4'}) => {\r\n \r\n var setGender = function(gender, field) {\r\n var obj = {\r\n target : {\r\n name: field,\r\n value: gender\r\n }\r\n };\r\n\r\n onChange(obj);\r\n };\r\n\r\n var Component = <>;\r\n if(shouldRender){\r\n Component =
    \r\n
    \r\n GENDER*
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {error && (\r\n
    \r\n {error}\r\n
    \r\n )}\r\n {/*
    \r\n {error &&
    {error}
    }\r\n
    */}\r\n
    \r\n
    ;\r\n }\r\n return (Component);\r\n};\r\n\r\n GenderInput.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n value: PropTypes.string,\r\n error: PropTypes.string\r\n};\r\n\r\nexport default GenderInput;\r\n","import * as GlobalVariables from '../config/configureGlobalVariables';\r\nimport HelperApi from './HelperApi';\r\n\r\nexport class AddressLookupApi {\r\n static getAddresses(term, csrfToken) {\r\n let urlEncodeTerm = encodeURIComponent(term);\r\n let fullUrl = GlobalVariables.ADDRESS_SERVICE_URL + urlEncodeTerm;\r\n\r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n let options = {\r\n method: 'GET',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers\r\n };\r\n\r\n return fetch(fullUrl, options).then(response => {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n } else {\r\n try {\r\n return response.json();\r\n } catch (error) {\r\n console.error('Error parsing JSON:', error);\r\n return {};\r\n }\r\n }\r\n }).catch(function (error) {\r\n console.log('Request failed', error);\r\n throw (error);\r\n });\r\n }\r\n }\r\n\r\nexport class LodgeAComplaintApi {\r\n static sendLodgeDataThroughGcs(formData, token) {\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/lodge-a-complaint';\r\n let options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-recaptcha': token \r\n },\r\n body: JSON.stringify(formData)\r\n };\r\n \r\n return fetch(fullUrl, options).then(response => {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.ok;\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n });\r\n }\r\n}\r\n\r\nexport class ContactUsApi {\r\n static sendDataToSalesforce(formData) {\r\n let options = {\r\n method: 'POST',\r\n mode: 'no-cors',\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n 'Accept':'text/html'\r\n },\r\n body: HelperApi.encodeData(formData)\r\n };\r\n\r\n fetch(GlobalVariables.CONTACTUS_BASE_URL, options).then(response => {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n } else {\r\n return response;\r\n }\r\n }).catch(function (error) {\r\n throw(error);\r\n });\r\n }\r\n\r\n static sendDataThroughGcs(formData, token) {\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/contact-us';\r\n let options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'x-recaptcha': token \r\n },\r\n body: JSON.stringify(formData)\r\n };\r\n\r\n return fetch(fullUrl, options).then(response => {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.ok;\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n });\r\n }\r\n}","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport Autocomplete from 'react-autocomplete';\r\nimport {AddressLookupApi} from '../../../api/externalServices.js';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\n\r\nexport class AddressInput extends React.Component{\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.onChange = this.props.onChange;\r\n this.onServiceError = this.props.onServiceError;\r\n\r\n this.getAddresses = this.getAddresses.bind(this);\r\n this.updateAddress = this.updateAddress.bind(this);\r\n\r\n this.state = {\r\n addressesList: [],\r\n addressesPreviousList: [],\r\n addressLoading:false,\r\n prevAddressLoading:false\r\n };\r\n }\r\n\r\n updateAddress(event) {\r\n let target = event.target;\r\n let newValue = target.type === 'checkbox' ? target.checked : target.value;\r\n let propertyName = target.name;\r\n\r\n this.onChange(\r\n {\r\n target : {\r\n name: propertyName,\r\n value: newValue\r\n }\r\n });\r\n }\r\n\r\n getAddresses(propertyName, request, bindResultToCtrl) {\r\n if (request) {\r\n AddressLookupApi.getAddresses(request, this.props.csrfToken).then(addresses => {\r\n const parseAddress = JSON.parse(addresses);\r\n bindResultToCtrl((parseAddress && parseAddress['Result']) ? parseAddress.Result : []);\r\n })\r\n .catch(response => {\r\n this.onServiceError({\r\n target: {\r\n name: propertyName\r\n }\r\n });\r\n }).then(addresses => {\r\n this.setState({ addressLoading: false, prevAddressLoading: false })\r\n });\r\n }\r\n else {\r\n this.setState({ addressLoading: false, prevAddressLoading: false });\r\n }\r\n }\r\n\r\n\r\n render() {\r\n let adressInputCls = this.state.addressLoading ?'form-control loading' :'form-control';\r\n let prevAddressCls = this.state.prevAddressLoading? 'form-control xs-mt-10 loading': 'form-control xs-mt-10';\r\n let prevAddressLabelCls = \"control-label col-sm-4 xs-mt-10\";\r\n adressInputCls += this.props.addressError ? \" has-error\" : \"\";\r\n prevAddressCls += this.props.prevAddressError ? \" has-error\" : \"\";\r\n\r\n if (!this.props.hasLivedLessThan3Years) {\r\n prevAddressCls += \" hidden\";\r\n prevAddressLabelCls += \" hidden\";\r\n\r\n }\r\n\r\n let groupClass = \"form-group address-container\";\r\n if (this.props.addressError || this.props.prevAddressError) {\r\n groupClass+= ' has-error';\r\n }\r\n\r\n let {toolTip} = this.props;\r\n\r\n return ( \r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n item}\r\n onChange={(event, address) => {\r\n this.setState({ addressLoading: true })\r\n this.updateAddress(event);\r\n this.getAddresses(this.props.addressname, address, (items) => {\r\n this.setState({ addressesList: items, addressLoading: false })\r\n })\r\n }}\r\n onSelect={(address, item) => {\r\n this.onChange( {target : {name: this.props.addressname,value: address} });\r\n this.setState({ addressesList: [ item ] })\r\n }}\r\n renderItem={(item, isHighlighted) => (\r\n
    {item}
    \r\n )}\r\n />\r\n {/* */}\r\n {this.props.addressError && (\r\n
    \r\n {this.props.addressError}\r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n {toolTip && \"\"/}\r\n
    \r\n
    \r\n {this.props.hasLivedLessThan3Years && ( <>
    )}\r\n item}\r\n onChange={(event, address) => {\r\n this.setState({ prevAddressLoading: true })\r\n this.updateAddress(event);\r\n this.getAddresses(this.props.prevAddressName, address, (items) => {\r\n this.setState({ addressesPreviousList: items, prevAddressLoading: false })\r\n })\r\n }}\r\n onSelect={(address, item) => {\r\n this.onChange( {target : {name: this.props.prevAddressName,value: address} });\r\n this.setState({ addressesPreviousList: [ item ] })\r\n }}\r\n renderItem={(item, isHighlighted) => (\r\n
    {item}
    \r\n )}\r\n />\r\n {/* */}\r\n {(this.props.hasLivedLessThan3Years &&this.props.prevAddressError) && (\r\n
    \r\n {this.props.prevAddressError}\r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n }\r\n};\r\n\r\n AddressInput.propTypes = {\r\n addressname: PropTypes.string.isRequired,\r\n prevAddressName: PropTypes.string.isRequired,\r\n prevAddress: PropTypes.string.isRequired,\r\n address: PropTypes.string.isRequired,\r\n hasLivedLessThan3Years: PropTypes.bool.isRequired,\r\n label: PropTypes.string.isRequired,\r\n labelPreviousAddress: PropTypes.string.isRequired,\r\n hasLivedLessThan3YearsLabel:PropTypes.string.isRequired,\r\n placeholder: PropTypes.string.isRequired,\r\n prevaddplaceholder: PropTypes.string.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n onServiceError: PropTypes.func.isRequired,\r\n addressError: PropTypes.string,\r\n prevAddressError: PropTypes.string,\r\n orderClass: PropTypes.number\r\n};\r\n\r\n\r\nexport default AddressInput;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\nconst $ = window.$;\r\n\r\nconst PasswordInput = ({name, label, onChange, placeholder, value, error, shouldRender = true, toolTip, maxLength=100, groupClass=\"form-label-group\"}) => {\r\n\r\n\r\n $(document).on('click', '.link-password:not(.text)', function (e) {\r\n $(this).addClass('text');\r\n $(this).parent().find('.password').attr('type', 'text');\r\n e.preventDefault();\r\n });\r\n \r\n $(document).on('click', '.link-password.text', function (e) {\r\n $(this).removeClass('text');\r\n $(this).parent().find('.password').attr('type', 'password');\r\n e.preventDefault();\r\n });\r\n\r\n let inputCls = 'form-control password';\r\n\r\n //let groupClass = \"form-group\";\r\n if (error && error.length > 0) {\r\n inputCls += ' is-invalid';\r\n }\r\n\r\n let component =
    ;\r\n\r\n if(shouldRender){\r\n component = \r\n
    \r\n \r\n \"\"/\r\n {toolTip && (\r\n \"\"/\r\n )}\r\n\r\n \r\n\r\n \r\n {error && (\r\n <>\r\n \"\"\r\n
    \r\n {error}\r\n
    \r\n \r\n )}\r\n\r\n
    ;\r\n }\r\n\r\n return (component);\r\n};\r\n\r\nPasswordInput.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n placeholder: PropTypes.string,\r\n value: PropTypes.string,\r\n shouldRender: PropTypes.bool,\r\n toolTip: PropTypes.object,\r\n error: PropTypes.string\r\n};\r\n\r\nexport default PasswordInput;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport SelectInput from '../common/controls/SelectInput';\r\nimport DateInputGeneral from '../common/controls/DateInputGeneral';\r\nimport GenderInput from '../common/controls/GenderInput';\r\nimport AddressInput from '../common/controls/AddressInput';\r\nimport PasswordInput from '../common/controls/PasswordInput';\r\nimport LoginTermsAndConditions from '../login/LoginTermsAndConditions';\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\n\r\nconst $ = window.$;\r\n\r\nconst ErrorLine = ({message}) =>\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// const RegistrationFormFooter = ({onSave, onCancel, textVariants, errors, saving, saveText, cancelText, diplaySavedMessage}) =>\r\n// {\r\n// var footerContent = null;\r\n\r\n// if (onCancel) {\r\n// footerContent =\r\n\r\n//
    \r\n// \r\n\r\n//
    \r\n\r\n// \r\n\r\n// \r\n\r\n//
    \r\n// {textVariants[pages.REGISTER + textVariants.textVariantSeparator + \"validation_error\"]}\r\n\r\n// {textVariants[pages.REGISTER + textVariants.textVariantSeparator + \"saved_message\"]}\r\n//
    \r\n//
    \r\n// }\r\n// else {\r\n// footerContent =\r\n//
    \r\n// \r\n\r\n//
    \r\n\r\n// \r\n\r\n//
    \r\n//
    \r\n// {textVariants[pages.REGISTER + textVariants.textVariantSeparator + \"validation_error\"]}\r\n//
    \r\n// \r\n//
    \r\n\r\n// {textVariants[pages.REGISTER + textVariants.textVariantSeparator + \"saved_message\"]}\r\n//
    \r\n//
    \r\n// }\r\n\r\n// return (footerContent);\r\n// };\r\n\r\n//const RegistrationForm = ({customer, onSave, onChange, saving, errors, onServiceError, textVariants, diplaySavedMessage, onCancel, , omitFields, saveText}) => {\r\n\r\n\r\n\r\n\r\n// class RegistrationFormPlain extends React.Component {\r\n\r\n// constructor(props, context){\r\n// super(props, context);\r\n\r\n// }\r\n\r\n// componentDidMount() {\r\n\r\n// }\r\n\r\n// componentDidUpdate(prevProps, prevState){\r\n// }\r\n\r\n\r\n// render(){\r\n\r\n// let {customer, onSave, onChange, saving, errors, onServiceError, textVariants, diplaySavedMessage, onCancel, omitFields, saveText} = this.props;\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\r\n//
    \r\n//
    \r\n//
    \r\n// {errors && errors[\"global\"] && }\r\n// \r\n// );\r\n// }\r\n// }\r\n\r\n// RegistrationFormPlain.propTypes = {\r\n// customer: PropTypes.object.isRequired,\r\n// onSave: PropTypes.func.isRequired,\r\n// onChange: PropTypes.func.isRequired,\r\n// onServiceError: PropTypes.func,\r\n// textVariants: PropTypes.object.isRequired,\r\n// saving: PropTypes.bool,\r\n// errors: PropTypes.object,\r\n// diplaySavedMessage: PropTypes.bool,\r\n// onCancel: PropTypes.func,\r\n// omitFields: PropTypes.object,\r\n// saveText: PropTypes.string.isRequired\r\n// };\r\n\r\n// const RegistrationFormSideFeatures = ({pageVariation}) => {\r\n\r\n// let extraText = pageVariation == \"savvy\"? \"Being credit savvy is quick! \":\"\";\r\n\r\n// return (\r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n//
    \r\n//
    Safe & Secure
    \r\n//

    We connect directly to Equifax, Australia’s leading credit bureau, to check your identity and ensure only you can access your credit score.

    \r\n//
    \r\n//
    \r\n//
    \r\n//
    Won't affect your credit file
    \r\n//

    Accessing your credit score using this service won't negatively impact your credit file.

    \r\n//
    \r\n//
    \r\n//
    \r\n//
    Fast and totally free!
    \r\n//

    {extraText + \"Get your credit score in 60 seconds, no credit card required.\"}

    \r\n//
    \r\n//
     
    \r\n//
    \r\n//

    \r\n// \"Tracking and improving my credit score was simple and gave me the ability to negotiate a better deal.\"\r\n//

    \r\n// Jacqueline, NSW\r\n//
    \r\n//
    \r\n//
    \r\n\r\n//
    \r\n\r\n//
    \r\n//
      \r\n//
    • Safe & Secure
    • \r\n//
    • Won't affect your credit file
    • \r\n//
    • Fast and totally free!
    • \r\n// {/*
    • {textVariants[pages.REGISTER + textVariants.textVariantSeparator + \"header_create_free_account_3\"]}
    • */}\r\n//
    \r\n//
    \r\n\r\n//
    \r\n//
    \r\n// );\r\n\r\n// }\r\n\r\n\r\nclass RegistrationFormComplete extends React.Component {\r\n\r\n constructor(props, context){\r\n super(props, context);\r\n this.state = {\r\n showMiddleName: true\r\n };\r\n }\r\n\r\n \r\n\r\n componentDidMount() {\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState){\r\n }\r\n\r\n showMiddleName() {\r\n this.setState({showMiddleName : !this.state.showMiddleName});\r\n }\r\n\r\n getPersonalStep() {\r\n let {customer, onSave, onChange, saving, errors, onServiceError, textVariants, diplaySavedMessage, onCancel, omitFields, saveText, isOnlyForm} = this.props;\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 {this.showMiddleName()}}/>\r\n \r\n
    \r\n
    */}\r\n {/* < className=\"col-lg-6 col-12 small-input order-5\"> */}\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n {(!omitFields || !omitFields[\"address\"]) &&\r\n \r\n }\r\n {(!omitFields || !omitFields[\"mobile\"]) &&\r\n
    \r\n \r\n
    \r\n }\r\n\r\n {/*
    */}\r\n
    \r\n \r\n
    \r\n\r\n {(!omitFields || !omitFields[\"consent\"]) &&\r\n
    \r\n
    \r\n Required*\r\n \r\n \r\n {errors && errors.consent && (\r\n <>\r\n \"\" \r\n
    \r\n {errors.consent}\r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n }\r\n\r\n {(!omitFields || !omitFields[\"eqfxmarketing\"]) &&\r\n
    \r\n
    \r\n Additional marketing consent (optional)\r\n \r\n \r\n {/* my preferences */}\r\n {errors && errors.eqfxmarketing && (\r\n <>\r\n \"\"\r\n
    \r\n {errors.eqfxmarketing}\r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n }\r\n\r\n \r\n {/*
    */}\r\n {!this.props.isOnlyForm && (\r\n
    \r\n * Required Field\r\n \r\n
    )}\r\n\r\n \r\n
    \r\n {errors && errors[\"global\"] && }\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n\r\nrender(){\r\n\r\n let {customer, onSave, onChange, saving, errors, onServiceError, textVariants, diplaySavedMessage, onCancel, omitFields, saveText, isOnlyForm} = this.props;\r\n\r\n return (\r\n <>\r\n { isOnlyForm && (\r\n <> {this.getPersonalStep()} \r\n )\r\n }\r\n { !isOnlyForm && (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {/*nav-register-2 */}\r\n {/* \"\" */}\r\n

    1 6 Registration

    \r\n
    \r\n
    \r\n {/* \"\"/ */}\r\n

    Get unlimited access to your credit score,
    dashboard, tools, insights and personalised offers.

    \r\n {this.getPersonalStep()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n \r\n );\r\n }\r\n }\r\n\r\n\r\n RegistrationFormComplete.propTypes = {\r\n customer: PropTypes.object.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n onServiceError: PropTypes.func,\r\n textVariants: PropTypes.object.isRequired,\r\n saving: PropTypes.bool,\r\n errors: PropTypes.object,\r\n diplaySavedMessage: PropTypes.bool,\r\n onCancel: PropTypes.func,\r\n omitFields: PropTypes.object,\r\n saveText: PropTypes.string.isRequired\r\n};\r\n\r\n\r\n\r\nclass RegistrationForm extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n onSaveClicked: false\r\n };\r\n\r\n this._onSaveCustom = this._onSaveCustom.bind(this);\r\n }\r\n\r\n _onSaveCustom(event){\r\n event.preventDefault();\r\n this.setState({onSaveClicked: true}, () => this.props.onSave(event) );\r\n }\r\n\r\n componentDidMount(){\r\n initTonikForms();\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if(this.state.onSaveClicked && nextProps && nextProps.errors && nextProps.errors.hasError){\r\n // Scroll into the error\r\n this.setState({onSaveClicked: false}, () => funcs.scrollIntoView(nextProps.errors.firstOne) );\r\n }\r\n }\r\n\r\n\r\n render() {\r\n\r\n\r\n let updatedProps = Object.assign({}, this.props, {onSave: this._onSaveCustom} );\r\n\r\n return ();\r\n \r\n // if(this.props.isOnlyForm) {\r\n // return ();\r\n // }\r\n // else {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // }\r\n }\r\n}\r\n\r\n RegistrationForm.propTypes = {\r\n customer: PropTypes.object.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n onServiceError: PropTypes.func,\r\n textVariants: PropTypes.object.isRequired,\r\n saving: PropTypes.bool,\r\n errors: PropTypes.object,\r\n diplaySavedMessage: PropTypes.bool,\r\n onCancel: PropTypes.func,\r\n omitFields: PropTypes.object,\r\n saveText: PropTypes.string.isRequired,\r\n isOnlyForm: PropTypes.bool\r\n };\r\n\r\nexport default RegistrationForm;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\nimport {parse} from 'query-string';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport LoginBoxMessage from '../login/LoginBoxMessage';\r\nimport GcsRecaptcha from \"../common/GcsRecaptcha\";\r\n\r\nimport * as pages from '../shared/pages';\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\n\r\nimport {RegistrationTitleSectionBlue} from './RegistrationTitleSection.js';\r\nimport {PromotionBanner} from '../sections/PromotionBanner';\r\nimport RegistrationForm from './RegistrationForm';\r\nimport LoginTermsAndConditions from '../login/LoginTermsAndConditions';\r\nimport TrustPilotSection from './../sections/TrustPilotSection';\r\n\r\nimport FooterSmallSection from '../common/footerSmall';\r\n\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport ValidationApi from '../../api/validationApi.js';\r\nimport UserApi from '../../api/mockUserApi.js';\r\nimport HelperApi from '../../api/HelperApi.js';\r\n\r\nclass RegistrationPage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n customer: { \r\n dob: { dd: '', mm: '', yy: '' },\r\n address:'',\r\n addressPrevious: '',\r\n hasLivedLessThan3Years: false,\r\n origin: '',\r\n eqfxmarketing: true\r\n },\r\n errors: {dob: { dd: '', mm: '', yy: '' }}, \r\n saving: false,\r\n moveToEmail: false,\r\n resetRecaptcha: false, \r\n //trustPilotSectionTheme: \"trust-pilot-section-theme-white trust-pilot-section-theme-default\"\r\n omitFields: {\r\n mobile: true\r\n }\r\n };\r\n\r\n this.onSaveCustomer = this.onSaveCustomer.bind(this);\r\n this.submitCustomer = this.submitCustomer.bind(this);\r\n this.updateCustomerState = this.updateCustomerState.bind(this);\r\n this.updateCustomerServiceAddressError = this.updateCustomerServiceAddressError.bind(this);\r\n this.saveCustomerFromState = this.saveCustomerFromState.bind(this);\r\n this.onRegistrationComplete = this.onRegistrationComplete.bind(this);\r\n this.didMonuntSetPreviousCustomer = this.didMonuntSetPreviousCustomer.bind(this);\r\n this.onSelectRecaptcha = this.onSelectRecaptcha.bind(this);\r\n this.doResetRecaptcha = this.doResetRecaptcha.bind(this); \r\n\r\n this.recaptchaRef = React.createRef(); \r\n }\r\n\r\n componentDidMount() {\r\n this.props.actions.logout();\r\n this.props.actions.getMenuForPage(pages.REGISTER);\r\n this.props.actions.getTextVariants();\r\n this.props.actions.initUser();\r\n \r\n this.doResetRecaptcha();\r\n\r\n let newCustomer = this.state.customer; \r\n this.setState({customer: newCustomer});\r\n\r\n // Set the loaded user details \r\n this.didMonuntSetPreviousCustomer();\r\n } \r\n\r\n onSelectRecaptcha(token){\r\n \r\n if (token) {\r\n this.submitCustomer(token);\r\n } \r\n\r\n this.setState({resetRecaptcha: true});\r\n }\r\n\r\n doResetRecaptcha(){\r\n if (this.state.resetRecaptcha) {\r\n try{\r\n this.recaptchaRef.current.reset();\r\n }\r\n catch(ex){\r\n console.log(ex);\r\n }\r\n this.setState({resetRecaptcha: false});\r\n }\r\n }\r\n\r\n didMonuntSetPreviousCustomer(){\r\n if( this.props.userProfile && this.props.userProfile.userDetails){\r\n \r\n var ud = this.props.userProfile.userDetails;\r\n ud.password = '';\r\n if(ud.gender != null ){\r\n ud.gender = ud.gender ? 'M':'F'\r\n } else {ud.gender = 'O'}\r\n\r\n var moveToEmail = parse(this.props.location.search)['b'] == 't'\r\n\r\n this.setState({customer: ud, moveToEmail}); \r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps) { \r\n if (nextProps.isAuthenticated) {\r\n this.props.history.push(RoutesVariables.RouteCreditScore); \r\n }\r\n this.doResetRecaptcha(); \r\n } \r\n\r\n onRegistrationComplete(){\r\n this.props.history.push('/');\r\n return false;\r\n } \r\n \r\n onSaveCustomer(event) {\r\n \r\n event.preventDefault();\r\n const that = this;\r\n\r\n this.setState({saving : true});\r\n\r\n let validationResult = ValidationApi.validateCustomer(this.state.customer, this.state.omitFields);\r\n\r\n if(validationResult.isValid){\r\n \r\n this.recaptchaRef.current.execute();\r\n //this.submitCustomer();\r\n\r\n } else {\r\n let newCustomer = this.state.customer;\r\n newCustomer.isCurrentEmailValid = validationResult.isCurrentEmailValid;\r\n newCustomer.isCurrentMobileValid = validationResult.isCurrentMobileValid;\r\n\r\n this.setState({customer: newCustomer, errors: validationResult.errors, saving : false});\r\n }\r\n }\r\n\r\n submitCustomer(recaptchaToken){\r\n this.saveCustomerFromState(this.state.customer, recaptchaToken).then(r => { \r\n this.props.history.push(RoutesVariables.RouteCreateAccountVerifyEmail); \r\n }).catch(e => {\r\n \r\n let errors = this.state.errors;\r\n let msg = null;\r\n\r\n if (e.status == 409){\r\n msg = this.props.textVariants[pages.REGISTER + this.props.textVariants.textVariantSeparator + \"409_startAgain\"];\r\n\r\n } else if (e.status == 300) {\r\n msg = this.props.textVariants[pages.REGISTER + this.props.textVariants.textVariantSeparator + \"300_userNotVerified\"];\r\n\r\n }\r\n else if (e.status == 302) {\r\n if(this.state.moveToEmail){\r\n this.props.history.push(RoutesVariables.RouteCreateAccountVerifyEmail); \r\n } else{\r\n msg = this.props.textVariants[pages.REGISTER + this.props.textVariants.textVariantSeparator + \"302_userExists\"];\r\n var that = this;\r\n setTimeout(() => {\r\n that.props.history.push(RoutesVariables.RouteCreateAccountVerifyEmail);\r\n }, 10000);\r\n }\r\n\r\n } else if (e.status == 400) {\r\n e.json().then(function(response) {\r\n errors.hasError = true;\r\n\r\n response.forEach(error => {\r\n errors[error.field] = error.message;\r\n });\r\n\r\n if(response.length > 0){\r\n errors.firstOne = response[0].field;\r\n }\r\n\r\n if(response.errorMessage){\r\n msg = response.errorMessage;\r\n }\r\n\r\n that.setState({errors: errors, saving : false});\r\n });\r\n\r\n } else if (e.status == 500) {\r\n msg = this.props.textVariants[\"Api_Generic\"];\r\n\r\n }\r\n\r\n if(!msg){\r\n msg = e.message\r\n }\r\n\r\n errors[\"global\"] = msg;\r\n this.setState({errors: errors, saving : false});\r\n });\r\n }\r\n\r\n saveCustomerFromState(customer, recaptchaToken){\r\n var registeredCustomer = Object.assign({}, customer);\r\n \r\n HelperApi.setInnerDateOfBirthAndDobFromNumbers(registeredCustomer, customer.dob.yy, customer.dob.mm, customer.dob.dd);\r\n \r\n registeredCustomer.gender = null;\r\n if (customer.gender && customer.gender != 'O'){\r\n registeredCustomer.gender = customer.gender == 'M';\r\n } \r\n \r\n return this.props.actions.registerFull(registeredCustomer, recaptchaToken);\r\n }\r\n\r\n updateCustomerState(event) {\r\n\r\n const field = event.target.name;\r\n\r\n let customer = this.state.customer;\r\n const value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\r\n customer[field] = value;\r\n\r\n let errors = this.state.errors;\r\n errors[field] = field == 'dob' ? {} : '';\r\n\r\n if(field == 'email'){\r\n customer.isCurrentEmailValid = false;\r\n }\r\n\r\n if(field == 'mobile'){\r\n customer.isCurrentMobileValid = false;\r\n } \r\n\r\n return this.setState({ customer: customer, errors:errors });\r\n }\r\n\r\n updateCustomerServiceAddressError(event){\r\n\r\n const field = event.target.name;\r\n let errors = this.state.errors;\r\n if (event.target.status && event.target.status == 401) {\r\n //console.log(\"external service error code=\"+event.target.status);\r\n }\r\n errors[field] = this.props.textVariants[\"Error_cant_find_address\"];\r\n\r\n return this.setState({ errors:errors });\r\n }\r\n\r\n render() { \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\nRegistrationPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.REGISTER]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.REGISTER];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile, \r\n isAuthenticated: state.userProfile.isAuthenticated,\r\n isTrustPilotEnabled: state.userProfile.isTrustPilotEnabled\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RegistrationPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport LoginBoxMessage from '../login/LoginBoxMessage';\r\nimport * as funcs from '../shared/functions';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\nimport * as pages from '../shared/pages';\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport FooterSmallSection from '../common/footerSmall';\r\nimport VerificationAPI from '../../api/verificationApi';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport GcsRecaptcha from \"../common/GcsRecaptcha\";\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nimport { USERROLES, hasOneRole } from '../../common/gcsLogic';\r\n\r\n\r\nclass RegistrationMobilePage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { \r\n mobile: '',\r\n errorMessage: '',\r\n infoMessage: '',\r\n otcError: null,\r\n saving: false,\r\n resetRecaptcha: false,\r\n shouldResend: false\r\n }; \r\n\r\n this.onChangeMobile = this.onChangeMobile.bind(this);\r\n this.onFormSubmit = this.onFormSubmit.bind(this);\r\n this.onResendSMS = this.onResendSMS.bind(this); \r\n this.redirectToVerifyMobile = this.redirectToVerifyMobile.bind(this);\r\n this.onSelectRecaptcha = this.onSelectRecaptcha.bind(this);\r\n this.doResetRecaptcha = this.doResetRecaptcha.bind(this); \r\n this.doSubmit = this.doSubmit.bind(this);\r\n this.doResendSMS = this.doResendSMS.bind(this);\r\n\r\n this.recaptchaRef = React.createRef(); \r\n }\r\n\r\n componentDidMount() { \r\n this.props.actions.getMenuForPage(pages.REGISTER);\r\n this.props.actions.getTextVariants();\r\n this.doResetRecaptcha();\r\n\r\n this.props.actions.isAuthenticated().then(e => {\r\n });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) { \r\n if (!nextProps.isAuthenticated) { \r\n this.props.history.push(RoutesVariables.RouteLogin); \r\n } \r\n\r\n this.doResetRecaptcha();\r\n } \r\n\r\n onSelectRecaptcha(token){\r\n \r\n if (token) {\r\n if(this.state.shouldResend){\r\n this.setState({shouldResend: false},\r\n () => this.doResendSMS(token) ); \r\n }\r\n else{\r\n this.doSubmit(token);\r\n }\r\n } \r\n\r\n this.setState({resetRecaptcha: true});\r\n }\r\n\r\n doResetRecaptcha(){\r\n if (this.state.resetRecaptcha) {\r\n try{\r\n this.recaptchaRef.current.reset();\r\n }\r\n catch(ex){\r\n console.log(ex);\r\n }\r\n this.setState({resetRecaptcha: false});\r\n }\r\n }\r\n \r\n onChangeMobile(event) {\r\n \r\n //let mobile = this.state.mobile;\r\n let mobile = event.target.value;\r\n\r\n return this.setState({ mobile: mobile, otcError: null });\r\n }\r\n\r\n onFormSubmit(event){\r\n\r\n event.preventDefault();\r\n \r\n // Validate \r\n if (!this.state.mobile || (this.state.mobile.length != 10 && !this.state.mobile.match(/^[0-9]+$/g))){\r\n this.setState({otcError: 'The One Time Code is not Valid'}); \r\n }\r\n else{\r\n this.recaptchaRef.current.execute();\r\n }\r\n }\r\n\r\n doSubmit(token){\r\n this.setState({ errorMessage: null, infoMessage: null, saving: true });\r\n // Send Verification Code\r\n VerificationAPI.sendMobileOneTimeCodeRegistration(this.props.userProfile.csrfToken, this.state.mobile, token).then( (verification) => {\r\n // Redirect to re-auth\r\n if(verification.isError){\r\n this.setState({ errorMessage: verification.errorMessage, infoMessage: null });\r\n } else{\r\n this.redirectToVerifyMobile();\r\n }\r\n }).catch( e => {\r\n \r\n if( e.status == 400){\r\n e.json().then( verification => {\r\n this.setState({ errorMessage: verification.errorMessage, infoMessage: null });\r\n });\r\n } else {\r\n this.setState({ errorMessage: 'An unexpected error occurred. Please contact us.', infoMessage: null });\r\n }\r\n }).finally( () => {\r\n this.setState({saving: false});\r\n });\r\n\r\n }\r\n\r\n redirectToVerifyMobile(){\r\n this.props.history.push(RoutesVariables.CreateAccountVerifyMobile);\r\n } \r\n\r\n onResendSMS(event){\r\n event.preventDefault();\r\n this.setState({shouldResend: true}, ()=> {\r\n this.recaptchaRef.current.execute();\r\n }); \r\n }\r\n\r\n doResendSMS(token){\r\n VerificationAPI.sendMobileOneTimeCodeRegistration(this.props.userProfile.csrfToken, this.state.mobile, token).then(() =>{\r\n this.setState({infoMessage: 'A new SMS has been sent.'});\r\n var that = this;\r\n setTimeout(() => {\r\n that.setState({infoMessage: null});\r\n }, 4000);\r\n }).catch(e => {\r\n if(e.status == 400){\r\n e.json().then( resp => {\r\n this.setState({errorMessage: resp.errorMessage});\r\n }) \r\n } else{\r\n\r\n this.setState({errorMessage: 'An unexpected error ocurred. We could not authorise you. Please contact us or try to send another SMS verification'});\r\n }\r\n });\r\n\r\n }\r\n \r\n\r\n render() { \r\n return ( \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {/*nav-register-2 */}\r\n {/* \"\" */}\r\n

    3 6 Mobile Verification

    \r\n
    \r\n
    \r\n
    \r\n \"img-fluid\"\r\n
    \r\n {/* \"\"/ */}\r\n

    Please enter your mobile number.
    This is used to help us protect your account
    by providing a One Time Code.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.errorMessage && \r\n
    \r\n \r\n
    \r\n } \r\n {this.state.infoMessage && \r\n
    \r\n \r\n
    \r\n } \r\n {/*

    Did not arrive yet? Resend

    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nRegistrationMobilePage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.REGISTER]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.REGISTER];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants, \r\n userProfile: state.userProfile, \r\n isAuthenticated: state.userProfile.isAuthenticated, \r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RegistrationMobilePage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport LoginBoxMessage from '../login/LoginBoxMessage';\r\nimport * as funcs from '../shared/functions';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\nimport * as pages from '../shared/pages';\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\n\r\nimport VerificationAPI from '../../api/verificationApi';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport GcsRecaptcha from \"../common/GcsRecaptcha\";\r\nimport FooterSmallSection from '../common/footerSmall';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nimport { USERROLES, hasOneRole } from '../../common/gcsLogic';\r\n\r\n\r\nclass RegistrationVerifyEmailPage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { \r\n verificationCode: '',\r\n errorMessage: '',\r\n infoMessage: '',\r\n otcError: null,\r\n saving: false,\r\n resetRecaptcha: false,\r\n shouldResend: false\r\n }; \r\n\r\n this.onChangeVerificationCode = this.onChangeVerificationCode.bind(this);\r\n this.onFormSubmit = this.onFormSubmit.bind(this);\r\n this.onResendEmail = this.onResendEmail.bind(this);\r\n this.redirectToAuth = this.redirectToAuth.bind(this);\r\n this.onBack = this.onBack.bind(this);\r\n this.onSelectRecaptcha = this.onSelectRecaptcha.bind(this);\r\n this.doResetRecaptcha = this.doResetRecaptcha.bind(this); \r\n this.doSubmit = this.doSubmit.bind(this);\r\n this.doResendEmail = this.doResendEmail.bind(this);\r\n\r\n this.recaptchaRef = React.createRef(); \r\n }\r\n\r\n componentDidMount() { \r\n this.props.actions.getMenuForPage(pages.REGISTER);\r\n this.props.actions.getTextVariants(); \r\n this.setState({saving: false});\r\n this.doResetRecaptcha(); \r\n }\r\n\r\n componentWillReceiveProps(nextProps) { \r\n // if (nextProps.isAuthenticated) {\r\n // // go back to the page if the r parameter is set\r\n // this.props.history.push(RoutesVariables.RouteCreditScore); \r\n // } \r\n this.doResetRecaptcha();\r\n } \r\n\r\n onSelectRecaptcha(token){\r\n \r\n if (token) {\r\n if(this.state.shouldResend){\r\n this.setState({shouldResend: false},\r\n () => this.doResendEmail(token) ); \r\n }\r\n else{\r\n this.doSubmit(token);\r\n }\r\n } \r\n\r\n this.setState({resetRecaptcha: true, saving: false});\r\n }\r\n\r\n doResetRecaptcha(){\r\n if (this.state.resetRecaptcha) {\r\n try{\r\n this.recaptchaRef.current.reset();\r\n this.setState({resetRecaptcha: false});\r\n }\r\n catch(ex){\r\n console.log(ex);\r\n } \r\n }\r\n }\r\n \r\n onChangeVerificationCode(event) {\r\n \r\n let verificationCode = this.state.verificationCode;\r\n verificationCode = event.target.value;\r\n\r\n return this.setState({ verificationCode: verificationCode, otcError: null });\r\n }\r\n\r\n onFormSubmit(event){\r\n\r\n event.preventDefault();\r\n // Validate \r\n if (!this.state.verificationCode || (this.state.verificationCode.length < 5 && !this.state.verificationCode.match(/^[0-9]+$/g))){\r\n this.setState({otcError: 'The One Time Code is not Valid'}); \r\n }\r\n else{\r\n this.recaptchaRef.current.execute();\r\n }\r\n }\r\n\r\n doSubmit(token){\r\n\r\n this.setState({ errorMessage: null, infoMessage: null, saving: true });\r\n // Send Verification Code \r\n VerificationAPI.verifyEmailOneTimeCodeRegistration(this.state.verificationCode, token).then( (verification) => {\r\n // Redirect to re-auth\r\n if(verification.isError){\r\n this.setState({ errorMessage: verification.errorMessage, infoMessage: null });\r\n } else{\r\n this.setState({saving: false});\r\n this.redirectToAuth(verification);\r\n }\r\n }).catch( e => {\r\n if( e.status == 400){\r\n e.json().then( verification => {\r\n this.setState({ errorMessage: verification.errorMessage, infoMessage: null });\r\n });\r\n } else {\r\n this.setState({ errorMessage: 'An unexpected error occurred. Please contact us.', infoMessage: null });\r\n }\r\n this.doResetRecaptcha();\r\n }\r\n ).finally( () => {\r\n this.setState({saving: false});\r\n });\r\n }\r\n\r\n redirectToAuth(verification){\r\n \r\n this.props.actions.refreshAuthenticationWithHash('E').then(r =>{\r\n\r\n if(r.roles && hasOneRole(r.roles, USERROLES.IdentityNotVerified)){ \r\n var navigateUrl = r.redirect_uri || RoutesVariables.CreateAccountMobile;\r\n this.props.history.push(navigateUrl);\r\n }\r\n else{ \r\n this.setState({errorMessage: 'We could not authorise you. Please contact us or try to send another verification email with the link below'});\r\n }\r\n }).catch(e => {\r\n\r\n if(e.status == 400){\r\n e.json().then( resp => {\r\n this.setState({errorMessage: resp.errorMessage});\r\n });\r\n }\r\n else{\r\n this.setState({errorMessage: 'An unexpected error ocurred. We could not authorise you. Please contact us or try to send another email verification'});\r\n }\r\n });\r\n }\r\n\r\n onResendEmail(event){\r\n event.preventDefault();\r\n this.setState({shouldResend: true}, ()=> {\r\n this.recaptchaRef.current.execute();\r\n });\r\n \r\n }\r\n\r\n doResendEmail(token){\r\n\r\n VerificationAPI.sendEmailOneTimeCodeRegistration(token).then(() =>{\r\n this.setState({infoMessage: 'A new email has been sent. Please wait a few minutes and check your spam folder as well.'});\r\n var that = this;\r\n setTimeout(() => {\r\n that.setState({infoMessage: null, errorMessage: null, otcError: null});\r\n }, 4000);\r\n }).catch(e => {\r\n if(e.status == 400){\r\n e.json().then( resp => {\r\n this.setState({errorMessage: resp.errorMessage});\r\n }) \r\n } else{\r\n\r\n this.setState({errorMessage: 'An unexpected error ocurred. We could not authorise you. Please contact us or try to send another email verification'});\r\n }\r\n });\r\n\r\n }\r\n\r\n onBack(event){\r\n event.preventDefault();\r\n this.props.history.push(RoutesVariables.CreateAccount + '?b=t');\r\n }\r\n\r\n render() { \r\n return ( \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {/*nav-register-2 */}\r\n \"\"\r\n

    2 6 Email Verification

    \r\n
    \r\n
    \r\n
    \r\n \"img-fluid\"\r\n
    \r\n {/* \"\"/ */}\r\n

    We sent you an email with a code.
    Please enter it below to confirm your email address.
    If not found, please also check your spam folder.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.errorMessage && \r\n
    \r\n \r\n
    \r\n } \r\n {this.state.infoMessage && \r\n
    \r\n \r\n
    \r\n } \r\n

    Did not arrive yet? Resend

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nRegistrationVerifyEmailPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.REGISTER]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.REGISTER];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants, \r\n userProfile: state.userProfile, \r\n isAuthenticated: state.userProfile.isAuthenticated, \r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RegistrationVerifyEmailPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport LoginBoxMessage from '../login/LoginBoxMessage';\r\nimport * as funcs from '../shared/functions';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\nimport * as pages from '../shared/pages';\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport FooterSmallSection from '../common/footerSmall';\r\nimport VerificationAPI from '../../api/verificationApi';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport GcsRecaptcha from \"../common/GcsRecaptcha\";\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nimport { USERROLES, hasOneRole } from '../../common/gcsLogic';\r\n\r\n\r\nclass RegistrationVerifyMobilePage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = { \r\n tmLoaded: null,\r\n verificationCode: '',\r\n errorMessage: '',\r\n infoMessage: '',\r\n otcError: null,\r\n saving: false,\r\n resetRecaptcha: false,\r\n shouldResend: false\r\n }; \r\n\r\n this.loadTmVariables = this.loadTmVariables.bind(this);\r\n this.onChangeVerificationCode = this.onChangeVerificationCode.bind(this);\r\n this.onFormSubmit = this.onFormSubmit.bind(this);\r\n this.onResendSMS = this.onResendSMS.bind(this);\r\n this.redirectToAuth = this.redirectToAuth.bind(this);\r\n this.onBack = this.onBack.bind(this);\r\n this.onSelectRecaptcha = this.onSelectRecaptcha.bind(this);\r\n this.doResetRecaptcha = this.doResetRecaptcha.bind(this); \r\n this.doSubmit = this.doSubmit.bind(this);\r\n this.doResendSMS = this.doResendSMS.bind(this);\r\n\r\n this.recaptchaRef = React.createRef(); \r\n }\r\n\r\n componentDidMount() { \r\n this.props.actions.getMenuForPage(pages.REGISTER);\r\n this.props.actions.getTextVariants();\r\n this.doResetRecaptcha();\r\n\r\n //this.loadTmVariables(); \r\n\r\n this.props.actions.isAuthenticated().then(e => {\r\n\r\n if(!e.isAuthenticated || !hasOneRole(e.roles, USERROLES.EmailVerified)) {\r\n this.props.history.push(RoutesVariables.RouteCreateAccount);\r\n return;\r\n } \r\n });\r\n }\r\n\r\n loadTmVariables(){\r\n return this.props.actions.tm().then(r => {\r\n this.setState({tmLoaded : true});\r\n return r;\r\n }).catch(e => {\r\n //this.setState({tmLoaded : false});\r\n });\r\n } \r\n\r\n componentWillReceiveProps(nextProps) { \r\n if (!nextProps.isAuthenticated) {\r\n // go back to the page if the r parameter is set\r\n this.props.history.push(RoutesVariables.RouteLogin); \r\n } \r\n\r\n this.doResetRecaptcha();\r\n } \r\n\r\n onSelectRecaptcha(token){\r\n \r\n if (token) {\r\n if(this.state.shouldResend){\r\n this.setState({shouldResend: false},\r\n () => this.doResendSMS(token) ); \r\n }\r\n else{\r\n this.doSubmit(token);\r\n }\r\n } \r\n\r\n this.setState({resetRecaptcha: true, saving: false});\r\n }\r\n\r\n doResetRecaptcha(){\r\n if (this.state.resetRecaptcha) {\r\n try{\r\n this.recaptchaRef.current.reset();\r\n this.setState({resetRecaptcha: false});\r\n }\r\n catch(ex){\r\n console.log(ex);\r\n } \r\n }\r\n }\r\n \r\n onChangeVerificationCode(event) {\r\n \r\n let verificationCode = this.state.verificationCode;\r\n verificationCode = event.target.value;\r\n\r\n return this.setState({ verificationCode: verificationCode, otcError: null });\r\n }\r\n\r\n onFormSubmit(event){\r\n\r\n event.preventDefault();\r\n // Validate \r\n if (!this.state.verificationCode || (this.state.verificationCode.length < 5 && !this.state.verificationCode.match(/^[0-9]+$/g))){\r\n this.setState({otcError: 'The One Time Code is not Valid'}); \r\n }\r\n else{\r\n this.recaptchaRef.current.execute();\r\n }\r\n }\r\n\r\n doSubmit(token){\r\n this.setState({ errorMessage: null, infoMessage: null, saving: true });\r\n // Send Verification Code\r\n VerificationAPI.verifyMobileOneTimeCodeRegistration(this.props.userProfile.csrfToken, this.state.verificationCode, token).then( (verification) => {\r\n // Redirect to re-auth\r\n if(verification.isError){\r\n this.setState({ errorMessage: verification.errorMessage, infoMessage: null });\r\n } else{\r\n this.redirectToAuth();\r\n }\r\n }).catch( e => {\r\n if( e.status == 400){\r\n e.json().then( verification => {\r\n this.setState({ errorMessage: verification.errorMessage, infoMessage: null });\r\n });\r\n } else {\r\n this.setState({ errorMessage: 'An unexpected error occurred. Please contact us.', infoMessage: null });\r\n }\r\n this.doResetRecaptcha();\r\n }).finally( () => {\r\n this.setState({saving: false});\r\n });\r\n }\r\n \r\n\r\n redirectToAuth(){\r\n \r\n this.props.actions.refreshAuthenticationWithHash('M').then(r =>{\r\n\r\n if(r.roles && (hasOneRole(r.roles, USERROLES.OneFactor) || hasOneRole(r.roles, USERROLES.TwoFactor)) && hasOneRole(r.roles, USERROLES.MobileVerified) ){ \r\n var navigateUrl = r.redirect_uri || RoutesVariables.MyDetailsVerification; // '/my-details/verification'; \r\n this.props.history.push(navigateUrl);\r\n }\r\n else{ \r\n this.setState({errorMessage: 'We could not authorise you. Please contact us or try to send another verification SMS with the link below'});\r\n }\r\n }).catch(e => {\r\n\r\n if(e.status == 400){\r\n e.json().then( resp => {\r\n this.setState({errorMessage: resp.errorMessage});\r\n });\r\n }\r\n else{\r\n this.setState({errorMessage: 'An unexpected error ocurred. We could not authorise you. Please contact us or try to send another SMS verification'});\r\n }\r\n });\r\n }\r\n\r\n onResendSMS(event){\r\n event.preventDefault();\r\n this.setState({shouldResend: true}, ()=> {\r\n this.recaptchaRef.current.execute();\r\n });\r\n }\r\n\r\n doResendSMS(token){\r\n \r\n VerificationAPI.sendMobileOneTimeCodeRegistration(this.props.userProfile.csrfToken, '', token).then(() =>{\r\n this.setState({infoMessage: 'A new SMS has been sent.'});\r\n var that = this;\r\n setTimeout(() => {\r\n that.setState({infoMessage: null, errorMessage: null, otcError: null});\r\n }, 4000);\r\n }).catch(e => {\r\n if(e.status == 400){\r\n e.json().then( resp => {\r\n this.setState({errorMessage: resp.errorMessage});\r\n }) \r\n } else{\r\n\r\n this.setState({errorMessage: 'An unexpected error ocurred. We could not authorise you. Please contact us or try to send another SMS verification'});\r\n }\r\n });\r\n }\r\n\r\n onBack(event){\r\n event.preventDefault();\r\n this.props.history.push('/create-account/mobile');\r\n }\r\n\r\n render() { \r\n return ( \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {/*nav-register-2 */}\r\n \"\"\r\n

    4 6 Mobile Verification

    \r\n
    \r\n
    \r\n
    \r\n \"img-fluid\"\r\n
    \r\n {/* \"\"/ */}\r\n

    We sent you an SMS with a code.
    Please enter it below to confirm your mobile number.

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {this.state.errorMessage && \r\n
    \r\n \r\n
    \r\n } \r\n {this.state.infoMessage && \r\n
    \r\n \r\n
    \r\n } \r\n

    Did not arrive yet? Resend

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nRegistrationVerifyMobilePage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.REGISTER]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.REGISTER];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants, \r\n userProfile: state.userProfile, \r\n isAuthenticated: state.userProfile.isAuthenticated, \r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RegistrationVerifyMobilePage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\n\r\nexport class LogoutPage extends React.Component { \r\n constructor(props, context){\r\n super(props, context);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.actions.logout();\r\n this.props.history.push('/');\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nLogoutPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n return {};\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, userActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LogoutPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu';\r\nimport LoginBoxMessage from './LoginBoxMessage';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport DateInputSimple from '../common/controls/DateInputSimple';\r\n\r\nimport UserApi from '../../api/mockUserApi.js';\r\nimport LayoutApi from '../../api/mockLayoutApi';\r\nimport ValidationApi from '../../api/validationApi';\r\nimport * as funcs from '../shared/functions';\r\nimport HelperApi from '../../api/HelperApi';\r\nimport FooterSmallSection from '../common/footerSmall';\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport DateInputGeneral from '../common/controls/DateInputGeneral';\r\n\r\nimport LoginFrame from './LoginFrame';\r\n\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\nconst $ = window.$;\r\n\r\nconst ForgetPasswordBox = ({ textVariants, onChange, error, customer, onPasswordSubmit, callbackWaiting }) => {\r\n\r\n let emailInputCls = 'form-control';\r\n\r\n if (error && error.length > 0) {\r\n emailInputCls += ' has-error';\r\n }\r\n\r\n return (\r\n\r\n By clicking 'Login', I authorise GetCreditScore Pty Limited (GetCreditScore) to obtain my credit score from Equifax Australia InformationServices and Solutions Pty Limited (Equifax). I acknowledge and accept GetCreditScore's Privacy Policy and Terms of Use.}\r\n >\r\n
    \r\n

    {textVariants[pages.FORGOTPASSWORD + textVariants.textVariantSeparator + \"top_title\"]}

    \r\n

    \r\n

    \r\n
    \r\n \r\n \r\n {error.email && (\r\n <>\r\n \"\"\r\n
    \r\n {error.email}\r\n
    \r\n \r\n )}\r\n
    \r\n\r\n \r\n\r\n \r\n {textVariants[\"Btn_ForgotPassword\"]}\r\n {callbackWaiting &&(
    \r\n Loading...\r\n
    )}\r\n \r\n\r\n

    {textVariants[pages.FORGOTPASSWORD + textVariants.textVariantSeparator + \"goBackToLogin\"]}

    \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nForgetPasswordBox.propTypes = {\r\n textVariants: PropTypes.object.isRequired,\r\n customer: PropTypes.object.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n error: PropTypes.object,\r\n onPasswordSubmit: PropTypes.func.isRequired\r\n};\r\n\r\n\r\nexport default ForgetPasswordBox;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu';\r\nimport LoginBoxMessage from './LoginBoxMessage';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport DateInputSimple from '../common/controls/DateInputSimple';\r\n\r\nimport UserApi from '../../api/mockUserApi.js';\r\nimport LayoutApi from '../../api/mockLayoutApi';\r\nimport ValidationApi from '../../api/validationApi';\r\nimport * as funcs from '../shared/functions';\r\nimport HelperApi from '../../api/HelperApi';\r\nimport FooterSmallSection from '../common/footerSmall';\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport DateInputGeneral from '../common/controls/DateInputGeneral';\r\n\r\nimport LoginFrame from './LoginFrame';\r\nimport ForgotPasswordBox from './ForgotPasswordBox';\r\n\r\nimport GcsRecaptcha from \"../common/GcsRecaptcha\";\r\n\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\nconst $ = window.$;\r\n\r\nexport class ForgotPasswordPage extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n menuItemList: [],\r\n customer: {\r\n email: props.registeringUsername,\r\n dob: { dd: '', mm: '', yy: '' } \r\n },\r\n errors: { dob: { dd: '', mm: '', yy: '' } },\r\n resetRecaptcha: false,\r\n currentPage: 'forgotPassword'\r\n };\r\n\r\n this.updateCustomerState = this.updateCustomerState.bind(this);\r\n this.onSendPasswordConfirmation = this.onSendPasswordConfirmation.bind(this);\r\n this.onPasswordSubmit = this.onPasswordSubmit.bind(this);\r\n this.doSendForgotPassword = this.doSendForgotPassword.bind(this);\r\n this.onSelectRecaptcha = this.onSelectRecaptcha.bind(this);\r\n this.doResetRecaptcha = this.doResetRecaptcha.bind(this); \r\n\r\n this.recaptchaRef = React.createRef(); \r\n }\r\n\r\n componentDidMount() { \r\n this.props.actions.getMenuForPage(pages.LOGIN);\r\n // this.props.actions.getMenuForPage(pages.LOGIN);\r\n this.props.actions.getTextVariants();\r\n this.doResetRecaptcha();\r\n\r\n initTonikForms();\r\n }\r\n \r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.registeringUsername != this.props.registeringUsername) {\r\n let customer = Object.assign({}, this.state.customer);\r\n customer.email = nextProps.registeringUsername;\r\n this.setState({ customer });\r\n }\r\n this.doResetRecaptcha();\r\n }\r\n\r\n onSelectRecaptcha(token){\r\n \r\n if (token) { \r\n this.doSendForgotPassword(token);\r\n } \r\n \r\n this.setState({resetRecaptcha: true});\r\n }\r\n \r\n doResetRecaptcha(){\r\n if (this.state.resetRecaptcha) {\r\n try{\r\n this.recaptchaRef.current.reset();\r\n }\r\n catch(ex){\r\n console.log(ex);\r\n }\r\n this.setState({resetRecaptcha: false});\r\n }\r\n }\r\n \r\n\r\n updateCustomerState(event) {\r\n \r\n const field = event.target.name;\r\n\r\n let customer = this.state.customer;\r\n customer[field] = event.target.value;\r\n\r\n let errors = this.state.errors;\r\n errors[field] = '';\r\n\r\n return this.setState({ customer: customer, errors: errors });\r\n }\r\n\r\n onSendPasswordConfirmation(evt){\r\n this.props.history.push('/login');\r\n\r\n return false;\r\n }\r\n\r\n onPasswordSubmit(evt) {\r\n this.setState({ callbackWaiting: true });\r\n\r\n evt.preventDefault();\r\n if (!this.loginFormIsValid()) {\r\n this.setState({ callbackWaiting: false });\r\n return;\r\n } \r\n\r\n this.recaptchaRef.current.execute(); \r\n \r\n return false;\r\n }\r\n\r\n doSendForgotPassword(token){\r\n \r\n let customer = this.state.customer;\r\n HelperApi.setInnerDateOfBirthAndDobFromNumbers(customer, customer.dob.yy, customer.dob.mm, customer.dob.dd);\r\n let errors = {}\r\n UserApi.forgotPassword(customer, token).then( () => {\r\n this.setState({ callbackWaiting: false, currentPage: 'confirmationPassword' });\r\n }).catch( e => {\r\n if (e.status == 400) {\r\n errors.generic = this.props.textVariants[pages.FORGOTPASSWORD + this.props.textVariants.textVariantSeparator + \"error_400\"];\r\n } else {\r\n errors.generic = this.props.textVariants[\"Api_Generic\"];\r\n }\r\n\r\n this.setState({errors: errors});\r\n });\r\n }\r\n\r\n loginFormIsValid() {\r\n\r\n let formIsValid = true;\r\n let errors = {};\r\n errors.dob = { dd: '', mm: '', yy: '' };\r\n\r\n var errorEmail = ValidationApi.validateEmail(this.state.customer.email);\r\n if (errorEmail) {\r\n errors.email = errorEmail;\r\n formIsValid = false;\r\n }\r\n\r\n\r\n var date = this.state.customer.dob;\r\n if(!date.dd){\r\n errors.dob.dd = 'Day required';\r\n formIsValid = false;\r\n }\r\n if(!date.mm){\r\n errors.dob.mm = 'Month required';\r\n formIsValid = false;\r\n }\r\n if(!date.yy){\r\n errors.dob.yy = 'Year required';\r\n formIsValid = false;\r\n }\r\n this.setState({errors: errors});\r\n\r\n return formIsValid;\r\n }\r\n\r\n render() {\r\n\r\n var pageContent = null;\r\n\r\n var currentPage = this.state.currentPage;\r\n //currentPage = 'confirmationPassword';\r\n switch(currentPage) {\r\n\r\n case 'forgotPassword':\r\n pageContent = ;\r\n break;\r\n\r\n case 'confirmationPassword':\r\n pageContent = ;\r\n\r\n break;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n {pageContent}\r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nForgotPasswordPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n let menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.LOGIN]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.LOGIN];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n registeringUsername: state.userProfile.registeringUsername,\r\n menuItemList: menuItems,\r\n textVariants: txtVariants\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ForgotPasswordPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\nconst ContactUsForm = ({request, onChange, onSave, errors, textVariants}) => {\r\n \r\n return (\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    We’d Love to Hear from You!

    \r\n {/*

    Please be advised, if your enquiry is regarding your score or any changes to it,
    you may contact Equifax directly on 13 8332.

    */}\r\n

    If your enquiry is regarding your credit score or any changes to it,\r\n
    please click here for more information.\r\n
    If you have an enquiry regarding your account or your credit information, please\r\n
    complete the form below.

    \r\n
    \r\n {/*
    */}\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n
    \r\n
    \r\n \r\n {errors.general &&
    \r\n
    \r\n
    \r\n {errors.general}\r\n
    \r\n
    \r\n
    }\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n )\r\n }\r\n\r\nContactUsForm.propTypes = {\r\n request: PropTypes.object.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n errors: PropTypes.object\r\n};\r\n\r\nexport default ContactUsForm;\r\n","import $ from 'jquery'\r\n\r\n\r\nexport const initTonikContactUs = () => {\r\n\r\n// count number of signs in textarea - contact form\r\n\r\ntry{\r\n var textMax = 250\r\n $('#textarea_feedback').html(textMax + '/250')\r\n $('textarea').keyup(function () {\r\n var textLength = $('textarea').val().length\r\n var textRemaining = textMax - textLength\r\n $('#textarea_feedback').html(textRemaining + '/250')\r\n })\r\n} catch(e){\r\n \r\n}\r\n\r\nreturn;\r\n\r\n}","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js'\r\nimport ContactUsTitleSection from './ContactUsTitleSection.js'\r\n\r\nimport ContactUsForm from './ContactUsForm';\r\nimport ValidationApi from '../../api/validationApi.js'\r\n\r\nimport LoginBoxMessage from '../login/LoginBoxMessage';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\n\r\nimport {ContactUsApi} from '../../api/externalServices';\r\n\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\nimport FooterSection from '../common/footer'\r\n\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as scoreActions from '../../redux/actions/scoreActions';\r\n\r\nimport {initTonikContactUs} from '../../tonik/contactus';\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\n\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport GcsRecaptcha from \"../common/GcsRecaptcha\";\r\n\r\nclass ContactUsPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n request: {\r\n name: '',\r\n lastname: '',\r\n email: '',\r\n phone: '',\r\n subject: '',\r\n description: ''\r\n },\r\n resetRecaptcha: false,\r\n errors: {}\r\n };\r\n\r\n this.onContactUsFormSubmit = this.onContactUsFormSubmit.bind(this);\r\n this.updateRequestState = this.updateRequestState.bind(this);\r\n this.onContactUsConfirmed = this.onContactUsConfirmed.bind(this);\r\n this.onSendContactUs = this.onSendContactUs.bind(this);\r\n\r\n this.onSelectRecaptcha = this.onSelectRecaptcha.bind(this);\r\n this.doResetRecaptcha = this.doResetRecaptcha.bind(this); \r\n this.recaptchaRef = React.createRef(); \r\n }\r\n\r\n componentDidMount() {\r\n //window['initAppJs'](true);\r\n this.props.actions.getMenuForPage(pages.HOME);\r\n this.props.actions.getTextVariants(); \r\n\r\n initTonikContactUs();\r\n initTonikForms();\r\n this.doResetRecaptcha();\r\n }\r\n\r\n onSelectRecaptcha(token){\r\n \r\n if (token) {\r\n this.onSendContactUs(token);\r\n } \r\n \r\n this.setState({resetRecaptcha: true});\r\n }\r\n \r\n doResetRecaptcha(){\r\n if (this.state.resetRecaptcha) {\r\n try{\r\n this.recaptchaRef.current.reset();\r\n }\r\n catch(ex){\r\n console.log(ex);\r\n }\r\n this.setState({resetRecaptcha: false});\r\n }\r\n }\r\n \r\n contactUsFormIsValid() {\r\n\r\n let formIsValid = true;\r\n let errors = {};\r\n\r\n var errorName = ValidationApi.requiredField('Full name', this.state.request.name);\r\n if (errorName) {\r\n errors.name = errorName;\r\n formIsValid = false;\r\n }\r\n\r\n var errorLastName = ValidationApi.requiredField('Last name', this.state.request.lastname);\r\n if (errorLastName) {\r\n errors.lastname = errorLastName;\r\n formIsValid = false;\r\n }\r\n\r\n var errorDescription = ValidationApi.requiredField('Message', this.state.request.description);\r\n if (errorDescription) {\r\n errors.description = errorDescription;\r\n formIsValid = false;\r\n }\r\n\r\n var errorSubject = ValidationApi.requiredField('Subject', this.state.request.subject);\r\n if (errorSubject) {\r\n errors.subject = errorSubject;\r\n formIsValid = false;\r\n }\r\n\r\n var errorEmail = ValidationApi.validateEmail(this.state.request.email);\r\n if (errorEmail) {\r\n errors.email = errorEmail;\r\n formIsValid = false;\r\n }\r\n\r\n var errorPhone = ValidationApi.validateMobile(this.state.request.phone);\r\n if (errorPhone) {\r\n errors.phone = errorPhone;\r\n formIsValid = false;\r\n }\r\n\r\n this.setState({errors: errors});\r\n\r\n return formIsValid;\r\n }\r\n\r\n onContactUsFormSubmit(event) { \r\n event.preventDefault();\r\n if (this.contactUsFormIsValid()) {\r\n this.recaptchaRef.current.execute(); \r\n } \r\n }\r\n\r\n onSendContactUs(token){\r\n // Save request.\r\n ContactUsApi.sendDataThroughGcs(this.state.request, token).then(resp => {\r\n\r\n this.props.history.push(RoutesVariables.RouteContactUsSuccess)\r\n\r\n })\r\n .catch(e => {\r\n\r\n var errors = {};\r\n if (e.status == 409){\r\n errors.general = \"Recaptcha validation failed\";\r\n } else if(e.status == 400){\r\n errors.general = \"Bad request\";\r\n }\r\n else{\r\n errors.general = \"Unknown error. Your message could not be send.\";\r\n }\r\n\r\n this.setState({errors});\r\n }); \r\n }\r\n\r\n updateRequestState(event) {\r\n\r\n const field = event.target.name;\r\n\r\n let request = this.state.request;\r\n request[field] = event.target.value;\r\n\r\n let errors = this.state.errors;\r\n errors[field] = '';\r\n\r\n return this.setState({ request: request, errors: errors });\r\n }\r\n\r\n onContactUsConfirmed() {\r\n this.props.history.push('/');\r\n return false;\r\n }\r\n\r\n render() {\r\n\r\n var pageContent = ;\r\n\r\n return (\r\n\r\n
    \r\n \r\n \r\n {pageContent}\r\n \r\n\r\n
    \r\n );\r\n }\r\n}\r\n\r\nContactUsPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n let menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.HOME]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.HOME];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants \r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions, scoreActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ContactUsPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\nconst LodgeacomplaintForm = ({request, onChange, onSave, errors, textVariants}) => {\r\n \r\n return (\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Your complaint matters!

    \r\n \r\n

    If you're not satisfied with our products, services, staff or complaint handling process
    it's important we hear\r\nabout it so we can make things right.
    To find out more about our Complaints Handling Process, please see our\r\n Privacy Policy
    \r\nIf you have an enquiry regarding your account or credit information, please click \r\n here . \r\n
    Otherwise, please complete the form below

    \r\n
    \r\n {/*
    */}\r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n{/* \r\n
    \r\n \r\n \r\n
    \r\n
    */}\r\n {/*
    */}\r\n {/* */}\r\n {/*
    */}\r\n \r\n {/* */}\r\n {/*
    \r\n
    */}\r\n\r\n \r\n
    \r\n
    \r\n \r\n {errors.general &&
    \r\n
    \r\n
    \r\n {errors.general}\r\n
    \r\n
    \r\n
    }\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n )\r\n }\r\n\r\nLodgeacomplaintForm.propTypes = {\r\n request: PropTypes.object.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n errors: PropTypes.object\r\n};\r\n\r\nexport default LodgeacomplaintForm;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js'\r\nimport LodgeacomplaintTitleSection from './LodgeacomplaintTitleSection.js'\r\n\r\nimport LodgeacomplaintForm from './LodgeacomplaintForm';\r\nimport ValidationApi from '../../api/validationApi.js'\r\n\r\nimport LoginBoxMessage from '../login/LoginBoxMessage';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\n\r\nimport {LodgeAComplaintApi} from '../../api/externalServices';\r\n\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\nimport FooterSection from '../common/footer'\r\n\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as scoreActions from '../../redux/actions/scoreActions';\r\n\r\nimport {initTonikContactUs} from '../../tonik/contactus';\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\n\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport GcsRecaptcha from \"../common/GcsRecaptcha\";\r\n\r\nclass LodgeacomplaintPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n request: {\r\n name: '',\r\n lastname: '',\r\n email: '',\r\n phone: '',\r\n subject: '',\r\n description: ''\r\n },\r\n resetRecaptcha: false,\r\n errors: {}\r\n };\r\n\r\n this.onContactUsFormSubmit = this.onContactUsFormSubmit.bind(this);\r\n this.updateRequestState = this.updateRequestState.bind(this);\r\n this.onContactUsConfirmed = this.onContactUsConfirmed.bind(this);\r\n this.onSendContactUs = this.onSendContactUs.bind(this);\r\n\r\n this.onSelectRecaptcha = this.onSelectRecaptcha.bind(this);\r\n this.doResetRecaptcha = this.doResetRecaptcha.bind(this); \r\n this.recaptchaRef = React.createRef(); \r\n }\r\n\r\n componentDidMount() {\r\n //window['initAppJs'](true);\r\n this.props.actions.getMenuForPage(pages.HOME);\r\n this.props.actions.getTextVariants(); \r\n\r\n initTonikContactUs();\r\n initTonikForms();\r\n this.doResetRecaptcha();\r\n }\r\n\r\n onSelectRecaptcha(token){\r\n \r\n if (token) {\r\n this.onSendContactUs(token);\r\n } \r\n \r\n this.setState({resetRecaptcha: true});\r\n }\r\n \r\n doResetRecaptcha(){\r\n if (this.state.resetRecaptcha) {\r\n try{\r\n this.recaptchaRef.current.reset();\r\n }\r\n catch(ex){\r\n console.log(ex);\r\n }\r\n this.setState({resetRecaptcha: false});\r\n }\r\n }\r\n \r\n contactUsFormIsValid() {\r\n\r\n let formIsValid = true;\r\n let errors = {};\r\n\r\n var errorName = ValidationApi.requiredField('Full name', this.state.request.name);\r\n if (errorName) {\r\n errors.name = errorName;\r\n formIsValid = false;\r\n }\r\n\r\n var errorLastName = ValidationApi.requiredField('Last name', this.state.request.lastname);\r\n if (errorLastName) {\r\n errors.lastname = errorLastName;\r\n formIsValid = false;\r\n }\r\n\r\n var errorDescription = ValidationApi.requiredField('Message', this.state.request.description);\r\n if (errorDescription) {\r\n errors.description = errorDescription;\r\n formIsValid = false;\r\n }\r\n\r\n var errorSubject = ValidationApi.requiredField('Subject', this.state.request.subject);\r\n if (errorSubject) {\r\n errors.subject = errorSubject;\r\n formIsValid = false;\r\n }\r\n\r\n var errorEmail = ValidationApi.validateEmail(this.state.request.email);\r\n if (errorEmail) {\r\n errors.email = errorEmail;\r\n formIsValid = false;\r\n }\r\n\r\n var errorPhone = ValidationApi.validateMobile(this.state.request.phone);\r\n if (errorPhone) {\r\n errors.phone = errorPhone;\r\n formIsValid = false;\r\n }\r\n\r\n this.setState({errors: errors});\r\n\r\n return formIsValid;\r\n }\r\n\r\n onContactUsFormSubmit(event) { \r\n event.preventDefault();\r\n if (this.contactUsFormIsValid()) {\r\n this.recaptchaRef.current.execute(); \r\n } \r\n }\r\n\r\n onSendContactUs(token){\r\n // Save request.\r\n LodgeAComplaintApi.sendLodgeDataThroughGcs(this.state.request, token).then(resp => {\r\n\r\n this.props.history.push(RoutesVariables.RouteLodgeacomplaintSuccess)\r\n\r\n })\r\n .catch(e => {\r\n\r\n var errors = {};\r\n if (e.status == 409){\r\n errors.general = \"Recaptcha validation failed\";\r\n } else if(e.status == 400){\r\n errors.general = \"Bad request\";\r\n }\r\n else{\r\n errors.general = \"Unknown error. Your message could not be send.\";\r\n }\r\n\r\n this.setState({errors});\r\n }); \r\n }\r\n\r\n updateRequestState(event) {\r\n\r\n const field = event.target.name;\r\n\r\n let request = this.state.request;\r\n request[field] = event.target.value;\r\n\r\n let errors = this.state.errors;\r\n errors[field] = '';\r\n\r\n return this.setState({ request: request, errors: errors });\r\n }\r\n\r\n onContactUsConfirmed() {\r\n this.props.history.push('/');\r\n return false;\r\n }\r\n\r\n render() {\r\n\r\n var pageContent = ;\r\n\r\n return (\r\n\r\n
    \r\n \r\n \r\n {pageContent}\r\n \r\n\r\n
    \r\n );\r\n }\r\n}\r\n\r\nLodgeacomplaintPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n let menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.HOME]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.HOME];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants \r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions, scoreActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LodgeacomplaintPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport { Link } from 'react-router-dom';\r\n\r\n\r\nconst ChangePasswordForm = ({ textVariants, onChange, error, customer, onChangePassword, saving, isOnlyForm=false }) => {\r\n let oldPwdInputCls = 'form-control password';\r\n let confirmPwdInputCls = 'form-control password';\r\n let newPwdInputCls = 'form-control password';\r\n\r\n if (error && error.oldP ) {\r\n oldPwdInputCls += ' is-invalid';\r\n }\r\n\r\n if (error && error.newP) {\r\n newPwdInputCls += ' is-invalid';\r\n }\r\n\r\n if (error && error.confirmP ) {\r\n confirmPwdInputCls += ' is-invalid';\r\n }\r\n\r\n let feqfx = \"pas\"\r\n let omg = \"sword\"\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n {!customer[\"hasPassword\"] &&
    \r\n \r\n \"\"/\r\n \r\n {error.oldP && ( \r\n
    \r\n {error.oldP}\r\n
    \r\n )}\r\n
    \r\n }\r\n\r\n
    \r\n \r\n \"\"/\r\n \r\n {error.newP && ( \r\n
    \r\n {error.newP}\r\n
    \r\n )}\r\n
    \r\n\r\n\r\n
    \r\n \r\n \"\"/\r\n \r\n {error.confirmP && ( \r\n
    \r\n {error.confirmP}\r\n
    \r\n )}\r\n\r\n
    \r\n\r\n {!isOnlyForm &&(<>\r\n \r\n {textVariants[\"Btn_ForgotPassword\"]}\r\n {saving &&(
    \r\n Loading...\r\n
    )}\r\n \r\n

    {textVariants[pages.CHANGEPASSWORD + textVariants.textVariantSeparator + \"goBackToDashboard\"]}

    \r\n )}\r\n\r\n {error.generic &&(
    {error.generic}
    )}\r\n\r\n
    \r\n
    \r\n
    \r\n )\r\n};\r\n\r\nChangePasswordForm.propTypes = {\r\n textVariants: PropTypes.object.isRequired,\r\n customer: PropTypes.object.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n errors: PropTypes.object,\r\n onChangePassword: PropTypes.func.isRequired,\r\n saving: PropTypes.bool\r\n};\r\n\r\n\r\nexport default ChangePasswordForm;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\nimport {parse} from 'query-string';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport LoginBoxMessage from './LoginBoxMessage';\r\nimport * as pages from '../shared/pages.js';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\n\r\nimport UserApi from '../../api/mockUserApi.js';\r\nimport LayoutApi from '../../api/mockLayoutApi.js';\r\nimport ValidationApi from '../../api/validationApi.js';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport FooterSmallSection from '../common/footerSmall'\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\nimport ChangePasswordForm from './ChangePasswordForm';\r\nimport LoginFrame from './LoginFrame';\r\n\r\nimport { USERROLES, hasOneRole, getDvsInfoFromRoles } from '../../common/gcsLogic';\r\n\r\nexport class ChangePasswordPage extends React.Component { \r\n constructor(props, context){\r\n super(props, context);\r\n\r\n this.state = {\r\n menuItemList: [],\r\n customer: {\r\n oldP: '',\r\n newP: '',\r\n confirmP: ''\r\n },\r\n errors: {},\r\n saving: false,\r\n currentPage: 'changePassword',\r\n p: null\r\n };\r\n\r\n this.updateCustomerState = this.updateCustomerState.bind(this);\r\n this.onChangePassword = this.onChangePassword.bind(this);\r\n this.changePasswordIsValid = this.changePasswordIsValid.bind(this);\r\n this.onOkPasswordChanged = this.onOkPasswordChanged.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n //this.props.actions.getMenuForPage(pages.LOGIN);\r\n this.props.actions.getTextVariants();\r\n\r\n this.props.actions.isAuthenticated().then(e => {\r\n\r\n if(!hasOneRole(e.roles, USERROLES.OneFactor) &&\r\n !hasOneRole(e.roles, USERROLES.TwoFactor)){\r\n this.props.history.push(RoutesVariables.RouteLogin + '?retUrl=' + RoutesVariables.RouteChangePassword);\r\n return;\r\n }\r\n // if(!hasOneRole(e.roles, USERROLES.IsInCohort)){\r\n // this.props.history.push(RoutesVariables.RouteDashboard);\r\n // }\r\n\r\n let p = parse(this.props.location.search).p;\r\n if(p && p.length > 50){\r\n p = p.substr(0, 50);\r\n }\r\n\r\n if (p) {\r\n let customer = this.state.customer;\r\n customer.hasPassword = true;\r\n this.setState({p, customer: customer});\r\n }\r\n\r\n initTonikForms();\r\n\r\n }); \r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.isAuthenticated) {\r\n // go back to login\r\n this.props.history.push(RoutesVariables.RouteLogin + '?retUrl=' + RoutesVariables.RouteChangePassword);\r\n }\r\n }\r\n\r\n updateCustomerState(event) {\r\n const field = event.target.name;\r\n\r\n let customer = this.state.customer;\r\n customer[field] = event.target.value;\r\n\r\n let errors = this.state.errors;\r\n errors[field] = '';\r\n\r\n return this.setState({ customer: customer, errors:errors });\r\n }\r\n\r\n onOkPasswordChanged(evt) {\r\n this.props.history.push(RoutesVariables.RouteCreditScore);\r\n }\r\n\r\n onChangePassword(evt){\r\n this.setState({ saving: true });\r\n\r\n evt.preventDefault();\r\n\r\n if (!this.changePasswordIsValid()) {\r\n this.setState({ saving: false });\r\n return;\r\n }\r\n\r\n let errors = {};\r\n\r\n let oldPass = this.state.customer.oldP;\r\n if(this.state.customer[\"hasPassword\"]){\r\n oldPass = this.state.p;\r\n }\r\n\r\n //this.props.actions.\r\n var that = this;\r\n this.props.actions.changePassword(oldPass, this.state.customer.newP).then(\r\n r => {\r\n //this.setState({ saving: false, currentPage: 'changePasswordSucceed' });\r\n return that.props.actions.refreshAuthentication().then(r =>{ \r\n var navigateUrl = r.redirect_uri || RoutesVariables.RouteDashboard; \r\n this.props.history.push(navigateUrl);\r\n });\r\n \r\n }).catch(e => {\r\n if(e.status == 401){\r\n errors.generic = this.props.textVariants[pages.CHANGEPASSWORD + this.props.textVariants.textVariantSeparator + \"error_401\"];\r\n }\r\n else{\r\n errors.generic = this.props.textVariants[\"Api_Generic\"];\r\n }\r\n\r\n this.setState({saving: false, errors: errors});\r\n });\r\n\r\n return false;\r\n }\r\n\r\n changePasswordIsValid() {\r\n\r\n let formIsValid = true;\r\n let errors = {};\r\n\r\n //check if old password match value from the input box=password?\r\n\r\n var errorPassword = ValidationApi.validatePassword(this.state.customer.newP);\r\n if (errorPassword) {\r\n errors.newP = errorPassword;\r\n formIsValid = false;\r\n }\r\n\r\n var errorResetPassword = ValidationApi.validatePassword(this.state.customer.confirmP);\r\n if (errorResetPassword) {\r\n errors.confirmP = errorResetPassword;\r\n formIsValid = false;\r\n }\r\n\r\n if(!this.state.customer[\"hasPassword\"]){\r\n if (!this.state.customer.oldP) {\r\n errors.oldP = this.props.textVariants[pages.CHANGEPASSWORD + this.props.textVariants.textVariantSeparator + \"error_oldPasswordRequired\"];\r\n formIsValid = false;\r\n }\r\n }\r\n\r\n if (this.state.customer.newP != this.state.customer.confirmP) {\r\n errors.generic = this.props.textVariants[pages.CHANGEPASSWORD + this.props.textVariants.textVariantSeparator + \"error_passwordMismatch\"];\r\n formIsValid = false;\r\n }\r\n\r\n this.setState({errors: errors});\r\n\r\n return formIsValid;\r\n }\r\n\r\n render() {\r\n var pageContent = null;\r\n\r\n switch(this.state.currentPage) {\r\n\r\n case 'changePassword':\r\n pageContent = \r\n break;\r\n\r\n case 'changePasswordSucceed':\r\n pageContent = \r\n break;\r\n }\r\n\r\n return (\r\n <>\r\n {/* {this.props.isOnlyForm &&(<>{pageContent})} */}\r\n {/* {!this.props.isOnlyForm && */}\r\n
    \r\n \r\n \r\n }\r\n >\r\n {pageContent}\r\n \r\n
    \r\n \r\n )\r\n }\r\n}\r\n\r\nChangePasswordPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n let menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.HOME]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.HOME];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n isAuthenticated: state.userProfile.isAuthenticated,\r\n userProfile: state.userProfile\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChangePasswordPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport SelectInput from '../common/controls/SelectInput';\r\nimport DateInputGeneral from '../common/controls/DateInputGeneral';\r\nimport GenderInput from '../common/controls/GenderInput';\r\nimport AddressInput from '../common/controls/AddressInput';\r\nimport PasswordInput from '../common/controls/PasswordInput';\r\nimport LoginTermsAndConditions from '../login/LoginTermsAndConditions';\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nconst $ = window.$;\r\n\r\n\r\nconst ErrorLine = ({message}) =>\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\nclass CurrentAddressForm extends React.Component {\r\n\r\n constructor(props, context){\r\n super(props, context);\r\n }\r\n\r\n componentDidMount() {\r\n initTonikForms();\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState){\r\n\r\n }\r\n\r\n\r\nrender(){\r\n\r\n let {customer, onSave, onChange, saving, errors, onServiceError, textVariants, diplaySavedMessage, onCancel, omitFields, saveText} = this.props;\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {errors && errors[\"global\"] && }\r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n CurrentAddressForm.propTypes = {\r\n customer: PropTypes.object.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n onServiceError: PropTypes.func,\r\n textVariants: PropTypes.object.isRequired,\r\n saving: PropTypes.bool,\r\n errors: PropTypes.object,\r\n diplaySavedMessage: PropTypes.bool,\r\n onCancel: PropTypes.func,\r\n omitFields: PropTypes.object,\r\n saveText: PropTypes.string.isRequired\r\n};\r\n\r\n\r\nexport default CurrentAddressForm;\r\n","import React from 'react';\r\nimport {useRef} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { createBrowserHistory } from 'history';\r\n\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as scoreActions from '../../redux/actions/scoreActions';\r\n\r\nimport MyDetailsTitleSection from './MyDetailsTitleSection.js';\r\n\r\nimport RegistrationForm from '../registration/RegistrationForm';\r\nimport ValidationApi from '../../api/validationApi.js';\r\nimport HelperApi from '../../api/HelperApi.js';\r\n\r\nimport LoadingIndicator from '../common/controls/LoadingIndicator';\r\nimport {ApiFailedToLoadComponentWithText} from '../common/ApiFailedToLoadComponent';\r\nimport CurrentAddressForm from '../mydetails/CurrentAddressForm';\r\nimport TypeIdForm from '../mydetails/TypeIdForm';\r\n\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport {USERROLES, hasOneRole} from '../../common/gcsLogic';\r\n\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport { Link } from 'react-router-dom';\r\nimport {parse} from 'query-string';\r\nimport ChangePasswordForm from '../../components/login/ChangePasswordForm';\r\nimport FooterSmallSection from '../common/footerSmall';\r\n\r\nclass MyDetailsPage extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n \r\n const params = parse(props.location.search);\r\n this.state = {\r\n customer: { dob: { dd: '', mm: '', yy: '' } , address:'', addressPrevious: '', hasLivedLessThan3Years: false , mobile: ''},\r\n errors: {},\r\n //hashAccountCreation: null,\r\n saving: false,\r\n diplaySavedMessage: false,\r\n isServerError: false,\r\n omitFields: { \r\n email: true, \r\n password: true,\r\n eqfxmarketing: true,\r\n consent: true,\r\n address: true,\r\n },\r\n tabIndex: params['step'] ? params['step'] : 1,\r\n isMobile: false\r\n };\r\n this.onUpdateCustomerDetails = this.onUpdateCustomerDetails.bind(this);\r\n this.updateCustomerState = this.updateCustomerState.bind(this);\r\n this.updateCustomerServiceAddressError = this.updateCustomerServiceAddressError.bind(this);\r\n this.saveCustomerFromState = this.saveCustomerFromState.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n \r\n //window['initAppJs'](true);\r\n \r\n this.props.actions.getTextVariants();\r\n\r\n this.props.actions.isAuthenticated().then(e =>\r\n {\r\n if(!hasOneRole(e.roles, USERROLES.TwoFactor)){\r\n this.props.history.push(RoutesVariables.RouteLogin + '?retUrl=' + RoutesVariables.MyDetails);\r\n }\r\n this.props.actions.getMenuForPage(pages.MYDETAILS);\r\n //this.props.actions.loadScoreProfile({includeScore: true, includeAdvices: true, includeHistory: true})\r\n this.props.actions.loadUserDetails(true).catch(e =>\r\n {\r\n if (e.status == 500) {\r\n this.setState({ isServerError: true });\r\n }\r\n });\r\n });\r\n\r\n initTonikForms();\r\n\r\n if(this.state.tabIndex != 1) {\r\n var lis = document.getElementById('tabs').children;\r\n for(var i =0; i< lis.length; i++){\r\n lis[i].className = '';\r\n }\r\n lis[this.state.tabIndex-1].className = 'current';\r\n }\r\n\r\n this.typeIdRef = React.createRef();\r\n\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n\r\n if (!nextProps.isAuthenticated) {\r\n // go back to login\r\n this.props.history.push(RoutesVariables.RouteLogin + '?retUrl=' + RoutesVariables.MyDetails);\r\n }\r\n else {\r\n if(nextProps.userProfile.userDetails) {\r\n let newCustomer = Object.assign({}, nextProps.userProfile.userDetails);\r\n this.setOptionsNames(newCustomer);\r\n if(newCustomer.gender != null ){\r\n newCustomer.gender = newCustomer.gender ? 'M':'F'\r\n } else {newCustomer.gender = 'O'}\r\n this.setState({customer: newCustomer});\r\n }\r\n }\r\n }\r\n\r\n changeTab(e, index, isMobile) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var lis = e.currentTarget.parentNode.children;\r\n for(var i =0; i< lis.length; i++){\r\n lis[i].className = '';\r\n }\r\n e.currentTarget.className = 'current'\r\n this.setState({tabIndex: index, isMobile: isMobile})\r\n }\r\n\r\n onChangePassword(evt){\r\n this.setState({ saving: true });\r\n\r\n evt.preventDefault();\r\n\r\n if (!this.changePasswordIsValid()) {\r\n this.setState({ saving: false });\r\n return;\r\n }\r\n\r\n let errors = {};\r\n\r\n let oldPass = this.state.customer.oldPassword;\r\n if(this.state.customer[\"hasPassword\"]){\r\n oldPass = this.state.p;\r\n }\r\n\r\n //this.props.actions.\r\n this.props.actions.changePassword(oldPass, this.state.customer.newPassword).then(\r\n r => {\r\n //this.setState({ saving: false, currentPage: 'changePasswordSucceed' });\r\n this.props.history.push(RoutesVariables.RouteCreditScore);\r\n }).catch(e => {\r\n if(e.status == 401){\r\n errors.generic = this.props.textVariants[pages.CHANGEPASSWORD + this.props.textVariants.textVariantSeparator + \"error_401\"];\r\n }\r\n else{\r\n errors.generic = this.props.textVariants[\"Api_Generic\"];\r\n }\r\n\r\n this.setState({saving: false, errors: errors});\r\n });\r\n\r\n return false;\r\n }\r\n\r\n changePasswordIsValid() {\r\n\r\n let formIsValid = true;\r\n let errors = {};\r\n\r\n //check if old password match value from the input box=password?\r\n\r\n var errorPassword = ValidationApi.validatePassword(this.state.customer.newPassword);\r\n if (errorPassword) {\r\n errors.newPassword = errorPassword;\r\n formIsValid = false;\r\n }\r\n\r\n var errorResetPassword = ValidationApi.validatePassword(this.state.customer.confirmPassword);\r\n if (errorResetPassword) {\r\n errors.confirmPassword = errorResetPassword;\r\n formIsValid = false;\r\n }\r\n\r\n if(!this.state.customer[\"hasPassword\"]){\r\n if (!this.state.customer.oldPassword) {\r\n errors.oldPassword = this.props.textVariants[pages.CHANGEPASSWORD + this.props.textVariants.textVariantSeparator + \"error_oldPasswordRequired\"];\r\n formIsValid = false;\r\n }\r\n }\r\n\r\n if (this.state.customer.newPassword != this.state.customer.confirmPassword) {\r\n errors.generic = this.props.textVariants[pages.CHANGEPASSWORD + this.props.textVariants.textVariantSeparator + \"error_passwordMismatch\"];\r\n formIsValid = false;\r\n }\r\n\r\n this.setState({errors: errors});\r\n\r\n return formIsValid;\r\n }\r\n\r\n onOkPasswordChanged(evt) {\r\n this.props.history.push(RoutesVariables.RouteCreditScore);\r\n }\r\n\r\n setOptionsNames(user) {\r\n let namesOptions = [];\r\n if(user) {\r\n let fullName = user['firstName'] + ' ' + user['lastName'];\r\n namesOptions.push(fullName);\r\n if(user['middleName']) {\r\n fullName = user['firstName'] + ' ' + user['middleName'][0] + ' ' + user['lastName'];\r\n namesOptions.push(fullName)\r\n }\r\n }\r\n this.setState({namesOptions: namesOptions})\r\n }\r\n\r\n onUpdateCustomerDetails(event) {\r\n event.preventDefault(); \r\n let validationResult = ValidationApi.validateCustomer(this.state.customer, this.state.omitFields);\r\n \r\n if (validationResult.isValid) {\r\n this.setState({saving : true, diplaySavedMessage: false});\r\n\r\n this.saveCustomerFromState(this.state.customer).then(r => {\r\n this.setState({ saving: false, diplaySavedMessage: true });\r\n \r\n if(r && r.isPIIDataUpdated){\r\n\r\n // re-authenticate\r\n return this.props.actions.refreshAuthentication().then(r =>{ \r\n var navigateUrl = r.redirect_uri || RoutesVariables.RouteDashboard; \r\n this.props.history.push(navigateUrl);\r\n });\r\n \r\n }\r\n else{\r\n this.props.history.push(RoutesVariables.RouteCreditScore);\r\n }\r\n }).catch(e => {\r\n let errors = this.state.errors;\r\n let msg = null;\r\n\r\n if (e.status == 400) {\r\n msg = this.props.textVariants[pages.MYDETAILS + this.props.textVariants.textVariantSeparator + \"400_errorOnUpdate\"];\r\n\r\n } else if(e.status == 404){\r\n msg = this.props.textVariants[pages.MYDETAILS + this.props.textVariants.textVariantSeparator + \"404_userNotFound\"];\r\n\r\n } else if (e.status == 500){\r\n msg = this.props.textVariants[\"Api_Generic\"];\r\n\r\n }\r\n\r\n if(!msg){\r\n msg = e.message\r\n }\r\n\r\n errors[\"global\"] = msg;\r\n this.setState({errors: errors, saving : false, diplaySavedMessage: false});\r\n });\r\n } else {\r\n let newCustomer = this.state.customer;\r\n newCustomer.isCurrentEmailValid = validationResult.isCurrentEmailValid;\r\n newCustomer.isCurrentMobileValid = validationResult.isCurrentMobileValid;\r\n\r\n this.setState({customer: newCustomer, errors: validationResult.errors, saving: false});\r\n } \r\n }\r\n saveCustomerFromState(customer, recaptchaToken){\r\n var updatingCustomer = Object.assign({}, customer);\r\n \r\n HelperApi.setInnerDateOfBirthAndDobFromNumbers(updatingCustomer, customer.dob.yy, customer.dob.mm, customer.dob.dd);\r\n \r\n updatingCustomer.gender = null;\r\n if (customer.gender && customer.gender != 'O'){\r\n updatingCustomer.gender = customer.gender == 'M';\r\n } \r\n \r\n return this.props.actions.updateUserDetails(updatingCustomer);\r\n }\r\n\r\n updateCustomerState(event) {\r\n\r\n const field = event.target.name;\r\n let customer = this.state.customer;\r\n const value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\r\n customer[field] = value;\r\n\r\n let errors = this.state.errors;\r\n errors[field] = field == 'dob' ? {} : '';\r\n\r\n if(field == 'email'){\r\n customer.isCurrentEmailValid = false;\r\n }\r\n\r\n if(field == 'mobile'){\r\n customer.isCurrentMobileValid = false;\r\n } \r\n\r\n return this.setState({ customer: customer, errors:errors });\r\n }\r\n\r\n updateCustomerServiceAddressError(event){\r\n\r\n const field = event.target.name;\r\n let errors = this.state.errors;\r\n if (event.target.status && event.target.status == 401) {\r\n //console.log(\"external service error code=\"+event.target.status);\r\n }\r\n errors[field] = this.props.textVariants[\"Error_cant_find_address\"];\r\n\r\n return this.setState({ errors:errors });\r\n }\r\n\r\n onCancel(event){\r\n event.preventDefault();\r\n //const browserHistory = createBrowserHistory();\r\n this.props.hisotry.goBack();\r\n }\r\n\r\n render() {\r\n let pageContent = null;\r\n\r\n if (this.state.isServerError) {\r\n pageContent = \r\n }\r\n else if(!this.props.userProfile.userDetails){\r\n pageContent =\r\n ;\r\n }\r\n else {\r\n pageContent = <>\r\n\r\n { this.state.tabIndex && this.state.tabIndex == 1 && }\r\n\r\n { this.state.tabIndex && this.state.tabIndex == 2 && }\r\n\r\n {/* { this.state.tabIndex && this.state.tabIndex == 3 && }\r\n\r\n { this.state.tabIndex && this.state.tabIndex == 4 && } */}\r\n \r\n
    \r\n {/* Delete my account */}\r\n ;\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Account

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {this.state.isMobile == false &&(
    \r\n {pageContent}\r\n
    )}\r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n { this.state.tabIndex && this.state.tabIndex == 1 && this.state.isMobile && (pageContent)}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n { this.state.tabIndex && this.state.tabIndex == 2 && this.state.isMobile && (pageContent)}\r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n { this.state.tabIndex && this.state.tabIndex == 3 && this.state.isMobile && (pageContent)}\r\n
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n { this.state.tabIndex && this.state.tabIndex == 4 && this.state.isMobile && (pageContent)}\r\n
    \r\n
    \r\n
    */}\r\n
    \r\n\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n } \r\n}\r\n\r\nMyDetailsPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.MYDETAILS]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.MYDETAILS];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile,\r\n isAuthenticated: state.userProfile.isAuthenticated\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions, scoreActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MyDetailsPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport * as pages from '../../shared/pages';\r\nimport * as RoutesVariables from '../../../config/routesVariables';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\nimport * as funcs from '../../shared/functions';\r\nimport {initTonikForms} from '../../../tonik/shared/forms';\r\n\r\nimport TextInput from '../../common/controls/TextInput';\r\nimport TextNumericInput from '../../common/controls/TextNumericInput';\r\nimport DateInputSimple from '../../common/controls/DateInputSimple';\r\n\r\nimport { medicareCardColour } from '../../../common/dvsMedicare';\r\n\r\n\r\nexport const DvsConsentCheckbox = ({identityRequest, onChange, errors}) => {\r\n return ( \r\n <>\r\n
    By submitting this form,
    \r\n
    \r\n
    \r\n {/* Required* */}\r\n \r\n \r\n {errors && errors.consent && (\r\n <>\r\n \"\" \r\n
    \r\n {errors.consent}\r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Required* */}\r\n \r\n \r\n {errors && errors.consent1 && (\r\n <>\r\n \"\" \r\n
    \r\n {errors.consent1}\r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport * as pages from '../../shared/pages';\r\nimport * as RoutesVariables from '../../../config/routesVariables';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\nimport * as funcs from '../../shared/functions';\r\nimport {initTonikForms} from '../../../tonik/shared/forms';\r\n\r\nimport TextInput from '../../common/controls/TextInput';\r\nimport TextNumericInput from '../../common/controls/TextNumericInput';\r\nimport DateInputSimple from '../../common/controls/DateInputSimple';\r\n\r\nimport { medicareCardColour } from '../../../common/dvsMedicare';\r\n\r\nimport {DvsConsentCheckbox} from './DvsCommon';\r\nimport {initTonikFormsTooltip} from '../../../tonik/shared/forms';\r\n\r\n//const DvsMedicareForm = ({ customerIds, errors, updateCustomerIdsState, changeCard, namesOptions, cardImg, saveCustomerIds, isInline = false, showButton=true }) => {\r\n//const DvsMedicareForm = ({ identityRequest, onSave, onChange, errors, saving, textVariants, onBack, isInline = false}) => {\r\n\r\nclass DvsMedicareForm extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n }\r\n\r\n componentDidMount(){\r\n initTonikFormsTooltip();\r\n }\r\n \r\n render(){\r\n \r\n let { identityRequest, onSave, onChange, errors, saving, textVariants, onBack, isInline = false} = this.props;\r\n let dlImage = ImagesPath['ImgDvs_M_' + identityRequest['cardColour']]; \r\n return (\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {(errors && errors['global']) &&\r\n (
    \r\n \r\n {errors['type'] && or click here to choose another document}\r\n
    )}\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    {errors['cardColour']}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"/\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\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 DvsMedicareForm;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport * as pages from '../../shared/pages';\r\nimport * as RoutesVariables from '../../../config/routesVariables';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\nimport * as funcs from '../../shared/functions';\r\nimport {initTonikForms} from '../../../tonik/shared/forms';\r\n\r\nimport TextInput from '../../common/controls/TextInput';\r\nimport TextNumericInput from '../../common/controls/TextNumericInput';\r\nimport DateInputSimple from '../../common/controls/DateInputSimple';\r\n\r\nimport {DvsConsentCheckbox} from './DvsCommon';\r\n\r\nconst stateCodesForDropDown = [\r\n {value: \"NSW\", text: \"NSW - New South Wales\"},\r\n {value: \"VIC\", text: \"VIC - Victoria\"},\r\n {value: \"SA\", text: \"SA - South Australia\"},\r\n {value: \"WA\", text: \"WA - Western Australia\"},\r\n {value: \"NT\", text: \"NT - Northen Territory\"},\r\n {value: \"QLD\", text: \"QLD - Queensland\"},\r\n {value: \"ACT\", text: \"ACT - Australian Capital Territory\"},\r\n {value: \"TAS\", text: \"TAS - Tasmania\"}\r\n];\r\n\r\nconst DvsDriverLicenceForm = ({ identityRequest, onSave, onChange, errors, saving, textVariants, onBack, isInline = false}) => {\r\n \r\n let dlImage = ImagesPath['ImgDvs_DL_' + identityRequest['stateCode']];\r\n\r\n let showCardNumber= true;\r\n if ((identityRequest['stateCode'] == \"NSW\") || (identityRequest['stateCode'] == \"SA\") ||\r\n (identityRequest['stateCode'] == \"WA\") || (identityRequest['stateCode'] == \"NT\") ||\r\n (identityRequest['stateCode'] == \"ACT\") || (identityRequest['stateCode'] == \"TAS\") || (identityRequest['stateCode'] == \"QLD\") || (identityRequest['stateCode'] == \"VIC\"))\r\n {\r\n showCardNumber= true;\r\n }\r\n else\r\n {\r\n showCardNumber= false;\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n {(errors && errors['global']) &&\r\n (
    \r\n \r\n {errors['type'] && or click here to choose another document}\r\n
    )}\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \"\"/\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    {errors['stateCode']}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {/* New part for DVS Change */}\r\n {showCardNumber && \r\n
    \r\n \r\n
    \r\n }\r\n\r\n
    \r\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 DvsDriverLicenceForm;\r\n","export const countries = \r\n[{\"name\":\"Ascension Island\",\"alpha3\":\"\"},\r\n{\"name\":\"Andorra\",\"alpha3\":\"AND\"},{\"name\":\"United Arab Emirates\",\"alpha3\":\"ARE\"},{\"name\":\"Afghanistan\",\"alpha3\":\"AFG\"},{\"name\":\"Antigua And Barbuda\",\"alpha3\":\"ATG\"},{\"name\":\"Anguilla\",\"alpha3\":\"AIA\"},{\"name\":\"Albania\",\"alpha3\":\"ALB\"},{\"name\":\"Armenia\",\"alpha3\":\"ARM\"},{\"name\":\"Angola\",\"alpha3\":\"AGO\"},{\"name\":\"Antarctica\",\"alpha3\":\"ATA\"},{\"name\":\"Argentina\",\"alpha3\":\"ARG\"},{\"name\":\"American Samoa\",\"alpha3\":\"ASM\"},{\"name\":\"Austria\",\"alpha3\":\"AUT\"},{\"name\":\"Australia\",\"alpha3\":\"AUS\"},{\"name\":\"Aruba\",\"alpha3\":\"ABW\"},{\"name\":\"Åland Islands\",\"alpha3\":\"ALA\"},{\"name\":\"Azerbaijan\",\"alpha3\":\"AZE\"},{\"name\":\"Bosnia & Herzegovina\",\"alpha3\":\"BIH\"},{\"name\":\"Barbados\",\"alpha3\":\"BRB\"},{\"name\":\"Bangladesh\",\"alpha3\":\"BGD\"},{\"name\":\"Belgium\",\"alpha3\":\"BEL\"},{\"name\":\"Burkina Faso\",\"alpha3\":\"BFA\"},{\"name\":\"Bulgaria\",\"alpha3\":\"BGR\"},{\"name\":\"Bahrain\",\"alpha3\":\"BHR\"},{\"name\":\"Burundi\",\"alpha3\":\"BDI\"},{\"name\":\"Benin\",\"alpha3\":\"BEN\"},{\"name\":\"Saint Barthélemy\",\"alpha3\":\"BLM\"},{\"name\":\"Bermuda\",\"alpha3\":\"BMU\"},{\"name\":\"Brunei Darussalam\",\"alpha3\":\"BRN\"},{\"name\":\"Bolivia, Plurinational State Of\",\"alpha3\":\"BOL\"},{\"name\":\"Bonaire, Saint Eustatius And Saba\",\"alpha3\":\"BES\"},{\"name\":\"Brazil\",\"alpha3\":\"BRA\"},{\"name\":\"Bahamas\",\"alpha3\":\"BHS\"},{\"name\":\"Bhutan\",\"alpha3\":\"BTN\"},{\"name\":\"Bouvet Island\",\"alpha3\":\"BVT\"},{\"name\":\"Botswana\",\"alpha3\":\"BWA\"},{\"name\":\"Belarus\",\"alpha3\":\"BLR\"},{\"name\":\"Belize\",\"alpha3\":\"BLZ\"},{\"name\":\"Canada\",\"alpha3\":\"CAN\"},{\"name\":\"Cocos (Keeling) Islands\",\"alpha3\":\"CCK\"},{\"name\":\"Democratic Republic Of Congo\",\"alpha3\":\"COD\"},\r\n{\"name\":\"Central African Republic\",\"alpha3\":\"CAF\"},{\"name\":\"Republic Of Congo\",\"alpha3\":\"COG\"},{\"name\":\"Switzerland\",\"alpha3\":\"CHE\"},{\"name\":\"Cote d'Ivoire\",\"alpha3\":\"CIV\"},{\"name\":\"Cook Islands\",\"alpha3\":\"COK\"},{\"name\":\"Chile\",\"alpha3\":\"CHL\"},{\"name\":\"Cameroon\",\"alpha3\":\"CMR\"},{\"name\":\"China\",\"alpha3\":\"CHN\"},{\"name\":\"Colombia\",\"alpha3\":\"COL\"},{\"name\":\"Clipperton Island\",\"alpha3\":\"\"},{\"name\":\"Costa Rica\",\"alpha3\":\"CRI\"},{\"name\":\"Cuba\",\"alpha3\":\"CUB\"},{\"name\":\"Cabo Verde\",\"alpha3\":\"CPV\"},{\"name\":\"Curacao\",\"alpha3\":\"CUW\"},{\"name\":\"Christmas Island\",\"alpha3\":\"CXR\"},{\"name\":\"Cyprus\",\"alpha3\":\"CYP\"},{\"name\":\"Czech Republic\",\"alpha3\":\"CZE\"},{\"name\":\"Germany\",\"alpha3\":\"DEU\"},{\"name\":\"Diego Garcia\",\"alpha3\":\"\"},{\"name\":\"Djibouti\",\"alpha3\":\"DJI\"},{\"name\":\"Denmark\",\"alpha3\":\"DNK\"},{\"name\":\"Dominica\",\"alpha3\":\"DMA\"},{\"name\":\"Dominican Republic\",\"alpha3\":\"DOM\"},{\"name\":\"Algeria\",\"alpha3\":\"DZA\"},{\"name\":\"Ceuta, Mulilla\",\"alpha3\":\"\"},{\"name\":\"Ecuador\",\"alpha3\":\"ECU\"},{\"name\":\"Estonia\",\"alpha3\":\"EST\"},{\"name\":\"Egypt\",\"alpha3\":\"EGY\"},{\"name\":\"Western Sahara\",\"alpha3\":\"ESH\"},{\"name\":\"Eritrea\",\"alpha3\":\"ERI\"},{\"name\":\"Spain\",\"alpha3\":\"ESP\"},{\"name\":\"Ethiopia\",\"alpha3\":\"ETH\"},{\"name\":\"European Union\",\"alpha3\":\"\"},{\"name\":\"Finland\",\"alpha3\":\"FIN\"},{\"name\":\"Fiji\",\"alpha3\":\"FJI\"},{\"name\":\"Falkland Islands\",\"alpha3\":\"FLK\"},{\"name\":\"Micronesia, Federated States Of\",\"alpha3\":\"FSM\"},{\"name\":\"Faroe Islands\",\"alpha3\":\"FRO\"},{\"name\":\"France\",\"alpha3\":\"FRA\"},{\"name\":\"France, Metropolitan\",\"alpha3\":\"\"},\r\n{\"name\":\"Gabon\",\"alpha3\":\"GAB\"},{\"name\":\"United Kingdom\",\"alpha3\":\"GBR\"},{\"name\":\"Grenada\",\"alpha3\":\"GRD\"},{\"name\":\"Georgia\",\"alpha3\":\"GEO\"},{\"name\":\"French Guiana\",\"alpha3\":\"GUF\"},{\"name\":\"Guernsey\",\"alpha3\":\"GGY\"},{\"name\":\"Ghana\",\"alpha3\":\"GHA\"},{\"name\":\"Gibraltar\",\"alpha3\":\"GIB\"},{\"name\":\"Greenland\",\"alpha3\":\"GRL\"},{\"name\":\"Gambia\",\"alpha3\":\"GMB\"},{\"name\":\"Guinea\",\"alpha3\":\"GIN\"},{\"name\":\"Guadeloupe\",\"alpha3\":\"GLP\"},{\"name\":\"Equatorial Guinea\",\"alpha3\":\"GNQ\"},{\"name\":\"Greece\",\"alpha3\":\"GRC\"},{\"name\":\"South Georgia And The South Sandwich Islands\",\"alpha3\":\"SGS\"},{\"name\":\"Guatemala\",\"alpha3\":\"GTM\"},{\"name\":\"Guam\",\"alpha3\":\"GUM\"},{\"name\":\"Guinea-bissau\",\"alpha3\":\"GNB\"},{\"name\":\"Guyana\",\"alpha3\":\"GUY\"},{\"name\":\"Hong Kong\",\"alpha3\":\"HKG\"},{\"name\":\"Heard Island And McDonald Islands\",\"alpha3\":\"HMD\"},{\"name\":\"Honduras\",\"alpha3\":\"HND\"},{\"name\":\"Croatia\",\"alpha3\":\"HRV\"},{\"name\":\"Haiti\",\"alpha3\":\"HTI\"},{\"name\":\"Hungary\",\"alpha3\":\"HUN\"},{\"name\":\"Canary Islands\",\"alpha3\":\"\"},{\"name\":\"Indonesia\",\"alpha3\":\"IDN\"},{\"name\":\"Ireland\",\"alpha3\":\"IRL\"},{\"name\":\"Israel\",\"alpha3\":\"ISR\"},{\"name\":\"Isle Of Man\",\"alpha3\":\"IMN\"},{\"name\":\"India\",\"alpha3\":\"IND\"},{\"name\":\"British Indian Ocean Territory\",\"alpha3\":\"IOT\"},{\"name\":\"Iraq\",\"alpha3\":\"IRQ\"},{\"name\":\"Iran, Islamic Republic Of\",\"alpha3\":\"IRN\"},{\"name\":\"Iceland\",\"alpha3\":\"ISL\"},{\"name\":\"Italy\",\"alpha3\":\"ITA\"},{\"name\":\"Jersey\",\"alpha3\":\"JEY\"},{\"name\":\"Jamaica\",\"alpha3\":\"JAM\"},{\"name\":\"Jordan\",\"alpha3\":\"JOR\"},{\"name\":\"Japan\",\"alpha3\":\"JPN\"},\r\n{\"name\":\"Kenya\",\"alpha3\":\"KEN\"},{\"name\":\"Kyrgyzstan\",\"alpha3\":\"KGZ\"},{\"name\":\"Cambodia\",\"alpha3\":\"KHM\"},{\"name\":\"Kiribati\",\"alpha3\":\"KIR\"},{\"name\":\"Comoros\",\"alpha3\":\"COM\"},{\"name\":\"Saint Kitts And Nevis\",\"alpha3\":\"KNA\"},{\"name\":\"Korea, Democratic People's Republic Of\",\"alpha3\":\"PRK\"},{\"name\":\"Korea, Republic Of\",\"alpha3\":\"KOR\"},{\"name\":\"Kuwait\",\"alpha3\":\"KWT\"},{\"name\":\"Cayman Islands\",\"alpha3\":\"CYM\"},{\"name\":\"Kazakhstan\",\"alpha3\":\"KAZ\"},{\"name\":\"Lao People's Democratic Republic\",\"alpha3\":\"LAO\"},{\"name\":\"Lebanon\",\"alpha3\":\"LBN\"},{\"name\":\"Saint Lucia\",\"alpha3\":\"LCA\"},{\"name\":\"Liechtenstein\",\"alpha3\":\"LIE\"},{\"name\":\"Sri Lanka\",\"alpha3\":\"LKA\"},{\"name\":\"Liberia\",\"alpha3\":\"LBR\"},{\"name\":\"Lesotho\",\"alpha3\":\"LSO\"},{\"name\":\"Lithuania\",\"alpha3\":\"LTU\"},{\"name\":\"Luxembourg\",\"alpha3\":\"LUX\"},{\"name\":\"Latvia\",\"alpha3\":\"LVA\"},{\"name\":\"Libya\",\"alpha3\":\"LBY\"},{\"name\":\"Morocco\",\"alpha3\":\"MAR\"},{\"name\":\"Monaco\",\"alpha3\":\"MCO\"},{\"name\":\"Moldova\",\"alpha3\":\"MDA\"},{\"name\":\"Montenegro\",\"alpha3\":\"MNE\"},{\"name\":\"Saint Martin\",\"alpha3\":\"MAF\"},{\"name\":\"Madagascar\",\"alpha3\":\"MDG\"},{\"name\":\"Marshall Islands\",\"alpha3\":\"MHL\"},{\"name\":\"Macedonia, The Former Yugoslav Republic Of\",\"alpha3\":\"MKD\"},{\"name\":\"Mali\",\"alpha3\":\"MLI\"},{\"name\":\"Myanmar\",\"alpha3\":\"MMR\"},{\"name\":\"Mongolia\",\"alpha3\":\"MNG\"},{\"name\":\"Macao\",\"alpha3\":\"MAC\"},{\"name\":\"Northern Mariana Islands\",\"alpha3\":\"MNP\"},{\"name\":\"Martinique\",\"alpha3\":\"MTQ\"},{\"name\":\"Mauritania\",\"alpha3\":\"MRT\"},{\"name\":\"Montserrat\",\"alpha3\":\"MSR\"},{\"name\":\"Malta\",\"alpha3\":\"MLT\"},{\"name\":\"Mauritius\",\"alpha3\":\"MUS\"},\r\n{\"name\":\"Maldives\",\"alpha3\":\"MDV\"},{\"name\":\"Malawi\",\"alpha3\":\"MWI\"},{\"name\":\"Mexico\",\"alpha3\":\"MEX\"},{\"name\":\"Malaysia\",\"alpha3\":\"MYS\"},{\"name\":\"Mozambique\",\"alpha3\":\"MOZ\"},{\"name\":\"Namibia\",\"alpha3\":\"NAM\"},{\"name\":\"New Caledonia\",\"alpha3\":\"NCL\"},{\"name\":\"Niger\",\"alpha3\":\"NER\"},{\"name\":\"Norfolk Island\",\"alpha3\":\"NFK\"},{\"name\":\"Nigeria\",\"alpha3\":\"NGA\"},{\"name\":\"Nicaragua\",\"alpha3\":\"NIC\"},{\"name\":\"Netherlands\",\"alpha3\":\"NLD\"},{\"name\":\"Norway\",\"alpha3\":\"NOR\"},{\"name\":\"Nepal\",\"alpha3\":\"NPL\"},{\"name\":\"Nauru\",\"alpha3\":\"NRU\"},{\"name\":\"Niue\",\"alpha3\":\"NIU\"},{\"name\":\"New Zealand\",\"alpha3\":\"NZL\"},{\"name\":\"Oman\",\"alpha3\":\"OMN\"},{\"name\":\"Panama\",\"alpha3\":\"PAN\"},{\"name\":\"Peru\",\"alpha3\":\"PER\"},{\"name\":\"French Polynesia\",\"alpha3\":\"PYF\"},{\"name\":\"Papua New Guinea\",\"alpha3\":\"PNG\"},{\"name\":\"Philippines\",\"alpha3\":\"PHL\"},{\"name\":\"Pakistan\",\"alpha3\":\"PAK\"},{\"name\":\"Poland\",\"alpha3\":\"POL\"},{\"name\":\"Saint Pierre And Miquelon\",\"alpha3\":\"SPM\"},{\"name\":\"Pitcairn\",\"alpha3\":\"PCN\"},{\"name\":\"Puerto Rico\",\"alpha3\":\"PRI\"},{\"name\":\"Palestinian Territory, Occupied\",\"alpha3\":\"PSE\"},{\"name\":\"Portugal\",\"alpha3\":\"PRT\"},{\"name\":\"Palau\",\"alpha3\":\"PLW\"},{\"name\":\"Paraguay\",\"alpha3\":\"PRY\"},{\"name\":\"Qatar\",\"alpha3\":\"QAT\"},{\"name\":\"Reunion\",\"alpha3\":\"REU\"},{\"name\":\"Romania\",\"alpha3\":\"ROU\"},{\"name\":\"Serbia\",\"alpha3\":\"SRB\"},{\"name\":\"Russian Federation\",\"alpha3\":\"RUS\"},{\"name\":\"Rwanda\",\"alpha3\":\"RWA\"},{\"name\":\"Saudi Arabia\",\"alpha3\":\"SAU\"},{\"name\":\"Solomon Islands\",\"alpha3\":\"SLB\"},\r\n{\"name\":\"Seychelles\",\"alpha3\":\"SYC\"},{\"name\":\"Sudan\",\"alpha3\":\"SDN\"},{\"name\":\"Sweden\",\"alpha3\":\"SWE\"},{\"name\":\"Singapore\",\"alpha3\":\"SGP\"},{\"name\":\"Saint Helena, Ascension And Tristan Da Cunha\",\"alpha3\":\"SHN\"},{\"name\":\"Slovenia\",\"alpha3\":\"SVN\"},{\"name\":\"Svalbard And Jan Mayen\",\"alpha3\":\"SJM\"},{\"name\":\"Slovakia\",\"alpha3\":\"SVK\"},{\"name\":\"Sierra Leone\",\"alpha3\":\"SLE\"},{\"name\":\"San Marino\",\"alpha3\":\"SMR\"},{\"name\":\"Senegal\",\"alpha3\":\"SEN\"},{\"name\":\"Somalia\",\"alpha3\":\"SOM\"},{\"name\":\"Suriname\",\"alpha3\":\"SUR\"},{\"name\":\"South Sudan\",\"alpha3\":\"SSD\"},{\"name\":\"São Tomé and Príncipe\",\"alpha3\":\"STP\"},{\"name\":\"USSR\",\"alpha3\":\"\"},{\"name\":\"El Salvador\",\"alpha3\":\"SLV\"},{\"name\":\"Sint Maarten\",\"alpha3\":\"SXM\"},{\"name\":\"Syrian Arab Republic\",\"alpha3\":\"SYR\"},{\"name\":\"Swaziland\",\"alpha3\":\"SWZ\"},{\"name\":\"Tristan de Cunha\",\"alpha3\":\"\"},{\"name\":\"Turks And Caicos Islands\",\"alpha3\":\"TCA\"},{\"name\":\"Chad\",\"alpha3\":\"TCD\"},{\"name\":\"French Southern Territories\",\"alpha3\":\"ATF\"},{\"name\":\"Togo\",\"alpha3\":\"TGO\"},{\"name\":\"Thailand\",\"alpha3\":\"THA\"},{\"name\":\"Tajikistan\",\"alpha3\":\"TJK\"},{\"name\":\"Tokelau\",\"alpha3\":\"TKL\"},{\"name\":\"East Timor\",\"alpha3\":\"TLS\"},{\"name\":\"Turkmenistan\",\"alpha3\":\"TKM\"},{\"name\":\"Tunisia\",\"alpha3\":\"TUN\"},{\"name\":\"Tonga\",\"alpha3\":\"TON\"},{\"name\":\"Turkey\",\"alpha3\":\"TUR\"},{\"name\":\"Trinidad And Tobago\",\"alpha3\":\"TTO\"},{\"name\":\"Tuvalu\",\"alpha3\":\"TUV\"},{\"name\":\"Taiwan, Province Of China\",\"alpha3\":\"TWN\"},{\"name\":\"Tanzania, United Republic Of\",\"alpha3\":\"TZA\"},{\"name\":\"Ukraine\",\"alpha3\":\"UKR\"},{\"name\":\"Uganda\",\"alpha3\":\"UGA\"},{\"name\":\"United Kingdom\",\"alpha3\":\"\"},\r\n{name: \"United States Minor Outlying Islands\", alpha3: \"UMI\"},\r\n{name: \"United States\", alpha3: \"USA\"},\r\n{name: \"Uruguay\", alpha3: \"URY\"},\r\n{name: \"Uzbekistan\", alpha3: \"UZB\"},\r\n{name: \"Vatican City State\", alpha3: \"VAT\"},\r\n{name: \"Saint Vincent And The Grenadines\", alpha3: \"VCT\"},\r\n{name: \"Venezuela, Bolivarian Republic Of\", alpha3: \"VEN\"},\r\n{name: \"Virgin Islands (British)\", alpha3: \"VGB\"},\r\n{name: \"Virgin Islands (US)\", alpha3: \"VIR\"},\r\n{name: \"Viet Nam\", alpha3: \"VNM\"},\r\n{name: \"Vanuatu\", alpha3: \"VUT\"},\r\n{name: \"Wallis And Futuna\", alpha3: \"WLF\"},\r\n{name: \"Samoa\", alpha3: \"WSM\"},\r\n{name: \"Yemen\", alpha3: \"YEM\"},\r\n{name: \"Mayotte\", alpha3: \"MYT\"},\r\n{name: \"South Africa\", alpha3: \"ZAF\"},\r\n{name: \"Zambia\", alpha3: \"ZMB\"},\r\n{name: \"Zimbabwe\", alpha3: \"ZWE\"}]","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\nimport { Link } from 'react-router-dom';\r\n\r\nimport * as pages from '../../shared/pages';\r\nimport * as RoutesVariables from '../../../config/routesVariables';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\nimport * as funcs from '../../shared/functions';\r\nimport {initTonikForms} from '../../../tonik/shared/forms';\r\n\r\nimport TextInput from '../../common/controls/TextInput';\r\nimport TextNumericInput from '../../common/controls/TextNumericInput';\r\nimport DateInputSimple from '../../common/controls/DateInputSimple';\r\n\r\nimport { countries } from '../../../common/countries';\r\n\r\nimport {DvsConsentCheckbox} from './DvsCommon';\r\n\r\n//const DvsPassportForm = ({ customerIds, errors, updateCustomerIdsState, changeState, countries, saveCustomerIds, isInline = false, showButton=true }) => {\r\nconst DvsPassportForm = ({ identityRequest, onSave, onChange, errors, saving, textVariants, onBack, isInline = false}) => {\r\n \r\n return (\r\n
    \r\n\r\n
    \r\n {(errors && errors['global']) &&\r\n (
    \r\n \r\n {errors['type'] && or click here to choose another document}\r\n
    )}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    {errors['countryCode']}
    \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 DvsPassportForm;\r\n","export const documentSelections = {\r\n driverLicence: 'DL',\r\n passport: 'PP',\r\n medicare: 'MC'\r\n };","import React from 'react'\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\nimport {documentSelections} from './dvsDocSelections'\r\n\r\nexport const DVSSelectionForm = ({onDocumentSelect, isDriverLicenceDone, isPassportDone, isMedicareDone}) => {\r\n return (\r\n
    \r\n

    Select identity document:

    \r\n
    \r\n {!isDriverLicenceDone &&
    {onDocumentSelect(event, documentSelections.driverLicence)}}>\r\n \r\n \r\n
    }\r\n {!isPassportDone &&
    {onDocumentSelect(event, documentSelections.passport)}}>\r\n \r\n \r\n
    }\r\n {!isMedicareDone &&
    {onDocumentSelect(event, documentSelections.medicare)}}>\r\n \r\n \r\n
    }\r\n
    \r\n
    \r\n );\r\n };","import React from 'react'\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\nimport * as RoutesVariables from '../../../config/routesVariables';\r\n\r\nexport const DvsVerificationFrame = ({classTop, documentSelection, onBack, isDriverLicenceDone, isPassportDone, isMedicareDone, isInCohort, children}) => {\r\n\r\n var isIdentityVerified = isDriverLicenceDone || isPassportDone || isMedicareDone;\r\n var numberDocs = (isDriverLicenceDone ? 1:0) + \r\n (isMedicareDone ? 1:0) + \r\n (isPassportDone ? 1:0); \r\n \r\n var isDocSelect = !documentSelection;\r\n var stepNumber = isDocSelect ? \"5\":\"6\"\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isIdentityVerified &&
    {/*nav-register-2 */}\r\n {!isDocSelect && \"\"}\r\n

    {stepNumber} 6 Identity Verification

    \r\n
    }\r\n {isIdentityVerified &&
    \r\n

    Identity Verification

    \r\n
    }\r\n
    \r\n \"\"/\r\n {isIdentityVerified && \r\n

    You have successfully verified {numberDocs} document(s)
    \r\n {numberDocs == 1 && isInCohort && However you need to verify 2 documents in total to access your credit report overview.
    Please select one of the following documents
    }\r\n {numberDocs > 1 && You don't need to verify your identity again.
    } \r\n

    \r\n }\r\n {!isIdentityVerified &&\r\n

    We need to verify your Identity for security purposes. Please select one of the following Identity Documents.
    If possible, we strongly recommend that you provide us with your Driver's Licence for matching purposes.

    }\r\n {children} \r\n
    \r\n
    \r\n {/* {!isDocSelect && \r\n

    By submitting this form I confirm that I am authorised to provide my personal information and I consent to it being checked with the document issuer or official record holder through third party systems for the purpose of confirming my identity. I appoint GetCreditScore as an agent and 'access seeker' to retrieve my Equifax credit information on my behalf.
    \r\n You can find further information on what personal information we hold, and how we use it within the GetCreditScore Privacy Policy

    \r\n
    } */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { createBrowserHistory } from 'history';\r\n\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport LoginBoxMessage from '../login/LoginBoxMessage';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport FooterSmallSection from '../common/footerSmall';\r\n\r\nimport { USERROLES, hasOneRole, getDvsInfoFromRoles } from '../../common/gcsLogic';\r\n\r\nimport DvsMedicareForm from './Dvs/DvsMedicareForm';\r\nimport DvsDriverLicenceForm from './Dvs/DvsDriverLicenceForm';\r\nimport DvsPassportForm from './Dvs/DvsPassportForm';\r\n\r\nimport ValidationApi from '../../api/validationApi.js';\r\nimport HelperApi from '../../api/HelperApi.js';\r\n\r\n\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\nimport LoadingIndicator from '../common/controls/LoadingIndicator';\r\nimport {ApiFailedToLoadComponentWithText} from '../common/ApiFailedToLoadComponent';\r\nimport { medicareCardColour } from '../../common/dvsMedicare';\r\n\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nimport {DVSSelectionForm} from './Dvs/DVSSelectionForm'\r\nimport {DvsVerificationFrame} from './Dvs/DvsVerificationFrame'\r\n\r\nimport {documentSelections} from './Dvs/dvsDocSelections'\r\n\r\nclass MyDetailsVerificationPage extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n dlRequest: {\r\n number: '',\r\n cardNumber: '',\r\n stateCode: 'NSW',\r\n consent: false,\r\n consent1: false,\r\n dateOfBirth : { dd: '', mm: '', yy: '' }\r\n },\r\n passportRequest: {\r\n number: '',\r\n countryCode: 'AUS',\r\n consent: false,\r\n consent1: false,\r\n dateOfBirth : { dd: '', mm: '', yy: '' }\r\n },\r\n medicareRequest: {\r\n number: '',\r\n referenceNumber: '',\r\n middleNameOnCard: '',\r\n dateOfExpiry : { dd: '', mm: '', yy: '' },\r\n cardColour: medicareCardColour.green,\r\n consent: false,\r\n consent1: false ,\r\n dateOfBirth : { dd: '', mm: '', yy: '' }\r\n },\r\n //identityStatusText: hasOneRole(props.roles, USERROLES.IdentityVerified) ? \"Identity Verified\" : \"Identity Not Verified\", \r\n isDriverLicenceDone : false,\r\n isPassportDone : false,\r\n isMedicareDone : false,\r\n documentSelection: null,\r\n errors: {}, \r\n saving: false,\r\n diplaySavedMessage: false,\r\n isServerError: false,\r\n trackingReference: null,\r\n trackingCount: 0 \r\n };\r\n \r\n\r\n this.onInitiateValidationRequest = this.onInitiateValidationRequest.bind(this);\r\n this.updateIdentityRequetInState = this.updateIdentityRequetInState.bind(this); \r\n this.initiateIdVerification = this.initiateIdVerification.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.checkIdentityStatus = this.checkIdentityStatus.bind(this);\r\n this.validateIdentityDocumentRequest = this.validateIdentityDocumentRequest.bind(this);\r\n this.selectDocumentType = this.selectDocumentType.bind(this);\r\n this.selectDocumentsDoneFromRole = this.selectDocumentsDoneFromRole.bind(this);\r\n this.setUserDetails = this.setUserDetails.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n this.props.actions.getTextVariants();\r\n \r\n this.props.actions.isAuthenticated().then(e => {\r\n\r\n this.selectDocumentsDoneFromRole(this.props.roles);\r\n\r\n this.props.actions.getMenuForPage(pages.MYDETAILSVERIFICATION);\r\n \r\n var userDetails = this.props.userDetails;\r\n\r\n if(userDetails && userDetails.firstName){\r\n this.setUserDetails(userDetails);\r\n \r\n } else{\r\n this.props.actions.loadUserDetails(false).then(userDetails => { \r\n this.setUserDetails(userDetails);\r\n }\r\n );\r\n }\r\n \r\n }); \r\n\r\n }\r\n\r\n setUserDetails(userDetails){\r\n var dob = { dd: '', mm: '', yy: '' };\r\n var givenName = userDetails.firstName || '';\r\n var middleName = userDetails.middleName || '';\r\n var familyName = userDetails.lastName || '';\r\n if(userDetails.dob &&userDetails.dob.yy){\r\n dob = this.props.userDetails.dob;\r\n } \r\n this.setState({ \r\n dlRequest: Object.assign({}, this.state.dlRequest, {dateOfBirth: dob, givenName, middleName, familyName} ),\r\n passportRequest: Object.assign({}, this.state.passportRequest, {dateOfBirth: dob, givenName, middleName, familyName} ),\r\n medicareRequest: Object.assign({}, this.state.medicareRequest, {dateOfBirth: dob, givenName, middleName, familyName} )\r\n }); \r\n }\r\n\r\n selectDocumentsDoneFromRole(roles) {\r\n \r\n var ret = getDvsInfoFromRoles(roles); \r\n this.setState(ret);\r\n return ret;\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n\r\n if (!nextProps.isAuthenticated) {\r\n // go back to login\r\n this.props.history.push(RoutesVariables.RouteLogin + '?retUrl=' + RoutesVariables.MyDetailsVerification);\r\n } \r\n }\r\n\r\n checkIdentityStatus(that, trackingReference){\r\n that.props.actions.getIdentityDocumentsValidation({trackingReference}).then(r =>{\r\n\r\n let errors = that.state.errors;\r\n let tryAgain = false;\r\n if(r.isCompleted){\r\n if(r.isRefreshToken){\r\n // refresh token (it worked)\r\n that.props.actions.refreshAuthentication().then(r =>{\r\n\r\n if(r.roles && hasOneRole(r.roles, USERROLES.IdentityVerified)){ \r\n var navigateUrl = r.redirect_uri;\r\n if(!navigateUrl){\r\n navigateUrl = RoutesVariables.RouteDashboard;\r\n var currentDocs = that.selectDocumentsDoneFromRole(r.roles);\r\n \r\n if(currentDocs.dvsCount > 1){\r\n navigateUrl = RoutesVariables.RouteCreditSummary;\r\n }\r\n } \r\n this.props.history.push(navigateUrl);\r\n }\r\n else{\r\n errors[\"global\"] = that.props.textVariants[pages.MYDETAILSVERIFICATION + that.props.textVariants.textVariantSeparator + \"identity_worked\"];\r\n that.setState({errors: errors, saving : false, diplaySavedMessage: false});\r\n }\r\n }).catch(e => {\r\n errors[\"global\"] = that.props.textVariants[pages.MYDETAILSVERIFICATION + that.props.textVariants.textVariantSeparator + \"refresh_identity_fails\"];\r\n that.setState({errors: errors, saving : false, diplaySavedMessage: false});\r\n });\r\n }\r\n else{\r\n\r\n errors[\"global\"] = that.props.textVariants[pages.MYDETAILSVERIFICATION + that.props.textVariants.textVariantSeparator + \"identity_failed\"];\r\n var genericTop = that.props.textVariants[pages.MYDETAILSVERIFICATION + that.props.textVariants.textVariantSeparator + \"identity_failed_generic\"];;\r\n var genericEnd = that.props.textVariants[pages.MYDETAILSVERIFICATION + that.props.textVariants.textVariantSeparator + \"identity_failed_end\"];;\r\n if(that.state.documentSelection == documentSelections.medicare){\r\n errors[\"global\"] = genericTop + that.props.textVariants[pages.MYDETAILSVERIFICATION + that.props.textVariants.textVariantSeparator + \"identity_failed_medicare\"] + genericEnd;\r\n errors[\"type\"] = documentSelections.medicare;\r\n \r\n } else if(that.state.documentSelection == documentSelections.passport){\r\n errors[\"global\"] = genericTop + that.props.textVariants[pages.MYDETAILSVERIFICATION + that.props.textVariants.textVariantSeparator + \"identity_failed_passport\"] + genericEnd;\r\n errors[\"type\"] = documentSelections.passport;\r\n \r\n } else if(that.state.documentSelection == documentSelections.driverLicence){\r\n errors[\"global\"] = genericTop + that.props.textVariants[pages.MYDETAILSVERIFICATION + that.props.textVariants.textVariantSeparator + \"identity_failed_driverlicence\"] + genericEnd;\r\n errors[\"type\"] = documentSelections.driverLicence;\r\n } \r\n\r\n that.setState({errors: errors, saving : false, diplaySavedMessage: false});\r\n } \r\n } else if(r.isInProgess){ \r\n tryAgain = true;\r\n }\r\n else if(r.isDeferred){\r\n errors[\"global\"] = that.props.textVariants[pages.MYDETAILSVERIFICATION + that.props.textVariants.textVariantSeparator + \"error_deferred\"];\r\n that.setState({errors: errors, saving : false, diplaySavedMessage: false});\r\n } else{\r\n tryAgain = true;\r\n } \r\n \r\n if(tryAgain){\r\n if(that.state.trackingCount < 10){\r\n that.setState({trackingCount: that.state.trackingCount + 1});\r\n setTimeout(() => {\r\n that.checkIdentityStatus(that, trackingReference);\r\n }, 5000); //GlobalVariables.SCORE_RETRY_TIMEOUT);\r\n }\r\n else{\r\n errors[\"global\"] = that.props.textVariants[pages.MYDETAILSVERIFICATION + that.props.textVariants.textVariantSeparator + \"error_deferred\"];\r\n that.setState({errors: errors, saving : false, diplaySavedMessage: false});\r\n }\r\n }\r\n\r\n }).catch(e => {\r\n let errors = that.state.errors;\r\n let msg = null;\r\n\r\n if (e.status == 400) {\r\n msg = that.props.textVariants[pages.MYDETAILSVERIFICATION + that.props.textVariants.textVariantSeparator + \"400_errorOnUpdate\"];\r\n } else if(e.status == 417){\r\n if(e.body && e.body.errorMessage){ \r\n msg = e.body.errorMessage; \r\n }\r\n \r\n if(!msg){\r\n msg = that.props.textVariants[pages.MYDETAILSVERIFICATION + that.props.textVariants.textVariantSeparator + \"417\"];\r\n }\r\n } else if (e.status == 500){\r\n msg = that.props.textVariants[\"Api_Generic\"];\r\n }\r\n else{\r\n msg = that.props.textVariants[\"Api_Generic\"];\r\n }\r\n\r\n errors[\"global\"] = msg;\r\n that.setState({errors: errors, saving : false, diplaySavedMessage: false});\r\n });\r\n }\r\n\r\n selectDocumentType(event, documentSelected){ \r\n this.setState({documentSelection: documentSelected, errors: {}});\r\n } \r\n \r\n onInitiateValidationRequest(event) {\r\n event.preventDefault();\r\n\r\n // todo change this part for the other documents\r\n this.validateIdentityDocumentRequest().then(validationResult => {\r\n if (validationResult.isValid) {\r\n this.setState({saving : true, diplaySavedMessage: false, trackingReference: null, errors: {}});\r\n \r\n this.initiateIdVerification().then(r => {\r\n\r\n this.setState({trackingReference: r.trackingReference, trackingCount: 0, errors: {}}); \r\n \r\n // Set timeout to check when it is finished\r\n var that = this;\r\n setTimeout(() => {\r\n that.checkIdentityStatus(that, r.trackingReference);\r\n }, GlobalVariables.SCORE_RETRY_TIMEOUT);\r\n\r\n\r\n }).catch(e => {\r\n let errors = this.state.errors;\r\n let msg = null;\r\n\r\n if (e.status == 400) {\r\n msg = this.props.textVariants[pages.MYDETAILSVERIFICATION + this.props.textVariants.textVariantSeparator + \"400_errorOnUpdate\"];\r\n\r\n } else if(e.status == 417){\r\n if(e.body){\r\n if(e.body.isDeferred){\r\n msg = this.props.textVariants[pages.MYDETAILSVERIFICATION + this.props.textVariants.textVariantSeparator + \"error_deferred\"];\r\n } else if(e.body.isDisabled){\r\n msg = this.props.textVariants[pages.MYDETAILSVERIFICATION + this.props.textVariants.textVariantSeparator + \"error_disabled\"];\r\n }\r\n }\r\n \r\n if(!msg){\r\n msg = this.props.textVariants[pages.MYDETAILSVERIFICATION + this.props.textVariants.textVariantSeparator + \"417\"];\r\n }\r\n\r\n } else if (e.status == 500){\r\n msg = this.props.textVariants[\"Api_Generic\"];\r\n }\r\n\r\n errors[\"global\"] = msg;\r\n this.setState({errors: errors, saving : false, diplaySavedMessage: false});\r\n });\r\n\r\n } else { \r\n this.setState({errors: validationResult.errors, saving: false});\r\n }\r\n });\r\n }\r\n\r\n initiateIdVerification(){\r\n\r\n var apidlRequest = {}; \r\n if(this.state.documentSelection == documentSelections.medicare){\r\n\r\n apidlRequest.givenName = this.state.medicareRequest.givenName;\r\n apidlRequest.middleName = this.state.medicareRequest.middleName;\r\n apidlRequest.familyName = this.state.medicareRequest.familyName; \r\n var dateParsed = HelperApi.getInnerDateOfBirthAndDobFromNumbers(this.state.medicareRequest.dateOfBirth.yy, this.state.medicareRequest.dateOfBirth.mm, this.state.medicareRequest.dateOfBirth.dd); \r\n apidlRequest.dateOfBirth = dateParsed.dateTypeObj;\r\n\r\n apidlRequest.medicare = {\r\n referenceNumber: this.state.medicareRequest.referenceNumber,\r\n number: this.state.medicareRequest.number,\r\n middleNameOnCard: this.state.medicareRequest.middleNameOnCard,\r\n dateOfExpiry: this.state.medicareRequest.dateOfExpiry.yy + '-' +\r\n this.state.medicareRequest.dateOfExpiry.mm +\r\n ((this.state.medicareRequest.cardColour == medicareCardColour.green)? '': ('-' + this.state.medicareRequest.dateOfExpiry.dd )),\r\n cardColour: this.state.medicareRequest.cardColour\r\n };\r\n } else if(this.state.documentSelection == documentSelections.passport){\r\n\r\n apidlRequest.givenName = this.state.passportRequest.givenName;\r\n apidlRequest.middleName = this.state.passportRequest.middleName;\r\n apidlRequest.familyName = this.state.passportRequest.familyName;\r\n var dateParsed = HelperApi.getInnerDateOfBirthAndDobFromNumbers(this.state.passportRequest.dateOfBirth.yy, this.state.passportRequest.dateOfBirth.mm, this.state.passportRequest.dateOfBirth.dd); \r\n apidlRequest.dateOfBirth = dateParsed.dateTypeObj;\r\n\r\n apidlRequest.passport = {\r\n countryCode: this.state.passportRequest.countryCode,\r\n number: this.state.passportRequest.number\r\n };\r\n } else if(this.state.documentSelection == documentSelections.driverLicence){\r\n\r\n apidlRequest.givenName = this.state.dlRequest.givenName;\r\n apidlRequest.middleName = this.state.dlRequest.middleName;\r\n apidlRequest.familyName = this.state.dlRequest.familyName;\r\n var dateParsed = HelperApi.getInnerDateOfBirthAndDobFromNumbers(this.state.dlRequest.dateOfBirth.yy, this.state.dlRequest.dateOfBirth.mm, this.state.dlRequest.dateOfBirth.dd); \r\n apidlRequest.dateOfBirth = dateParsed.dateTypeObj;\r\n \r\n apidlRequest.driversLicence = {\r\n stateCode: this.state.dlRequest.stateCode,\r\n number: this.state.dlRequest.number,\r\n cardNumber: this.state.dlRequest.cardNumber\r\n };\r\n } \r\n \r\n return this.props.actions.validateIdentityDocuments(apidlRequest);\r\n }\r\n\r\n validateIdentityDocumentRequest(){\r\n \r\n if(this.state.documentSelection == documentSelections.medicare)\r\n return ValidationApi.validateIdentityRequestMedicarePromise(this.state.medicareRequest);\r\n else if(this.state.documentSelection == documentSelections.passport)\r\n return ValidationApi.validateIdentityRequestPassportPromise(this.state.passportRequest);\r\n else if(this.state.documentSelection == documentSelections.driverLicence)\r\n return ValidationApi.validateIdentityRequestDLPromise(this.state.dlRequest);\r\n\r\n return Promise.resolve({isValid: false, validationResult: {errors:['Document not selected']}});\r\n } \r\n\r\n updateIdentityRequetInState(event) {\r\n \r\n const value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\r\n if(this.state.documentSelection == documentSelections.passport){\r\n const field = event.target.name;\r\n let passportRequest = this.state.passportRequest; \r\n passportRequest[field] = value;\r\n let errors = this.state.errors;\r\n errors[field] = '';\r\n return this.setState({ passportRequest: passportRequest, errors:errors });\r\n\r\n } else if(this.state.documentSelection == documentSelections.medicare){\r\n const field = event.target.name;\r\n let medicareRequest = this.state.medicareRequest;\r\n medicareRequest[field] = value;\r\n let errors = this.state.errors;\r\n errors[field] = '';\r\n return this.setState({ medicareRequest: medicareRequest, errors:errors });\r\n\r\n } else if(this.state.documentSelection == documentSelections.driverLicence){\r\n const field = event.target.name;\r\n let dlRequest = this.state.dlRequest;\r\n dlRequest[field] = value;\r\n let errors = this.state.errors;\r\n errors[field] = '';\r\n return this.setState({ dlRequest: dlRequest, errors:errors });\r\n } \r\n } \r\n\r\n onCancel(event){\r\n event.preventDefault();\r\n this.props.history.push(RoutesVariables.RouteDashboard);\r\n }\r\n\r\n render() {\r\n\r\n let pageContent = null;\r\n\r\n if (this.state.isServerError) {\r\n pageContent = ;\r\n }\r\n else if(!this.props.roles){\r\n pageContent =\r\n ;\r\n }\r\n else {\r\n \r\n let isInCohort = hasOneRole(this.props.roles, USERROLES.IsInCohort);\r\n let componentGenericProperties = {\r\n onSave: this.onInitiateValidationRequest,\r\n onChange: this.updateIdentityRequetInState,\r\n errors: this.state.errors,\r\n saving: this.state.saving, \r\n textVariants: this.props.textVariants \r\n }\r\n\r\n let currentDocumentForm = ;\r\n if(this.state.documentSelection == documentSelections.medicare)\r\n currentDocumentForm = this.selectDocumentType(null)} {...componentGenericProperties} />;\r\n else if(this.state.documentSelection == documentSelections.passport)\r\n currentDocumentForm = this.selectDocumentType(null)} {...componentGenericProperties} />;\r\n else if(this.state.documentSelection == documentSelections.driverLicence)\r\n currentDocumentForm = this.selectDocumentType(null)} {...componentGenericProperties} />; \r\n\r\n pageContent = \r\n <> this.selectDocumentType(null)}\r\n isDriverLicenceDone={this.state.isDriverLicenceDone}\r\n isMedicareDone={this.state.isMedicareDone}\r\n isPassportDone={this.state.isPassportDone}\r\n isInCohort={isInCohort}\r\n >\r\n {currentDocumentForm} \r\n \r\n \r\n \r\n ; \r\n\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {pageContent}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nMyDetailsVerificationPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.MYDETAILSVERIFICATION]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.MYDETAILSVERIFICATION];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants, \r\n isAuthenticated: state.userProfile.isAuthenticated,\r\n userDetails: state.userProfile.userDetails,\r\n roles: state.userProfile.roles \r\n //roles: `${USERROLES.IsInCohort},${USERROLES.TwoFactor}`\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MyDetailsVerificationPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { createBrowserHistory } from 'history';\r\n\r\nconst GoToPreviousPage = ({textVariants, containerCls}) => {\r\n let containerClassName = 'container-fluid ' + containerCls;\r\n const browserHistory = createBrowserHistory();\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default GoToPreviousPage;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js'\r\n\r\nimport ProductSection from './../sections/ProductSection';\r\nimport GetStartedSection from './../sections/GetStartedSection';\r\n\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as productActions from '../../redux/actions/productActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\n\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\nimport { createMarkup } from '../../components/shared/functions.js'\r\nimport GoToPreviousPage from '../common/controls/GoToPreviousPage';\r\n\r\nimport {iFrameResize} from 'iframe-resizer';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nconst $ = window.$;\r\n\r\nconst CreditCardTitle = ({ textVariants }) => {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    {textVariants[pages.CREDITCARDS + textVariants.textVariantSeparator + \"header\"]}

    \r\n

    {textVariants[pages.CREDITCARDS + textVariants.textVariantSeparator + \"Knowing_credit_score_text\"]}

    \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\nconst CreditCardTable = ({ textVariants }) => {\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\nclass CreditCardsPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.onGetScoreClick = this.onGetScoreClick.bind(this);\r\n this.refreshExternalHooks = this.refreshExternalHooks.bind(this);\r\n this.onProductClick = this.onProductClick.bind(this);\r\n this.onGetScoreClickToFreeScore = this.onGetScoreClickToFreeScore.bind(this);\r\n this.onLoginClick = this.onLoginClick.bind(this);\r\n this.redirect = this.redirect.bind(this);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.props.actions.getMenuForPage(pages.CREDITCARDS);\r\n this.props.actions.getTextVariants();\r\n this.props.actions.loadProducts();\r\n this.refreshExternalHooks();\r\n }\r\n\r\n refreshExternalHooks(){\r\n $(document).ready(function(){\r\n $('iframe').iFrameResize({});\r\n });\r\n }\r\n\r\n\r\n\r\n onGetScoreClick(event){\r\n\r\n this.props.actions.trackGetScoreButtonClick(event.target.id);\r\n if(this.props.isAuthenticated){\r\n this.redirect(RoutesVariables.RouteCreditScore);\r\n }\r\n else{\r\n this.redirect(RoutesVariables.RouteCreateAccount);\r\n }\r\n }\r\n\r\n redirect(url) {\r\n this.props.history.push(url);\r\n }\r\n\r\n onGetScoreClickToFreeScore(event){\r\n this.props.actions.trackButtonClick(pages.HOME, 'gcsBtn_getStarted');\r\n if(this.props.isAuthenticated){\r\n this.redirect(RoutesVariables.RouteCreditScore);\r\n }\r\n else{\r\n this.redirect(RoutesVariables.RouteFreeCreditScore);\r\n }\r\n }\r\n\r\n onLoginClick(event){\r\n this.props.actions.trackButtonClick(pages.HOME, 'login_splash');\r\n this.redirect(RoutesVariables.RouteLogin);\r\n }\r\n\r\n onProductClick(event, product) {\r\n this.props.actions.trackGcsProductClick(product, pages.CREDITCARDS);\r\n }\r\n\r\n render() {\r\n\r\n let mainComponent =
    ;\r\n\r\n if(this.props.textVariants){\r\n mainComponent =
    \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n }\r\n\r\n return ( mainComponent );\r\n }\r\n}\r\n\r\nCreditCardsPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n let menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.CREDITCARDS]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.CREDITCARDS];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n let products = [];\r\n if(state.productResult && state.productResult.products){\r\n\r\n let p = null;\r\n for(let i = 0; i < state.productResult.products.length; i++) {\r\n if((p = state.productResult.products[i]).linkRef != \"creditcard\"){\r\n products.push(p);\r\n }\r\n }\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n products : products,\r\n isAuthenticated: state.userProfile.isAuthenticated\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, productActions, layoutActions, trackingActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CreditCardsPage);\r\n","\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js'\r\n\r\nimport ProductSection from './../sections/ProductSection';\r\nimport GetStartedSection from './../sections/GetStartedSection';\r\n\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as productActions from '../../redux/actions/productActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\n\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\nimport * as funcs from '../../components/shared/functions.js';\r\nimport GoToPreviousPage from '../common/controls/GoToPreviousPage';\r\n\r\nimport {iFrameResize} from 'iframe-resizer';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nconst $ = window.$;\r\n\r\nconst PersonalLoansTitle = ({ textVariants }) => {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    {textVariants[pages.PERSONALLOANS + textVariants.textVariantSeparator + \"header\"]}

    \r\n

    {textVariants[pages.PERSONALLOANS + textVariants.textVariantSeparator + \"Knowing_credit_score_text\"]}

    \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\nconst PersonalLoansTable = ({ textVariants }) => {\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\nclass PersonalLoansPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.onGetScoreClick = this.onGetScoreClick.bind(this);\r\n this.refreshExternalHooks = this.refreshExternalHooks.bind(this);\r\n this.onProductClick = this.onProductClick.bind(this);\r\n this.onGetScoreClickToFreeScore = this.onGetScoreClickToFreeScore.bind(this);\r\n this.onLoginClick = this.onLoginClick.bind(this);\r\n this.redirect = this.redirect.bind(this);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.props.actions.getMenuForPage(pages.PERSONALLOANS);\r\n this.props.actions.getTextVariants();\r\n this.props.actions.loadProducts();\r\n this.refreshExternalHooks();\r\n }\r\n\r\n refreshExternalHooks(){\r\n $(document).ready(function(){\r\n $('iframe').iFrameResize({});\r\n });\r\n }\r\n\r\n\r\n\r\n onGetScoreClick(event){\r\n\r\n this.props.actions.trackGetScoreButtonClick(event.target.id);\r\n if(this.props.isAuthenticated){\r\n this.redirect(RoutesVariables.RouteCreditScore);\r\n }\r\n else{\r\n this.redirect(RoutesVariables.RouteCreateAccount);\r\n }\r\n }\r\n\r\n redirect(url) {\r\n this.props.history.push(url);\r\n }\r\n\r\n onGetScoreClickToFreeScore(event){\r\n this.props.actions.trackButtonClick(pages.PERSONALLOANS, 'gcsBtn_getStarted');\r\n if(this.props.isAuthenticated){\r\n this.redirect(RoutesVariables.RouteCreditScore);\r\n }\r\n else{\r\n this.redirect(RoutesVariables.RouteFreeCreditScore);\r\n }\r\n }\r\n\r\n onLoginClick(event){\r\n this.props.actions.trackButtonClick(pages.PERSONALLOANS, 'login_splash');\r\n this.redirect(RoutesVariables.RouteLogin);\r\n }\r\n\r\n onProductClick(event, product) {\r\n this.props.actions.trackGcsProductClick(product, pages.PERSONALLOANS);\r\n }\r\n\r\n render() {\r\n\r\n let mainComponent =
    ;\r\n\r\n if(this.props.textVariants){\r\n mainComponent =
    \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n }\r\n\r\n return ( mainComponent );\r\n }\r\n}\r\n\r\nPersonalLoansPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n let menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.PERSONALLOANS]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.PERSONALLOANS];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n let products = [];\r\n if(state.productResult && state.productResult.products){\r\n\r\n let p = null;\r\n for(let i = 0; i < state.productResult.products.length; i++) {\r\n if((p = state.productResult.products[i]).linkRef != \"personalloan\"){\r\n products.push(p);\r\n }\r\n }\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n products : products,\r\n isAuthenticated: state.userProfile.isAuthenticated\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, productActions, layoutActions, trackingActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PersonalLoansPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js'\r\n\r\nimport ProductSection from './../sections/ProductSection';\r\nimport GetStartedSection from './../sections/GetStartedSection';\r\n\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as productActions from '../../redux/actions/productActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\n\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\nimport * as funcs from '../../components/shared/functions.js';\r\nimport GoToPreviousPage from '../common/controls/GoToPreviousPage';\r\n\r\nimport {iFrameResize} from 'iframe-resizer';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nconst $ = window.$;\r\n\r\nconst CarLoansTitle = ({ textVariants }) => {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    {textVariants[pages.DEALS_CARLOANS + textVariants.textVariantSeparator + \"header\"]}

    \r\n

    {textVariants[pages.DEALS_CARLOANS + textVariants.textVariantSeparator + \"Knowing_credit_score_text\"]}

    \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\nconst CarLoansTable = ({ textVariants }) => {\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\nclass CarLoansPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.onGetScoreClick = this.onGetScoreClick.bind(this);\r\n this.refreshExternalHooks = this.refreshExternalHooks.bind(this);\r\n this.onProductClick = this.onProductClick.bind(this);\r\n this.onGetScoreClickToFreeScore = this.onGetScoreClickToFreeScore.bind(this);\r\n this.onLoginClick = this.onLoginClick.bind(this);\r\n this.redirect = this.redirect.bind(this);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.props.actions.getMenuForPage(pages.DEALS_CARLOANS);\r\n this.props.actions.getTextVariants();\r\n this.props.actions.loadProducts();\r\n this.refreshExternalHooks();\r\n }\r\n\r\n refreshExternalHooks(){\r\n $(document).ready(function(){\r\n $('iframe').iFrameResize({});\r\n });\r\n }\r\n\r\n\r\n\r\n onGetScoreClick(event){\r\n\r\n this.props.actions.trackGetScoreButtonClick(event.target.id);\r\n if(this.props.isAuthenticated){\r\n this.redirect(RoutesVariables.RouteCreditScore);\r\n }\r\n else{\r\n this.redirect(RoutesVariables.RouteCreateAccount);\r\n }\r\n }\r\n\r\n redirect(url) {\r\n this.props.history.push(url)\r\n }\r\n\r\n onGetScoreClickToFreeScore(event){\r\n this.props.actions.trackButtonClick(pages.DEALS_CARLOANS, 'gcsBtn_getStarted');\r\n if(this.props.isAuthenticated){\r\n this.redirect(RoutesVariables.RouteCreditScore);\r\n }\r\n else{\r\n this.redirect(RoutesVariables.RouteFreeCreditScore);\r\n }\r\n }\r\n\r\n onLoginClick(event){\r\n this.props.actions.trackButtonClick(pages.DEALS_CARLOANS, 'login_splash');\r\n this.redirect(RoutesVariables.RouteLogin);\r\n }\r\n\r\n onProductClick(event, product) {\r\n this.props.actions.trackGcsProductClick(product, pages.DEALS_CARLOANS);\r\n }\r\n\r\n render() {\r\n\r\n let mainComponent =
    ;\r\n\r\n if(this.props.textVariants){\r\n mainComponent =
    \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n }\r\n\r\n return ( mainComponent );\r\n }\r\n}\r\n\r\nCarLoansPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n let menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.DEALS_CARLOANS]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.DEALS_CARLOANS];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n let products = [];\r\n if(state.productResult && state.productResult.products){\r\n\r\n let p = null;\r\n for(let i = 0; i < state.productResult.products.length; i++) {\r\n if((p = state.productResult.products[i]).linkRef != \"autoloan\"){\r\n products.push(p);\r\n }\r\n }\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n products : products,\r\n isAuthenticated: state.userProfile.isAuthenticated\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, productActions, layoutActions, trackingActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CarLoansPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport LoadingIndicator from '../common/controls/LoadingIndicator';\r\nimport { createMarkup } from '../../components/shared/functions.js'\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\n\r\nconst CreditCardsBoxesContent = ({products, textVariants, onProductClick}) => {\r\n\r\n let columnClass = \"col-sm-4 col-xs-6\";\r\n\r\n var sectionContent = products.map(p =>\r\n {\r\n return (\r\n )\r\n })\r\n\r\n return (\r\n\r\n
    \r\n {sectionContent}\r\n
    \r\n )\r\n}\r\n\r\nCreditCardsBoxesContent.propTypes = {\r\n textVariants: PropTypes.object.isRequired,\r\n products: PropTypes.array.isRequired,\r\n onProductClick: PropTypes.func.isRequired\r\n};\r\n\r\nconst ProductSectionCompareCards = ({textVariants, onCreditCardComparisonTableClick}) => {\r\n\r\n return (\r\n
    \r\n

    \r\n \r\n \r\n here\r\n \r\n\r\n

    \r\n {textVariants[pages.CREDITCARDSOFFERS + textVariants.textVariantSeparator + \"cc_btncompare_text\"]}\r\n
    \r\n )\r\n}\r\n\r\nProductSectionCompareCards.propTypes = {\r\n textVariants: PropTypes.object.isRequired,\r\n onCreditCardComparisonTableClick : PropTypes.func.isRequired\r\n};\r\n\r\n\r\n\r\nconst ProductItemPreviewDescriptionItem = ({feature}) => {\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 ProductItemPreviewDescriptionItem.propTypes = {\r\n feature: PropTypes.object.isRequired\r\n };\r\n\r\nconst ProductItemPreview = ({product, onProductClick, textVariants}) => {\r\n\r\n var linkHref = product.href ? product.href : null;\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 product.features.map( feature => {\r\n return ()\r\n })\r\n }\r\n\r\n
    \r\n\r\n
    \r\n
    Revert Rate {product.revertRate}
    \r\n
    \r\n\r\n\r\n\r\n \r\n\r\n
    \r\n
    \r\n )\r\n};\r\n\r\nProductItemPreview.propTypes = {\r\n product: PropTypes.object.isRequired,\r\n onProductClick: PropTypes.func.isRequired,\r\n textVariants: PropTypes.object.isRequired,\r\n};\r\n\r\nconst CreditCardsBoxes = ({textVariants,\r\n loading,\r\n creditcards,\r\n onProductClick,\r\n disclaimer=textVariants[pages.CREDITCARDSOFFERS + textVariants.textVariantSeparator + \"disclaimer\"],\r\n onCreditCardComparisonTableClick}\r\n) => {\r\n\r\n var sectionContent = null;\r\n\r\n if (!creditcards || creditcards.length==0 || loading) {\r\n sectionContent = \r\n }\r\n else {\r\n sectionContent = ;\r\n }\r\n\r\n var sectionCls = 'credit-cards-boxes ' + pages.COMMON_SECTION_PADDING;\r\n\r\n return (\r\n\r\n
    \r\n\r\n
    \r\n\r\n {sectionContent}\r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n )\r\n};\r\n\r\nCreditCardsBoxes.propTypes = {\r\n textVariants: PropTypes.object.isRequired,\r\n creditcards: PropTypes.array.isRequired,\r\n onProductClick: PropTypes.func.isRequired,\r\n onCreditCardComparisonTableClick: PropTypes.func.isRequired\r\n};\r\n\r\nexport default CreditCardsBoxes;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport * as pages from '../shared/pages';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\nimport * as GlobalFixedVariables from '../../config/GlobalFixedVariables';\r\n\r\nimport Menu from '../menu/Menu.js'\r\nimport GetStartedSection from '../sections/GetStartedSection';\r\nimport CreditCardsBoxes from '../sections/CreditCardsBoxes.js';\r\nimport LoadingIndicator from '../common/controls/LoadingIndicator';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as productActions from '../../redux/actions/productActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\n\r\nimport { createMarkup } from '../../components/shared/functions.js';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nconst CreditCardOffersTitle = ({ textVariants, children}) => {\r\n\r\n return (\r\n
    \r\n {children}\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \"\"\r\n
    \r\n

    {textVariants[pages.CREDITCARDSOFFERS + textVariants.textVariantSeparator + \"header\"]}

    \r\n

    {textVariants[pages.CREDITCARDSOFFERS + textVariants.textVariantSeparator + \"cc_text\"]}

    \r\n

    {textVariants[pages.CREDITCARDSOFFERS + textVariants.textVariantSeparator + \"betterdeal_text\"]}

    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n const TermsConditions = ({disclaimer}) => {\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n }\r\n\r\n TermsConditions.propTypes = {\r\n disclaimer: PropTypes.string.isRequired\r\n };\r\n\r\n\r\nclass CreditCardOffers extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.onGetScoreClick = this.onGetScoreClick.bind(this);\r\n this.onProductClick = this.onProductClick.bind(this);\r\n this.onCreditCardComparisonTableClick = this.onCreditCardComparisonTableClick.bind(this);\r\n this.onGetScoreClickToFreeScore = this.onGetScoreClickToFreeScore.bind(this);\r\n this.onLoginClick = this.onLoginClick.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n this.props.actions.getMenuForPage(pages.CREDITCARDSOFFERS);\r\n this.props.actions.getTextVariants();\r\n this.props.actions.loadCreditCards();\r\n }\r\n\r\n onGetScoreClick(event){\r\n\r\n this.props.actions.trackGetScoreButtonClick(event.target.id);\r\n if(this.props.isAuthenticated){\r\n this.redirect(RoutesVariables.RouteCreditScore);\r\n }\r\n else{\r\n this.redirect(RoutesVariables.RouteCreateAccount);\r\n }\r\n }\r\n\r\n onGetScoreClickToFreeScore(event){\r\n this.props.actions.trackButtonClick(pages.CREDITCARDSOFFERS, 'gcsBtn_getStarted');\r\n if(this.props.isAuthenticated){\r\n this.redirect(RoutesVariables.RouteCreditScore);\r\n }\r\n else{\r\n this.redirect(RoutesVariables.RouteFreeCreditScore);\r\n }\r\n }\r\n\r\n onLoginClick(event){\r\n this.props.actions.trackButtonClick(pages.CREDITCARDSOFFERS, 'gcsBtn_getStarted');\r\n this.redirect(RoutesVariables.RouteLogin);\r\n }\r\n\r\n onCreditCardComparisonTableClick(){\r\n\r\n this.props.actions.trackGcsProductClick(\r\n {\r\n partnerId : GlobalFixedVariables.PARTNER_RATECITY,\r\n productTypeId: GlobalFixedVariables.PRODUCT_CREDITCARD,\r\n origin: pages.CREDITCARDSOFFERS\r\n }\r\n );\r\n }\r\n\r\n onProductClick(event, product) {\r\n this.props.actions.trackGcsProductClick(product, pages.CREDITCARDSOFFERS);\r\n }\r\n\r\n render() {\r\n\r\n let mainComponent =
    ;\r\n\r\n let menuComponent = ()\r\n\r\n if(this.props.textVariants){\r\n mainComponent =
    \r\n\r\n \r\n {menuComponent}\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n }\r\n\r\n return ( mainComponent );\r\n }\r\n}\r\n\r\nCreditCardOffers.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.CREDITCARDSOFFERS]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.CREDITCARDSOFFERS];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n\r\n let creditCards = [];\r\n let creditCardsLoading = null;\r\n if(state.creditCardsResult && state.creditCardsResult.products){\r\n creditCards = state.creditCardsResult.products;\r\n creditCardsLoading = state.creditCardsResult.loading;\r\n }\r\n\r\n let isAnonymous = true;\r\n if(state.productResult){\r\n isAnonymous = state.productMetadata.isAnonymous;\r\n }\r\n\r\n return {\r\n creditCards : creditCards,\r\n //productLoading: productLoading,\r\n isAnonymous: isAnonymous,\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n isAuthenticated: state.userProfile.isAuthenticated\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, productActions, trackingActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CreditCardOffers);\r\n","/// \r\n\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\nimport * as constants from '../shared/constants';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport Menu from '../menu/Menu';\r\n\r\nimport ProductSection from './../sections/ProductSection';\r\n\r\nimport * as productActions from '../../redux/actions/productActions';\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\n\r\nimport GoToPreviousPage from '../common/controls/GoToPreviousPage';\r\n\r\n\r\n//\r\n// import ProductApi from '../../api/mockProductApi.js'\r\n// import LayoutApi from '../../api/mockLayoutApi.js'\r\n// import ArticlesApi from '../../api/mockArticlesApi.js'\r\n\r\n\r\nconst InsuranceTitleComponent = ({textVariants}) => {\r\n\r\n\r\n let text = textVariants[pages.DEALS_INSURANCE + textVariants.textVariantSeparator + \"product_header_d\"];\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\nexport class InsurancePage extends React.Component{\r\n\r\n constructor(props, context){\r\n super(props, context);\r\n\r\n this.onProductClick = this.onProductClick.bind(this);\r\n }\r\n\r\n componentWillMount(){\r\n\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n }\r\n\r\n componentDidMount() {\r\n this.props.actions.getMenuForPage(pages.DEALS_INSURANCE);\r\n this.props.actions.loadProducts();\r\n this.props.actions.getTextVariants();\r\n }\r\n\r\n componentWillUnmount(){\r\n }\r\n\r\n onProductClick(event, product){\r\n\r\n this.props.actions.trackGcsProductClick(product, pages.DEALS_INSURANCE);\r\n }\r\n\r\n render(){ \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\nInsurancePage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.DEALS_INSURANCE]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.DEALS_INSURANCE];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n let products = [];\r\n let productLoading = null;\r\n if(state.productResult && state.productResult.products){\r\n\r\n productLoading = state.productResult.loading;\r\n\r\n if(!productLoading){\r\n let tmpProducts = state.productResult.products;\r\n let insuranceProduct = null;\r\n for(var i = 0; i < tmpProducts.length && insuranceProduct == null; i++){\r\n if(tmpProducts[i][\"id\"] == \"insurance\"){\r\n insuranceProduct = tmpProducts[i];\r\n }\r\n }\r\n\r\n if(insuranceProduct){\r\n products = [...insuranceProduct.subProducts];\r\n }\r\n }\r\n }\r\n\r\n let isAnonymous = true;\r\n if(state.productResult){\r\n isAnonymous = state.productResult.isAnonymous;\r\n }\r\n\r\n return {\r\n products : products,\r\n productLoading: productLoading,\r\n isAnonymous: isAnonymous,\r\n menuItemList: menuItems,\r\n textVariants: txtVariants\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, productActions, layoutActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(InsurancePage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js'\r\n\r\nimport ProductSection from './../sections/ProductSection';\r\nimport GetStartedSection from './../sections/GetStartedSection';\r\n\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as productActions from '../../redux/actions/productActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\n\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\nimport * as GlobalFixedVariables from '../../config/GlobalFixedVariables';\r\n\r\nimport * as funcs from '../../components/shared/functions.js';\r\nimport GoToPreviousPage from '../common/controls/GoToPreviousPage';\r\n\r\nimport {iFrameResize} from 'iframe-resizer';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nconst $ = window.$;\r\n\r\nconst HomeLoansTitle = ({ textVariants }) => {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    {textVariants[pages.DEALS_HOMELOANS + textVariants.textVariantSeparator + \"header\"]}

    \r\n

    {textVariants[pages.DEALS_HOMELOANS + textVariants.textVariantSeparator + \"Knowing_credit_score_text\"]}

    \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\nconst HomeLoansTable = ({ textVariants }) => {\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\nclass HomeLoanDealsPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.onGetScoreClick = this.onGetScoreClick.bind(this);\r\n this.refreshExternalHooks = this.refreshExternalHooks.bind(this);\r\n this.onProductClick = this.onProductClick.bind(this);\r\n this.onGetScoreClickToFreeScore = this.onGetScoreClickToFreeScore.bind(this);\r\n this.onLoginClick = this.onLoginClick.bind(this);\r\n this.redirect = this.redirect.bind(this);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.props.actions.getMenuForPage(pages.DEALS_HOMELOANS);\r\n this.props.actions.getTextVariants();\r\n this.props.actions.loadProducts();\r\n this.refreshExternalHooks();\r\n }\r\n\r\n refreshExternalHooks(){\r\n $(document).ready(function(){\r\n // $('iframe').iFrameResize( {log:true});\r\n $('iframe').iFrameResize({});\r\n });\r\n }\r\n\r\n\r\n onGetScoreClick(event){\r\n\r\n this.props.actions.trackGetScoreButtonClick(event.target.id);\r\n if(this.props.isAuthenticated){\r\n this.redirect(RoutesVariables.RouteCreditScore);\r\n }\r\n else{\r\n this.redirect(RoutesVariables.RouteCreateAccount);\r\n }\r\n }\r\n\r\n redirect(url) {\r\n this.props.history.push(url);\r\n }\r\n\r\n onGetScoreClickToFreeScore(event){\r\n this.props.actions.trackButtonClick(pages.HOME, 'gcsBtn_getStarted');\r\n if(this.props.isAuthenticated){\r\n this.redirect(RoutesVariables.RouteCreditScore);\r\n }\r\n else{\r\n this.redirect(RoutesVariables.RouteFreeCreditScore);\r\n }\r\n }\r\n\r\n onLoginClick(event){\r\n this.props.actions.trackButtonClick(pages.HOME, 'login_splash');\r\n this.redirect(RoutesVariables.RouteLogin);\r\n }\r\n\r\n onProductClick(event, product) {\r\n this.props.actions.trackGcsProductClick(product, pages.DEALS_HOMELOANS);\r\n }\r\n\r\n render() {\r\n\r\n let mainComponent =
    ;\r\n\r\n if(this.props.textVariants){\r\n mainComponent =
    \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n }\r\n\r\n return ( mainComponent );\r\n }\r\n}\r\n\r\nHomeLoanDealsPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n let menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.DEALS_HOMELOANS]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.DEALS_HOMELOANS];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n let products = [];\r\n if(state.productResult && state.productResult.products){\r\n\r\n let p = null;\r\n for(let i = 0; i < state.productResult.products.length; i++) {\r\n if((p = state.productResult.products[i]).linkRef != \"homeloan\"){\r\n products.push(p);\r\n }\r\n }\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n products : products,\r\n isAuthenticated: state.userProfile.isAuthenticated\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, productActions, layoutActions, trackingActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(HomeLoanDealsPage);\r\n","import delay from './delay';\r\nimport * as GlobalVariables from '../config/configureGlobalVariables';\r\n\r\n\r\nclass WizardApi {\r\n\r\n static getWizardProfile(csrfToken, type = \"hla\") {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/wizard/' + type;\r\n\r\n let headers = {}; \r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n let options = {\r\n method: 'GET',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers\r\n };\r\n\r\n return fetch(fullUrl, options).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n });\r\n }\r\n\r\n static saveWizardStep(csrfToken, type=\"hla\", step) {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/wizard/' + type;\r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n let options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers,\r\n body: JSON.stringify(step)\r\n }\r\n\r\n return fetch(fullUrl, options).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response;\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n });\r\n }\r\n};\r\n\r\nexport default WizardApi;\r\n","import React from 'react';\r\nimport * as funcs from '../../../shared/functions';\r\n\r\n\r\nconst $ = window.$;\r\n\r\nclass WizardErrorMessage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n }\r\n\r\n\r\n render() {\r\n let {message, wizardWarningMessageList, currentStep, wizardStepIndex, wizardStepsDef} = this.props;\r\n const isFinal = wizardStepsDef[currentStep][\"isFinalStep\"];\r\n\r\n const isInSpeakToExpertPath = currentStep === wizardStepIndex.stepIndexBrokerRefinanceWhatToDo\r\n || currentStep === wizardStepIndex.stepIndexBrokerBuyWhatToDo\r\n // || currentStep === wizardStepIndex.stepIndexBrokerCitizenOrPR\r\n || currentStep === wizardStepIndex.stepIndexBrokerFinish;\r\n\r\n let errorComponent =
    ;\r\n let warningListComponent =
    ;\r\n\r\n if (message) {\r\n errorComponent = (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    );\r\n }\r\n\r\n if (wizardWarningMessageList && !isFinal && !isInSpeakToExpertPath) {\r\n const warningList = wizardWarningMessageList.map((warning, i) =>\r\n
  • \r\n \r\n
  • \r\n );\r\n\r\n if (warningList.length > 0) {\r\n warningListComponent = (\r\n
    \r\n
    \r\n
      \r\n {warningList}\r\n
    \r\n
    \r\n
    );\r\n }\r\n }\r\n\r\n let component = (\r\n
    \r\n {errorComponent}\r\n {warningListComponent}\r\n
    );\r\n\r\n return (component);\r\n }\r\n}\r\n\r\nexport default WizardErrorMessage;\r\n","import React from 'react';\r\nimport * as ImagesPath from '../../../../config/imagesPath';\r\n\r\nconst ProgressActionButtons = ({onAction, step, stepsState, currentStepIndex, theme, isBack=false, isFootButtons = false}) => {\r\n // Count Enabled steps only\r\n let len = currentStepIndex;\r\n\r\n for (let i = currentStepIndex; i < stepsState.length; i++) {\r\n if (stepsState[i][\"enabled\"]) {\r\n len++;\r\n }\r\n }\r\n\r\n // show back if there is at least one back\r\n let showBack = false;\r\n\r\n for (let i = currentStepIndex - 1; i >= 0 && !showBack; i--) {\r\n if(stepsState[i][\"enabled\"]){\r\n showBack = true;\r\n }\r\n }\r\n\r\n let isCompleted = stepsState[currentStepIndex][\"isCompleted\"];\r\n //let showBack = currentStepIndex > 0;\r\n let showNext = currentStepIndex < len - 1;\r\n let showDone = currentStepIndex == len - 1 && !step[\"hideNavigationDone\"];\r\n let disabled = isCompleted ? \"\":\"disabled\";\r\n let linkStyle = \" btn wizard-navigation-btn \" + disabled;\r\n\r\n if (!isCompleted && disabled && step[\"stepSelectionnUnique\"]) {\r\n showNext = false;\r\n }\r\n\r\n return (\r\n <>\r\n { isFootButtons && (\r\n
    \r\n
    \r\n { showBack && isFootButtons && }\r\n
    \r\n
    \r\n { showNext && !showDone && !isBack && }\r\n { !showNext && showDone && !isBack && }\r\n
    \r\n
    \r\n )\r\n }\r\n { showBack && isBack && onAction(false)}>\"\"/ Back}\r\n \r\n );\r\n}\r\n\r\nexport default ProgressActionButtons;","import React from 'react';\r\nimport * as ImagesPath from '../../../../config/imagesPath';\r\nimport * as RoutesVariables from '../../../../config/routesVariables';\r\nimport ProgressActionButtons from './ProgressActionButtons';\r\n\r\nconst WizardProgressBar = ({wizardStepState, wizardStepsDef, currentStep, title, step=null, onAction=null, theme=null}) => {\r\n \r\n let max = 1;\r\n let completed = 0;\r\n let i = 0;\r\n\r\n if (wizardStepState && wizardStepsDef) {\r\n let cssClass = wizardStepsDef[currentStep] ? wizardStepsDef[currentStep].cssClass : \"\";\r\n\r\n for (i = 0; i < wizardStepState.length; i++) {\r\n if (wizardStepState[i][\"enabled\"]) {\r\n if (wizardStepState[i][\"isCompleted\"] || (wizardStepState[i][\"isWhenShowCompleted\"] && currentStep == i)) {\r\n completed++;\r\n }\r\n max++;\r\n }\r\n }\r\n\r\n let porcentage = (100.00 / max);\r\n porcentage = porcentage.toFixed(0);\r\n\r\n let safe = 0;\r\n\r\n while ((porcentage * max > 100) && safe < 7) {\r\n porcentage--;\r\n safe++;\r\n }\r\n\r\n let divStyle = {\r\n width: porcentage + '%'\r\n };\r\n\r\n if (completed > 0) {\r\n completed++;\r\n }\r\n\r\n // if(completed == (max - 2)){\r\n // completed++;\r\n // }\r\n\r\n let barItems = [];\r\n for (let j = 0; j < max; j++) {\r\n if (j < completed) {\r\n barItems.push(
    );\r\n }\r\n else {\r\n barItems.push(
    );\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n { !step[\"hideNavigation\"] &&\r\n \r\n }\r\n
    \r\n
    \r\n \"\"/\r\n
    \r\n
    \r\n

    {completed} {max} {title}

    \r\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 WizardProgressBar;","import React from 'react';\r\nimport * as funcs from '../../../shared/functions';\r\nimport ProgressActionButtons from './ProgressActionButtons';\r\nimport WizardErrorMessage from '../WizardCoreComponents/WizardErrorMessage'\r\n\r\nconst WizardTitle = ({wizardStepState, wizardStepIndex, wizardStepsDef, step}) => {\r\n let stepTitle = (typeof step.stepTitle === \"function\") \r\n ? step.stepTitle(wizardStepState, wizardStepIndex, wizardStepsDef) \r\n : step.stepTitle;\r\n\r\n let cssClass = stepTitle ? \"\" : step.cssClass;\r\n\r\n return (\r\n <>\r\n

    {stepTitle}

    \r\n

    {step[\"stepsInstruction\"]}

    \r\n \r\n );\r\n};\r\n\r\n\r\nconst WizardSelectionBoxCollection = ({wizardStepComponents,\r\n step,\r\n previousStep,\r\n currentStep,\r\n stepState,\r\n onUpdate,\r\n onCustomAction,\r\n identifier,\r\n theme,\r\n wizardStepState,\r\n wizardStepIndex,\r\n wizardStepsDef,\r\n onMoveStep= null,\r\n message=null,\r\n wizardWarningMessageList=null}) => {\r\n\r\n let Component = wizardStepComponents[step[\"step\"]];\r\n\r\n if (!Component) {\r\n Component =
    ;\r\n }\r\n\r\n let cssClass = \"\";\r\n\r\n if (previousStep != null && previousStep != currentStep) {\r\n cssClass = ((previousStep < currentStep )? \" slideInRight\": \" slideInLeft\") + \" animated\";\r\n }\r\n\r\n\r\n let classCol = \"col-xl-4 offset-xl-4 col-md-6 offset-md-3 col-12\";\r\n let hasImg = false;\r\n\r\n \r\n\r\n if(step[\"stepDefinition\"][\"actions\"] ){\r\n if(step[\"stepDefinition\"][\"actions\"].length > 0 ){\r\n if(step[\"stepDefinition\"][\"actions\"][0][\"imgUrl\"]) {\r\n classCol= \"col-lg-8 offset-lg-2 col-12\";\r\n hasImg = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {hasImg && \r\n <>\r\n
    \r\n
    \r\n \r\n \r\n { !step[\"hideNavigation\"] &&\r\n \r\n }\r\n \r\n
    \r\n
    \r\n {step[\"stepSubTitle\"] && {step[\"stepSubTitle\"]}}\r\n \r\n }\r\n {(!hasImg) && \r\n
    1 ? \"multiselect\" : \"\"}>\r\n \r\n \r\n { !step[\"hideNavigation\"] &&\r\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 WizardSelectionBoxCollection;\r\n","import React from 'react';\r\n\r\nimport WizardErrorMessage from './WizardErrorMessage';\r\nimport ProgressActionButtons from './ProgressActionButtons';\r\nimport WizardProgressBar from './WizardProgressBar';\r\nimport WizardSelectionBoxCollection from './WizardSelectionBoxCollection';\r\n\r\nfunction getWizardStep(wizardStepsDef, searchField, searchValue) {\r\n let item = null;\r\n\r\n if (wizardStepsDef && searchField) {\r\n let i = 0;\r\n let found = false;\r\n\r\n for (i = 0; i < wizardStepsDef.length && !found; i++) {\r\n if (wizardStepsDef[i][searchField] == searchValue) {\r\n found = true;\r\n item = wizardStepsDef[i];\r\n }\r\n }\r\n }\r\n\r\n return item;\r\n}\r\n\r\nexport const WizardBox = ({wizardStepComponents,\r\n wizardStepIndex,\r\n wizardStepsDef,\r\n previousStep,\r\n currentStep,\r\n wizardStepState,\r\n onUpdate,\r\n onCustomAction,\r\n onMoveStep,\r\n wizardErrorMessage,\r\n wizardWarningMessageList,\r\n identifier,\r\n theme}) => {\r\n\r\n let wizardCurrentStep = getWizardStep(wizardStepsDef, 'step', currentStep);\r\n let component =
    ;\r\n\r\n if (wizardCurrentStep) {\r\n let wizardCurrentStepState = wizardStepState[\"steps\"][currentStep];\r\n\r\n component =
    \r\n \r\n \r\n
    ;\r\n }\r\n\r\n return (component);\r\n}\r\n\r\nexport default WizardBox;\r\n","import $ from 'jquery'\r\n\r\n\r\nexport const refreshTonikWizard = () => {\r\n\r\n $('.form-other').on('click', function () {\r\n $(this).addClass('focus')\r\n if (!$(this).hasClass('other-checkbox')) {\r\n $('.form-check .input-radio').prop('checked', false)\r\n }\r\n })\r\n\r\n return;\r\n}\r\n \r\nexport const initTonikWizard = () =>{\r\n\r\n $(document).on('click', function (e) {\r\n if (!$('.form-other').is(e.target) && $('.form-other').has(e.target).length === 0) {\r\n $('.form-other').removeClass('focus')\r\n }\r\n });\r\n\r\n refreshTonikWizard();\r\n\r\nreturn;\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport * as funcs from '../../shared/functions';\r\n\r\nimport Menu from '../../menu/Menu.js';\r\nimport * as pages from '../../shared/pages';\r\n\r\nimport * as layoutActions from '../../../redux/actions/layoutActions';\r\nimport * as userActions from '../../../redux/actions/userActions';\r\n\r\nimport ValidationApi from '../../../api/validationApi.js';\r\nimport UserApi from '../../../api/mockUserApi.js';\r\nimport HelperApi from '../../../api/HelperApi.js';\r\n\r\nimport LoadingIndicator from '../controls/LoadingIndicator';\r\nimport {ApiFailedToLoadComponentWithText} from '../ApiFailedToLoadComponent';\r\nimport LoginTermsAndConditions from '../../login/LoginTermsAndConditions';\r\n\r\nimport * as GlobalVariables from '../../../config/configureGlobalVariables';\r\n\r\nimport WizardBox from './WizardCoreComponents/WizardBox';\r\nimport * as RoutesVariables from '../../../config/routesVariables';\r\n\r\nimport {initTonikWizard,refreshTonikWizard} from '../../../tonik/wizard';\r\n\r\nexport class WizardCoreClass extends React.Component {\r\n\r\n searchItem (wizardStepsDef, searchField, searchValue) {\r\n let item = null;\r\n\r\n if (wizardStepsDef && searchField) {\r\n let i = 0;\r\n let found = false;\r\n\r\n for (i = 0; i < wizardStepsDef.length && !found; i++) {\r\n if (wizardStepsDef[i][searchField] == searchValue) {\r\n found = true;\r\n item = wizardStepsDef[i];\r\n }\r\n }\r\n }\r\n\r\n return item;\r\n }\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n wizardStepState : this._getInitialState(),\r\n wizardStepIndex: this._getStepIndex(),\r\n wizardStepsDef: this._getStepDefinition(),\r\n wizardStepComponents: this._getWizardComponents(),\r\n wizardCurrentStep: 0,\r\n wizardPreviousStep: null,\r\n wizardErrorMessage: '',\r\n wizardWarningMessageList: null,\r\n\r\n innerErrorMessage: 'Please select an option to continue',\r\n initialProfileLoaded: false,\r\n isMobile: false\r\n };\r\n\r\n this.theme = this._getTheme();\r\n\r\n this.searchItem = this.searchItem.bind(this);\r\n this.onUpdate = this.onUpdate.bind(this);\r\n this.onMoveStep = this.onMoveStep.bind(this);\r\n this.isStepCompleted = this.isStepCompleted.bind(this);\r\n this.onCustomAction = this.onCustomAction.bind(this);\r\n this.refreshNavigationFlow = this.refreshNavigationFlow.bind(this);\r\n this._trackViewStep = this._trackViewStep.bind(this);\r\n this._getInitialState = this._getInitialState.bind(this);\r\n this._refreshNavigationFlow = this._refreshNavigationFlow.bind(this);\r\n this._getStepDefinition = this._getStepDefinition.bind(this);\r\n this._getWizardComponents = this._getWizardComponents.bind(this);\r\n this._getStepIndex = this._getStepIndex.bind(this);\r\n this._getTheme = this._getTheme.bind(this);\r\n this._setGlobalErrorList = this._setGlobalErrorList.bind(this);\r\n this._onSaveStep = this._onSaveStep.bind(this);\r\n this._onCustomAction = this._onCustomAction.bind(this);\r\n this._loadExtraConfiguration = this._loadExtraConfiguration.bind(this);\r\n this._getGeneralRuleValidator = this._getGeneralRuleValidator.bind(this);\r\n }\r\n\r\n _getInitialState(){\r\n return null;\r\n }\r\n\r\n _getTheme(){\r\n return null;\r\n }\r\n\r\n _getWizardComponents(){\r\n return null;\r\n }\r\n\r\n _getStepIndex(){\r\n return null;\r\n }\r\n\r\n _getStepDefinition(){\r\n return null;\r\n }\r\n\r\n _setGlobalErrorList(list){\r\n this.setState({wizardWarningMessageList: list});\r\n }\r\n\r\n _onSaveStep(savedStateStep, stepDefinition){\r\n }\r\n\r\n _onCustomAction(fullStep, stepState, stepsDefinition, stepsState, stepIndex){\r\n }\r\n\r\n _trackViewStep(actionStr, stepDefinition, currentStep){\r\n }\r\n\r\n _refreshNavigationFlow(wizardStepIndex, stepsState){\r\n }\r\n\r\n _loadExtraConfiguration(wizardState, extraConfig){\r\n }\r\n\r\n _getGeneralRuleValidator(stepsState){\r\n return null;\r\n }\r\n\r\n componentDidMount() {\r\n this.setInitialState();\r\n window.scrollTo(0,0);\r\n //window['initAppJs'](true);\r\n initTonikWizard();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n }\r\n\r\n componentDidUpdate() {\r\n // window.scrollTo(0,0);\r\n // if(this.state.isMobile){\r\n // window.scrollTo(0,0);\r\n // window.scrollBy(0,71);\r\n // }\r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n onCustomAction(step, stepState) {\r\n // Save the participation\r\n this._onCustomAction(step, stepState, this.state.wizardStepsDef, this.state.wizardStepState, this.state.wizardCurrentStep);\r\n this._trackViewStep('View-Custom-Action', this.state.wizardStepsDef[this.state.wizardCurrentStep][\"id\"], step[\"step\"]);\r\n\r\n // Change final step\r\n var newStepState = Object.assign({}, this.state.wizardStepState);\r\n //newStepState.promotionEnabled = false;\r\n this.refreshNavigationFlow(newStepState);// Is this necessary?\r\n this.setState({wizardStepState: newStepState});\r\n this.onMoveStep(true);\r\n }\r\n\r\n isStepCompleted(stepDef, stepState, stepIndex){\r\n let errorMessage = null;\r\n\r\n if(!stepDef[\"isOptionalStep\"]){\r\n\r\n if (stepState[\"selectedTexts\"] && stepDef[\"stepDefinition\"] && stepDef[\"stepDefinition\"][\"inputs\"] && stepDef[\"stepDefinition\"][\"inputs\"].length > 0) {\r\n let isEmpty = false;\r\n var inputs = stepDef[\"stepDefinition\"][\"inputs\"];\r\n\r\n for (let i = 0; i < inputs.length && !isEmpty; i++) {\r\n if(!stepState.selectedTexts[i]){\r\n isEmpty = true;\r\n }\r\n }\r\n\r\n if (isEmpty) {\r\n errorMessage = \"Please fill the textbox\";\r\n }\r\n } else if (stepState[\"selectedItems\"] && stepState[\"selectedItems\"].length > 0) { // it should be\r\n //let stepDef = wizardStepsDef[stepIndex];\r\n // needs to have at least one selected item and if it is the extra, the text not empty\r\n let selItemIndex = 0;\r\n let found = false;\r\n\r\n for (selItemIndex = 0; selItemIndex < stepState.selectedItems.length && !found; selItemIndex++) {\r\n if(stepState.selectedItems[selItemIndex]){\r\n found = true;\r\n }\r\n }\r\n\r\n if (!found) {\r\n errorMessage = \"Please select an option to continue\";\r\n } else {\r\n // check the text as Well\r\n if(!stepDef[\"stepExtraDisabled\"]){\r\n if(stepState.selectedItems[stepDef[\"selectedExtraIndex\"]]){\r\n // Must have text completed\r\n if(!stepState[\"selectedExtraText\"]){\r\n errorMessage = \"Please fill the textbox\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return errorMessage;\r\n }\r\n\r\n refreshNavigationFlow(stepsState){\r\n let wizardStepIndex = this._getStepIndex();\r\n this._refreshNavigationFlow(wizardStepIndex, stepsState);\r\n }\r\n\r\n onUpdate(stepId, stepIndex, actionId, extraValue, isEnterPressed, inputKeyValueArray){ // inputKey, inputValue){\r\n \r\n var shouldMoveStep = false;\r\n var savedState = Object.assign({}, this.state.wizardStepState);\r\n var savedStateStep = savedState.steps[stepIndex];\r\n\r\n // savedState.steps = [...savedState.steps];\r\n // var savedStateStep = Object.assign({}, savedState.steps[stepIndex]);\r\n // savedState.steps[stepIndex] = savedStateStep;\r\n // savedStateStep[\"selectedItems\"] = [...savedStateStep[\"selectedItems\"]];\r\n // savedStateStep[\"selectedTexts\"] = [...savedStateStep[\"selectedTexts\"]];\r\n\r\n savedStateStep.errorMessage = \"\";\r\n\r\n var stepDef = this.state.wizardStepsDef[stepIndex];\r\n\r\n if (actionId == 'e' && extraValue != savedStateStep.selectedExtraText) {\r\n // Update text\r\n savedStateStep.selectedExtraText = extraValue;\r\n savedStateStep.isDirty = true;\r\n } else if (actionId == 'keyvalue' && inputKeyValueArray) {\r\n for (let kvIndex = 0; kvIndex < inputKeyValueArray.length; kvIndex++) {\r\n if (savedStateStep[\"selectedTexts\"][inputKeyValueArray[kvIndex][\"inputKey\"]] != inputKeyValueArray[kvIndex][\"inputValue\"]) {\r\n savedStateStep[\"selectedTexts\"][inputKeyValueArray[kvIndex][\"inputKey\"]] = inputKeyValueArray[kvIndex][\"inputValue\"];\r\n savedStateStep.isDirty = true;\r\n }\r\n }\r\n // }\r\n // else if(actionId == 'amount' && extraValue != savedStateStep.selectedExtraText){\r\n // savedStateStep.selectedExtraText = extraValue;\r\n } else {\r\n savedStateStep.isDirty = true;\r\n if(stepDef[\"stepSelectionnUnique\"]){\r\n // Clean other selections\r\n let i = 0;\r\n\r\n for (i = 0; i < savedStateStep.selectedItems.length; i++) {\r\n if ( i != actionId) {\r\n if (savedStateStep.selectedItems[i]) {\r\n // track unselect\r\n //this.props.actions.trackAboutMe('Unselect', stepId, actionId);\r\n }\r\n\r\n savedStateStep.selectedItems[i] = false;\r\n }\r\n }\r\n }\r\n\r\n // Select value\r\n if (savedStateStep.selectedItems.length > 0) {\r\n //this.props.actions.trackAboutMe(savedStateStep.selectedItems[actionId] ? 'Unselect':'Select', stepId, actionId);\r\n if (stepDef[\"stepShouldAlwaysSelect\"]) {\r\n savedStateStep.selectedItems[actionId] = true;\r\n } else {\r\n savedStateStep.selectedItems[actionId] = !savedStateStep.selectedItems[actionId];\r\n }\r\n }\r\n\r\n \r\n }\r\n\r\n // Run validation and complete step\r\n let errorMessage = this.isStepCompleted(stepDef, savedStateStep, stepIndex);\r\n\r\n if (!errorMessage) {\r\n savedStateStep.isCompleted = true;\r\n errorMessage = 'Please select an option to continue';\r\n\r\n if (stepDef[\"shouldMoveOnAction\"]) {\r\n shouldMoveStep = true;\r\n }\r\n\r\n if (isEnterPressed) {\r\n shouldMoveStep = true;\r\n }\r\n } else {\r\n savedStateStep.isCompleted = false;\r\n }\r\n\r\n // Manage with states are enabled\r\n this.refreshNavigationFlow(savedState);\r\n\r\n this.setState({wizardStepState : savedState, wizardErrorMessage: '', innerErrorMessage: errorMessage}, () => {\r\n if(shouldMoveStep){\r\n this.onMoveStep(true);\r\n }\r\n });\r\n }\r\n\r\n onMoveStep(moveForward, actionText) {\r\n\r\n if (actionText == 'done') {\r\n //this.props.history.push('/'); // Action => go back home\r\n window.location.href = RoutesVariables.RouteHome;\r\n\r\n } else {\r\n const savedState = Object.assign({}, this.state.wizardStepState);\r\n const savedStateStep = savedState.steps[this.state.wizardCurrentStep];\r\n //const currentStepIndex = this.state.wizardCurrentStep;\r\n const currentStepState = this.state.wizardStepState.steps[this.state.wizardCurrentStep];\r\n\r\n const generalValidatorFunction = this._getGeneralRuleValidator(this.state.wizardStepState);\r\n\r\n if (this.state.wizardWarningMessageList) {\r\n let globalWarningList = null;\r\n if(this.state.wizardWarningMessageList.length > 0){\r\n if(generalValidatorFunction){\r\n globalWarningList = generalValidatorFunction(currentStepState, this.state.wizardStepState.steps, this.state.wizardStepsDef).errorList;\r\n }\r\n }\r\n\r\n this._setGlobalErrorList(globalWarningList);\r\n }\r\n\r\n if (moveForward) {\r\n let stepDef = this.state.wizardStepsDef[this.state.wizardCurrentStep];\r\n let isStepValid = true;\r\n\r\n if (stepDef.validate) {\r\n const validationResult = stepDef.validate(currentStepState, this.state.wizardStepState.steps, this.state.wizardStepsDef);\r\n isStepValid = validationResult.isValid;\r\n currentStepState.errorMessage = isStepValid ? \"\" : validationResult.errorMessage;\r\n }\r\n\r\n const isStepValidated = !!this.state.wizardErrorMessage || isStepValid;\r\n\r\n if (isStepValidated) {\r\n this.setState({ wizardErrorMessage: \"\" });\r\n // Move to an enabled one\r\n if (savedStateStep.isCompleted || savedStateStep[\"isWhenShowCompleted\"]) {\r\n let originalCurrent = this.state.wizardCurrentStep;\r\n let current = this.state.wizardCurrentStep + 1;\r\n while(current < savedState.steps.length && !savedState.steps[current].enabled){\r\n current++;\r\n }\r\n\r\n if(current >= savedState.steps.length){\r\n current = originalCurrent;\r\n }\r\n\r\n // Save current selection\r\n if(savedStateStep.isDirty){\r\n this._onSaveStep(savedStateStep, this.state.wizardStepsDef[originalCurrent]);\r\n savedStateStep.isDirty = false;\r\n this.setState({wizardStepState : savedState});\r\n }\r\n\r\n if(this.state.wizardStepsDef[current][\"isFinalStep\"]){ // this is the first time\r\n if(generalValidatorFunction){\r\n let globalWarningList = generalValidatorFunction(currentStepState, this.state.wizardStepState.steps, this.state.wizardStepsDef).errorList;\r\n this._setGlobalErrorList(globalWarningList);\r\n }\r\n }\r\n\r\n if(current != originalCurrent){\r\n this.setState({wizardCurrentStep : current, wizardPreviousStep: this.state.wizardCurrentStep, wizardErrorMessage: savedState.steps[current].errorMessage });\r\n\r\n // Track in GA\r\n this._trackViewStep('View Step', this.state.wizardStepsDef[current].id, current);\r\n } \r\n\r\n } else {\r\n this.setState({wizardErrorMessage: this.state.innerErrorMessage});\r\n }\r\n\r\n } else {\r\n this.setState({ wizardErrorMessage: currentStepState.errorMessage });\r\n }\r\n \r\n\r\n }\r\n else {\r\n // if (currentStepIndex === StepsIndexHLA.stepIndexBrokerFinish) {\r\n // currentStepState.selectedItems[0] = false;\r\n // }\r\n\r\n let currentIndex = parseInt(this.state.wizardCurrentStep, 10) - 1;\r\n\r\n while (currentIndex >= 0 && !savedState.steps[currentIndex].enabled) {\r\n currentIndex--;\r\n }\r\n\r\n if (!currentIndex || currentIndex < 0 ) {\r\n currentIndex = 0;\r\n }\r\n\r\n if (savedState.steps[currentIndex].enabled) {\r\n this.setState({\r\n wizardCurrentStep : currentIndex,\r\n wizardPreviousStep: this.state.wizardCurrentStep,\r\n wizardErrorMessage: savedState.steps[currentIndex].errorMessage\r\n });\r\n this._trackViewStep('View Step', this.state.wizardStepsDef[currentIndex].id, currentIndex);\r\n }\r\n }\r\n }\r\n\r\n refreshTonikWizard();\r\n //window['initAppJs'](true);\r\n \r\n }\r\n\r\n\r\n setInitialState(){\r\n let wizardState = this.state.wizardStepState;\r\n const wizardStepsDef = this.state.wizardStepsDef;\r\n let currentStepIndex = this.state.wizardCurrentStep;\r\n let onlyOnce = false;\r\n\r\n if(this.props.initialProfile && !this.state.initialProfileLoaded){\r\n var initProfile = this.props.initialProfile;\r\n //wizardStepState.promotionEnabled = initProfile.promotionEnabled;\r\n\r\n this.setState({initialProfileLoaded: true});\r\n\r\n if(initProfile.steps && initProfile.steps.length > 0){\r\n wizardState = Object.assign({}, this.state.wizardStepState);\r\n\r\n // if any extra visibility configuration came from server\r\n // if(var stepsConfig = initProfile[\"stepsConfiguration\"]){\r\n // for(var configIndex = 0; configIndex < stepsConfig.length; configIndex++){\r\n // var stepConfigItem = stepsConfig[configIndex];\r\n // wizardState.steps[stepConfigItem[\"stepIndex\"]].enabled = stepConfigItem[\"enabled\"];\r\n // }\r\n // }\r\n\r\n // if(initProfile[\"extra\"]){\r\n // this._loadExtraConfiguration(wizardState, initProfile[\"extra\"]);\r\n // }\r\n\r\n for(let i = 0; i < wizardState.steps.length; i++){\r\n var sStep = wizardState.steps[i];\r\n var stepDef = this.state.wizardStepsDef[i];\r\n\r\n\r\n var initStep = this.searchItem(initProfile.steps, 'stepCode', stepDef.id);\r\n if(initStep){\r\n sStep.isCompleted = initStep.isCompleted;\r\n // Selected Items\r\n if(initStep[\"selectedItems\"]){\r\n for(let j = 0; j < initStep.selectedItems.length; j++){\r\n if(initStep.selectedItems[j]){\r\n sStep.selectedItems[j] = true;\r\n }\r\n }\r\n\r\n if(initStep[\"selectedExtraText\"]){\r\n sStep.selectedExtraText = initStep[\"selectedExtraText\"];\r\n }\r\n }\r\n\r\n if(initStep[\"selectedTexts\"] && sStep[\"selectedTexts\"]){\r\n for(let j = 0; j < initStep.selectedTexts.length; j++){\r\n if(initStep.selectedTexts[j]){\r\n sStep.selectedTexts[j] = initStep.selectedTexts[j];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.refreshNavigationFlow(this.state.wizardStepState);\r\n\r\n // ensure the first step is enabled\r\n for(let i = 0; i < wizardState.steps.length && !onlyOnce; i++){\r\n var sStep2 = wizardState.steps[i];\r\n if(!sStep2.enabled && !onlyOnce){\r\n currentStepIndex++;\r\n }\r\n else{\r\n onlyOnce = true;\r\n }\r\n }\r\n\r\n this._trackViewStep('View Step', this.state.wizardStepsDef[this.state.wizardCurrentStep], this.state.wizardCurrentStep);\r\n\r\n // run all def rules\r\n for (let i = 0; i < wizardState.steps.length; i++) {\r\n let stepState = wizardState.steps[i];\r\n let stepDef = wizardStepsDef[i];\r\n\r\n if (stepState.enabled && stepDef.validate) {\r\n const validationResult = stepDef.validate(stepState, wizardStepsDef);\r\n\r\n if (!validationResult.isValid) {\r\n stepState.errorMessage = validationResult.errorMessage;\r\n }\r\n }\r\n }\r\n\r\n this.setState ({wizardStepState: wizardState, wizardCurrentStep: currentStepIndex, isMobile: funcs.isMobileDevice()});\r\n\r\n return wizardState;\r\n }\r\n}\r\n\r\nWizardCoreClass.contextTypes = {\r\n router: PropTypes.object\r\n};","import React from 'react';\r\nimport * as funcs from '../../../shared/functions';\r\n\r\nconst HLAOptionButton = ({item, showInCols, cssClass = \"\", isSelected, onClick, isSelectedExtraIndex = false,onSubmitExtraIndex =null, valueExtraText=null, onChangeExtraText=null}) => {\r\n let component = null;\r\n let cssClassBtn = showInCols > 1 ? \"input-withborder\" : \"input-radio\";\r\n let cssClassBtnExtraType = showInCols > 1 ? \"other-checkbox\" : \"\";\r\n let cssClassBtnExtra = cssClassBtnExtraType + (isSelected ? \" focus\": \"\");\r\n cssClassBtnExtra += ((isSelected && cssClassBtnExtraType == \"\") ? \" filled\": \"\");\r\n let type = showInCols > 1 ? \"checkbox\" : \"radio\";\r\n \r\n\r\n let isTextOutside = item[\"isTextOutside\"];\r\n let selectedClass = isSelected ? \" selected \":\"\";\r\n\r\n let closeOther = (tagName) => {\r\n if(tagName == 'INPUT') {\r\n return;\r\n }\r\n onClick()\r\n }\r\n\r\n if (item[\"imgUrl\"]) {\r\n if (!isTextOutside) {\r\n component =
    \r\n \r\n \r\n
    \r\n } else {\r\n component = \r\n \r\n
    \r\n \r\n \r\n
    ;\r\n }\r\n } else {\r\n if(isSelectedExtraIndex){\r\n component = (\r\n
    \r\n
    { closeOther(e.target.tagName) }} >\r\n \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n else {\r\n component =
    \r\n \r\n \r\n
    ;\r\n }\r\n }\r\n\r\n return (component);\r\n}\r\n\r\nexport default HLAOptionButton;","import React from 'react';\r\nimport * as funcs from '../../../shared/functions';\r\nimport HLAOptionButton from './HLAOptionButton';\r\n\r\nconst HLAOptionButtons = ({step, stepState, onUpdate, cssClass, theme}) => {\r\n let component =
    ;\r\n\r\n let updateText = function(event, stepId, stepNro, questionId) {\r\n onUpdate(stepId, stepNro, questionId, event.target.value);\r\n };\r\n\r\n let moveForward = function(e) {\r\n e.preventDefault();\r\n onUpdate(step[\"id\"], step[\"step\"], 'keyvalue', stepState.selectedExtraText, true);\r\n }\r\n\r\n if (step && stepState) {\r\n let i = 0;\r\n var actions = step[\"stepDefinition\"][\"actions\"];\r\n let len = actions[\"length\"];\r\n let showInCols = step[\"stepDefinition\"][\"showInCols\"];\r\n\r\n if (!showInCols) {\r\n showInCols = 2;\r\n }\r\n\r\n let colNumber = 12 / showInCols;\r\n let modCol = len % showInCols;\r\n let lastNumCols = 0;\r\n\r\n if (modCol != 0) {\r\n lastNumCols = showInCols - modCol;\r\n }\r\n\r\n let offsetCol = \"\";\r\n let rows = [];\r\n let buttonArray = [];\r\n let rowColCounter = 0;\r\n\r\n while (i < len) {\r\n offsetCol = \"\";\r\n let r1 = actions[i];\r\n let r1IsSelected = stepState.selectedItems[i];\r\n\r\n if (modCol != 0 && (i == len - modCol)) {\r\n let offsetNumber = parseInt((12 - (colNumber * modCol)) / 2);\r\n offsetCol = \"col-xs-offset-\" + offsetNumber;\r\n }\r\n\r\n var item = null;\r\n if(step[\"selectedExtraIndex\"] == i && !step[\"stepExtraDisabled\"]){\r\n item = onUpdate(step[\"id\"], step[\"step\"], r1[\"id\"])} item={r1} isSelected={r1IsSelected} isSelectedExtraIndex={true} onSubmitExtraIndex={(e) => moveForward(e)} valueExtraText={stepState.selectedExtraText} onChangeExtraText={(evt) => updateText(evt, step[\"id\"], step[\"step\"], 'e')}/>\r\n }\r\n else {\r\n item = onUpdate(step[\"id\"], step[\"step\"], r1[\"id\"])} item={r1} isSelected={r1IsSelected} />\r\n }\r\n buttonArray.push(\r\n item\r\n );\r\n\r\n rowColCounter = rowColCounter + colNumber;\r\n\r\n if (rowColCounter >= 12 || i == (len - 1)) {\r\n rows.push(\r\n buttonArray\r\n );\r\n\r\n rowColCounter = 0;\r\n buttonArray = [];\r\n }\r\n\r\n i++;\r\n }\r\n\r\n let extraComponent =
    ;\r\n\r\n if (stepState.selectedItems[step[\"selectedExtraIndex\"]] && !step[\"stepExtraDisabled\"]) {\r\n extraComponent =
    \r\n
    \r\n
    moveForward(e)}>\r\n
    \r\n \r\n updateText(evt, step[\"id\"], step[\"step\"], 'e')} />\r\n
    \r\n
    \r\n
    \r\n
    ;\r\n }\r\n\r\n component = rows\r\n }\r\n\r\n return (component);\r\n}\r\n\r\nexport default HLAOptionButtons;\r\n","import React from 'react';\r\nimport HelperApi from '../../../../api/HelperApi';\r\nimport * as funcs from '../../../shared/functions';\r\n\r\nconst HLAAmountPicker = ({step, stepState, wizardStepState, wizardStepIndex, wizardStepsDef, onUpdate, cssClass}) => {\r\n let component =
    ;\r\n let _key = 0;\r\n\r\n let updateText = function(event, stepId, stepNro, questionId, key) {\r\n const unmaskedValue = HelperApi.removeCommaSeparators(event.target.value);\r\n onUpdate(stepId, stepNro, questionId, null, false, [{inputKey: key, inputValue: unmaskedValue}]);\r\n };\r\n\r\n let moveForward = function(e) {\r\n e.preventDefault();\r\n onUpdate(step[\"id\"], step[\"step\"], 'keyvalue', null, true, [{inputKey: _key, inputValue: stepState[\"selectedTexts\"][_key]}]);\r\n\r\n };\r\n\r\n if (step && stepState) {\r\n let i = 0;\r\n const maskedValue = HelperApi.toThousandSeparatedFormat(stepState[\"selectedTexts\"][_key]);\r\n let stepsInstruction = (typeof step[\"stepsInstruction\"] === \"function\")\r\n ? step.stepsInstruction(wizardStepState, wizardStepIndex, wizardStepsDef)\r\n : step[\"stepsInstruction\"];\r\n\r\n let extraComponent =
    ;\r\n\r\n extraComponent = (\r\n
    \r\n
    \r\n
    moveForward(e)}>\r\n
    \r\n
    \r\n \r\n \r\n \r\n updateText(evt, step[\"id\"], step[\"step\"], 'keyvalue', _key)}\r\n />\r\n
    \r\n
    \r\n \r\n { step[\"stepsTnCs\"] && }\r\n
    \r\n
    \r\n );\r\n\r\n component = (\r\n
    moveForward(e)}>\r\n
    \r\n
    \r\n
    $
    \r\n
    \r\n updateText(evt, step[\"id\"], step[\"step\"], 'keyvalue', _key)}\r\n />\r\n \r\n { step[\"stepsTnCs\"] && }\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return ( component );\r\n};\r\n\r\nexport default HLAAmountPicker;\r\n","import React from 'react';\r\n\r\nconst DropwDownListForInput = ({selectedValue, onChange, listValues = [\"Yearly\", \"Monthly\", \"Fortnightly\", \"Weekly\"]}) => {\r\n return (\r\n \r\n //
    \r\n // \r\n //
    \r\n // Action\r\n // Another action\r\n // Something else here\r\n //
    \r\n // Separated link\r\n //
    \r\n //
    \r\n \r\n
    \r\n
    \r\n \r\n
      \r\n {listValues.map( (v, p) =>
    • {evt.preventDefault(); onChange(evt, v);}} >{v}
    • )}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default DropwDownListForInput;","import React from 'react';\r\nimport DropwDownListForInput from './DropwDownListForInput';\r\nimport HelperApi from '../../../../api/HelperApi';\r\nimport * as funcs from '../../../shared/functions';\r\n\r\n\r\nconst HLAAmountFrequencyPicker = ({step, stepState, onUpdate, cssClass}) => {\r\n let component =
    ;\r\n let _key = 0;\r\n let _key2 = 1;\r\n\r\n let updateText = function(event, stepId, stepNro, questionId, key) {\r\n const unmaskedValue = HelperApi.removeCommaSeparators(event.target.value);\r\n onUpdate(stepId, stepNro, questionId, null, false, [{inputKey: key, inputValue: unmaskedValue}]);\r\n };\r\n\r\n let updateTextValue = function(value, stepId, stepNro, questionId, key) {\r\n onUpdate(stepId, stepNro, questionId, null, false, [{inputKey: key, inputValue: value}]);\r\n };\r\n\r\n let moveForward = function(e) {\r\n e.preventDefault();\r\n onUpdate(step[\"id\"], step[\"step\"], 'keyvalue', null, true, [{inputKey: _key, inputValue: stepState[\"selectedTexts\"][_key]}, {inputKey: _key2, inputValue: stepState[\"selectedTexts\"][_key2]}]);\r\n };\r\n\r\n if (step && stepState) {\r\n let i = 0;\r\n const maskedValue = HelperApi.toThousandSeparatedFormat(stepState[\"selectedTexts\"][_key]); \r\n\r\n let extraComponent =
    ;\r\n\r\n extraComponent = (\r\n
    \r\n
    \r\n
    $
    \r\n
    \r\n updateText(evt, step[\"id\"], step[\"step\"], 'keyvalue', _key)}\r\n />\r\n\r\n updateTextValue(v, step[\"id\"], step[\"step\"], 'keyvalue', _key2)}\r\n />\r\n \r\n { step[\"stepsTnCs\"] && }\r\n
    \r\n );\r\n\r\n component = (\r\n
    moveForward(e)}>\r\n {extraComponent}\r\n
    \r\n );\r\n }\r\n\r\n return ( component );\r\n};\r\n\r\nexport default HLAAmountFrequencyPicker;\r\n","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport * as funcs from '../../../shared/functions';\r\n\r\nconst SummaryListForHla = ({summaryList}) => {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n {summaryList.map((item, i) => )}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst SummaryListItem = ({item}) => {\r\n return ( \r\n \r\n
    {item.key + \":\"}
    \r\n
    {item.value}
    \r\n \r\n );\r\n};\r\n\r\nconst PartnerFeatureListItem = ({feature}) => {\r\n\r\nreturn(
  • \r\n {feature.title}\r\n
  • );\r\n\r\n};\r\n\r\nconst ErrorComponent = ({errorList}) => {\r\n\r\n const errors = errorList.map((error, i) =>\r\n
  • {error.message}
  • \r\n );\r\n\r\nreturn (\r\n
    \r\n
    Please update the following in order to proceed.
    \r\n
    \r\n\r\n
      \r\n {errors}\r\n
    \r\n
    Click previous to go back and update your information.
    \r\n
    \r\n
    \r\n );\r\n\r\n};\r\n\r\nconst PartnerComponentLink = ({step, stepState, stepDef, identifier, onCustomAction, cssClass, children }) => {\r\n\r\n const urlForHLA = (stepDef[\"actionUrl\"] || \"\").replace('{USERID}', 'u-' + identifier);\r\n const productIdentifier = stepDef[\"productIdentifier\"];\r\n const shouldPushLead = stepDef[\"shouldPushLead\"];\r\n let partnerId = stepDef[\"partnerId\"];\r\n\r\nlet linkComponent =
    ;\r\n\r\n if(shouldPushLead){\r\n linkComponent = \r\n
    \r\n
    {partnerConfig.matchedPartnerText}
    \r\n
    \r\n
    \r\n \r\n \"\"\r\n

    {partnerConfig.brandTagLine}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {/*
    \r\n
      \r\n {partnerFeatures}\r\n
    \r\n
    */}\r\n
    );\r\n\r\n};\r\n\r\nconst HlaWizFinish = ({step, stepState, identifier, theme, wizardStepState, wizardStepIndex, wizardStepsDef, onCustomAction}) => {\r\n const stepDef = step[\"stepDefinition\"];\r\n let component =
    ;\r\n\r\n if (step && stepState) {\r\n const stepData = step.stepDefinition.getStepData && step.stepDefinition.getStepData(stepState, wizardStepState, wizardStepsDef);\r\n let summaryList = [], errorList = [], partnerConfig = {};\r\n\r\n if (stepData) {\r\n summaryList = stepData.summaryList;\r\n errorList = stepData.errorList || [];\r\n \r\n if(stepDef.displayWizard && stepDef.displayWizard.matchedPartner){\r\n partnerConfig.logo = stepDef.displayWizard.imgUrl; \r\n partnerConfig.features = stepDef.displayWizard.features; \r\n partnerConfig.logoCss = stepDef.displayWizard.cssClass; \r\n partnerConfig.matchedPartnerText = stepDef.displayWizard.matchedPartner; \r\n partnerConfig.brandTagLine = stepDef.displayWizard.brandTagLine; \r\n partnerConfig.disclaimer = stepDef.displayWizard.disclaimer; \r\n partnerConfig.txtButton = stepDef.displayWizard.txtButton; \r\n }\r\n else{\r\n partnerConfig = stepData.partnerConfig;\r\n } \r\n }\r\n\r\n const summaryRecords = ;\r\n let partnerComponent = errorList.length > 0 ?\r\n :\r\n ;\r\n\r\n component = (\r\n //
    \r\n //
    \r\n //
    {stepDef[\"stepInstruction\"]}
    \r\n //
    \r\n //
    \r\n // {summaryRecords}\r\n //
    \r\n // {partnerComponent}\r\n //
    \r\n
    \r\n
    \r\n

    {stepDef[\"stepInstruction\"]}

    \r\n
    \r\n\r\n {summaryRecords}\r\n\r\n {partnerComponent}\r\n
    \r\n );\r\n }\r\n\r\n return component;\r\n};\r\n\r\nexport default HlaWizFinish;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport * as pages from '../../../shared/pages';\r\nimport * as GlobalVariables from '../../../../config/configureGlobalVariables';\r\nimport * as GlobalFixedVariables from '../../../../config/GlobalFixedVariables';\r\n\r\nimport * as ImagesPath from '../../../../config/imagesPath';\r\nimport HelperApi from '../../../../api/HelperApi';\r\n\r\nimport HLAOptionButtons from '../WizardParts/HLAOptionButtons';\r\nimport HLAAmountPicker from '../WizardParts/HLAAmountPicker';\r\nimport HLAAmountFrequencyPicker from '../WizardParts/HLAAmountFrequencyPicker';\r\nimport HLAAmountInterestPicker from '../WizardParts/HLAAmountInterestPicker';\r\nimport HLATextPicker from '../WizardParts/HLATextPicker';\r\nimport HlaWizFinish from '../WizardParts/HlaWizFinish';\r\nimport HLAExpertWizFinish from '../WizardParts/HLAExpertWizFinish';\r\n\r\nexport const ThemePack = {\r\n buttons: \"wizard-action-btn-theme-hla\",\r\n navigation: \"wizard-navigation-buttons-theme-hla\"\r\n};\r\n\r\nexport const WizardHLAStepComponents = [\r\n HLAOptionButtons,\r\n HLAOptionButtons,\r\n HLAAmountPicker,\r\n HLAAmountPicker,\r\n HLAOptionButtons,\r\n HLAOptionButtons,\r\n HLAOptionButtons,\r\n HLAAmountFrequencyPicker,\r\n HLAAmountPicker,\r\n HLAAmountPicker, \r\n HLAAmountPicker, //10\r\n HLAOptionButtons,\r\n HLAOptionButtons,\r\n HLAAmountFrequencyPicker,\r\n HLATextPicker, // lender, put some text one here\r\n HLAAmountInterestPicker, // add validation for interest rate\r\n HlaWizFinish,\r\n HLAOptionButtons,\r\n HLAOptionButtons, \r\n HlaWizFinish\r\n];\r\n\r\nexport const StepsIndexHLA = {\r\n stepIndexRefinanceOrBuy: 0,\r\n stepIndexChoosePath: 1,\r\n stepIndexBuyPurchasePrice: 2,\r\n stepIndexBuyDeposit: 3,\r\n stepIndexBuyHowClose: 4,\r\n stepIndexBuyLiveOrInvest: 5,\r\n stepIndexBuyHowToPay: 6,\r\n stepIndexBuyIncome: 7,\r\n stepIndexRefinancePropertyWorth: 8,\r\n stepIndexRefinanceOwe: 9,\r\n //stepIndexRefinanceWantAddFunds: 10,\r\n stepIndexRefinanceAddFunds: 10,\r\n stepIndexRefinanceLiveOrInvest: 11,\r\n stepIndexRefinanceHowToPay: 12,\r\n stepIndexRefinanceIncome: 13,\r\n stepIndexRefinanceLender: 14,\r\n stepIndexRefinanceLenderInterestRate: 15,\r\n stepIndexOnlineFinish: 16,\r\n stepIndexBrokerBuyWhatToDo: 17,\r\n stepIndexBrokerRefinanceWhatToDo: 18, \r\n stepIndexBrokerFinish: 19\r\n};\r\n\r\n\r\nexport const WizardHLAStepState = {\r\n promotionEnabled: true,\r\n steps: [\r\n {\r\n step: StepsIndexHLA.stepIndexRefinanceOrBuy,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexChoosePath,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexBuyPurchasePrice,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexBuyDeposit,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexBuyHowClose,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexBuyLiveOrInvest,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexBuyHowToPay,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexBuyIncome,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: ['', 'Yearly'],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexRefinancePropertyWorth,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexRefinanceOwe,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n // {\r\n // step: StepsIndexHLA.stepIndexRefinanceWantAddFunds,\r\n // enabled: true,\r\n // isCompleted: false,\r\n // selectedItems: [false, false, false, false, false, false],\r\n // selectedExtraText: '',\r\n // selectedTexts: [],\r\n // errorMessage: '',\r\n // isDirty: false\r\n // },\r\n {\r\n step: StepsIndexHLA.stepIndexRefinanceAddFunds,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexRefinanceLiveOrInvest,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexRefinanceHowToPay,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexRefinanceIncome,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: ['', 'Yearly'],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexRefinanceLender,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexRefinanceLenderInterestRate,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexOnlineFinish,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [],\r\n selectedExtraText: '',\r\n isWhenShowCompleted: true,\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexBrokerBuyWhatToDo,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n {\r\n step: StepsIndexHLA.stepIndexBrokerRefinanceWhatToDo,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: '',\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n },\r\n // {\r\n // step: StepsIndexHLA.stepIndexBrokerCitizenOrPR,\r\n // enabled: true,\r\n // isCompleted: false,\r\n // selectedItems: [false, false, false, false, false, false],\r\n // selectedExtraText: '',\r\n // selectedTexts: [],\r\n // errorMessage: '',\r\n // isDirty: false\r\n // },\r\n {\r\n step: StepsIndexHLA.stepIndexBrokerFinish,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false],\r\n selectedExtraText: '',\r\n isWhenShowCompleted: true,\r\n selectedTexts: [],\r\n errorMessage: '',\r\n isDirty: false\r\n }\r\n ]\r\n};\r\n\r\n\r\nexport const WizardHLAStepsDef = [\r\n {\r\n id: 'home-refinance-or-buy',\r\n step: StepsIndexHLA.stepIndexRefinanceOrBuy,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: 'What do you want to do?',\r\n stepsInstruction: \"\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: true,\r\n stepDefinition: {\r\n showInCols: 1,\r\n actions: [\r\n { id: 0, key: \"refinance\", value: 'Refinance my home loan', shortDisplay: 'Refinance'},\r\n { id: 1, key: \"buy\", value: 'Buy a property (cash deposit)', shortDisplay: 'Buy'},\r\n { id: 2, key: \"refinance-equity\", value: 'Buy a property (refinance & use equity)', shortDisplay: 'Purchase using Equity'},\r\n ]\r\n }\r\n },\r\n {\r\n id: 'choose-path',\r\n step: StepsIndexHLA.stepIndexChoosePath,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: 'How would you like to find your new home loan?',\r\n stepsInstruction: \"\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: true,\r\n stepDefinition: {\r\n showInCols: 1,\r\n actions: [\r\n { id: 0, key: \"compare-online\", value: \"Compare loans online\" },\r\n { id: 1, key: \"speak-expert\", value: \"Speak to an expert\" },\r\n ]\r\n }\r\n },\r\n {\r\n id: 'home-buy-purchase-price',\r\n step: StepsIndexHLA.stepIndexBuyPurchasePrice,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: 'What is the purchase price?',\r\n stepsInstruction: \"If you're not sure tell us how much you plan on spending.\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: false,\r\n isTextInput: true,\r\n glyphicon: 'glyphicon-usd',\r\n stepDefinition: {\r\n inputs: [\"amount\"],\r\n actions: []\r\n },\r\n validate: (currentStepState, stepStates, stepsDefs) => {\r\n const minValue = 100000, maxValue = 10000000;\r\n const minValueFormatted = HelperApi.toCurrencyFormat(minValue);\r\n const maxValueFormatted = HelperApi.toCurrencyFormat(maxValue);\r\n\r\n const stepValue = currentStepState.selectedTexts.length > 0 ? currentStepState.selectedTexts[0] : undefined;\r\n const isValid = stepValue === undefined || (stepValue >= minValue && stepValue <= maxValue);\r\n return {\r\n isValid: isValid,\r\n errorMessage: \"Property price must be between \" + minValueFormatted + \" and \" + maxValueFormatted + \".\"\r\n };\r\n }\r\n },\r\n {\r\n id: 'home-buy-deposit',\r\n step: StepsIndexHLA.stepIndexBuyDeposit,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: 'How much deposit do you have?',\r\n stepsInstruction: \"If you're still saving, tell us how much you plan to have as your deposit.\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: false,\r\n isTextInput: true,\r\n glyphicon: 'glyphicon-usd',\r\n stepDefinition: {\r\n inputs: [\"amount\"],\r\n actions: [],\r\n\r\n },\r\n validate: (currentStepState, stepStates, stepsDefs) => {\r\n const minValue = 10000;\r\n const minValueFormatted = HelperApi.toCurrencyFormat(minValue);\r\n\r\n const stepValue = currentStepState.selectedTexts.length > 0 ? currentStepState.selectedTexts[0] : undefined;\r\n const isValid = stepValue === undefined || (stepValue >= minValue);\r\n return {\r\n isValid: isValid,\r\n errorMessage: \"Deposit amount must be over \" + minValueFormatted + \".\"\r\n };\r\n }\r\n },\r\n {\r\n id: 'home-buy-how-close',\r\n step: StepsIndexHLA.stepIndexBuyHowClose,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: 'How close are you to buying?',\r\n stepSubTitle: '',\r\n stepsInstruction: '',\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepExtraDisabled : true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: true,\r\n isTextInput: false,\r\n stepDefinition: {\r\n showInCols: 2,\r\n actions: [\r\n { id: 0, key: \"signedContract\", value: \"I've signed the contract\", isTextOutside: true, imgUrl: ImagesPath.ImgWizard_HomeLoan_Signed },\r\n { id: 1, key: \"foundProperty\", value: 'I have found the perfect property', isTextOutside: true, imgUrl: ImagesPath.ImgWizard_HomeLoan_ThumbUp },\r\n { id: 2, key: \"stillLooking\", value: 'I am still looking for the perfect place', isTextOutside: true, imgUrl: ImagesPath.ImgWizard_HomeLoan_Magnifier },\r\n { id: 3, key: \"curious\", value: \"I am not looking right now, just curious\", isTextOutside: true, imgUrl: ImagesPath.ImgWizard_HomeLoan_Info }\r\n ]\r\n }\r\n },\r\n {\r\n id: \"home-buy-how-to-live\",\r\n step: StepsIndexHLA.stepIndexBuyLiveOrInvest,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: \"Will you live there or is it an investment?\",\r\n stepSubTitle: \"\",\r\n stepsInstruction: \"\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepExtraDisabled : true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: true,\r\n isTextInput: false,\r\n stepDefinition: {\r\n showInCols: 1,\r\n actions: [\r\n { id: 0, key: \"live\", value: \"I will live there\" },\r\n { id: 1, key: \"investment\", value: \"It is an investment\" },\r\n ]\r\n }\r\n },\r\n {\r\n id: 'home-buy-how-to-pay',\r\n step: StepsIndexHLA.stepIndexBuyHowToPay,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: 'How do you plan to pay off the loan?',\r\n stepSubTitle: '',\r\n stepsInstruction: \"An interest-only home loan is a type of loan where your repayments only cover the interest on the amount you have borrowed, during the interest-only period. There is no reduction in the principal.\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepExtraDisabled : true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: true,\r\n isTextInput: false,\r\n stepDefinition: {\r\n showInCols: 1,\r\n actions: [\r\n { id: 0, key: \"principalInterest\", value: \"Principal and Interest\" },\r\n { id: 1, key: \"interest\", value: 'Interest Only' },\r\n ]\r\n }\r\n },\r\n {\r\n id: 'home-buy-income',\r\n step: StepsIndexHLA.stepIndexBuyIncome,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: \"What is your combined income?\",\r\n stepsInstruction: \"You (and any other applicant's) employment income plus rental income, bonuses, etc before tax\",\r\n stepsTnCs: \"Please note income is requested to ensure members are matched to partners & products accurately increasing chances of approval. It is not for the purpose of calculating your capacity for a home loan as this would be done & verified by the partner that you are referred to.\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: false,\r\n isTextInput: true,\r\n glyphicon: 'glyphicon-usd',\r\n stepDefinition: {\r\n inputs: [\"amount\", \"freq\"],\r\n actions: []\r\n }\r\n },\r\n {\r\n id: 'home-refinance-property-worth',\r\n step: StepsIndexHLA.stepIndexRefinancePropertyWorth,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: (wizardStepState, wizardStepIndex, wizardStepsDef) => {\r\n let isRefinanceUseEquity = wizardStepState[wizardStepIndex.stepIndexRefinanceOrBuy].selectedItems[2];\r\n \r\n return isRefinanceUseEquity ? \"Your combined property value?\" : \"How much is your property worth?\";\r\n },\r\n stepsInstruction: (wizardStepState, wizardStepIndex, wizardStepsDef) => {\r\n let isRefinanceUseEquity = wizardStepState[wizardStepIndex.stepIndexRefinanceOrBuy].selectedItems[2];\r\n\r\n return isRefinanceUseEquity \r\n ? \"Please enter the combined value of the property being refinanced PLUS the value of the property being purchased (or an estimate)\" \r\n : \"\";\r\n },\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: false,\r\n isTextInput: true,\r\n glyphicon: 'glyphicon-usd',\r\n stepDefinition: {\r\n inputs: [\"amount\"],\r\n actions: []\r\n },\r\n validate: (currentStepState, stepStates, stepsDefs) => {\r\n const minValue = 100000, maxValue = 10000000;\r\n const minValueFormatted = HelperApi.toCurrencyFormat(minValue);\r\n const maxValueFormatted = HelperApi.toCurrencyFormat(maxValue);\r\n\r\n const stepValue = currentStepState.selectedTexts.length > 0 ? currentStepState.selectedTexts[0] : undefined;\r\n const isValid = stepValue === undefined || (stepValue >= minValue && stepValue <= maxValue);\r\n return {\r\n isValid: isValid,\r\n errorMessage: \"Property price must be between \" + minValueFormatted + \" and \" + maxValueFormatted + \".\"\r\n };\r\n }\r\n },\r\n {\r\n id: 'home-refinance-owe',\r\n step: StepsIndexHLA.stepIndexRefinanceOwe,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: \"How much do you currently owe?\",\r\n stepsInstruction: \"\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: false,\r\n isTextInput: true,\r\n glyphicon: 'glyphicon-usd',\r\n stepDefinition: {\r\n inputs: [\"amount\"],\r\n actions: []\r\n },\r\n validate: (currentStepState, stepStates, stepsDefs) => {\r\n const minValue = 100000;\r\n const minValueFormatted = HelperApi.toCurrencyFormat(minValue);\r\n\r\n const stepValue = currentStepState.selectedTexts.length > 0 ? currentStepState.selectedTexts[0] : undefined;\r\n const isValid = stepValue === undefined || (stepValue >= minValue);\r\n return {\r\n isValid: isValid,\r\n errorMessage: \"Loan amount must be above \" + minValueFormatted + \".\"\r\n };\r\n }\r\n },\r\n // {\r\n // id: \"home-refinance-eq-yes-no\",\r\n // step: StepsIndexHLA.stepIndexRefinanceWantAddFunds,\r\n // barTitle: \"\",\r\n // stepTitle: \"Do you want to access additional funds from the equity in your home?\",\r\n // stepSubTitle: \"\",\r\n // stepsInstruction: \"Say Yes if you want to do something like consolidate other debt, renovate your house or obtain a deposit for another property purchase\",\r\n // selectedExtraIndex: 5,\r\n // stepSelectionnUnique: true,\r\n // stepExtraDisabled : true,\r\n // stepShouldAlwaysSelect: false,\r\n // hideNavigation: false,\r\n // shouldMoveOnAction: true,\r\n // isTextInput: false,\r\n // stepDefinition: {\r\n // showInCols: 1,\r\n // actions: [\r\n // { id: 0, key: \"yes\", value: \"Yes\" },\r\n // { id: 1, key: \"no\", value: \"No\" },\r\n // ]\r\n // }\r\n // },\r\n {\r\n id: 'home-refinance-eq-funds',\r\n step: StepsIndexHLA.stepIndexRefinanceAddFunds,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: \"How much additional funds would you like?\",\r\n stepsInstruction: \"Enter the amount that you plan to spend on the new property. Enter in the amount you want to loan to cover off things like renovations, debt consolidation or an investment property.\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: false,\r\n isTextInput: true,\r\n glyphicon: 'glyphicon-usd',\r\n stepDefinition: {\r\n inputs: [\"amount\"],\r\n actions: []\r\n },\r\n validate: (currentStepState, stepStates, stepsDefs) => {\r\n // const minValue = 100000;\r\n // const minValueFormatted = HelperApi.toCurrencyFormat(minValue);\r\n //\r\n // const stepValue = currentStepState.selectedTexts[0];\r\n // const isValid = stepValue === undefined || (stepValue >= minValue);\r\n const isValid = true;\r\n return {\r\n isValid: isValid,\r\n errorMessage: ''//\"Loan amount must be above \" + minValueFormatted + \".\"\r\n };\r\n }\r\n },\r\n {\r\n id: \"home-refinance-how-to-live\",\r\n step: StepsIndexHLA.stepIndexRefinanceLiveOrInvest,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: \"Will you live there or is it an investment?\",\r\n stepSubTitle: \"\",\r\n stepsInstruction: null,//\"In our experience lenders offer lower interest rates when you live in the property\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepExtraDisabled : true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: true,\r\n isTextInput: false,\r\n stepDefinition: {\r\n showInCols: 1,\r\n actions: [\r\n { id: 0, key: \"live\", value: \"I will live there\" },\r\n { id: 1, key: \"investment\", value: \"It is an investment\" },\r\n ]\r\n }\r\n },\r\n {\r\n id: 'home-refinance-how-to-pay',\r\n step: StepsIndexHLA.stepIndexRefinanceHowToPay,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: 'How do you plan to pay off the loan?',\r\n stepSubTitle: '',\r\n stepsInstruction: null, //\"If you choose principal and interest, this can help you own the property sooner. If you choose interest only, it can help lower your financial burden at the start of the loan.\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepExtraDisabled : true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: true,\r\n isTextInput: false,\r\n stepDefinition: {\r\n showInCols: 1,\r\n actions: [\r\n { id: 0, key: \"principalInterest\", value: \"Principal and Interest\" },\r\n { id: 1, key: \"interest\", value: 'Interest Only' },\r\n ]\r\n }\r\n },\r\n {\r\n id: 'home-refinance-income',\r\n step: StepsIndexHLA.stepIndexRefinanceIncome,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: \"What is your combined income?\",\r\n stepsInstruction: \"You (and any other applicant's) employment income plus expected rental income, bonuses, etc before tax\",\r\n stepsTnCs: \"Please note income is requested to ensure members are matched to partners & products accurately increasing chances of approval. It is not for the purpose of calculating your capacity for a home loan as this would be done & verified by the partner that you are referred to.\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: false,\r\n isTextInput: true,\r\n glyphicon: 'glyphicon-usd',\r\n stepDefinition: {\r\n inputs: [\"amount\", \"freq\"],\r\n actions: []\r\n }\r\n },\r\n {\r\n id: 'home-refinance-lender',\r\n step: StepsIndexHLA.stepIndexRefinanceLender,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: \"Which lender is your current home loan with?\",\r\n stepsInstruction: \"Sometimes the best deal available is to re-negotiate with your current lender, our partners can help with that\",\r\n stepsTnCs: \"\",\r\n selectedExtraIndex: 5,\r\n isOptionalStep: true,\r\n stepSelectionnUnique: false,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: false,\r\n isTextInput: true, \r\n glyphicon: 'glyphicon-pencil', \r\n stepDefinition: {\r\n inputs: [\"amount\"],\r\n actions: []\r\n }\r\n },\r\n {\r\n id: 'home-refinance-lender-interest',\r\n step: StepsIndexHLA.stepIndexRefinanceLenderInterestRate,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: \"What is your current home loan interest rate?\",\r\n stepsInstruction: \"If you don't know just enter your best guess, so our partners can calculate your estimated savings\",\r\n stepsTnCs: \"\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: false,\r\n isTextInput: true,\r\n //glyphicon: 'glyphicon-italic',\r\n glyphiconAddon: '%',\r\n stepDefinition: {\r\n inputs: [\"amount\"],\r\n actions: []\r\n },\r\n validate: (currentStepState, stepStates, stepsDefs) => {\r\n \r\n const stepValue = currentStepState.selectedTexts.length > 0 ? currentStepState.selectedTexts[0] : undefined;\r\n let isValid = stepValue === undefined;\r\n if(!isValid){ // has a value\r\n \r\n let value = Number(stepValue); \r\n if((!isNaN(value) && isFinite(value)) && stepValue.length <= 8 ){\r\n isValid = value <= 100.00 && value >= 0;\r\n }\r\n }\r\n \r\n return {\r\n isValid: isValid,\r\n errorMessage: \"The Interest Rate does't look right.\"\r\n };\r\n }\r\n },\r\n {\r\n id: \"home-finish\",\r\n step: StepsIndexHLA.stepIndexOnlineFinish,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: \"\",\r\n stepSubTitle: \"\",\r\n stepsInstruction: \"\",\r\n stepSelectionnUnique: false,\r\n stepExtraDisabled : true,\r\n hideNavigationDone: true,\r\n isFinalStep: true,\r\n cssClass: \"wizard-home-finish\",\r\n stepDefinition: {\r\n stepInstruction: \"Summary\",\r\n btnHLAText: \"See my deals now\",\r\n imgUrl: ImagesPath.ImgProduct_HomeLoan_Wizard,\r\n actionUrl: \"\",\r\n trackingInfo: {\r\n partnerId : GlobalFixedVariables.PARTNER_UNO,\r\n productTypeId: GlobalFixedVariables.PRODUCTTYPE_HOMELOAN,\r\n productId: GlobalFixedVariables.PRODUCT_UNO_HLA\r\n },\r\n getStepData: null\r\n }\r\n },\r\n {\r\n id: 'home-broker-buy-what-to-do',\r\n step: StepsIndexHLA.stepIndexBrokerBuyWhatToDo,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: 'What do you want to do?',\r\n stepsInstruction: \"Let us know what you're looking for and we'll show you the top deals\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: true,\r\n stepDefinition: {\r\n showInCols: 1,\r\n actions: [\r\n { id: 0, key: \"buyFirstHome\", value: 'Buy my first home' },\r\n { id: 1, key: \"buyNextHome\", value: 'Buy my next home' },\r\n { id: 2, key: \"buyInvestment\", value: 'Buy investment property' }\r\n ]\r\n }\r\n },\r\n {\r\n id: 'home-broker-refinance-what-to-do',\r\n step: StepsIndexHLA.stepIndexBrokerRefinanceWhatToDo,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: 'What do you want to do?',\r\n stepsInstruction: \"Let us know what you're looking for and we'll show you the top deals\",\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepShouldAlwaysSelect: false,\r\n hideNavigation: false,\r\n shouldMoveOnAction: true,\r\n stepDefinition: {\r\n showInCols: 1,\r\n actions: [\r\n { id: 0, key: \"refinanceLoan\", value: 'Refinance existing home loan' },\r\n { id: 1, key: \"refinanceProperty\", value: 'Refinance an investment property' }\r\n ]\r\n }\r\n },\r\n // {\r\n // id: 'home-broker-citizen-or-pr',\r\n // step: StepsIndexHLA.stepIndexBrokerCitizenOrPR,\r\n // barTitle: \"\",\r\n // stepTitle: 'Are you an Australian Citizen or Permanent Resident?',\r\n // stepsInstruction: \"\",\r\n // selectedExtraIndex: 5,\r\n // stepSelectionnUnique: true,\r\n // stepShouldAlwaysSelect: false,\r\n // hideNavigation: false,\r\n // shouldMoveOnAction: true,\r\n // stepDefinition: {\r\n // showInCols: 2,\r\n // actions: [\r\n // { id: 0, key: \"yes\", value: 'Yes' },\r\n // { id: 1, key: \"no\", value: 'No' }\r\n // ]\r\n // }\r\n // },\r\n {\r\n id: 'home-broker-finish',\r\n step: StepsIndexHLA.stepIndexBrokerFinish,\r\n barTitle: \"Your Home Loan Assistant\",\r\n stepTitle: '',\r\n stepSubTitle: '',\r\n stepsInstruction: '',\r\n stepSelectionnUnique: false,\r\n stepExtraDisabled : true,\r\n hideNavigationDone: true,\r\n isFinalStep: false,\r\n cssClass: \"wizard-home-finish\",\r\n stepDefinition: {\r\n stepInstruction: 'Summary',\r\n btnHLAText: \"Get in touch\",\r\n imgUrl: ImagesPath.ImgProduct_HomeLoan_Wizard,\r\n actionUrl: '',\r\n trackingInfo: {\r\n partnerId : null,\r\n productTypeId: null,\r\n productId: null\r\n },\r\n getStepData: null\r\n }\r\n }\r\n];\r\n\r\nexport const HlaExpertConfiguration = {\r\n getStepData: (currentStepState, stepStates, stepDefs) => {\r\n\r\n const refinanceOrBuyActionIndex = stepStates[StepsIndexHLA.stepIndexRefinanceOrBuy].selectedItems.indexOf(true);\r\n const isRefinance = refinanceOrBuyActionIndex === 0;\r\n const isBuy = refinanceOrBuyActionIndex === 1;\r\n const isRefinanceWithEquity = refinanceOrBuyActionIndex === 2;\r\n\r\n // citizen\r\n // let isCitizenOrPR = null;\r\n // let citizenSelectedIndex = stepStates[StepsIndexHLA.stepIndexBrokerCitizenOrPR].selectedItems.indexOf(true);\r\n // if(citizenSelectedIndex >= 0){\r\n // isCitizenOrPR = stepDefs[StepsIndexHLA.stepIndexBrokerCitizenOrPR].stepDefinition.actions[citizenSelectedIndex].value;\r\n // }\r\n\r\n //Intention\r\n let intention = null;\r\n let intentionSelectedIndex = null;\r\n if (isRefinance || isRefinanceWithEquity) {\r\n intentionSelectedIndex = stepStates[StepsIndexHLA.stepIndexBrokerRefinanceWhatToDo].selectedItems.indexOf(true);\r\n if(intentionSelectedIndex >= 0){\r\n intention = stepDefs[StepsIndexHLA.stepIndexBrokerRefinanceWhatToDo].stepDefinition.actions[intentionSelectedIndex].value;\r\n }\r\n } else if (isBuy) {\r\n intentionSelectedIndex = stepStates[StepsIndexHLA.stepIndexBrokerBuyWhatToDo].selectedItems.indexOf(true);\r\n if(intentionSelectedIndex >= 0){\r\n intention = stepDefs[StepsIndexHLA.stepIndexBrokerBuyWhatToDo].stepDefinition.actions[intentionSelectedIndex].value;\r\n }\r\n }\r\n\r\n const summaryList = [\r\n {\"key\": \"Intention\", \"value\": intention }\r\n //{\"key\": \"Citizen / PR\", \"value\": isCitizenOrPR }\r\n ];\r\n\r\n return {\r\n summaryList: summaryList,\r\n partnerConfig: ratecityPartnerConfig\r\n };\r\n }\r\n};\r\n\r\nexport const HlaUnoConfiguration = {\r\n getStepData: (currentStepState, stepStates, stepDefs) => {\r\n const refinanceOrBuyActionIndex = stepStates[StepsIndexHLA.stepIndexRefinanceOrBuy].selectedItems.indexOf(true);\r\n const isRefinance = refinanceOrBuyActionIndex === 0;\r\n const isBuy = refinanceOrBuyActionIndex === 1;\r\n const isRefinanceWithEquity = refinanceOrBuyActionIndex === 2;\r\n let indexes = {};\r\n let loanAmount = 0;\r\n\r\n if (isRefinance || isRefinanceWithEquity) {\r\n indexes = {\r\n refinanceOrBuy: StepsIndexHLA.stepIndexRefinanceOrBuy,\r\n propertyValue: StepsIndexHLA.stepIndexRefinancePropertyWorth,\r\n oweOrDepositValue: StepsIndexHLA.stepIndexRefinanceOwe,\r\n houseStatus: StepsIndexHLA.stepIndexRefinanceLiveOrInvest,\r\n payoff: StepsIndexHLA.stepIndexRefinanceHowToPay,\r\n combinedIncome: StepsIndexHLA.stepIndexRefinanceIncome\r\n };\r\n\r\n loanAmount = +stepStates[indexes.oweOrDepositValue].selectedTexts[0];\r\n\r\n } else if (isBuy) {\r\n indexes = {\r\n refinanceOrBuy: StepsIndexHLA.stepIndexRefinanceOrBuy,\r\n propertyValue: StepsIndexHLA.stepIndexBuyPurchasePrice,\r\n oweOrDepositValue: StepsIndexHLA.stepIndexBuyDeposit,\r\n houseStatus: StepsIndexHLA.stepIndexBuyLiveOrInvest,\r\n payoff: StepsIndexHLA.stepIndexBuyHowToPay,\r\n combinedIncome: StepsIndexHLA.stepIndexBuyIncome\r\n };\r\n\r\n loanAmount = (+stepStates[indexes.propertyValue].selectedTexts[0]) - (+stepStates[indexes.oweOrDepositValue].selectedTexts[0]);\r\n }\r\n\r\n const houseStatusActionIndex = stepStates[indexes.houseStatus].selectedItems.indexOf(true);\r\n const payoffActionIndex = stepStates[indexes.payoff].selectedItems.indexOf(true);\r\n\r\n const isHouseStatusSelected = houseStatusActionIndex > -1;\r\n const isPayoffSelected = payoffActionIndex > -1;\r\n\r\n const propertyWorth = stepStates[indexes.propertyValue].selectedTexts[0];\r\n const income = stepStates[indexes.combinedIncome].selectedTexts[0];\r\n const incomePeriod = stepStates[indexes.combinedIncome].selectedTexts[1];\r\n \r\n let oweOrDeposit = Number(stepStates[indexes.oweOrDepositValue].selectedTexts[0]);\r\n\r\n if (isRefinance || isRefinanceWithEquity){\r\n if(isRefinanceWithEquity && stepStates[StepsIndexHLA.stepIndexRefinanceAddFunds].enabled && stepStates[StepsIndexHLA.stepIndexRefinanceAddFunds].selectedTexts.length > 0){\r\n oweOrDeposit += Number(stepStates[StepsIndexHLA.stepIndexRefinanceAddFunds].selectedTexts[0]);\r\n }\r\n\r\n }\r\n\r\n const summaryList = [\r\n {\"key\": \"You want to\", \"value\": stepDefs[indexes.refinanceOrBuy].stepDefinition.actions[refinanceOrBuyActionIndex].shortDisplay},\r\n {\"key\": \"Total property value\", \"value\": HelperApi.toCurrencyFormat(propertyWorth)},\r\n {\"key\": (isRefinance || isRefinanceWithEquity) ? \"Total Loan\" : \"Deposit\", \"value\": HelperApi.toCurrencyFormat(oweOrDeposit)},\r\n {\"key\": \"Status\", \"value\": isHouseStatusSelected? stepDefs[indexes.houseStatus].stepDefinition.actions[houseStatusActionIndex].value : \"\"},\r\n {\"key\": \"Repayments\", \"value\": isPayoffSelected ? stepDefs[indexes.payoff].stepDefinition.actions[payoffActionIndex].value : \"\"},\r\n {\"key\": \"Income\", \"value\": HelperApi.toCurrencyFormat(income) + \" \" + incomePeriod },\r\n ];\r\n\r\n // ---- errors --------------------\r\n const errorList = [];\r\n let rules = [];\r\n let selectedValues = {\r\n loanAmount: 0,\r\n propertyWorth: 0,\r\n deposit: 0,\r\n income: 0,\r\n incomePeriod: 'yearly'\r\n };\r\n\r\n selectedValues = {\r\n loanAmount: loanAmount,\r\n propertyWorth: propertyWorth,\r\n deposit: oweOrDeposit,\r\n income: income,\r\n incomePeriod: incomePeriod.toLowerCase()\r\n };\r\n\r\n if (isRefinance || isRefinanceWithEquity) {\r\n rules = UnoRefinanceRules;\r\n } else if (isBuy) {\r\n rules = UnoBuyRules;\r\n }\r\n\r\n rules.forEach((rule) => {\r\n let ruleResult = rule(selectedValues);\r\n if (!ruleResult.isValid) errorList.push(ruleResult.error);\r\n });\r\n\r\n return {\r\n summaryList: summaryList,\r\n errorList: errorList,\r\n partnerConfig: unoPartnerConfig\r\n };\r\n }\r\n\r\n};\r\n\r\nconst UnoRefinanceRules = [\r\n loanAmountValidation,\r\n refinanceToValueValidation,\r\n generalLoanToValueValidation,\r\n incomeToLoanValidation\r\n];\r\n\r\nconst UnoBuyRules = [\r\n loanAmountValidation,\r\n loanToValueValidation,\r\n generalLoanToValueValidation,\r\n incomeToLoanValidation\r\n];\r\n\r\nconst unoPartnerConfig = {\r\n logo: ImagesPath.ImgLogoUnoWin,\r\n matchedPartnerText: \"Home Loan Partner\",\r\n logoCss: \"uno-logo-css\",\r\n brandTagLine: \"\",\r\n disclaimer: `By continuing, I agree to uno's Privacy Policy\r\n (including e-consent)\r\n and Website Terms & Conditions.\r\n The referrer may receive a fee, including commission, for referring you to us.`,\r\n features: [\r\n { key:\"1\", title : \"See your matched deals\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Free consultation by phone 7 days a week\", classToAppend: \"\"},\r\n { key:\"3\", title : \"Option to apply online with support from experts\", classToAppend: \"\"},\r\n ]\r\n};\r\n\r\n\r\nexport const HlaFirstMacConfiguration = {\r\n getStepData: (currentStepState, stepStates, stepDefs) => {\r\n const refinanceOrBuyActionIndex = stepStates[StepsIndexHLA.stepIndexRefinanceOrBuy].selectedItems.indexOf(true);\r\n const isRefinance = refinanceOrBuyActionIndex === 0;\r\n const isBuy = refinanceOrBuyActionIndex === 1;\r\n const isRefinanceWithEquity = refinanceOrBuyActionIndex === 2;\r\n let indexes = {};\r\n let loanAmount = 0;\r\n\r\n if (isRefinance || isRefinanceWithEquity) {\r\n indexes = {\r\n refinanceOrBuy: StepsIndexHLA.stepIndexRefinanceOrBuy,\r\n propertyValue: StepsIndexHLA.stepIndexRefinancePropertyWorth,\r\n oweOrDepositValue: StepsIndexHLA.stepIndexRefinanceOwe,\r\n houseStatus: StepsIndexHLA.stepIndexRefinanceLiveOrInvest,\r\n payoff: StepsIndexHLA.stepIndexRefinanceHowToPay,\r\n combinedIncome: StepsIndexHLA.stepIndexRefinanceIncome\r\n };\r\n\r\n loanAmount = +stepStates[indexes.oweOrDepositValue].selectedTexts[0];\r\n\r\n } else if (isBuy) {\r\n indexes = {\r\n refinanceOrBuy: StepsIndexHLA.stepIndexRefinanceOrBuy,\r\n propertyValue: StepsIndexHLA.stepIndexBuyPurchasePrice,\r\n oweOrDepositValue: StepsIndexHLA.stepIndexBuyDeposit,\r\n houseStatus: StepsIndexHLA.stepIndexBuyLiveOrInvest,\r\n payoff: StepsIndexHLA.stepIndexBuyHowToPay,\r\n combinedIncome: StepsIndexHLA.stepIndexBuyIncome\r\n };\r\n\r\n loanAmount = (+stepStates[indexes.propertyValue].selectedTexts[0]) - (+stepStates[indexes.oweOrDepositValue].selectedTexts[0]);\r\n }\r\n\r\n const houseStatusActionIndex = stepStates[indexes.houseStatus].selectedItems.indexOf(true);\r\n const payoffActionIndex = stepStates[indexes.payoff].selectedItems.indexOf(true);\r\n\r\n const isHouseStatusSelected = houseStatusActionIndex > -1;\r\n const isPayoffSelected = payoffActionIndex > -1;\r\n\r\n const propertyWorth = stepStates[indexes.propertyValue].selectedTexts[0];\r\n const income = stepStates[indexes.combinedIncome].selectedTexts[0];\r\n const incomePeriod = stepStates[indexes.combinedIncome].selectedTexts[1];\r\n let oweOrDeposit = Number(stepStates[indexes.oweOrDepositValue].selectedTexts[0]);\r\n\r\n if (isRefinance || isRefinanceWithEquity){\r\n if(isRefinanceWithEquity && stepStates[StepsIndexHLA.stepIndexRefinanceAddFunds].enabled && stepStates[StepsIndexHLA.stepIndexRefinanceAddFunds].selectedTexts.length > 0){\r\n oweOrDeposit += Number(stepStates[StepsIndexHLA.stepIndexRefinanceAddFunds].selectedTexts[0]);\r\n }\r\n\r\n }\r\n\r\n const summaryList = [\r\n {\"key\": \"You want to\", \"value\": stepDefs[indexes.refinanceOrBuy].stepDefinition.actions[refinanceOrBuyActionIndex].shortDisplay},\r\n {\"key\": \"Total property value\", \"value\": HelperApi.toCurrencyFormat(propertyWorth)},\r\n {\"key\": (isRefinance || isRefinanceWithEquity) ? \"Total Loan\" : \"Deposit\", \"value\": HelperApi.toCurrencyFormat(oweOrDeposit)},\r\n {\"key\": \"Status\", \"value\": isHouseStatusSelected? stepDefs[indexes.houseStatus].stepDefinition.actions[houseStatusActionIndex].value : \"\"},\r\n {\"key\": \"Repayments\", \"value\": isPayoffSelected ? stepDefs[indexes.payoff].stepDefinition.actions[payoffActionIndex].value : \"\"},\r\n {\"key\": \"Income\", \"value\": HelperApi.toCurrencyFormat(income) + \" \" + incomePeriod },\r\n ];\r\n\r\n // ---- errors --------------------\r\n const errorList = [];\r\n let rules = [];\r\n let selectedValues = {\r\n loanAmount: 0,\r\n propertyWorth: 0,\r\n deposit: 0,\r\n income: 0,\r\n incomePeriod: 'yearly'\r\n };\r\n\r\n selectedValues = {\r\n loanAmount: loanAmount,\r\n propertyWorth: propertyWorth,\r\n deposit: oweOrDeposit,\r\n income: income,\r\n incomePeriod: incomePeriod.toLowerCase()\r\n };\r\n\r\n if (isRefinance || isRefinanceWithEquity) {\r\n rules = UnoRefinanceRules;\r\n } else if (isBuy) {\r\n rules = UnoBuyRules;\r\n }\r\n\r\n rules.forEach((rule) => {\r\n let ruleResult = rule(selectedValues);\r\n if (!ruleResult.isValid) errorList.push(ruleResult.error);\r\n });\r\n\r\n return {\r\n summaryList: summaryList,\r\n errorList: errorList,\r\n partnerConfig: firstMacPartnerConfig\r\n };\r\n }\r\n\r\n};\r\n\r\nconst firstMacPartnerConfig = {\r\n logo: ImagesPath.ImgLogoFirstMacHLA,\r\n matchedPartnerText: \"Home Loan Partner\",\r\n txtButton: \"Speak to a Lending Specialists\",\r\n logoCss: \"firstmac-logo-css\",\r\n brandTagLine: \"\",\r\n disclaimer: `By continuing, I agree to loans.com.au Privacy Policy\r\n and Website Terms & Conditions`,\r\n features: [\r\n { key:\"1\", title : \"FirstMac\", classToAppend: \"\" }\r\n ]\r\n};\r\n\r\nconst ratecityPartnerConfig = {\r\n logo: ImagesPath.ImgProduct_HomeLoan_Wizard,\r\n matchedPartnerText: \"Home Loan Partner\",\r\n txtButton: \"See my deals now\",\r\n logoCss: \"rc-logo-css\",\r\n brandTagLine: \"\",\r\n disclaimer: `By continuing, I agree to RateCity's Privacy Policy\r\n (including Disclaimer)\r\n and Terms of Use.\r\n The referrer may receive a fee, including commission, for referring you to us.`,\r\n features: [\r\n { key:\"1\", title : \"Speak to an expert\", classToAppend: \"\" },\r\n { key:\"2\", title : \"Free consultation by phone 7 days a week\", classToAppend: \"\"}\r\n ]\r\n};\r\n\r\nfunction loanAmountValidation(selectedValues) {\r\n const minLoanAmount = 100000;\r\n const loanAmount = selectedValues.loanAmount;\r\n const error = {\r\n message: \"Loan amount is less than $100,000. if correct, please proceed.\",\r\n description: \"Your loan amount of \" + HelperApi.toCurrencyFormat(loanAmount) +\r\n \" is less than minimum loan amount of $100,000. If correct you may proceed however this may restrict which lenders we can refer your to.\"\r\n };\r\n\r\n return {\r\n isValid: loanAmount >= minLoanAmount,\r\n error\r\n };\r\n}\r\n\r\nfunction loanToValueValidation(selectedValues) {\r\n const maxLoanToValueRatio = 0.9;\r\n const loanAmount = selectedValues.loanAmount;\r\n const propertyWorth = selectedValues.propertyWorth;\r\n\r\n const loanToValueRatio = loanAmount / propertyWorth;\r\n const minDeposit = propertyWorth * (1 - maxLoanToValueRatio);\r\n\r\n const propertyWorthFormatted = HelperApi.toCurrencyFormat(propertyWorth);\r\n const depositFormatted = HelperApi.toCurrencyFormat(selectedValues.deposit);\r\n const minDepositFormatted = HelperApi.toCurrencyFormat(minDeposit);\r\n const error = {\r\n message: \"Please note - Your Loan-to-Value ratio (LVR) is greater than the maximum of \" + maxLoanToValueRatio * 100 + \"%\",\r\n description: \"Please double check your deposit amount & loan amount. A high LVR may restrict which lenders we can refer your to.\" +\r\n \" With a deposit of \" + depositFormatted +\r\n \" you will be borrowing \" + loanToValueRatio * 100 + \"%\" +\r\n \" of the property price (\" + propertyWorthFormatted + \").\" +\r\n \" This is not enough to get a home loan.\" +\r\n \" Many lenders will prefer at least \" + minDepositFormatted + \" deposit.\"\r\n };\r\n\r\n return {\r\n isValid: loanToValueRatio <= maxLoanToValueRatio,\r\n error\r\n };\r\n}\r\n\r\nfunction refinanceToValueValidation(selectedValues) {\r\n const maxRefinanceToValueRatio = 0.8;\r\n const loanAmount = selectedValues.loanAmount;\r\n const propertyWorth = selectedValues.propertyWorth;\r\n\r\n const loanToValueRatio = loanAmount / propertyWorth;\r\n\r\n const loanAmountFormatted = HelperApi.toCurrencyFormat(loanAmount);\r\n const propertyWorthFormatted = HelperApi.toCurrencyFormat(propertyWorth);\r\n const error = {\r\n message: \"Please note your requested refinance amount would take your Loan-to-Value Ratio (LVR) to above \" + maxRefinanceToValueRatio * 100 + \"%\",\r\n description: \"With a loan amount of \" + loanAmountFormatted +\r\n \" you will be refinancing \" + loanToValueRatio * 100 + \"%\" +\r\n \" of the property price (\" + propertyWorthFormatted + \").\" +\r\n \" Please double check your deposit & purchase price information. A home loan based on this current loan to valuation ratio (LVR) may be more difficult to obtain.\"\r\n };\r\n\r\n return {\r\n isValid: loanToValueRatio <= maxRefinanceToValueRatio,\r\n error\r\n };\r\n}\r\n\r\nfunction generalLoanToValueValidation(selectedValues) {\r\n let isValid = true;\r\n const error = { message: \"\", description: \"\" };\r\n const loanAmount = selectedValues.loanAmount;\r\n const propertyWorth = selectedValues.propertyWorth;\r\n\r\n if (loanAmount > propertyWorth) {\r\n isValid = false;\r\n error.message = \"Please note your requested loan amount is greater than your property value\";\r\n error.description= \"Your loan amount of \" + HelperApi.toCurrencyFormat(loanAmount) +\r\n \" should exceed property value (\" + HelperApi.toCurrencyFormat(propertyWorth) + \").\";\r\n }\r\n\r\n return {\r\n isValid,\r\n error\r\n };\r\n}\r\n\r\nfunction incomeToLoanValidation(selectedValues) {\r\n const minIncomeToLoanRatio = (1 / 7);\r\n const incomePeriods = {\r\n yearly: 1,\r\n monthly: 12,\r\n fortnightly: 26,\r\n weekly: 52\r\n };\r\n const loanAmount = selectedValues.loanAmount;\r\n const income = selectedValues.income;\r\n const incomePeriod = selectedValues.incomePeriod;\r\n\r\n const annualIncome = income * incomePeriods[incomePeriod];\r\n const incomeToLoanRatio = (annualIncome / loanAmount);\r\n\r\n const error = {\r\n message: \"Please note your combined income amount when compared to your requested loan amount may be lower than standard approval ratio's - pleasse double check your entries.\",\r\n description: \"Your combined income (\" + HelperApi.toCurrencyFormat(annualIncome) +\r\n \") maybe below standard approval ratios when compared to your loan amount of \" + HelperApi.toCurrencyFormat(loanAmount) + \". Please double check these numbers.\"\r\n };\r\n\r\n return {\r\n isValid: incomeToLoanRatio >= minIncomeToLoanRatio,\r\n error\r\n };\r\n}\r\n","import React from 'react';\r\nimport HelperApi from '../../../../api/HelperApi';\r\nimport * as funcs from '../../../shared/functions';\r\n\r\nconst HLATextPicker = ({step, stepState, wizardStepState, wizardStepIndex, wizardStepsDef, onUpdate, cssClass}) => {\r\n let component =
    ;\r\n let _key = 0;\r\n\r\n let updateText = function(event, stepId, stepNro, questionId, key) {\r\n const unmaskedValue = event.target.value;\r\n onUpdate(stepId, stepNro, questionId, null, false, [{inputKey: key, inputValue: unmaskedValue}]);\r\n };\r\n\r\n let moveForward = function(e) {\r\n e.preventDefault();\r\n onUpdate(step[\"id\"], step[\"step\"], 'keyvalue', null, true, [{inputKey: _key, inputValue: stepState[\"selectedTexts\"][_key]}]);\r\n\r\n };\r\n\r\n if (step && stepState) {\r\n let i = 0;\r\n const maskedValue = stepState[\"selectedTexts\"][_key]; // HelperApi.toCurrencyFormat(stepState[\"selectedTexts\"][_key] ,2 , \"\");\r\n let stepsInstruction = (typeof step[\"stepsInstruction\"] === \"function\")\r\n ? step.stepsInstruction(wizardStepState, wizardStepIndex, wizardStepsDef)\r\n : step[\"stepsInstruction\"];\r\n\r\n let extraComponent =
    ;\r\n\r\n extraComponent = (\r\n
    \r\n
    \r\n
    \r\n
    \r\n updateText(evt, step[\"id\"], step[\"step\"], 'keyvalue', _key)}\r\n />\r\n \r\n { step[\"stepsTnCs\"] && }\r\n
    \r\n );\r\n\r\n component = (\r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n // {extraComponent}\r\n //
    \r\n
    moveForward(e)}>\r\n {extraComponent}\r\n
    \r\n );\r\n }\r\n\r\n return ( component );\r\n};\r\n\r\nexport default HLATextPicker;\r\n","import React from 'react';\r\nimport HelperApi from '../../../../api/HelperApi';\r\nimport * as funcs from '../../../shared/functions';\r\n\r\nconst HLAAmountInterestPicker = ({step, stepState, wizardStepState, wizardStepIndex, wizardStepsDef, onUpdate, cssClass}) => {\r\n let component =
    ;\r\n let _key = 0;\r\n\r\n let updateText = function(event, stepId, stepNro, questionId, key) {\r\n const unmaskedValue = HelperApi.removeCommaSeparators(event.target.value);\r\n onUpdate(stepId, stepNro, questionId, null, false, [{inputKey: key, inputValue: unmaskedValue}]);\r\n };\r\n\r\n let moveForward = function(e) {\r\n e.preventDefault();\r\n onUpdate(step[\"id\"], step[\"step\"], 'keyvalue', null, true, [{inputKey: _key, inputValue: stepState[\"selectedTexts\"][_key]}]);\r\n\r\n };\r\n\r\n if (step && stepState) {\r\n let i = 0;\r\n const maskedValue = stepState[\"selectedTexts\"][_key]; // HelperApi.toCurrencyFormat(stepState[\"selectedTexts\"][_key] ,2 , \"\");\r\n let stepsInstruction = (typeof step[\"stepsInstruction\"] === \"function\")\r\n ? step.stepsInstruction(wizardStepState, wizardStepIndex, wizardStepsDef)\r\n : step[\"stepsInstruction\"];\r\n\r\n let extraComponent =
    ;\r\n\r\n extraComponent = (\r\n //
    \r\n //
    \r\n //
    moveForward(e)}>\r\n //
    \r\n //
    \r\n // \r\n // {step[\"glyphiconAddon\"]}\r\n // \r\n // updateText(evt, step[\"id\"], step[\"step\"], 'keyvalue', _key)}\r\n // />\r\n //
    \r\n //
    \r\n //
    \r\n // { step[\"stepsTnCs\"] && }\r\n //
    \r\n //
    \r\n\r\n
    \r\n
    \r\n
    %
    \r\n
    \r\n updateText(evt, step[\"id\"], step[\"step\"], 'keyvalue', _key)}\r\n />\r\n \r\n { step[\"stepsTnCs\"] && }\r\n
    \r\n );\r\n\r\n component = (\r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n // {extraComponent}\r\n //
    \r\n
    moveForward(e)}>\r\n {extraComponent}\r\n
    \r\n );\r\n }\r\n\r\n return ( component );\r\n};\r\n\r\nexport default HLAAmountInterestPicker;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport * as funcs from '../../../shared/functions';\r\nimport * as pages from '../../../shared/pages';\r\n\r\nimport {WizardCoreClass} from '../WizardCore';\r\n\r\nimport * as GlobalVariables from '../../../../config/configureGlobalVariables';\r\nimport * as GlobalFixedVariables from '../../../../config/GlobalFixedVariables';\r\n\r\nimport { WizardHLAStepsDef, WizardHLAStepState, WizardHLAStepComponents, StepsIndexHLA, ThemePack, HlaUnoConfiguration, HlaExpertConfiguration, HlaFirstMacConfiguration } from './HomeLoanStepDef';\r\n\r\nexport class HomeLoanAssistant extends WizardCoreClass {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n // this.getGeneralRuleValidator = this.getGeneralRuleValidator.bind(this);\r\n this.onMoveStep = this.onMoveStep.bind(this);\r\n }\r\n\r\n _getTheme() {\r\n return ThemePack;\r\n }\r\n\r\n _getInitialState() {\r\n return WizardHLAStepState;\r\n }\r\n\r\n _getWizardComponents() {\r\n return WizardHLAStepComponents;\r\n }\r\n\r\n _getStepDefinition() {\r\n let extraConfig = this.props.initialProfile[\"extra\"];\r\n if (extraConfig) {\r\n\r\n let stepOnlineFinal = WizardHLAStepsDef[StepsIndexHLA.stepIndexOnlineFinish];\r\n let stepExpertFinal = WizardHLAStepsDef[StepsIndexHLA.stepIndexBrokerFinish];\r\n\r\n if (stepOnlineFinal) {\r\n\r\n let onlineConfig = funcs.searchInList(extraConfig.partners, \"path\", \"Online\");\r\n let stepDef = stepOnlineFinal[\"stepDefinition\"];\r\n\r\n stepDef[\"actionUrl\"] = onlineConfig.partnerUrl;\r\n stepDef[\"productIdentifier\"] = onlineConfig.productIdentifier;\r\n stepDef[\"shouldPushLead\"] = onlineConfig.shouldPushLead;\r\n stepDef[\"partnerId\"] = onlineConfig.partnerId;\r\n stepDef[\"displayWizard\"] = onlineConfig.productDisplayWizard;\r\n\r\n stepDef[\"trackingInfo\"] = {\r\n partnerId: onlineConfig.partnerId,\r\n productId: onlineConfig.productId,\r\n productTypeId: onlineConfig.productTypeId\r\n };\r\n\r\n\r\n if(onlineConfig.partnerId == GlobalFixedVariables.PARTNER_FIRSTMAC){\r\n stepDef[\"getStepData\"] = HlaFirstMacConfiguration.getStepData; // update from config too\r\n\r\n }\r\n else{\r\n stepDef[\"getStepData\"] = HlaUnoConfiguration.getStepData; // update from config too\r\n }\r\n\r\n WizardHLAStepsDef[StepsIndexHLA.stepIndexOnlineFinish] = stepOnlineFinal;\r\n\r\n }\r\n\r\n if (stepExpertFinal) {\r\n\r\n let brokerConfig = funcs.searchInList(extraConfig.partners, \"path\", \"Broker\");\r\n let stepDef = stepExpertFinal[\"stepDefinition\"];\r\n\r\n stepDef[\"actionUrl\"] = brokerConfig.partnerUrl;\r\n stepDef[\"productIdentifier\"] = brokerConfig.productIdentifier;\r\n stepDef[\"shouldPushLead\"] = brokerConfig.shouldPushLead;\r\n stepDef[\"partnerId\"] = brokerConfig.partnerId;\r\n stepDef[\"displayWizard\"] = brokerConfig.productDisplayWizard;\r\n\r\n stepDef[\"trackingInfo\"] = {\r\n partnerId: brokerConfig.partnerId,\r\n productId: brokerConfig.productId,\r\n productTypeId: brokerConfig.productTypeId\r\n };\r\n\r\n stepDef[\"getStepData\"] = HlaExpertConfiguration.getStepData; // update from config too\r\n\r\n WizardHLAStepsDef[StepsIndexHLA.stepIndexBrokerFinish] = stepExpertFinal;\r\n }\r\n }\r\n\r\n return WizardHLAStepsDef;\r\n }\r\n\r\n _getGeneralRuleValidator(stepsState){\r\n\r\n let validator = null;\r\n if (stepsState && stepsState.steps && stepsState.steps.length > 0) {\r\n const steps = stepsState.steps;\r\n const isCompare = steps[StepsIndexHLA.stepIndexChoosePath].selectedItems[0];\r\n const isBroker = steps[StepsIndexHLA.stepIndexChoosePath].selectedItems[1];\r\n\r\n if(isCompare){\r\n validator = HlaUnoConfiguration.getStepData;\r\n }\r\n else if(isBroker){\r\n validator = HlaExpertConfiguration.getStepData;\r\n }\r\n }\r\n\r\n return validator;\r\n\r\n }\r\n\r\n _getStepIndex () {\r\n return StepsIndexHLA;\r\n }\r\n\r\n // _setGlobalErrorList(list){\r\n\r\n // }\r\n\r\n _onSaveStep(savedStateStep, stepDefinition) {\r\n this.props.onSaveStep(savedStateStep, stepDefinition);\r\n }\r\n\r\n _onCustomAction(fullStep, stepState, stepsDefinition, stepsState, stepIndex) {\r\n this.props.onCustomAction(fullStep, stepState, stepsDefinition, stepsState, stepIndex);\r\n }\r\n\r\n _trackViewStep(actionStr, stepDefinition, currentStep) {\r\n //this.props.actions.trackAboutMe(actionStr, stepDefinition, currentStep);\r\n }\r\n\r\n _loadExtraConfiguration(wizardState, extraConfig) {\r\n\r\n }\r\n\r\n _refreshNavigationFlow(wizardStepIndex, stepsState) {\r\n let i = 0;\r\n\r\n\r\n // if (stepsState && stepsState.steps && stepsState.steps.length > 0) {\r\n // let currentIndex = 0;\r\n // for (currentIndex = 0; currentIndex < stepsState.steps.length; currentIndex++) {\r\n // stepsState.steps[currentIndex].enabled = false;\r\n // }\r\n // stepsState.steps[wizardStepIndex.stepIndexOnlineFinish].enabled = true;\r\n // }\r\n\r\n if (stepsState && stepsState.steps && stepsState.steps.length > 0) {\r\n const steps = stepsState.steps;\r\n\r\n const isRefinance = steps[wizardStepIndex.stepIndexRefinanceOrBuy].selectedItems[0];\r\n const isBuy = steps[wizardStepIndex.stepIndexRefinanceOrBuy].selectedItems[1];\r\n const isRefinanceUseEquity = steps[wizardStepIndex.stepIndexRefinanceOrBuy].selectedItems[2];\r\n\r\n const isCompare = steps[wizardStepIndex.stepIndexChoosePath].selectedItems[0];\r\n const isBroker = steps[wizardStepIndex.stepIndexChoosePath].selectedItems[1];\r\n\r\n if (isCompare) {\r\n steps[wizardStepIndex.stepIndexOnlineFinish].enabled = true;\r\n\r\n // Cancel broker\r\n steps[wizardStepIndex.stepIndexBrokerRefinanceWhatToDo].enabled = false;\r\n steps[wizardStepIndex.stepIndexBrokerBuyWhatToDo].enabled = false;\r\n //steps[wizardStepIndex.stepIndexBrokerCitizenOrPR].enabled = false;\r\n steps[wizardStepIndex.stepIndexBrokerFinish].enabled = false;\r\n\r\n if (isRefinance || isRefinanceUseEquity) {\r\n // Cancel buy\r\n for (i = wizardStepIndex.stepIndexBuyPurchasePrice; i <= wizardStepIndex.stepIndexBuyIncome; i++) {\r\n steps[i].enabled = false;\r\n }\r\n\r\n //Enable refinance\r\n for (i = wizardStepIndex.stepIndexRefinancePropertyWorth; i <= wizardStepIndex.stepIndexRefinanceLenderInterestRate; i++) {\r\n steps[i].enabled = true;\r\n }\r\n\r\n // Fork Flow\r\n let ratio = 0;\r\n if(steps[wizardStepIndex.stepIndexRefinancePropertyWorth].isCompleted && steps[wizardStepIndex.stepIndexRefinanceOwe].isCompleted){\r\n\r\n let owe = Number(steps[wizardStepIndex.stepIndexRefinanceOwe].selectedTexts[0]);\r\n let worth = Number(steps[wizardStepIndex.stepIndexRefinancePropertyWorth].selectedTexts[0]);\r\n ratio = 1 - (owe / worth);\r\n\r\n\r\n //steps[wizardStepIndex.stepIndexRefinanceWantAddFunds].enabled = ratio < 0.75;\r\n }\r\n\r\n steps[wizardStepIndex.stepIndexRefinanceAddFunds].enabled = isRefinanceUseEquity && ratio < 0.75;\r\n //steps[wizardStepIndex.stepIndexRefinanceAddFunds].enabled = steps[wizardStepIndex.stepIndexRefinanceWantAddFunds].enabled && steps[wizardStepIndex.stepIndexRefinanceWantAddFunds].selectedItems[0]; \r\n\r\n\r\n // if lender is selected show lender interest rate\r\n let lender = null;\r\n if(steps[wizardStepIndex.stepIndexRefinanceLender].isCompleted){\r\n lender = steps[wizardStepIndex.stepIndexRefinanceLender].selectedTexts[0];\r\n }\r\n\r\n steps[wizardStepIndex.stepIndexRefinanceLenderInterestRate].enabled = !!lender;\r\n\r\n } else if (isBuy) {\r\n // Cancel refinance\r\n for (i = wizardStepIndex.stepIndexRefinancePropertyWorth; i <= wizardStepIndex.stepIndexRefinanceLenderInterestRate; i++) {\r\n steps[i].enabled = false;\r\n }\r\n\r\n //Enable buy\r\n for (i = wizardStepIndex.stepIndexBuyPurchasePrice; i <= wizardStepIndex.stepIndexBuyIncome; i++) {\r\n steps[i].enabled = true;\r\n }\r\n }\r\n }\r\n\r\n if (isBroker) {\r\n steps[wizardStepIndex.stepIndexBrokerFinish].enabled = true;\r\n //steps[wizardStepIndex.stepIndexBrokerCitizenOrPR].enabled = true;\r\n\r\n if (isRefinance || isRefinanceUseEquity) {\r\n steps[wizardStepIndex.stepIndexBrokerBuyWhatToDo].enabled = false;\r\n steps[wizardStepIndex.stepIndexBrokerRefinanceWhatToDo].enabled = true;\r\n } else if (isBuy) {\r\n steps[wizardStepIndex.stepIndexBrokerBuyWhatToDo].enabled = true;\r\n steps[wizardStepIndex.stepIndexBrokerRefinanceWhatToDo].enabled = false;\r\n }\r\n\r\n for (i = wizardStepIndex.stepIndexBuyPurchasePrice; i <= wizardStepIndex.stepIndexOnlineFinish; i++) {\r\n steps[i].enabled = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // getGeneralRuleValidator(partnerId){\r\n // return HlaUnoConfiguration.getStepData;\r\n // }\r\n}\r\n\r\nHomeLoanAssistant.contextTypes = {\r\n router: PropTypes.object\r\n};","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\nimport * as productActions from '../../redux/actions/productActions';\r\nimport * as scoreActions from '../../redux/actions/scoreActions';\r\n\r\nimport WizardApi from '../../api/WizardApi.js';\r\n\r\nimport {HomeLoanAssistant} from '../common/Wizard/HomeLoan/HomeLoanAssistant';\r\nimport { StepsIndexHLA } from '../common/Wizard/HomeLoan/HomeLoanStepDef';\r\n\r\nimport LoadingIndicator from '../common/controls/LoadingIndicator';\r\nimport {ApiFailedToLoadComponentWithText} from '../common/ApiFailedToLoadComponent';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport FooterSmallSection from '../common/footerSmall'\r\n\r\nconst HomeLoansTitle = () => {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Your Home Loan Assistant

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\nclass HomeLoanAssistantPage extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n isWizardProfileLoaded : false,\r\n isWizardProfileLoading : true,\r\n isServerError: false,\r\n initialProfile: null,\r\n nextPage: true\r\n };\r\n\r\n this.redirect = this.redirect.bind(this);\r\n\r\n this.onSaveStep = this.onSaveStep.bind(this);\r\n this.onCustomAction = this.onCustomAction.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.actions.getMenuForPage(pages.DEALS_HOMELOANS);\r\n \r\n this.props.actions.getTextVariants();\r\n\r\n this.props.actions.isAuthenticated().then(e => {\r\n\r\n this.props.actions.loadScoreProfile({includeScore: true, includeAdvices: true, includeHistory: true})\r\n \r\n WizardApi.getWizardProfile(this.props.csrfToken, \"hla\").then( resp => {\r\n this.setState({initialProfile: resp.profile, isWizardProfileLoaded: true, isWizardProfileLoading: false ,isServerError: false});\r\n }).catch( error =>{\r\n this.setState({isWizardProfileLoaded: true, isWizardProfileLoading: false, isServerError: true});\r\n });\r\n });\r\n\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n\r\n if (!nextProps.isAuthenticated) {\r\n // go back to login\r\n //this.props.history.push('/login?retUrl=' + encodeURI('/deals/home-loan/assistant'));\r\n this.props.history.push(RoutesVariables.RouteLogin);\r\n }\r\n else {\r\n // if(nextProps.userProfile.userDetails) {\r\n // let newCustomer = Object.assign({}, nextProps.userProfile.userDetails);\r\n // this.setState({customer: newCustomer});\r\n // }\r\n }\r\n }\r\n\r\n\r\n redirect(url) {\r\n this.props.history.push(url);\r\n }\r\n\r\n onSaveStep(stepState, stepDef){\r\n var step = Object.assign({}, stepState, {stepCode: stepDef.id});\r\n\r\n \r\n WizardApi.saveWizardStep(this.props.csrfToken, \"hla\", step).then(()=> {\r\n \r\n }).catch( error =>{\r\n\r\n });\r\n }\r\n\r\n onCustomAction(fullStep, stepState, stepsDefinition, stepsState, stepIndex){\r\n //this.props.actions.participatedInPromotion();\r\n\r\n // track product click\r\n var req = Object.assign({}, fullStep.stepDefinition.trackingInfo);\r\n this.props.actions.trackGcsProductClick(\r\n req,\r\n pages.DEALS_HOMELOANS\r\n );\r\n\r\n if (fullStep.step === StepsIndexHLA.stepIndexBrokerFinish) {\r\n stepState.selectedItems[0] = true;\r\n }\r\n }\r\n\r\n renderFirstPage() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"/\r\n
    \r\n Hi\r\n

    {this.props.userProfile ? this.props.userProfile.displayName : ''}

    \r\n

    Answer for a few question to help us identify which offers
    are best to you.

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n nextPage() {\r\n this.setState({nextPage:true})\r\n }\r\n\r\n render() {\r\n\r\n let mainComponent =
    ;\r\n let pageContent = null;\r\n\r\n if (this.state.isServerError) {\r\n pageContent = Sorry!

    We are not able to retrieve your profile at the moment. Please contact us

    \" />;\r\n }\r\n else if(this.state.isWizardProfileLoading){\r\n pageContent =\r\n ;\r\n }\r\n else if(this.state.isWizardProfileLoaded) {\r\n if(this.state.nextPage){\r\n pageContent = ;\r\n }\r\n else {\r\n pageContent = this.renderFirstPage();\r\n }\r\n }\r\n else{\r\n pageContent =
    \r\n
    ;\r\n }\r\n\r\n if(this.props.textVariants){\r\n mainComponent =
    \r\n\r\n \r\n\r\n \r\n\r\n {/* */}\r\n
    \r\n {pageContent}\r\n\r\n
    \r\n }\r\n\r\n //return ( mainComponent );\r\n\r\n return (\r\n
    \r\n \r\n {pageContent}\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nHomeLoanAssistantPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n let menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.DEALS_HOMELOANS]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.DEALS_HOMELOANS];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n // let products = [];\r\n // if(state.productResult && state.productResult.products){\r\n //\r\n // let p = null;\r\n // for(let i = 0; i < state.productResult.products.length; i++) {\r\n // if(!(p = state.productResult.products[i]).id.startsWith(\"homeloan\")){\r\n // products.push(p);\r\n // }\r\n // }\r\n // }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile,\r\n isAuthenticated: state.userProfile.isAuthenticated,\r\n csrfToken: state.userProfile.csrfToken,\r\n identifier: state.userProfile.identifier\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, userActions, layoutActions, trackingActions, productActions, scoreActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(HomeLoanAssistantPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as funcs from '../../shared/functions';\r\n\r\nexport class CustomCheckBox extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.toggleCheck = this.toggleCheck.bind(this);\r\n }\r\n\r\n toggleCheck() {\r\n\r\n let evt = {\r\n target: {\r\n type: 'checkbox',\r\n name: this.props.name,\r\n id: this.props.id,\r\n isChecked: !this.props.checked\r\n }\r\n };\r\n\r\n\r\n if (this.props.onClick) {\r\n this.props.onClick(evt);\r\n }\r\n }\r\n\r\n render() {\r\n \r\n let name, title, subtitle = null;\r\n if(this.props.box) {\r\n name = this.props.name.split(':');\r\n if(name.length == 1) {\r\n name = this.props.name.split('-');\r\n }\r\n if(name.length > 1) {\r\n title = name[0];\r\n subtitle = name[1];\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default CustomCheckBox;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport CustomCheckBox from './CustomCheckBox.js';\r\n\r\nexport class CustomCheckBoxList extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.toggleCheck = this.toggleCheck.bind(this);\r\n }\r\n\r\n toggleCheck(evt) {\r\n if (this.props.onItemSelect) {\r\n this.props.onItemSelect(evt);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n render() {\r\n\r\n let items = this.props.items;\r\n return (\r\n <>\r\n {items.map((item) =>\r\n\r\n this.toggleCheck(evt)}\r\n key={item.id}\r\n id={item.id} \r\n box={this.props.box}/>\r\n\r\n )}\r\n \r\n )\r\n }\r\n}\r\n\r\n\r\nexport default CustomCheckBoxList;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {createBrowserHistory} from 'history';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport * as pages from '../shared/pages';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport LoadingIndicator from '../common/controls/LoadingIndicator';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as funcs from '../../components/shared/functions.js';\r\n\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport CustomCheckBox from '../common/controls/CustomCheckBox';\r\nimport CustomCheckBoxList from '../common/controls/CustomCheckBoxList';\r\nimport FooterSmallSection from '../common/footerSmall';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nvar testCheckBoxes = [\r\n {\r\n id: 0,\r\n //className: 'customDarkBkndCheckBox',\r\n name: 'checkbox1',\r\n selected: false\r\n },\r\n {\r\n id: 1,\r\n name: 'checkbox2',\r\n selected: false\r\n },\r\n {\r\n id: 2,\r\n name: 'checkbox3',\r\n selected: false\r\n },\r\n {\r\n id: 3,\r\n name: 'preference3',\r\n selected: false\r\n }\r\n];\r\n\r\nconst MessageDisplay = ({message, isError}) => {\r\n let component =
    ;\r\n let cssClass = 'alert ' + (isError ? 'alert-danger' : 'alert-success');\r\n\r\n if (message) {\r\n component = (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (component);\r\n}\r\n\r\nconst MessageDisplayWarning = ({message}) => {\r\n let component =
    ;\r\n let cssClass = 'alert alert-warning';\r\n\r\n if (message) {\r\n component = (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (component);\r\n}\r\n\r\nconst MyPreferenceMailChimpCategoryDisplay = ({category, onItemSelected, box=false}) => {\r\n return (\r\n <>\r\n

    {category.name}

    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst MyPreferencesTitle = ({textVariants}) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {textVariants[pages.MYPREFERENCES + textVariants.textVariantSeparator + \"title\"]}

    \r\n

    {textVariants[pages.MYPREFERENCES + textVariants.textVariantSeparator + \"subtitle\"] }

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nclass MyPreferencesPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n preferences: null,\r\n saving: false,\r\n loaded: false,\r\n message: '',\r\n isError: false,\r\n showMailchimpLink: false\r\n };\r\n\r\n this.onItemSelected = this.onItemSelected.bind(this);\r\n this.onSubscriptionSelected = this.onSubscriptionSelected.bind(this);\r\n this.onCancelAccountSelected = this.onCancelAccountSelected.bind(this);\r\n this.onEqfxmarketingSelected = this.onEqfxmarketingSelected.bind(this);\r\n this.onSave = this.onSave.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.actions.initUser(true).then(d => {\r\n this.props.actions.isAuthenticated().then(e => {\r\n this.props.actions.getMenuForPage(pages.MYPREFERENCES);\r\n this.props.actions.getTextVariants();\r\n\r\n // TODO: cancel Async/API call in ComponentWillUnmount\r\n this.props.actions.getPreferences().then(r => {\r\n var pref = r || this.props.userProfile.preferences;\r\n var o = Object.assign({}, pref);\r\n o.categories = [];\r\n\r\n if (pref.categories) {\r\n for(var c = 0; c < pref.categories.length; c++){\r\n o.categories.push(Object.assign({}, pref.categories[c]));\r\n\r\n if(pref.categories[c].interests){\r\n o.categories[c].interests = [];\r\n for(var i = 0; i < pref.categories[c].interests.length; i++){\r\n o.categories[c].interests.push(Object.assign({}, pref.categories[c].interests[i]));\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.setState({preferences: o, loaded : true});\r\n\r\n }).catch(e => {\r\n var msg = null;\r\n\r\n if (e.status == 400) {\r\n msg = this.props.textVariants[pages.MYPREFERENCES + this.props.textVariants.textVariantSeparator + \"400_ErrorWhenRequestingData\"];\r\n\r\n } else if (e.status == 404) {\r\n msg = this.props.textVariants[pages.MYPREFERENCES + this.props.textVariants.textVariantSeparator + \"404_SyncProblemWithMailchimp\"];\r\n\r\n } else if (e.status == 500) {\r\n msg = this.props.textVariants[\"Api_Generic\"];\r\n\r\n } else {\r\n msg = this.props.textVariants[\"Api_Unknown\"];\r\n }\r\n\r\n this.setState({saving: false, message: msg, isError: true, loaded: true});\r\n });\r\n });\r\n });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.isAuthenticated) {\r\n // go back to login\r\n this.props.history.push(RoutesVariables.RouteLogin + '?retUrl=' + RoutesVariables.RouteMyPreferences);\r\n }\r\n }\r\n\r\n onItemSelected(evt){\r\n // target: {\r\n // type: 'checkbox',\r\n // name: this.props.name,\r\n // id: this.props.id,\r\n // isChecked: !this.state.isChecked\r\n\r\n let isChecked = evt.target.isChecked;\r\n\r\n let preferences = this.state.preferences;\r\n let found = false;\r\n for (var i = 0; i {\r\n\r\n this.setState({ saving: false, message: this.props.textVariants['Gen_Save_Success'], isError: false });\r\n\r\n // log the user out if it was selected as well\r\n if(!this.state.preferences.isActive){\r\n this.props.actions.logout();\r\n // setTimeout(() => {\r\n // }, 2000);\r\n }\r\n\r\n\r\n }).catch(e => {\r\n var msg = null;\r\n if(e.status == 400){\r\n msg = this.props.textVariants[pages.MYPREFERENCES + this.props.textVariants.textVariantSeparator + \"400_ErrorWhenSaving\"];\r\n }\r\n else if(e.status == 500){\r\n msg = this.props.textVariants[\"Api_Generic\"];\r\n }\r\n else{\r\n msg = this.props.textVariants[\"Api_Unknown\"];\r\n }\r\n\r\n this.setState({saving: false, message: msg, isError: true});\r\n });\r\n\r\n }\r\n\r\n onCancel(event){\r\n event.preventDefault();\r\n const browserHistory = createBrowserHistory();\r\n browserHistory.goBack();\r\n }\r\n\r\n render() {\r\n let preferences = this.state.preferences;\r\n let mainComponent =
    ;\r\n let textVariants = this.props.textVariants;\r\n\r\n let pageContent = (\r\n \r\n );\r\n\r\n if (this.state.loaded) {\r\n if (this.state.isError && !this.state.preferences) {\r\n pageContent = (\r\n
    \r\n {this.state.message && }\r\n
    \r\n );\r\n\r\n } else {\r\n pageContent = (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \"\"Communication Preferences

    \r\n
    \r\n
    \r\n { preferences && preferences.categories && preferences.categories.map((c, index) =>\r\n <>\r\n {index == 0 && ()}\r\n {index != 0 && ()}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \"\"Equifax and its partners' communications

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

    \"\"All type of emails

    \r\n
    \r\n
    \r\n \r\n \r\n {this.state.showMailchimpLink &&\r\n click here') }\r\n />\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \"\"Account Management

    \r\n
    \r\n
    \r\n \r\n {this.state.message && }\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {textVariants[\"Btn_Save\"]}\r\n \r\n {/* */}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n
    \r\n {pageContent}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nMyPreferencesPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n var menuItems = [];\r\n\r\n if (state.menu) {\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.MYPREFERENCES]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.MYPREFERENCES];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if (state.textVariants) {\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile,\r\n isAuthenticated: state.userProfile.isAuthenticated\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MyPreferencesPage);\r\n","import delay from './delay';\r\nimport * as GlobalVariables from '../config/configureGlobalVariables';\r\n\r\n\r\nclass AboutMeApi {\r\n\r\n static getAboutMeProfile(csrfToken) {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/user/about-me';\r\n\r\n let headers = {}; \r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n let options = {\r\n method: 'GET',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers\r\n }\r\n\r\n return fetch(fullUrl, options).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n });\r\n }\r\n\r\n static saveAboutMeStep(csrfToken, step) {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/user/about-me-step';\r\n\r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n let options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers,\r\n body: JSON.stringify(step)\r\n }\r\n\r\n return fetch(fullUrl, options).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response;\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n });\r\n }\r\n};\r\n\r\nexport default AboutMeApi;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport * as ImagesPath from '../../../../config/imagesPath';\r\n\r\nimport AboutMeWizActionBtnContent from '../WizardParts/AboutMeWizActionBtnContent';\r\n// import AboutMeWizPeazie from '../WizardParts/AboutMeWizPeazie';\r\nimport HLAOptionButtons from '../WizardParts/HLAOptionButtons';\r\nimport AboutMeWizFinish from '../WizardParts/AboutMeWizFinish';\r\n\r\nexport const ThemePack = {\r\n buttons: \"wizard-action-btn-theme-about-me\",\r\n navigation: \"wizard-navigation-buttons-theme-hla\"//\"wizard-navigation-buttons-theme-about-me\"\r\n};\r\n\r\nexport const WizardAboutMeStepComponents = [\r\n HLAOptionButtons,\r\n HLAOptionButtons,\r\n HLAOptionButtons,\r\n HLAOptionButtons,\r\n HLAOptionButtons,\r\n HLAOptionButtons,\r\n HLAOptionButtons,\r\n AboutMeWizFinish\r\n];\r\n\r\n\r\nexport const StepsIndexAboutMe = {\r\n stepIndexWhyGetScore: 0,\r\n stepIndexHelpForBetterDeal: 1,\r\n stepIndexHelpMostOutScore: 2,\r\n stepIndexAboutYou: 3,\r\n stepIndexEmploymentStatus: 4,\r\n stepIndexYourIncome: 5,\r\n stepIndexYourHome: 6, \r\n stepIndexFinish: 7\r\n};\r\n\r\nexport const WizardAboutMeStepState =\r\n{\r\n\r\n promotionEnabled: true,\r\n steps: [\r\n {\r\n step: StepsIndexAboutMe.stepIndexWhyGetScore,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: ''\r\n },\r\n {\r\n step: StepsIndexAboutMe.stepIndexHelpForBetterDeal,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: ''\r\n },\r\n {\r\n step: StepsIndexAboutMe.stepIndexHelpMostOutScore,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: ''\r\n },\r\n {\r\n step: StepsIndexAboutMe.stepIndexAboutYou,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: ''\r\n },\r\n {\r\n step: StepsIndexAboutMe.stepIndexEmploymentStatus,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: ''\r\n },\r\n {\r\n step: StepsIndexAboutMe.stepIndexYourIncome,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: ''\r\n },\r\n {\r\n step: StepsIndexAboutMe.stepIndexYourHome,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [false, false, false, false, false, false],\r\n selectedExtraText: ''\r\n }, \r\n {\r\n step: StepsIndexAboutMe.stepIndexFinish,\r\n enabled: true,\r\n isCompleted: false,\r\n selectedItems: [],\r\n selectedExtraText: '',\r\n isWhenShowCompleted: true\r\n }\r\n ]\r\n};\r\n\r\nexport const WizardAboutMeStepsDef = [\r\n {\r\n id: 'about-me-why-get-score',\r\n step: StepsIndexAboutMe.stepIndexWhyGetScore,\r\n barTitle: \"About Me\",\r\n stepTitle: 'Why did you get your credit score?',\r\n stepsInstruction: 'Select all that apply to you',\r\n selectedExtraIndex: 5,\r\n shouldMoveOnAction: false,\r\n stepDefinition: {\r\n showInCols: 1,\r\n actions: [\r\n { id: 0, value: \"I'm about to apply for credit\" },\r\n { id: 1, value: 'To get a better deal' },\r\n { id: 2, value: 'I am curious' },\r\n { id: 3, value: \"I've had credit issues\" },\r\n { id: 4, value: 'To improve my Credit Score' },\r\n { id: 5, value: 'Other' }\r\n ]\r\n }\r\n },\r\n {\r\n id: 'about-me-help-for-better-deal',\r\n step: StepsIndexAboutMe.stepIndexHelpForBetterDeal,\r\n barTitle: \"About Me\",\r\n stepTitle: 'Let us know how we can help you get a better deal?',\r\n stepsInstruction: 'Select the most proper',\r\n selectedExtraIndex: 5,\r\n stepDefinition: {\r\n showInCols: 2,\r\n actions: [\r\n { id: 0, value: 'Credit Card' },\r\n { id: 1, value: 'Home Loan' },\r\n { id: 2, value: 'Personal Loan' },\r\n { id: 3, value: \"Vehicle Loan\" },\r\n { id: 4, value: 'Business Loan' },\r\n { id: 5, value: 'Other' }\r\n ]\r\n }\r\n },\r\n {\r\n id: 'about-me-help-most-out-of-score',\r\n step: StepsIndexAboutMe.stepIndexHelpMostOutScore,\r\n barTitle: \"About Me\",\r\n stepTitle: 'How can we help you get the most out of GetCreditScore',\r\n stepsInstruction: 'Select all that apply to you',\r\n selectedExtraIndex: 4,\r\n stepDefinition: {\r\n showInCols: 1,\r\n actions: [\r\n { id: 0, value: 'Reminders to refresh my score' },\r\n { id: 1, value: 'Money saving ideas' },\r\n { id: 2, value: \"Help me improve my credit score\" },\r\n { id: 3, value: 'Send me money saving offers' },\r\n { id: 4, value: 'Other' }\r\n ]\r\n }\r\n },\r\n {\r\n id: 'about-me-about-you',\r\n step: StepsIndexAboutMe.stepIndexAboutYou,\r\n barTitle: \"About Me\",\r\n stepTitle: 'About you?',\r\n stepSubTitle: 'We use this information to personalise our service for you',\r\n stepsInstruction: 'Please select one',\r\n selectedExtraIndex: null,\r\n stepSelectionnUnique: true,\r\n stepExtraDisabled : true,\r\n shouldMoveOnAction: true,\r\n stepDefinition: {\r\n showInCols: 1,\r\n actions: [\r\n { id: 0, value: 'Single', imgUrl: ImagesPath.ImgWizard_AboutMe_Single },\r\n { id: 1, value: 'Single parent', imgUrl: ImagesPath.ImgWizard_AboutMe_SingleParent },\r\n { id: 2, value: 'Couple - no kids', imgUrl: ImagesPath.ImgWizard_AboutMe_CoupleNoKid },\r\n { id: 3, value: \"Couple - kids\", imgUrl: ImagesPath.ImgWizard_AboutMe_CoupleKids },\r\n { id: 4, value: 'Empty Nester', imgUrl: ImagesPath.ImgWizard_AboutMe_EmptyNester }\r\n ]\r\n }\r\n },\r\n {\r\n id: 'about-me-employment-status',\r\n step: StepsIndexAboutMe.stepIndexEmploymentStatus,\r\n barTitle: \"About Me\",\r\n stepTitle: 'Employment Status?',\r\n stepSubTitle: 'We use this information to personalise our service for you',\r\n stepsInstruction: 'Please select one',\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepExtraDisabled : true,\r\n shouldMoveOnAction: true,\r\n stepDefinition: {\r\n showInCols: 1,\r\n actions: [\r\n { id: 0, value: 'Full Time / Self Employed' },\r\n { id: 1, value: 'Part Time / Casual' },\r\n { id: 2, value: 'Unemployed' },\r\n { id: 3, value: \"Homemaker\" },\r\n { id: 4, value: 'Retired' },\r\n { id: 5, value: 'Student' }\r\n ]\r\n }\r\n },\r\n {\r\n id: 'about-me-your-income',\r\n step: StepsIndexAboutMe.stepIndexYourIncome,\r\n barTitle: \"About Me\",\r\n stepTitle: 'Your Income?',\r\n stepSubTitle: 'We use this information to personalise our service for you',\r\n stepsInstruction: 'Please select one',\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepExtraDisabled : true,\r\n shouldMoveOnAction: true,\r\n stepDefinition: {\r\n showInCols: 2,\r\n actions: [\r\n { id: 0, value: '$0 - $50k' },\r\n { id: 1, value: '$50 - $100k' },\r\n { id: 2, value: '$100 - $150k' },\r\n { id: 3, value: \"$150k+\" },\r\n { id: 4, value: 'Prefer not to say' }\r\n ]\r\n }\r\n },\r\n {\r\n id: 'about-me-your-home',\r\n step: StepsIndexAboutMe.stepIndexYourHome,\r\n barTitle: \"About Me\",\r\n stepTitle: 'Your Home?',\r\n stepSubTitle: 'We use this information to personalise our service for you',\r\n stepsInstruction: 'Please select one',\r\n selectedExtraIndex: 5,\r\n stepSelectionnUnique: true,\r\n stepExtraDisabled : true,\r\n shouldMoveOnAction: true,\r\n stepDefinition: {\r\n showInCols: 1,\r\n actions: [\r\n { id: 0, value: 'I own my home outright' },\r\n { id: 1, value: 'I have a mortgage' },\r\n { id: 2, value: 'I rent' },\r\n { id: 3, value: \"I rent, but am looking to buy\" },\r\n { id: 4, value: 'I live with family / friends' }\r\n ]\r\n }\r\n }, \r\n {\r\n id: 'about-me-finish',\r\n step: StepsIndexAboutMe.stepIndexFinish,\r\n barTitle: \"About Me\",\r\n stepTitle: 'Profile Completed!',\r\n stepSubTitle: '',\r\n stepsInstruction: '',\r\n stepSelectionnUnique: false,\r\n stepExtraDisabled : true,\r\n stepDefinition: {\r\n subTitle: 'Did you know - some lenders offer lower interest rates based on your credit score?',\r\n imgUrl: ImagesPath.ImgWizard_Like\r\n }\r\n }\r\n];\r\n","import React from 'react';\r\nimport * as funcs from '../../../shared/functions';\r\n\r\nconst AboutMeWizFinish = ({step, stepState, onUpdate, onCustomAction}) => {\r\n let component =
    ; \r\n let stepDef = step[\"stepDefinition\"];\r\n \r\n if (step && stepState) {\r\n component =
    \r\n
    \r\n
    {stepDef[\"stepsInstruction\"]}
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    ;\r\n }\r\n \r\n return ( component );\r\n}\r\n\r\nexport default AboutMeWizFinish;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport * as funcs from '../../../shared/functions';\r\nimport * as pages from '../../../shared/pages';\r\nimport * as GlobalVariables from '../../../../config/configureGlobalVariables';\r\n\r\nimport {WizardCoreClass} from '../WizardCore';\r\nimport {WizardAboutMeStepsDef, WizardAboutMeStepState, WizardAboutMeStepComponents, StepsIndexAboutMe, ThemePack} from './AboutMeStepDef';\r\n\r\nexport class AboutMeWizard extends WizardCoreClass {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n // this.props.actions.trackAboutMe('View Step', wizardStepsDef[this.state.wizardCurrentStep], this.state.wizardCurrentStep);\r\n }\r\n\r\n _getTheme(){\r\n return ThemePack;\r\n }\r\n\r\n _getInitialState(){\r\n return WizardAboutMeStepState;\r\n }\r\n\r\n _getWizardComponents(){\r\n return WizardAboutMeStepComponents;\r\n }\r\n\r\n _getStepIndex(){\r\n return StepsIndexAboutMe;\r\n }\r\n\r\n _getStepDefinition(){\r\n return WizardAboutMeStepsDef;\r\n }\r\n\r\n _onSaveStep(savedStateStep, stepDefinition){\r\n this.props.onSaveStep(savedStateStep, stepDefinition);\r\n }\r\n\r\n _onCustomAction(fullStep, stepState, stepsDefinition, stepsState, stepIndex){\r\n this.props.onCustomAction(fullStep, stepState, stepsDefinition, stepsState, stepIndex);\r\n }\r\n\r\n _trackViewStep(actionStr, stepDefinition, currentStep){\r\n this.props.actions.trackAboutMe(actionStr, stepDefinition, currentStep);\r\n }\r\n\r\n // _loadExtraConfiguration(wizardState, extraConfig){\r\n // }\r\n\r\n _refreshNavigationFlow(wizardStepIndex, stepsState){\r\n if(stepsState && stepsState.steps && stepsState.steps.length > 0){\r\n var steps = stepsState.steps;\r\n //stepIndexWhyGetScore opt 1 and 2 open stepIndexHelpForBetterDeal.\r\n steps[wizardStepIndex.stepIndexHelpForBetterDeal].enabled = steps[wizardStepIndex.stepIndexWhyGetScore].selectedItems[0] || steps[wizardStepIndex.stepIndexWhyGetScore].selectedItems[1];\r\n\r\n // stepIndexEmploymentStatus opt 1 and 2 open stepIndexYourIncome\r\n steps[wizardStepIndex.stepIndexYourIncome].enabled = steps[wizardStepIndex.stepIndexEmploymentStatus].selectedItems[0] || steps[wizardStepIndex.stepIndexEmploymentStatus].selectedItems[1];\r\n \r\n steps[wizardStepIndex.stepIndexFinish].enabled = true;\r\n }\r\n }\r\n}\r\n\r\nAboutMeWizard.contextTypes = {\r\n router: PropTypes.object\r\n};","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\nimport * as scoreActions from '../../redux/actions/scoreActions';\r\n\r\nimport AboutMeApi from '../../api/aboutMeApi.js';\r\n\r\nimport LoadingIndicator from '../common/controls/LoadingIndicator';\r\nimport {ApiFailedToLoadComponentWithText} from '../common/ApiFailedToLoadComponent';\r\nimport {AboutMeWizard} from '../common/Wizard/AboutMe/AboutMeWizard';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport FooterSmallSection from '../common/footerSmall'\r\n\r\nclass AboutMePage extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n isAboutMeProfileLoaded : false,\r\n isAboutMeProfileLoading : true,\r\n isServerError: false,\r\n initialProfile: null,\r\n nextPage: true\r\n };\r\n\r\n this.onSaveStep = this.onSaveStep.bind(this);\r\n this.onCustomAction = this.onCustomAction.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n // TODO: cancel Async/API call in ComponentWillUnmount\r\n // Warning: Can't call setState (or forceUpdate) on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount method.\r\n this.props.actions.getTextVariants();\r\n this.props.actions.getMenuForPage(pages.ABOUTME);\r\n \r\n this.props.actions.isAuthenticated().then(e => {\r\n AboutMeApi.getAboutMeProfile(this.props.csrfToken).then( resp => {\r\n this.setState({\r\n initialProfile: resp.profile, \r\n isAboutMeProfileLoaded: true, \r\n isAboutMeProfileLoading: false,\r\n isServerError: false});\r\n\r\n }).catch( error => {\r\n this.setState({\r\n isAboutMeProfileLoaded: true, \r\n isAboutMeProfileLoading: false,\r\n isServerError: true});\r\n\r\n });\r\n });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.isAuthenticated) {\r\n // go back to login\r\n this.props.history.push('login/about-me');\r\n } else {\r\n // if(nextProps.userProfile.userDetails) {\r\n // let newCustomer = Object.assign({}, nextProps.userProfile.userDetails);\r\n // this.setState({customer: newCustomer});\r\n // }\r\n }\r\n }\r\n\r\n onSaveStep(stepState, stepDef) {\r\n var step = Object.assign({}, stepState, {stepCode: stepDef.id});\r\n\r\n AboutMeApi.saveAboutMeStep(this.props.csrfToken, step).then(() => {\r\n // console.log('step saved');\r\n }).catch( error =>{\r\n //console.log(error);\r\n //this.setState({isAboutMeProfileLoaded: true, isAboutMeProfileLoading: false ,isServerError: true});\r\n });\r\n }\r\n\r\n onCustomAction(fullStep, stepState, stepsDefinition, stepsState, stepIndex) {\r\n this.props.actions.participatedInPromotion();\r\n // PromotionApi.participatedInPromotion(this.props.csrfToken, 'GiveAway201708').then(()=> {\r\n // // console.log('step saved');\r\n //\r\n // }).catch( error =>{\r\n // //console.log(error);\r\n // //this.setState({isAboutMeProfileLoaded: true, isAboutMeProfileLoading: false ,isServerError: true});\r\n // });\r\n }\r\n\r\n renderFirstPage() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"/\r\n
    \r\n Hi\r\n

    {this.props.userProfile ? this.props.userProfile.displayName : ''}

    \r\n

    Answer for a few question to help us identify which offers
    are best to you.

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n nextPage() {\r\n this.setState({nextPage:true})\r\n }\r\n\r\n render() {\r\n let pageContent = null;\r\n\r\n if (this.state.isServerError) {\r\n pageContent = (\r\n Sorry!

    We are not able to retrieve your profile at the moment. Please contact us

    \" />\r\n );\r\n\r\n } else if (this.state.isAboutMeProfileLoading) {\r\n pageContent = (\r\n \r\n );\r\n\r\n } else if (this.state.isAboutMeProfileLoaded) {\r\n if(this.state.nextPage){\r\n pageContent = (\r\n \r\n );\r\n }\r\n else{\r\n pageContent = this.renderFirstPage();\r\n }\r\n\r\n } else {\r\n pageContent =
    ;\r\n }\r\n\r\n return (\r\n
    \r\n {!this.state.nextPage && }\r\n {pageContent}\r\n {!this.state.nextPage && }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nAboutMePage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n var menuItems = [];\r\n\r\n if (state.menu) {\r\n var menu = state.menu;\r\n if ( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.ABOUTME]) {\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.ABOUTME];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if (state.textVariants) {\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile,\r\n isAuthenticated: state.userProfile.isAuthenticated,\r\n csrfToken: state.userProfile.csrfToken,\r\n identifier: state.userProfile.identifier\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions, trackingActions, scoreActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AboutMePage);","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { createMarkup } from '../../components/shared/functions.js'\r\nimport * as pages from '../../components/shared/pages';\r\n\r\nimport * as GlobalFixedVariables from '../../config/GlobalFixedVariables';\r\n\r\n\r\nconst FAQItem = ({faq}) => {\r\n return (\r\n
    \r\n
    \r\n

    {faq.title}

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst SectionFAQ = ({faqs}) => {\r\n\r\n var sectionCls = 'faq-section ' + pages.COMMON_SECTION_PADDING;\r\n\r\n return (\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n

    FAQ

    \r\n
    \r\n
    \r\n\r\n\r\n {faqs && faqs.map( faq => )}\r\n
    \r\n
    \r\n )\r\n}\r\n\r\nSectionFAQ.propTypes = {\r\n faqs: PropTypes.array.isRequired\r\n};\r\n\r\nexport default SectionFAQ;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\nimport {parse} from 'query-string';\r\n\r\nimport * as pages from '../shared/pages';\r\nimport * as GlobalFixedVariables from '../../config/GlobalFixedVariables';\r\n\r\nimport {HomeSplashSection, HomeSplashCallToActionPlaceholder, HomeSplashFeaturedOnSection} from './HomeSplashSection';\r\nimport HomeKeyFeaturesSection from './HomeKeyFeaturesSection';\r\nimport ProductSection from './../sections/ProductSection';\r\nimport RegistrationForm from '../registration/RegistrationForm';\r\nimport SectionFaq from '../sections/SectionFaq';\r\nimport {staticSectionFAQS} from '../shared/staticFaq';\r\nimport TrustPilotSection from './../sections/TrustPilotSection';\r\nimport CounterSection from './../sections/CounterSection';\r\n\r\nimport * as productActions from '../../redux/actions/productActions';\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as homePageActions from '../../redux/actions/homePageActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\n\r\nimport ValidationApi from '../../api/validationApi.js';\r\nimport HelperApi from '../../api/HelperApi.js';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport {USERROLES, hasOneRole} from '../../common/gcsLogic';\r\nimport {tonikInitDashboard, tonikInitCarousel} from '../../tonik/dashboard';\r\nimport {tonikInitModal} from '../../tonik/modal';\r\n\r\nconst $ = window.$;\r\n\r\n// import ProductApi from '../../api/mockProductApi.js'\r\n// import LayoutApi from '../../api/mockLayoutApi.js'\r\n// import ArticlesApi from '../../api/mockArticlesApi.js'\r\n\r\nconst NewMemberProgressBar = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst NewMemberErrorSection = ({textVariants}) => {\r\n return (\r\n
    \r\n
    \r\n \r\n {textVariants[pages.REGISTER + textVariants.textVariantSeparator + \"new_member_error\"]}\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\n\r\nexport class HomeOldStylePage extends React.Component{\r\n constructor(props, context){\r\n super(props, context);\r\n\r\n this.state = {\r\n customer: { dob: { dd: '', mm: '', yy: '' } , address:'', addressPrevious: '', hasLivedLessThan3Years:false, email: props.registeringUsername, firstName: '', middleName: '', lastName: '' },\r\n extendedCustomer: { ci: '', ch: '' },\r\n errors: {dob: { dd: '', mm: '', yy: '' }},\r\n //hashAccountCreation: null,\r\n saving: false,\r\n pageVariation: \"\",\r\n trustPilotSectionTheme: \"trust-pilot-section-theme-white trust-pilot-section-theme-inline-minimal\",\r\n formLoading: false,\r\n omitFields: {\r\n mobile: true\r\n }\r\n };\r\n\r\n this.onGetScoreClick = this.onGetScoreClick.bind(this);\r\n this.redirect = this.redirect.bind(this);\r\n this.onLearnMoreClick = this.onLearnMoreClick.bind(this);\r\n this.onProductClick = this.onProductClick.bind(this);\r\n this.onArticleClick = this.onArticleClick.bind(this);\r\n this.onResourceClick = this.onResourceClick.bind(this);\r\n\r\n this.onLoginClick = this.onLoginClick.bind(this);\r\n\r\n this.onSaveCustomer = this.onSaveCustomer.bind(this);\r\n this.updateCustomerState = this.updateCustomerState.bind(this);\r\n this.updateCustomerServiceAddressError = this.updateCustomerServiceAddressError.bind(this);\r\n this.saveCustomerFromState = this.saveCustomerFromState.bind(this);\r\n this.onRegistrationComplete = this.onRegistrationComplete.bind(this);\r\n this.getComponentList = this.getComponentList.bind(this);\r\n }\r\n\r\n\r\n componentWillMount(){\r\n\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n if (nextProps.registeringUsername != this.props.registeringUsername) {\r\n let customer = Object.assign({}, this.state.customer);\r\n customer.email = nextProps.registeringUsername;\r\n this.setState({ customer });\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n\r\n let pageVariation = \"\";\r\n // if(pageVariation = this.props.route[\"pageVariation\"]){\r\n if (pageVariation = this.props.pageVariation) {\r\n let partnerSourceId = null;\r\n let customer = Object.assign({}, this.state.customer);\r\n if(pageVariation == \"toyota\"){\r\n customer.partnerSourceId = GlobalFixedVariables.PARTNER_TOYOTA;\r\n this.props.actions.partnerStick(customer.partnerSourceId);\r\n this.setState({pageVariation: pageVariation, customer: customer});\r\n }\r\n else if(pageVariation == \"powertorque\"){\r\n customer.partnerSourceId = GlobalFixedVariables.PARTNER_POWERTORQUE;\r\n this.props.actions.partnerStick(customer.partnerSourceId);\r\n this.setState({pageVariation: pageVariation, customer: customer});\r\n }\r\n else {\r\n this.setState({pageVariation: pageVariation});\r\n }\r\n\r\n }\r\n\r\n this.props.actions.loadkeyFeatureList();\r\n this.props.actions.loadProcessSteps();\r\n this.props.actions.loadArticlesForHomePage();\r\n\r\n if(pageVariation == \"full\"){\r\n this.props.actions.getMenuForPage(pages.HOME);\r\n this.props.actions.loadProducts();\r\n }\r\n\r\n if (pageVariation === \"newmember\") {\r\n let extendedCustomer = parse(this.props.location.search);\r\n let hashSize = 42;\r\n\r\n if (extendedCustomer && extendedCustomer.ci && extendedCustomer.ch && extendedCustomer.ch.length === hashSize) {\r\n\r\n this.setState({ formLoading: true });\r\n\r\n this.props.actions.getExistingCustomer(extendedCustomer).then(e => {\r\n this.setState({ formLoading: false });\r\n }).catch(e => {this.setState({ formLoading: false });});\r\n }\r\n }\r\n\r\n this.props.actions.getTextVariants();\r\n this.props.actions.initUser();\r\n\r\n\r\n let tid = parse(this.props.location.search).transaction_id;\r\n\r\n if(tid){\r\n this.props.actions.trackReferralFromPartner(tid, null);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState){\r\n\r\n\r\n if (prevProps && this.props && prevProps.existingCustomer && this.props.existingCustomer && (prevProps.existingCustomer.detail != this.props.existingCustomer.detail)) {\r\n let extendedCustomer = Object.assign({}, this.state.customer, this.props.existingCustomer.detail);\r\n this.setState({customer: extendedCustomer});\r\n }\r\n }\r\n\r\n onLoginClick(event){\r\n this.props.actions.trackButtonClick(pages.HOME + '-free-credit-score', 'login_splash');\r\n this.redirect(RoutesVariables.RouteLogin);\r\n }\r\n\r\n redirect(url) {\r\n this.props.history.push(url);\r\n }\r\n\r\n onGetScoreClick(event){\r\n\r\n //check the event properties to send tracking event\r\n\r\n if(this.props.isAuthenticated){\r\n this.redirect(RoutesVariables.RouteCreditScore);\r\n }\r\n else{\r\n this.props.actions.trackGetScoreButtonClick(event.target.id);\r\n //this.redirect('/test#registration-section');\r\n }\r\n }\r\n\r\n onLearnMoreClick(event){\r\n //this.redirect('/dashboard#dashboard-top-page'); \r\n }\r\n\r\n onProductClick(event, product){\r\n\r\n this.props.actions.trackGcsProductClick(product, pages.HOME, \"free-credit-score\");\r\n }\r\n\r\n onArticleClick(event, article){\r\n\r\n //event.preventDefault();\r\n //this.context.router.push('/article1/' + article.seoName);\r\n }\r\n\r\n onResourceClick(event, resourceId){\r\n\r\n }\r\n\r\n onRegistrationComplete(){\r\n this.props.history.push('/');\r\n return false;\r\n }\r\n\r\n onSaveCustomer(event) {\r\n event.preventDefault();\r\n const that = this;\r\n this.setState({saving: true});\r\n\r\n let validationResult = ValidationApi.validateCustomer(this.state.customer, this.state.omitFields);\r\n\r\n if (validationResult.isValid) {\r\n this.saveCustomerFromState(this.state.customer).then( r => {\r\n let jackMediaAppend = \"\";\r\n let tid = parse(this.props.location.search).transaction_id;\r\n\r\n if (tid) {\r\n jackMediaAppend = \"?tid=\" + tid;\r\n }\r\n\r\n this.props.history.push(RoutesVariables.RouteCheckYourInbox + (jackMediaAppend ? jackMediaAppend : \"\"));\r\n\r\n }).catch(e => {\r\n let errors = this.state.errors;\r\n let msg = null;\r\n if(e.status == 409){\r\n msg = this.props.textVariants[pages.REGISTER + this.props.textVariants.textVariantSeparator + \"409_startAgain\"];\r\n }\r\n else if(e.status == 302){\r\n msg = this.props.textVariants[pages.REGISTER + this.props.textVariants.textVariantSeparator + \"302_userExists\"];\r\n }\r\n else if(e.status == 400){\r\n e.json().then(function(response) {\r\n response.forEach(error => {\r\n errors[error.field] = error.message;\r\n });\r\n\r\n that.setState({errors: errors, saving : false});\r\n });\r\n\r\n msg = this.props.textVariants[pages.REGISTER + this.props.textVariants.textVariantSeparator + \"400_badRequest\"];\r\n }\r\n else if(e.status == 500){\r\n msg = this.props.textVariants[\"Api_Generic\"];\r\n }\r\n\r\n errors[\"global\"] = msg;\r\n this.setState({errors: errors, saving : false});\r\n });\r\n } else {\r\n let newCustomer = this.state.customer;\r\n newCustomer.isCurrentEmailValid = validationResult.isCurrentEmailValid;\r\n newCustomer.isCurrentMobileValid = validationResult.isCurrentMobileValid;\r\n\r\n this.setState({customer: newCustomer, errors: validationResult.errors, saving: false});\r\n }\r\n }\r\n\r\n saveCustomerFromState(customer){\r\n var registeredCustomer = Object.assign({}, customer);\r\n //dob: { 'ddofbirth': '', 'mmofbirth': '', 'yyyyofbirth': '' }\r\n HelperApi.setInnerDateOfBirthAndDobFromNumbers(registeredCustomer, customer.dob.yy, customer.dob.mm, customer.dob.dd);\r\n\r\n //registeredCustomer.dateOfBirth.setTime( registeredCustomer.dateOfBirth.getTime() + registeredCustomer.dateOfBirth.getTimezoneOffset()*60*1000 );\r\n //registeredCustomer.email = this.props.userProfile.username; // || this.props.userProfile.rememberMeInfo.username;\r\n registeredCustomer.gender = customer.gender;\r\n\r\n let isExistingCustomer = this.state.pageVariation == \"newmember\";\r\n return this.props.actions.registerFull(registeredCustomer, isExistingCustomer);\r\n }\r\n\r\n updateCustomerState(event) {\r\n\r\n const field = event.target.name;\r\n\r\n let customer = this.state.customer;\r\n customer[field] = event.target.value;\r\n\r\n let errors = this.state.errors;\r\n errors[field] = field== 'dob' ? {} : '';\r\n\r\n return this.setState({ customer: customer, errors:errors });\r\n }\r\n\r\n updateCustomerServiceAddressError(event){\r\n\r\n const field = event.target.name;\r\n\r\n let errors = this.state.errors;\r\n\r\n if (event.target.status && event.target.status == 401) {\r\n //console.log(\"external service error code=\"+event.target.status);\r\n }\r\n\r\n errors[field] = this.props.textVariants[\"Error_cant_find_address\"];\r\n\r\n return this.setState({ errors:errors });\r\n }\r\n\r\n getComponentList(){\r\n\r\n var components = [];\r\n\r\n if(this.state.pageVariation == \"full\" || this.state.pageVariation == \"smart\" || this.state.pageVariation == \"toyota\"){\r\n\r\n components.push(\r\n );\r\n\r\n if(this.state.pageVariation == \"full\" ){\r\n\r\n components.push(\r\n );\r\n }\r\n\r\n components.push();\r\n }\r\n\r\n return components;\r\n\r\n }\r\n\r\n render() {\r\n let componentToBeRendered, registrationForm;\r\n componentToBeRendered = registrationForm = (\r\n \r\n );\r\n\r\n // Get members back section ------------------\r\n if (this.state.pageVariation == \"newmember\") {\r\n let hasError = this.props.existingCustomer && this.props.existingCustomer.hasError;\r\n\r\n if (this.state.formLoading) {\r\n componentToBeRendered = ;\r\n\r\n } else {\r\n if (hasError) {\r\n componentToBeRendered = (\r\n
    \r\n \r\n {registrationForm}\r\n
    \r\n );\r\n }\r\n }\r\n }\r\n // End Get members back section ------------------\r\n\r\n return (\r\n
    \r\n\r\n {/*
    This should be {this.props.route.something}
    */}\r\n\r\n \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n
    \r\n \r\n\r\n \r\n\r\n
    \r\n {/* */}\r\n\r\n {componentToBeRendered} \r\n\r\n
    \r\n\r\n {this.getComponentList()}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nHomeOldStylePage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n\r\n var menuItems = [];\r\n var keyFeatureList = [];\r\n var processSteps = {};\r\n var articles = [];\r\n let products = [];\r\n let txtVariants = {};\r\n\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.HOME]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.HOME];\r\n }\r\n }\r\n\r\n if(state.homePage && state.homePage.keyFeatureList){\r\n keyFeatureList = state.homePage.keyFeatureList;\r\n }\r\n\r\n if(state.homePage && state.homePage.processSteps){\r\n processSteps = state.homePage.processSteps;\r\n }\r\n\r\n if(state.homePage && state.homePage.articles){\r\n articles = state.homePage.articles;\r\n }\r\n\r\n let productLoading = null;\r\n if(state.productResult && state.productResult.products){\r\n products = state.productResult.products;\r\n productLoading = state.productResult.loading;\r\n }\r\n\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n let isAnonymous = true;\r\n if(state.productResult){\r\n isAnonymous = state.productResult.isAnonymous;\r\n }\r\n\r\n let userProfile = {};\r\n if (state.userProfile) {\r\n userProfile = state.userProfile;\r\n }\r\n\r\n return {\r\n products : products,\r\n productLoading: productLoading,\r\n isAnonymous: isAnonymous,\r\n rememberMe: state.userProfile.rememberMeInfo.rememberMe,\r\n isAuthenticated: state.userProfile.isAuthenticated,\r\n menuItemList: menuItems,\r\n keyFeatureList: keyFeatureList,\r\n articles: articles,\r\n processSteps: processSteps,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile,\r\n existingCustomer: userProfile.existingCustomer,\r\n isTrustPilotEnabled: userProfile.isTrustPilotEnabled,\r\n registeringUsername: state.userProfile.registeringUsername\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, productActions, layoutActions, homePageActions, userActions, trackingActions) , dispatch)\r\n };\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(HomeOldStylePage);\r\n","/// \r\n\r\nimport React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\nimport {parse} from 'query-string';\r\n\r\nimport * as pages from '../shared/pages';\r\nimport {HomeSplashSection, HomeSplashCallToActionPlaceholder, HomeSplashFeaturedOnSection} from './HomeSplashSection';\r\n\r\nimport RegistrationForm from '../registration/RegistrationForm';\r\n\r\nimport CounterSection from './../sections/CounterSection';\r\n\r\nimport * as productActions from '../../redux/actions/productActions';\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as homePageActions from '../../redux/actions/homePageActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\n\r\nimport ValidationApi from '../../api/validationApi.js';\r\nimport HelperApi from '../../api/HelperApi';\r\n\r\n//\r\n// import ProductApi from '../../api/mockProductApi.js'\r\n// import LayoutApi from '../../api/mockLayoutApi.js'\r\n// import ArticlesApi from '../../api/mockArticlesApi.js'\r\n\r\n\r\nexport class HomeOhNoPage extends React.Component{\r\n constructor(props, context){\r\n super(props, context);\r\n\r\n this.state = {\r\n customer: { dob: { dd: '', mm: '', yy: '' } , address:'', addressPrevious: '', hasLivedLessThan3Years:false },\r\n errors: {dob: { dd: '', mm: '', yy: '' }},\r\n //hashAccountCreation: null,\r\n saving: false,\r\n omitFields: {\r\n mobile: true\r\n }\r\n };\r\n\r\n this.onGetScoreClick = this.onGetScoreClick.bind(this);\r\n this.redirect = this.redirect.bind(this);\r\n this.onLearnMoreClick = this.onLearnMoreClick.bind(this);\r\n this.onProductClick = this.onProductClick.bind(this);\r\n this.onArticleClick = this.onArticleClick.bind(this);\r\n this.onResourceClick = this.onResourceClick.bind(this);\r\n\r\n this.onLoginClick = this.onLoginClick.bind(this);\r\n\r\n this.onSaveCustomer = this.onSaveCustomer.bind(this);\r\n this.updateCustomerState = this.updateCustomerState.bind(this);\r\n this.updateCustomerServiceAddressError = this.updateCustomerServiceAddressError.bind(this);\r\n this.saveCustomerFromState = this.saveCustomerFromState.bind(this);\r\n this.onRegistrationComplete = this.onRegistrationComplete.bind(this);\r\n }\r\n\r\n\r\n componentWillMount(){\r\n\r\n }\r\n\r\n componentWillReceiveProps(nextProps){\r\n\r\n }\r\n\r\n componentDidMount() {\r\n\r\n this.props.actions.getMenuForPage(pages.HOMEOHNO);\r\n this.props.actions.loadProducts();\r\n this.props.actions.loadkeyFeatureList();\r\n this.props.actions.loadProcessSteps();\r\n this.props.actions.loadArticlesForHomePage();\r\n this.props.actions.getTextVariants();\r\n this.props.actions.initUser();\r\n\r\n\r\n let tid = parse(this.props.location.search).transaction_id;\r\n\r\n if(tid){\r\n this.props.actions.trackReferralFromPartner(tid, null);\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState){\r\n\r\n if(prevProps && this.props && prevProps.processSteps && this.props.processSteps && (prevProps.processSteps.length != this.props.processSteps.length)){\r\n }\r\n }\r\n\r\n\r\n\r\n onLoginClick(event){\r\n this.props.actions.trackButtonClick(pages.HOMEOHNO + '-oh-no', 'login_splash');\r\n this.redirect(RoutesVariables.RouteLogin);\r\n }\r\n\r\n redirect(url) {\r\n this.props.history.push(url);\r\n }\r\n\r\n onGetScoreClick(event){\r\n\r\n //check the event properties to send tracking event\r\n\r\n if(this.props.isAuthenticated){\r\n this.redirect(RoutesVariables.RouteCreditScore);\r\n }\r\n else{\r\n this.props.actions.trackGetScoreButtonClick(event.target.id);\r\n //this.redirect('/test#registration-section');\r\n }\r\n }\r\n\r\n onLearnMoreClick(event){\r\n //this.redirect('/dashboard#dashboard-top-page'); \r\n }\r\n\r\n onProductClick(event, product){\r\n\r\n this.props.actions.trackGcsProductClick(product, pages.HOMEOHNO, \"oh-no-page\");\r\n }\r\n\r\n onArticleClick(event, article){\r\n\r\n //event.preventDefault();\r\n //this.context.router.push('/article1/' + article.seoName);\r\n }\r\n\r\n onResourceClick(event, resourceId){\r\n\r\n }\r\n\r\n onRegistrationComplete(){\r\n this.props.history.push('/');\r\n return false;\r\n }\r\n\r\n onSaveCustomer(event) {\r\n event.preventDefault();\r\n const that = this;\r\n this.setState({saving: true});\r\n\r\n let validationResult = ValidationApi.validateCustomer(this.state.customer, this.state.omitFields);\r\n\r\n if (validationResult.isValid) {\r\n this.saveCustomerFromState(this.state.customer).then(r => {\r\n let jackMediaAppend = \"\";\r\n let tid = parse(this.props.location.search).transaction_id;\r\n\r\n if(tid){\r\n jackMediaAppend = \"?tid=\" + tid;\r\n }\r\n\r\n this.props.history.push(RoutesVariables.RouteCheckYourInbox + (jackMediaAppend ? jackMediaAppend : \"\"));\r\n }).catch(e => {\r\n let errors = this.state.errors;\r\n let msg = null;\r\n if(e.status == 409){\r\n msg = this.props.textVariants[pages.REGISTER + this.props.textVariants.textVariantSeparator + \"409_startAgain\"];\r\n }\r\n else if(e.status == 302){\r\n msg = this.props.textVariants[pages.REGISTER + this.props.textVariants.textVariantSeparator + \"302_userExists\"];\r\n }\r\n else if(e.status == 400){\r\n e.json().then(function(response) {\r\n response.forEach(error => {\r\n errors[error.field] = error.message;\r\n });\r\n\r\n that.setState({errors: errors, saving : false});\r\n });\r\n\r\n msg = this.props.textVariants[pages.REGISTER + this.props.textVariants.textVariantSeparator + \"400_badRequest\"];\r\n }\r\n else if(e.status == 500){\r\n msg = this.props.textVariants[\"Api_Generic\"];\r\n }\r\n\r\n errors[\"global\"] = msg;\r\n this.setState({errors: errors, saving: false});\r\n });\r\n\r\n } else {\r\n let newCustomer = this.state.customer;\r\n newCustomer.isCurrentEmailValid = validationResult.isCurrentEmailValid;\r\n newCustomer.isCurrentMobileValid = validationResult.isCurrentMobileValid;\r\n\r\n this.setState({customer: newCustomer, errors: validationResult.errors, saving: false});\r\n }\r\n }\r\n\r\n saveCustomerFromState(customer){\r\n var registeredCustomer = Object.assign({}, customer);\r\n //dob: { 'ddofbirth': '', 'mmofbirth': '', 'yyyyofbirth': '' }\r\n HelperApi.setInnerDateOfBirthAndDobFromNumbers(registeredCustomer, customer.dob.yy, customer.dob.mm, customer.dob.dd);\r\n\r\n //registeredCustomer.dateOfBirth.setTime( registeredCustomer.dateOfBirth.getTime() + registeredCustomer.dateOfBirth.getTimezoneOffset()*60*1000 );\r\n //registeredCustomer.email = this.props.userProfile.username; // || this.props.userProfile.rememberMeInfo.username;\r\n registeredCustomer.gender = customer.gender;\r\n\r\n return this.props.actions.registerFull(registeredCustomer);\r\n }\r\n\r\n updateCustomerState(event) {\r\n\r\n const field = event.target.name;\r\n\r\n let customer = this.state.customer;\r\n customer[field] = event.target.value;\r\n\r\n let errors = this.state.errors;\r\n errors[field] = field== 'dob' ? {} : '';\r\n\r\n return this.setState({ customer: customer, errors:errors });\r\n }\r\n\r\n updateCustomerServiceAddressError(event){\r\n\r\n const field = event.target.name;\r\n\r\n let errors = this.state.errors;\r\n\r\n if (event.target.status && event.target.status == 401) {\r\n console.log(\"external service error code=\"+event.target.status);\r\n }\r\n\r\n errors[field] = this.props.textVariants[\"Error_cant_find_address\"];\r\n\r\n return this.setState({ errors:errors });\r\n }\r\n\r\n render(){\r\n\r\n //let menuComponent = ()\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\nHomeOhNoPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.HOMEOHNO]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.HOMEOHNO];\r\n }\r\n }\r\n\r\n var keyFeatureList = [];\r\n if(state.homePage && state.homePage.keyFeatureList){\r\n keyFeatureList = state.homePage.keyFeatureList;\r\n }\r\n\r\n var processSteps = {};\r\n if(state.homePage && state.homePage.processSteps){\r\n processSteps = state.homePage.processSteps;\r\n }\r\n\r\n var articles = [];\r\n if(state.homePage && state.homePage.articles){\r\n articles = state.homePage.articles;\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n\r\n let products = [];\r\n let productLoading = null;\r\n if(state.productResult && state.productResult.products){\r\n products = state.productResult.products;\r\n productLoading = state.productResult.loading;\r\n }\r\n\r\n let isAnonymous = true;\r\n if(state.productResult){\r\n isAnonymous = state.productResult.isAnonymous;\r\n }\r\n\r\n return {\r\n products : products,\r\n productLoading: productLoading,\r\n isAnonymous: isAnonymous,\r\n rememberMe: state.userProfile.rememberMeInfo.rememberMe,\r\n isAuthenticated: state.userProfile.isAuthenticated,\r\n menuItemList: menuItems,\r\n keyFeatureList: keyFeatureList,\r\n articles: articles,\r\n processSteps: processSteps,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, productActions, layoutActions, homePageActions, userActions, trackingActions) , dispatch)\r\n };\r\n}\r\n\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(HomeOhNoPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\nimport {parse} from 'query-string';\r\n\r\nimport Menu from '../menu/Menu.js'\r\n\r\nimport * as funcs from '../../components/shared/functions.js';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\nimport * as productActions from '../../redux/actions/productActions';\r\n\r\nimport WizardApi from '../../api/WizardApi.js';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport {partnerHandshakeConfig} from '../shared/staticProducts';\r\nimport FooterSection from '../common/footer'\r\n\r\n\r\n\r\nexport const ProductHandshakeWithProduct = ({partnerId, partnerUrl = \"\", errorMessage, product}) => {\r\n\r\n let loaderComponent =

    ;\r\n\r\n var partnerConfig = product.productDisplayHandshake;\r\n if(errorMessage){\r\n loaderComponent =
    \r\n
    \r\n \r\n
    \r\n
    ;\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    We are connecting you to

    \r\n
    \r\n
    \r\n
    \r\n \"partner-logo\"\r\n
    \r\n
    \r\n\r\n
    \r\n {partnerConfig.title &&
    \r\n

    \r\n
    }\r\n\r\n
    \r\n
    \r\n
      \r\n {\r\n partnerConfig && partnerConfig.features && partnerConfig.features.map( feature => {\r\n return (
    • {feature.title}
    • )\r\n })\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {loaderComponent}\r\n\r\n
    \r\n \"partner-logo\"\r\n
    \r\n\r\n {partnerUrl &&
    Not redirecting? \r\n click here\r\n
    }\r\n
    \r\n \r\n \r\n );\r\n\r\n}\r\n\r\n\r\nexport const ProductHandshakeClassic = ({partnerId, partnerUrl = \"\", errorMessage, product}) => {\r\n\r\n var partnerConfig = partnerHandshakeConfig[partnerId];\r\n if(!partnerConfig){\r\n partnerConfig = {};\r\n }\r\n\r\n let loaderComponent =

    ;\r\n\r\n if(errorMessage){\r\n loaderComponent =
    \r\n
    \r\n \r\n
    \r\n
    ;\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    We are connecting you to

    \r\n
    \r\n
    \r\n
    \r\n \"partner-logo\"\r\n
    \r\n
    \r\n\r\n
    \r\n {partnerConfig.description &&
    \r\n \r\n
    }\r\n\r\n
    \r\n
    \r\n
      \r\n {\r\n partnerConfig && partnerConfig.features && partnerConfig.features.map( feature => {\r\n return (
    • {feature.title}
    • )\r\n })\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {loaderComponent}\r\n\r\n\r\n
    \r\n \"partner-logo\"\r\n
    \r\n\r\n {partnerUrl &&
    Not redirecting? \r\n click here\r\n
    }\r\n\r\n\r\n
    \r\n \r\n\r\n );\r\n}\r\n\r\nexport const ProductHandshake = (props) => {\r\n\r\n let returnControl = null;\r\n if(props.product && props.product.productDisplayHandshake){\r\n returnControl = ;\r\n }\r\n else{\r\n returnControl = ;\r\n }\r\n\r\n return returnControl;\r\n}\r\n\r\nclass PartnerReferPage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n partnerId: \"\",\r\n partnerUrl: \"\",\r\n productId: \"\",\r\n product: null,\r\n errorMessage: null,\r\n mode:\"d\"\r\n }\r\n\r\n this.setProductActionProduct = this.setProductActionProduct.bind(this);\r\n this.setProductActionPush = this.setProductActionPush.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n //this.props.actions.getMenuForPage(pages.PARTNERCONSENT);\r\n\r\n this.props.actions.getTextVariants();\r\n let that = this;\r\n\r\n let productId = parse(this.props.location.search).productId;\r\n let mode = parse(this.props.location.search).m;\r\n let isNs = parse(this.props.location.search).isn == '1';\r\n if(!mode){\r\n mode = 'd';\r\n }\r\n\r\n this.setState({mode:mode});\r\n\r\n this.props.actions.loadProducts().then( productResult => {\r\n\r\n // find the product by product id and then refer after 4\r\n let product = funcs.searchInList(productResult.products, \"id\", productId);\r\n\r\n if(mode == 'd'){\r\n \r\n if(!product || isNs){\r\n let nextStep = funcs.searchInList(productResult.call2Actions, \"productIdentifier\", productId);\r\n product = nextStep.product;\r\n }\r\n\r\n if(product){\r\n that.setState({partnerId: product.partnerId, partnerUrl: product.href, product: product}, () => that.setProductActionProduct());\r\n }\r\n }\r\n else if (mode == 'p') {\r\n\r\n if(!product){\r\n // Call product get display and show it\r\n\r\n that.props.actions.isAuthenticated().then(e => {\r\n\r\n WizardApi.getWizardProfile(that.props.csrfToken, \"hla\").then( resp => {\r\n let partnersWizard = resp.profile.extra.partners;\r\n if(partnersWizard){\r\n product = funcs.searchInList(partnersWizard, \"productIdentifier\", productId);\r\n }\r\n\r\n that.setState({partnerId: parse(this.props.location.search).partnerId, productId: productId, product: product}, () => that.setProductActionPush());\r\n\r\n }).catch( error =>{\r\n\r\n let msg = that.props.textVariants[\"Api_Generic\"];\r\n that.setState({errorMessage: msg});\r\n \r\n });\r\n \r\n });\r\n \r\n }\r\n else{\r\n this.setState({partnerId: parse(this.props.location.search).partnerId, productId: productId, product: product}, () => this.setProductActionPush());\r\n }\r\n\r\n \r\n }\r\n\r\n });\r\n }\r\n\r\n setProductActionProduct(){\r\n\r\n let product = this.state.product;\r\n\r\n let that = this;\r\n if(product){\r\n\r\n if(product.hasPushLead){\r\n this.props.actions.getProductRedirect(product).then( (redirectResult) => {\r\n\r\n that.setState({partnerUrl: redirectResult.url}, () =>{\r\n setTimeout(() => { window.location.href = redirectResult.url;}, 3000);\r\n });\r\n\r\n }).catch(e => {\r\n\r\n let msg = this.props.textVariants[\"Api_Generic\"];\r\n that.setState({errorMessage: msg});\r\n });\r\n }\r\n else{\r\n setTimeout(() => { window.location.href = product.href;}, 4000);\r\n }\r\n }\r\n }\r\n\r\n setProductActionPush(){\r\n\r\n let productId = this.state.productId;\r\n\r\n let that = this;\r\n \r\n if(productId){\r\n this.props.actions.getProductRedirect({id: productId, mode: parse(this.props.location.search).m, partnerId: this.state.partnerId}).then( (redirectResult) => {\r\n that.setState({partnerUrl: redirectResult.url}, () =>{\r\n \r\n window.location.href = redirectResult.url;\r\n });\r\n\r\n }).catch(e => {\r\n\r\n let msg = this.props.textVariants[\"Api_Generic\"];\r\n that.setState({errorMessage: msg});\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n\r\n let mainComponent =
    ;\r\n if(!(this.props.productLoading || this.props.products == null || this.props.products.length == 0)){\r\n mainComponent = ;\r\n }\r\n\r\n return (\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {mainComponent}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nPartnerReferPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n let products = [];\r\n let productLoading = null;\r\n if(state.productResult && state.productResult.products){\r\n products = state.productResult.products;\r\n productLoading = state.productResult.loading;\r\n }\r\n\r\n return {\r\n textVariants: txtVariants,\r\n products : products,\r\n productLoading: productLoading,\r\n csrfToken: state.userProfile.csrfToken\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, userActions, layoutActions, trackingActions, productActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PartnerReferPage);\r\n","import * as GlobalVariables from '../config/configureGlobalVariables';\r\n\r\nclass ScoreMapApi {\r\n\r\n static getSA3Areas(csrfToken, searchTerm) {\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/map/areas';\r\n\r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n const options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers,\r\n body: JSON.stringify(searchTerm)\r\n };\r\n\r\n return fetch(fullUrl, options).then(response => {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else {\r\n return response.json();\r\n }\r\n }).catch(function(error) {\r\n throw(error);\r\n });\r\n }\r\n\r\n static getGeoJsonForArea(csrfToken, sA3Code) {\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/map/area';\r\n\r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n const options = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers,\r\n body: JSON.stringify(sA3Code)\r\n };\r\n\r\n return fetch(fullUrl, options).then(response => {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else {\r\n return response.json();\r\n }\r\n }).catch(function(error) {\r\n throw(error);\r\n });\r\n }\r\n\r\n}\r\n\r\nexport default ScoreMapApi;\r\n","import ScoreMapApi from '../../api/scoreMapApi';\r\n\r\nexport function getSA3Areas(searchTerm) {\r\n return (dispatch, getState) => {\r\n let state = getState();\r\n let csrfToken = (state && state.userProfile) ? state.userProfile.csrfToken : null; \r\n\r\n return ScoreMapApi.getSA3Areas(csrfToken, searchTerm);\r\n };\r\n}\r\n\r\nexport function getGeoJsonForArea(sA3Code) {\r\n return (dispatch, getState) => {\r\n let state = getState();\r\n let csrfToken = (state && state.userProfile) ? state.userProfile.csrfToken : null; \r\n\r\n return ScoreMapApi.getGeoJsonForArea(csrfToken, sA3Code);\r\n };\r\n}","import * as ImagesPath from '../../config/imagesPath';\r\n\r\nconst genY = {\r\n title: \"Generation Y\",\r\n age : \"18-34\",\r\n img: ImagesPath.ImgScoreMap_GenerationY\r\n};\r\n\r\nconst genX = {\r\n title: \"Generation X\",\r\n age : \"35-44\",\r\n img: ImagesPath.ImgScoreMap_GenerationX\r\n};\r\n\r\nconst boomer = {\r\n title: \"Baby Boomers\",\r\n age : \"45-64\",\r\n img: ImagesPath.ImgScoreMap_GenerationBoomer\r\n};\r\n\r\nconst builder = {\r\n title: \"Builders\",\r\n age : \"65+\",\r\n img: ImagesPath.ImgScoreMap_GenerationBuilder\r\n};\r\n\r\nconst _generationsModel = {};\r\n\r\n_generationsModel[\"genY\"] = genY;\r\n_generationsModel[\"genX\"] = genX;\r\n_generationsModel[\"boomer\"] = boomer;\r\n_generationsModel[\"builder\"] = builder;\r\n\r\nexport const generationsModel = _generationsModel;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as pages from '../shared/pages';\r\n\r\nconst ScoreMapLocation = ({ locationName, textVariants }) => {\r\n\r\n return (\r\n
    \r\n {\r\n locationName\r\n ?

    \r\n {textVariants[pages.SCOREMAP + textVariants.textVariantSeparator + \"showResultFor\"]}\r\n {locationName} \r\n

    \r\n :

    We've compared over two million credit scores across 326 regions

    \r\n }\r\n {textVariants[pages.SCOREMAP + textVariants.textVariantSeparator + \"changeLocation\"]}\r\n
    \r\n );\r\n\r\n};\r\n\r\nScoreMapLocation.propTypes = {\r\n locationName: PropTypes.string.isRequired,\r\n textVariants: PropTypes.object.isRequired\r\n};\r\n \r\nexport default ScoreMapLocation;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as pages from '../shared/pages';\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nconst $ = window.$;\r\nconst L = window.L;\r\n\r\nclass ScoreMapSearch extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n map: {\r\n latitude: -27.9210555,\r\n longitude: 133.247866,\r\n zoom: 4,\r\n },\r\n polygonStyle: {\r\n color: \"#4b4b4b\",\r\n weight: 2,\r\n opacity: 0.8,\r\n fillOpacity: 0.8\r\n },\r\n creditScore: {\r\n highest: 671, // highest region score of the year\r\n lowest: 581, // lowest region score of the year\r\n mid: 629 // (729 + 583) / 2\r\n }\r\n };\r\n\r\n this.componentElements = {\r\n scoremapElementId: \"scoremap-map\",\r\n mapLoadingElement: \".scoremap-map .loading\",\r\n autocomplete: \".autocomplete-input\",\r\n suggestList: \".autocomplete-list\",\r\n }\r\n\r\n this.errorTypes = {\r\n noResult: \"noResult\",\r\n unKnown: \"unKnown\"\r\n };\r\n\r\n this.map = null;\r\n this.currentlayer = null;\r\n this.currentmarker = null;\r\n\r\n this.componentDidMountDelayed = this.componentDidMountDelayed.bind(this);\r\n this.waitForResourcesToLoad = this.waitForResourcesToLoad.bind(this);\r\n this.drawMap = this.drawMap.bind(this);\r\n this.setupAutocomplete = this.setupAutocomplete.bind(this);\r\n this.resetMap = this.resetMap.bind(this);\r\n this.getAllAreasAndPopulateList = this.getAllAreasAndPopulateList.bind(this);\r\n this.getGeoJsonAndDisplayInMap = this.getGeoJsonAndDisplayInMap.bind(this);\r\n this.setAutocompleteValue = this.setAutocompleteValue.bind(this);\r\n this.populateRegionList = this.populateRegionList.bind(this);\r\n this.displayAreaInMap = this.displayAreaInMap.bind(this);\r\n this.stylePolygon = this.stylePolygon.bind(this);\r\n this.getCreditScoreColor = this.getCreditScoreColor.bind(this);\r\n this.handleNoResultFound = this.handleNoResultFound.bind(this);\r\n this.showError = this.showError.bind(this);\r\n }\r\n\r\n componentWillMount() {\r\n const leafletStyle = document.createElement(\"link\");\r\n\r\n leafletStyle.rel = \"stylesheet\";\r\n leafletStyle.href = \"https://unpkg.com/leaflet@1.2.0/dist/leaflet.css\";\r\n leafletStyle.integrity = \"sha512-M2wvCLH6DSRazYeZRIm1JnYyh22purTM+FDB5CsyxtQJYeKq83arPe5wgbNmcFXGqiSH2XR8dT/fJISVA1r/zQ==\";\r\n leafletStyle.crossOrigin = \"anonymous\";\r\n\r\n const leafletScript = document.createElement(\"script\");\r\n\r\n leafletScript.src = \"https://unpkg.com/leaflet@1.2.0/dist/leaflet.js\";\r\n leafletScript.async = true;\r\n leafletScript.integrity = \"sha512-lInM/apFSqyy1o6s89K4iQUKg6ppXEgsVxT35HbzUupEVRh2Eu9Wdl4tHj7dZO0s1uvplcYGmt3498TtHq+log==\";\r\n leafletScript.crossOrigin = \"anonymous\";\r\n\r\n document.head.appendChild(leafletStyle);\r\n document.head.appendChild(leafletScript);\r\n }\r\n\r\n componentDidMount() {\r\n this.waitForResourcesToLoad().then(this.componentDidMountDelayed);\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n let shouldUpdate = false;\r\n\r\n if(this.props.postCode != nextProps.postCode){\r\n this.setAutocompleteValue(nextProps.postCode);\r\n shouldUpdate = true;\r\n }\r\n\r\n if (this.props.sA3Code != nextProps.sA3Code) {\r\n this.getGeoJsonAndDisplayInMap(nextProps.sA3Code);\r\n shouldUpdate = true;\r\n }\r\n\r\n return shouldUpdate;\r\n }\r\n\r\n componentWillUnmount() {\r\n this.map && this.map.remove();\r\n }\r\n\r\n componentDidMountDelayed(){\r\n this.setupAutocomplete();\r\n this.setAutocompleteValue(this.props.postCode);\r\n this.getGeoJsonAndDisplayInMap(this.props.sA3Code);\r\n }\r\n\r\n waitForResourcesToLoad(resolve) {\r\n let timerId = null;\r\n return new Promise((resolve, reject) => {\r\n timerId = setInterval(() => {\r\n if(window[\"L\"]) {\r\n clearInterval(timerId);\r\n this.drawMap();\r\n resolve();\r\n }\r\n }, 1000);\r\n });\r\n }\r\n\r\n drawMap() {\r\n this.map = L.map(this.componentElements.scoremapElementId, {\r\n center: [this.state.map.latitude, this.state.map.longitude],\r\n zoom: this.state.map.zoom\r\n });\r\n\r\n //disable touch zoom and dragging\r\n this.map.dragging.disable();\r\n this.map.touchZoom.disable();\r\n this.map.doubleClickZoom.disable();\r\n this.map.scrollWheelZoom.disable();\r\n this.map.boxZoom.disable();\r\n this.map.keyboard.disable();\r\n if (this.map.tap) this.map.tap.disable();\r\n\r\n document.querySelector(\".scoremap-map\").style.cursor = \"default\";\r\n $(this.componentElements.mapLoadingElement).hide();\r\n\r\n L.tileLayer(\"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\").addTo(this.map);\r\n L.Icon.Default.imagePath = ImagesPath.ImgScoreMapRoot;\r\n }\r\n\r\n resetMap() {\r\n if(this.map){\r\n this.map.off();\r\n this.map.remove();\r\n this.drawMap();\r\n }\r\n }\r\n\r\n getAllAreasAndPopulateList(searchTerm) {\r\n this.props.actions.getSA3Areas({ search: searchTerm })\r\n .then((regionsResponse) => {\r\n if (regionsResponse.regions.length <= 0) {\r\n this.handleNoResultFound();\r\n return false;\r\n } else {\r\n this.populateRegionList(regionsResponse.regions);\r\n }\r\n }).catch(error => {\r\n this.showError(this.errorTypes.unKnown);\r\n //throw (error);\r\n });\r\n }\r\n\r\n getGeoJsonAndDisplayInMap(sA3Code) {\r\n if (!sA3Code){\r\n this.resetMap();\r\n return false;\r\n }\r\n\r\n this.props.actions.getGeoJsonForArea({sA3Code: sA3Code}).then((geoResponse) => {\r\n if (geoResponse && geoResponse.region && geoResponse.region.sA3GeoJSON.length > 0) {\r\n\r\n this.displayAreaInMap(geoResponse.region);\r\n\r\n } else {\r\n this.showError(this.errorTypes.unKnown);\r\n this.resetMap();\r\n }\r\n }).catch(error => {\r\n this.showError(this.errorTypes.unKnown);\r\n //throw (error);\r\n });\r\n }\r\n\r\n setupAutocomplete() {\r\n const $autocomplete = $(this.componentElements.autocomplete);\r\n\r\n $autocomplete.on(\"keydown\", function (e) {\r\n if (e.which === 13) {\r\n e.preventDefault();\r\n return false;\r\n }\r\n });\r\n\r\n $autocomplete.autocomplete({\r\n source: function (request, response) {\r\n this.getAllAreasAndPopulateList(request.term);\r\n }.bind(this),\r\n minLength: 3,\r\n delay: 500,\r\n search: function () {\r\n $autocomplete.addClass(\"searching\");\r\n }\r\n });\r\n }\r\n\r\n setAutocompleteValue(postCode) {\r\n $(this.componentElements.suggestList).hide();\r\n $(this.componentElements.autocomplete).val(postCode);\r\n }\r\n\r\n populateRegionList(regions) {\r\n const that = this,\r\n $autocomplete = $(this.componentElements.autocomplete),\r\n $suggestList = $(this.componentElements.suggestList),\r\n $mapLoading = $(this.componentElements.mapLoadingElement);\r\n\r\n $autocomplete.removeClass(\"searching\");\r\n $suggestList.html(\"\");\r\n $suggestList.show();\r\n\r\n for (let i = 0; i < regions.length; i++) {\r\n $suggestList.append(\"
  • \"\r\n + regions[i].sA2Name + \" In \" + regions[i].sA3Name + \" Region
  • \");\r\n }\r\n\r\n $suggestList.find(\"li\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n const $item = $(this);\r\n const sA3Code = $item.find(\"a\").attr(\"data-sa3code\");\r\n const sA3Name = $item.find(\"a\").attr(\"data-sa3name\");\r\n if (!sA3Code) {\r\n return false;\r\n }\r\n\r\n const text = $item.find(\"a\").html();\r\n $autocomplete.val(text.substring(0, text.indexOf(\" \")));\r\n $suggestList.hide();\r\n $mapLoading.show();\r\n\r\n that.props.onAreaSelectedFromList(sA3Code, sA3Name);\r\n that.getGeoJsonAndDisplayInMap(sA3Code);\r\n\r\n return false;\r\n });\r\n }\r\n\r\n displayAreaInMap(region) {\r\n if (region === null) {\r\n this.showError(this.errorTypes.unKnown);\r\n } else {\r\n const that = this;\r\n $(this.componentElements.mapLoadingElement).hide();\r\n\r\n this.map.setView([this.state.map.latitude, this.state.map.longitude], this.state.map.zoom);\r\n\r\n const jsonSA3 = JSON.parse(region.sA3GeoJSON),\r\n sa3Name = region.sA3Name,\r\n sa3Score = region.sA3CreditScore ? region.sA3CreditScore : \"N/A\",\r\n popupContent = this.props.textVariants[pages.SCOREMAP + this.props.textVariants.textVariantSeparator + \"popupContent\"]\r\n .replace(\"{SA3Name}\", sa3Name)\r\n .replace(\"{SA3Score}\", sa3Score);\r\n\r\n if (this.currentlayer) {\r\n this.map.removeLayer(this.currentlayer);\r\n }\r\n\r\n this.currentlayer = L.geoJson(jsonSA3, {\r\n style: this.stylePolygon(sa3Score),\r\n }).addTo(this.map);\r\n\r\n const mapCenter = this.currentlayer.getBounds().getCenter();\r\n\r\n if (this.currentmarker) {\r\n this.map.removeLayer(this.currentmarker);\r\n }\r\n\r\n // fit the bounds to view\r\n this.map.fitBounds(this.currentlayer.getBounds());\r\n\r\n // sometimes fitBounds fails. setTimeout as failSafe.\r\n setTimeout(function () {\r\n that.map.fitBounds(that.currentlayer.getBounds());\r\n that.currentmarker = L.marker(mapCenter).bindPopup(popupContent).addTo(that.map).openPopup();\r\n }, 1000);\r\n }\r\n }\r\n\r\n stylePolygon(input) {\r\n const myStyle = {\r\n \"fillColor\": this.getCreditScoreColor(input),\r\n \"color\": this.state.polygonStyle.color,\r\n \"weight\": this.state.polygonStyle.weight,\r\n \"opacity\": this.state.polygonStyle.opacity,\r\n \"fillOpacity\": this.state.polygonStyle.fillOpacity\r\n };\r\n return myStyle;\r\n }\r\n\r\n getCreditScoreColor(creditscore) {\r\n const mid = this.state.creditScore.mid;\r\n const diff = creditscore - mid;\r\n const adj = Math.abs(diff) / 45; //(671-581) / 2 = 45\r\n\r\n let red, green;\r\n if (diff > 0) {\r\n red = Math.floor(255 * (1 - adj));\r\n green = 255;\r\n } else {\r\n green = Math.floor(255 * 1 - adj);\r\n red = 255;\r\n }\r\n\r\n return \"#\" + this.convertToHex(red) + this.convertToHex(green) + this.convertToHex(0);\r\n }\r\n\r\n convertToHex(integer) {\r\n const str = Number(integer).toString(16);\r\n return str.length == 1 ? \"0\" + str : str;\r\n }\r\n\r\n handleNoResultFound() {\r\n this.resetMap();\r\n this.showError(this.errorTypes.noResult);\r\n }\r\n\r\n showError(errorType) {\r\n let errorText = (errorType === this.errorTypes.noResult)\r\n ? this.props.textVariants[pages.SCOREMAP + this.props.textVariants.textVariantSeparator + \"errorTextNoResult\"]\r\n : this.props.textVariants[pages.SCOREMAP + this.props.textVariants.textVariantSeparator + \"errorTextGeneral\"];\r\n\r\n const $suggestList = $(this.componentElements.suggestList);\r\n\r\n $(this.componentElements.autocomplete).removeClass(\"searching\");\r\n $(this.componentElements.mapLoadingElement).hide();\r\n $suggestList.html(\"\");\r\n $suggestList.append(\"
  • \" + errorText + \"

  • \");\r\n $suggestList.show();\r\n }\r\n\r\n render() {\r\n const currentUrl = encodeURIComponent(window.location.href);\r\n const emailSubject = \"Compare yourcredit score\";\r\n\r\n return (\r\n
    \r\n
    \r\n {

    \r\n {this.props.textVariants[pages.SCOREMAP + this.props.textVariants.textVariantSeparator + \"mapSearchTitleWithDisclaimer\"]}\r\n {this.props.textVariants[pages.SCOREMAP + this.props.textVariants.textVariantSeparator + \"mapSearchTitle\"]}\r\n

    }\r\n
    \r\n
    \r\n \r\n \r\n
      \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \"Facebook\"\r\n \r\n
    \r\n
    \r\n \r\n \"Twitter\"\r\n \r\n
    \r\n
    \r\n \r\n \"Google+\"\r\n \r\n
    \r\n
    \r\n \r\n \"Email\"\r\n \r\n
    \r\n
    \r\n
    \r\n Map data © OpenStreetMap contributors. Regional data was obtained from the Australian Bureau of Statistics,\r\n ABS - Data by Region\r\n , and used under ABS's existing Creative Commons 2.5 Australia licence.\r\n \r\n

    {this.props.textVariants[pages.SCOREMAP + this.props.textVariants.textVariantSeparator + \"generalDisclaimer\"]}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.textVariants[pages.SCOREMAP + this.props.textVariants.textVariantSeparator + \"gradientLowestScore\"]}\r\n {this.props.textVariants[pages.SCOREMAP + this.props.textVariants.textVariantSeparator + \"gradientHighestScore\"]}\r\n
    \r\n
    \r\n
    \r\n );;\r\n }\r\n}\r\n\r\nexport default ScoreMapSearch;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst ScoreMapListItem = ({ record, keyName = \"key\", valueName=\"value\" }) => {\r\n\r\n return (\r\n
    \r\n {record[keyName]}\r\n {record[valueName]}\r\n
    \r\n );\r\n \r\n};\r\n\r\nScoreMapListItem.propTypes = {\r\n record: PropTypes.object.isRequired,\r\n keyName: PropTypes.string,\r\n valueName: PropTypes.string\r\n}\r\n\r\nScoreMapListItem.defaultProps = {\r\n keyName: \"key\",\r\n valueName: \"value\"\r\n}\r\n\r\nconst ScoreMapList = ({ data, keyPrefix = 'l', keyName = \"key\", valueName=\"value\" }) => {\r\n\r\n return (\r\n
    \r\n { data.map((record, index) => ) }\r\n
    \r\n );\r\n\r\n};\r\n\r\nScoreMapList.propTypes = {\r\n data: PropTypes.array.isRequired,\r\n keyPrefix: PropTypes.string,\r\n keyName: PropTypes.string,\r\n valueName: PropTypes.string\r\n};\r\n\r\nScoreMapList.defaultProps = {\r\n keyPrefix: \"l\",\r\n keyName: \"key\",\r\n valueName: \"value\"\r\n};\r\n\r\nexport default ScoreMapList;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as pages from '../shared/pages';\r\nimport ScoreMapList from './ScoreMapList';\r\n\r\nconst ScoreMapGenerationBox = ({ generationScores = [], textVariants }) => {\r\n\r\n const genederScoreList = [\r\n { \r\n \"gender\": textVariants[pages.SCOREMAP + textVariants.textVariantSeparator + \"generationMale\"], \r\n \"value\": generationScores[\"s\"][\"m\"]\r\n }, \r\n { \r\n \"gender\": textVariants[pages.SCOREMAP + textVariants.textVariantSeparator + \"generationFemale\"],\r\n \"value\": generationScores[\"s\"][\"f\"]\r\n }\r\n ];\r\n\r\n return (\r\n
    \r\n
    \r\n

    {generationScores.spec.title}

    \r\n

    {generationScores.spec.age}

    \r\n
    \r\n
    \r\n {generationScores.spec.title}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n};\r\n\r\nScoreMapGenerationBox.propTypes = {\r\n generationScores: PropTypes.object.isRequired, \r\n textVariants: PropTypes.object.isRequired\r\n};\r\n \r\nexport default ScoreMapGenerationBox;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as pages from '../shared/pages';\r\nimport ScoreMapGenerationBox from './ScoreMapGenerationBox';\r\n\r\nconst ScoreMapGenerations = ({ areaGenerations = [], textVariants }) => {\r\n \r\n const mdMaxColNum = 4;\r\n const smMaxColNum = 2;\r\n const mdColsNum = Math.min(areaGenerations.length, mdMaxColNum);\r\n const smColsNum = Math.min(areaGenerations.length, smMaxColNum);\r\n const mdClass = \"col-md-\" + (12 / mdColsNum);\r\n const smClass = \"col-sm-\" + (12 / smColsNum);\r\n \r\n const generations = areaGenerations.map(gen => {\r\n return ( \r\n
    \r\n \r\n
    \r\n );\r\n });\r\n \r\n return (\r\n
    \r\n
    \r\n {areaGenerations &&

    \r\n {textVariants[pages.SCOREMAP + textVariants.textVariantSeparator + \"generationTitleWithDisclaimer\"]}\r\n {textVariants[pages.SCOREMAP + textVariants.textVariantSeparator + \"generationTitle\"]}\r\n

    }\r\n
    \r\n
    \r\n {generations}\r\n
    \r\n
    \r\n

    {textVariants[pages.SCOREMAP + textVariants.textVariantSeparator + \"generalDisclaimer\"]}

    \r\n

    {textVariants[pages.SCOREMAP + textVariants.textVariantSeparator + \"legalDisclaimer\"]}

    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nScoreMapGenerations.propTypes = {\r\n areaGenerations: PropTypes.array,\r\n textVariants: PropTypes.object.isRequired\r\n};\r\n\r\nScoreMapGenerations.defaultProps = {\r\n areaGenerations: []\r\n};\r\n \r\nexport default ScoreMapGenerations;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ScoreMapList from './ScoreMapList';\r\n\r\nconst ScoreMapRegionScoreBox = ({ title, headerColor, regionsScoreList }) => {\r\n\r\n const minRecords = 3; \r\n const recordsToAdd = minRecords - regionsScoreList.length;\r\n for (let i = 0; i < recordsToAdd; i++) {\r\n regionsScoreList.push({});\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n {title}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n \r\n}\r\n\r\nScoreMapRegionScoreBox.propTypes = { \r\n title: PropTypes.string.isRequired,\r\n headerColor: PropTypes.string.isRequired,\r\n regionsScoreList: PropTypes.array.isRequired\r\n};\r\n \r\nexport default ScoreMapRegionScoreBox;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport ScoreMapRegionScoreBox from './ScoreMapRegionScoreBox';\r\n\r\nconst ScoreMapRegionScores= ({ stateTitle, areaRegionsScores, textVariants }) => {\r\n\r\n return (\r\n
    \r\n
    \r\n {areaRegionsScores &&

    {stateTitle} {textVariants[pages.SCOREMAP + textVariants.textVariantSeparator + \"areaScoresTitle\"]}

    }\r\n
    \r\n
    \r\n
    \r\n {areaRegionsScores && \r\n }\r\n
    \r\n
    \r\n {areaRegionsScores &&\r\n }\r\n
    \r\n
    \r\n
    \r\n

    {textVariants[pages.SCOREMAP + textVariants.textVariantSeparator + \"regionDisclaimer\"]}

    \r\n
    \r\n
    \r\n );\r\n \r\n};\r\n\r\nScoreMapRegionScores.propTypes = {\r\n stateTitle: PropTypes.string.isRequired,\r\n areaRegionsScores: PropTypes.object,\r\n textVariants: PropTypes.object.isRequired\r\n};\r\n\r\nScoreMapRegionScores.defaultProps = {\r\n areaRegionsScores: []\r\n};\r\n\r\nexport default ScoreMapRegionScores;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as productActions from '../../redux/actions/productActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as scoreMapActions from '../../redux/actions/scoreMapActions';\r\n\r\nimport * as pages from '../shared/pages';\r\nimport ValidationApi from '../../api/validationApi';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport { generationsModel } from '../shared/scoreMapData18';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\nimport Menu from '../menu/Menu';\r\nimport ScoreMapSection from '../sections/ScoreMapSection';\r\nimport ScoreMapLocation from './ScoreMapLocation';\r\nimport ScoreMapSearch from './ScoreMapSearch';\r\nimport ScoreMapGenerations from './ScoreMapGenerations';\r\nimport ScoreMapRegionScores from './ScoreMapRegionScores';\r\n\r\nclass ScoreMapPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n inputPostCode: \"\",\r\n currentAreaStatistics: null,\r\n locationName: \"\",\r\n\r\n submittedPostCode: \"\",\r\n submittedSA3Code: \"\",\r\n\r\n scoreMapHasError: false,\r\n scoreMapSubmittedEmpty: false,\r\n findAreaByPostCodeFailed: false\r\n };\r\n\r\n this.scoreStatisticsData = null;\r\n\r\n this.onScoreMapInputChange = this.onScoreMapInputChange.bind(this);\r\n this.onScoreMapSubmit = this.onScoreMapSubmit.bind(this);\r\n this.onAreaSelected = this.onAreaSelected.bind(this);\r\n this.onGetScoreClick = this.onGetScoreClick.bind(this);\r\n this.findAreaByPostCode = this.findAreaByPostCode.bind(this);\r\n this.findAreaByPostCodeFailHandler = this.findAreaByPostCodeFailHandler.bind(this);\r\n this.redirect = this.redirect.bind(this);\r\n this.getStatisticsForSA3Area = this.getStatisticsForSA3Area.bind(this);\r\n this.convertStatisticsForCurrentSA3Area = this.convertStatisticsForCurrentSA3Area.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.actions.getMenuForPage(pages.SCOREMAP);\r\n this.props.actions.getTextVariants();\r\n\r\n this.props.actions.isAuthenticated().then(e => {\r\n if (this.props.isAuthenticated) {\r\n let postCode = this.props.match.params.postCode;\r\n if (ValidationApi.isValidPostCode(postCode)) {\r\n this.findAreaByPostCode(postCode);\r\n }\r\n }\r\n });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps) {\r\n if (!nextProps.isAuthenticated) {\r\n this.props.history.push(\"/login?retUrl=\" + this.props.location.pathname);\r\n }\r\n }\r\n }\r\n\r\n onScoreMapInputChange(event) {\r\n const value = event.target.value;\r\n\r\n this.setState({\r\n inputPostCode: value,\r\n scoreMapHasError: false,\r\n scoreMapSubmittedEmpty: false\r\n });\r\n }\r\n\r\n onScoreMapSubmit(event) {\r\n event.preventDefault();\r\n\r\n this.findAreaByPostCode(this.state.inputPostCode);\r\n\r\n return false;\r\n }\r\n\r\n onAreaSelected(sA3Code, sA3Name) {\r\n sA3Code = sA3Code || \"\";\r\n sA3Name = sA3Name || \"\";\r\n\r\n this.setState({\r\n submittedPostCode: \"\",\r\n submittedSA3Code: sA3Code,\r\n locationName: sA3Name,\r\n findAreaByPostCodeFailed: false\r\n });\r\n\r\n this.getStatisticsForSA3Area(sA3Code);\r\n }\r\n\r\n onGetScoreClick(event) {\r\n this.props.actions.trackGetScoreButtonClick(\"\", \"ScoreMapGcsBtn\");\r\n\r\n if(this.props.isAuthenticated) {\r\n this.redirect(\"/dashboard\");\r\n } else {\r\n this.redirect(\"/create-account\");\r\n }\r\n }\r\n\r\n redirect(url) {\r\n this.props.history.push(url);\r\n }\r\n\r\n findAreaByPostCode(postCode) {\r\n\r\n let isPostCodeValid = ValidationApi.isValidPostCode(postCode);\r\n\r\n this.setState({\r\n scoreMapHasError: !isPostCodeValid,\r\n scoreMapSubmittedEmpty: isPostCodeValid ? postCode.length === 0 : false,\r\n submittedPostCode: isPostCodeValid ? postCode : \"\",\r\n inputPostCode: isPostCodeValid ? postCode : this.state.inputPostCode\r\n });\r\n\r\n if(isPostCodeValid){\r\n this.props.actions.trackScoreMapSearch(\"ScoreMapPagePostCode\", postCode);\r\n\r\n this.props.actions.getSA3Areas({ search: postCode }).then((regionResponse) => {\r\n\r\n if (regionResponse && regionResponse.regions && regionResponse.regions.length> 0) {\r\n\r\n let region = regionResponse.regions[0];\r\n this.onAreaSelected(region.sA3Code, region.sA3Name);\r\n\r\n\r\n funcs.scrollIntoView(\"div-scoremap-search\");\r\n\r\n } else {\r\n this.findAreaByPostCodeFailHandler();\r\n }\r\n\r\n }).catch(error => {\r\n this.findAreaByPostCodeFailHandler();\r\n });\r\n }\r\n }\r\n\r\n findAreaByPostCodeFailHandler(){\r\n this.setState({\r\n currentAreaStatistics: null,\r\n locationName: \"\",\r\n submittedSA3Code: \"\",\r\n findAreaByPostCodeFailed: true\r\n });\r\n }\r\n\r\n getStatisticsForSA3Area(sA3Code) {\r\n if(sA3Code) {\r\n if (this.scoreStatisticsData) {\r\n this.convertStatisticsForCurrentSA3Area(this.scoreStatisticsData, sA3Code);\r\n } else {\r\n this.getAllScoreStatistics().then((response) => {\r\n this.scoreStatisticsData = response;\r\n this.convertStatisticsForCurrentSA3Area(this.scoreStatisticsData, sA3Code);\r\n });\r\n }\r\n } else {\r\n this.setState({currentAreaStatistics: null});\r\n }\r\n }\r\n\r\n getAllScoreStatistics() {\r\n let timerId = null;\r\n const fullUrl = GlobalVariables.SCRIPTS_BASE_URL + \"scoreMapData18.js\";\r\n const scriptElement = document.createElement(\"script\");\r\n scriptElement.src = fullUrl;\r\n document.head.appendChild(scriptElement);\r\n\r\n return new Promise((resolve, reject) => {\r\n timerId = setInterval(() => {\r\n if(window[\"scoreMapStatsFile\"]) {\r\n clearInterval(timerId);\r\n\r\n resolve(window[\"scoreMapStatsFile\"]);\r\n }\r\n }, 1000);\r\n });\r\n }\r\n\r\n convertStatisticsForCurrentSA3Area(scoreStatistics, sA3Code) {\r\n this.setState({currentAreaStatistics: null});\r\n\r\n const sTCode = sA3Code.slice(0, 1);\r\n const currentState = scoreStatistics && scoreStatistics.states[sTCode];\r\n const currentSA4Area = scoreStatistics && scoreStatistics.sTCodes[sTCode];\r\n const currentSA3Area = scoreStatistics && scoreStatistics.sA3Codes[sA3Code];\r\n\r\n if (currentSA3Area) {\r\n currentSA3Area.gens.forEach(gen => { gen.spec = generationsModel[gen.g]; });\r\n\r\n this.setState({currentAreaStatistics: { currentState, currentSA4Area, currentSA3Area }});\r\n }\r\n }\r\n\r\n render() {\r\n let mainComponent =
    ;\r\n\r\n if (this.props.isAuthenticated){\r\n mainComponent = (\r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n\r\n \r\n\r\n
    \r\n\r\n {\r\n this.state.currentAreaStatistics && this.state.currentAreaStatistics.currentSA4Area &&\r\n
    \r\n \r\n
    \r\n }\r\n {\r\n this.state.currentAreaStatistics && this.state.currentAreaStatistics.currentSA3Area &&\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n );\r\n }\r\n\r\n return (mainComponent);\r\n }\r\n\r\n}\r\n\r\nScoreMapPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n let menuItems = [];\r\n\r\n if (state.menu) {\r\n var menu = state.menu;\r\n if (menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.SCOREMAP]) {\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.SCOREMAP];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if (state.textVariants) {\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n isAuthenticated: state.userProfile.isAuthenticated\r\n }\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(Object.assign({}, userActions, layoutActions, productActions, trackingActions, scoreMapActions), dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ScoreMapPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Link } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport * as pages from '../shared/pages';\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport Menu from '../menu/Menu.js'\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport FooterSection from '../common/footer'\r\nexport class PageNotFound extends React.Component {\r\n\r\n componentDidMount() {\r\n this.props.actions.getMenuForPage(pages.CONTACTUS);\r\n this.props.actions.getTextVariants();\r\n this.props.actions.trackNotFoundPage();\r\n }\r\n\r\n render() {\r\n\r\n let pageNotFounMessage = \"Page not found!\";\r\n let goToMainPageMessage = \"Go back to the main page\";\r\n if (this.props.textVariants) {\r\n pageNotFounMessage = this.props.textVariants[pages.PAGENOTFOUND + this.props.textVariants.textVariantSeparator + \"page_not_found\"];\r\n goToMainPageMessage = this.props.textVariants[pages.PAGENOTFOUND + this.props.textVariants.textVariantSeparator + \"go_to_main_page\"];\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

    Error

    \r\n

    {pageNotFounMessage}

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nPageNotFound.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n let menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.PAGENOTFOUND]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.PAGENOTFOUND];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, trackingActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PageNotFound);","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { createBrowserHistory } from 'history';\r\n\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport FooterSmallSection from '../common/footerSmall'\r\n\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\n\r\nclass DeleteAccountPage extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n errorPassword: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n\r\n this.props.actions.getTextVariants();\r\n\r\n this.props.actions.isAuthenticated().then(e =>\r\n {\r\n this.props.actions.getMenuForPage(pages.MYDETAILS);\r\n this.props.actions.loadUserDetails(true).catch(e =>\r\n {\r\n if (e.status == 500) {\r\n this.setState({ isServerError: true });\r\n }\r\n });\r\n });\r\n\r\n initTonikForms();\r\n\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n }\r\n\r\n validatePasswordDummy() {\r\n var pass = document.getElementById('password').value;\r\n if(pass == 'mipass') {\r\n this.setState({errorPassword: null});\r\n this.props.actions.logout();\r\n this.props.history.push('/delete-account-success');\r\n return;\r\n }\r\n var errorPassword = 'Incorrect Password';\r\n this.setState({errorPassword: errorPassword});\r\n }\r\n\r\n\r\n render() {\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

    Delete my account

    \r\n

    If you are no longer interested in using the GetCredit
    portal, you can delete your account below. Cancel an
    account will permanently delete all data posted here.

    \r\n
    \r\n
    \r\n \r\n \"\"/\r\n \r\n {this.state.errorPassword &&
    {this.state.errorPassword}
    }\r\n
    \r\n
    \r\n Cancel\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n \r\n\r\n\r\n}\r\n\r\nDeleteAccountPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.MYDETAILS]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.MYDETAILS];\r\n }\r\n }\r\n\r\n \r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile,\r\n isAuthenticated: state.userProfile.isAuthenticated\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions) , dispatch)\r\n }\r\n}\r\n \r\nexport default connect(mapStateToProps, mapDispatchToProps)(DeleteAccountPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { createBrowserHistory } from 'history';\r\n\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport FooterSmallSection from '../common/footerSmall'\r\n\r\nclass DeleteAccountSuccessPage extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n errorPassword: null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n\r\n this.props.actions.getTextVariants();\r\n\r\n this.props.actions.isAuthenticated().then(e =>\r\n {\r\n this.props.actions.getMenuForPage(pages.LOGIN);\r\n this.props.actions.loadUserDetails(true).catch(e =>\r\n {\r\n if (e.status == 500) {\r\n this.setState({ isServerError: true });\r\n }\r\n });\r\n });\r\n\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n }\r\n\r\n\r\n\r\n render() {\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

    Your account has been deleted

    \r\n

    Thank you for using our services.
    \r\n We try to meet the expectations of our users and Your feedback will help us improve this app. Please tell us more about your experience.

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n );\r\n }\r\n \r\n\r\n\r\n}\r\n\r\nDeleteAccountSuccessPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.LOGIN]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.LOGIN];\r\n }\r\n }\r\n\r\n \r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile,\r\n isAuthenticated: state.userProfile.isAuthenticated\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions) , dispatch)\r\n }\r\n}\r\n \r\nexport default connect(mapStateToProps, mapDispatchToProps)(DeleteAccountSuccessPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { createBrowserHistory } from 'history';\r\n\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as scoreActions from '../../redux/actions/scoreActions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport FooterSection from '../common/footer'\r\n\r\nclass ContactUsSuccessPage extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n\r\n //window['initAppJs'](true);\r\n this.props.actions.getMenuForPage(pages.HOME);\r\n this.props.actions.getTextVariants();\r\n this.props.actions.initUser(true);\r\n\r\n\r\n this.props.actions.isAuthenticated().then(e =>\r\n {\r\n this.props.actions.initUser(true).then((initUserResponse) => {\r\n\r\n this.props.actions.getMenuForPage(pages.HOME);\r\n //this.props.actions.loadScoreProfile({includeScore: true, includeAdvices: true, includeHistory: true})\r\n \r\n\r\n });\r\n });\r\n\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n }\r\n\r\n render() {\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

    Thank you for your submission

    \r\n

    Our consultant will contact you as soon as possible. For any further
    questions you can visit the help center and find the topic. that interests you.

    \r\n
    \r\n Logged in\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nContactUsSuccessPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.HOME]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.HOME];\r\n }\r\n }\r\n\r\n \r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile,\r\n isAuthenticated: state.userProfile.isAuthenticated\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions, scoreActions) , dispatch)\r\n }\r\n}\r\n \r\nexport default connect(mapStateToProps, mapDispatchToProps)(ContactUsSuccessPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { createBrowserHistory } from 'history';\r\n\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as scoreActions from '../../redux/actions/scoreActions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\n\r\nimport FooterSection from '../common/footer'\r\n\r\nclass LodgeacomplaintSuccessPage extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n\r\n //window['initAppJs'](true);\r\n this.props.actions.getMenuForPage(pages.HOME);\r\n this.props.actions.getTextVariants();\r\n this.props.actions.initUser(true);\r\n\r\n\r\n this.props.actions.isAuthenticated().then(e =>\r\n {\r\n this.props.actions.initUser(true).then((initUserResponse) => {\r\n\r\n this.props.actions.getMenuForPage(pages.HOME);\r\n //this.props.actions.loadScoreProfile({includeScore: true, includeAdvices: true, includeHistory: true})\r\n \r\n\r\n });\r\n });\r\n\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n }\r\n\r\n render() {\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

    Thank you for your submission

    \r\n

    Our consultant will contact you as soon as possible. For any further
    questions you can visit the help center and find the topic. that interests you.

    \r\n
    \r\n Logged in\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nLodgeacomplaintSuccessPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.HOME]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.HOME];\r\n }\r\n }\r\n\r\n \r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile,\r\n isAuthenticated: state.userProfile.isAuthenticated\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions, scoreActions) , dispatch)\r\n }\r\n}\r\n \r\nexport default connect(mapStateToProps, mapDispatchToProps)(LodgeacomplaintSuccessPage);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\nimport * as scoreActions from '../../redux/actions/scoreActions';\r\n\r\nimport AboutMeApi from '../../api/aboutMeApi.js';\r\n\r\nimport LoadingIndicator from '../common/controls/LoadingIndicator';\r\nimport {ApiFailedToLoadComponentWithText} from '../common/ApiFailedToLoadComponent';\r\nimport {AboutMeWizard} from '../common/Wizard/AboutMe/AboutMeWizard';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport FooterSmallSection from '../common/footerSmall'\r\n\r\nclass TermOfUse extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n isAboutMeProfileLoaded : false,\r\n isAboutMeProfileLoading : true,\r\n isServerError: false,\r\n initialProfile: null,\r\n };\r\n\r\n\r\n }\r\n\r\n componentDidMount() {\r\n window['initAppJs'](true);\r\n this.props.actions.getTextVariants();\r\n this.props.actions.getMenuForPage(pages.ABOUTME);\r\n //this.props.actions.loadScoreProfile({includeScore: true, includeAdvices: true, includeHistory: true})\r\n this.props.actions.isAuthenticated().then(e => {\r\n AboutMeApi.getAboutMeProfile(this.props.csrfToken).then( resp => {\r\n this.setState({\r\n initialProfile: resp.profile, \r\n isAboutMeProfileLoaded: true, \r\n isAboutMeProfileLoading: false,\r\n isServerError: false});\r\n\r\n }).catch( error => {\r\n this.setState({\r\n isAboutMeProfileLoaded: true, \r\n isAboutMeProfileLoading: false,\r\n isServerError: true});\r\n\r\n });\r\n });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n render() { \r\n let pageContent = (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    General Terms of Use for all users 

    \r\n

    This legal notice applies to the entire contents of the website under the domain name www.getcreditscore.com.au website (Site) operated by GetCreditScore Pty Ltd (ACN 169 886 891) (as the context requires WeOur or Us) and to any correspondence (by email or otherwise) between Us and you. The following are the Terms of Use (Terms of Use) between you and Us that set forth the terms and conditions for your use of the Site. Please read these terms carefully before using the Site. Using this Site indicates that you have read, understood, and agree to be bound by the Terms of Use and to comply with all applicable laws and regulations. If you do not accept these terms, please do not use the Site.

    \r\n

    Your access to the Site is subject to the GetCreditScore Privacy Statement, notices, disclaimers and any other relevant content published on the Site. If you use any of the services identified on the Site for which additional or alternative terms and conditions are referred to, by accessing, viewing or otherwise using those services, you agree also to be bound by and comply with those relevant terms and conditions.

    \r\n

    We may, at our sole discretion, vary or modify these Terms of Use without prior notice in order to comply with the law, or changes to the law. Other term variations or modifications relating to the provision of our service to you will appear on the website in addition to you being provided not less than 30 days' notice.  Any subsequent access to, or use by you of, the Site will constitute an acceptance of varied or modified Terms of Use. 

    \r\n

    To the extent possible we choose to carry out all transactions by means of electronic communication in accordance with the Electronic Transactions Act 1999 (Cth) and any regulations.  You consent to using electronic means to form, or agree to, or bind you to, legal obligations.  Therefore, where you indicate through electronic means your consent to us acting for you, or your agreement to, or acceptance of, terms and conditions, offers and other documents, you will be taken to have agreed to, or signed, them.

    \r\n

    You agree that any where we are required, by law or otherwise, to provide you with any documentation you consent to the provision of that document electronically through the links on this website or any other means we choose to use. You consent to receive notices, information and other disclosures in electronic form we choose to use through the links on this Site or any other means. 

    \r\n

    The Site contains information and features that you can use to obtain your credit score and any other features or content we may add in the future (the Services). 

    \r\n

    Eligibility to Use GetCreditScore's Services

    \r\n

    To be eligible to use our services via the Site you must be either an Australian citizen or Australian permanent resident and be 18 years of age or older (Eligibility Criteria). We may vary the Eligibility Criteria from time to time. By using the Service or the Site, you represent and warrant that you are 18 or older and have an Australian driver’s licence or Australian passport. We may delete your profile and any content or information that you have posted on the Site and/or prohibit you from using or accessing the Site without limitation if we believe that you do not comply with the Eligibility Criteria.

    \r\n

    Obtaining your credit score

    \r\n

    This Service permits you, through GetCreditScore, to obtain your credit score from Equifax Australia Information Services and Solutions Pty Limited (ABN 26 000 602 862) (Equifax).  You appoint us as your Access Seeker for this purpose and this appointment continues until your membership with GetCreditScore is cancelled.  For more information on the role of an Access Seeker refer to the GetCreditScore Privacy Policy

    \r\n

    In order to receive our Services, you must provide us with:

    \r\n
      \r\n
    • Accurate, complete and up-to-date personal information (for more information about what constitutes ‘personal information’, please refer to the GetCreditScore Privacy Policy; and
    • \r\n
    • A valid email address. 
    • \r\n
    \r\n

    Site Content, Brands and Trademarks

    \r\n

    You acknowledge and agree that we own all rights to the Site and all the content displayed on the Site, including, but not limited to, the GetCreditScore logo, domain names, images, buttons, text, data, articles, design, source code, software, photos, images and other information (collectively the Site Content). The Site services, Site Content, trademarks, service marks, trade names, images and logos are proprietary to or used with permission by GetCreditScore.

    \r\n

    You agree that Site Content may not be copied, reproduced, distributed, republished, displayed, posted or transmitted in any form or by any means, including, but not limited to, electronic, mechanical, photocopying, recording, or otherwise, without Our express prior written consent. You may not modify, transform, participate in the sale or transfer of, or create derivative or modified works based on any Site Content, in whole or in part.

    \r\n

    Nothing on the Site should be construed as granting, by implication or otherwise, any license or right to use any of the Site Content or trademarks displayed on the Site, including by linking or framing, or in any networked computer environment for any purpose, is prohibited without our prior written permission. We prohibit the use of any of the GetCreditScore trademarks as part of a link to or from any site unless establishment of such a link is approved in writing by us in advance.

    \r\n

    No Advice Service

    \r\n

    Any information we provide is of a general and information nature only.  We do not provide legal, tax, financial, financial planning or investment advice or any form of advice regarding the suitability, or appropriateness of any of our services or of obtaining credit from any person. 

    \r\n

    The Services do not take into account your personal financial situation or your personal investment objectives. Financial products accessible through the Site have a broad range of varying characteristics, not all of which may be of relevance or interest to you.  Where we identify a financial product as a “Featured Offer” compatible with your credit score from Equifax, that link is:

    \r\n
      \r\n
    • to a Third Party Site (as defined below) where the owner of that site has paid Us to promote its interest in attracting potential customers within a range that encompasses your credit score; and
    • \r\n
    • not any representation or suggestion by Us that the offer accessible through that Third Party Site provides the product most suited to you (whether by reason of pricing, features, term or otherwise).
    • \r\n
    \r\n

    All Third Party Site offers compatible with your credit score from Equifax are available on the Site.  You should consult a financial adviser, legal adviser, tax professional and any other professional adviser regarding your specific financial situation if you have any uncertainty or concerns regarding any Third Party Site offer.

    \r\n

    Monitoring of Site Content 

    \r\n

    You acknowledge and agree that we have the right to monitor the Site and/or Site Content and to disclose any information as necessary or appropriate to satisfy any law, regulation or other governmental request, to operate the Site, or to protect itself or other users of the Site. We have no obligation to monitor content on the Site or to protect users of the Site.

    \r\n

    We may monitor communications via the Site and may withdraw any communication services or facilities at any time. We reserve to right to restrict any activities on the Site that We deem to be in breach of this legal notice or any other GetCreditScore agreement or policy.

    \r\n

    Disclaimer

    \r\n

    None of GetCreditScore, any of its affiliates or partners, providers or their respective officers, directors, employees, agents, independent contractors or licensors (referred to collectively as the GetCreditScore Parties) guarantees the accuracy, adequacy, timeliness, reliability, completeness, or usefulness of any of the content and GetCreditScore disclaims liability for errors or omissions in the content.

    \r\n

    The Site and all its content is provided \"as is\", without any warranty, either express or implied, including the implied warranties of merchantability, fitness for a particular purpose, non-infringement or title. The Site could contain technical inaccuracies or typographical errors.

    \r\n

    GetCreditScore Parties do not warrant as to the results of your use of the content or that the Site is free of viruses or other harmful components. Use of this Site is at your own risk. This does not affect those warranties which cannot be excluded or restricted under the applicable laws.

    \r\n

    We may discontinue or make changes in the content and the Site at any time without prior notice and without any liability. Any dated information is published as of its date only, and GetCreditScore Parties do not undertake any obligation or responsibility to update or amend any such information. We reserve the right to terminate any or all Site offerings or transmissions without prior notice.

    \r\n

    Third Party Sites

    \r\n

    The Site contains links to web sites controlled, owned, or operated by third-party entities, organisations or people who have entered into commercial arrangements with Us (the Third Party Sites). Not all financial service providers or market offers are represented through Third Party Site links accessible from our Site. Links to Third Party Sites on the Site are provided solely for your convenience. If you use these links, you leave the Site. We have not reviewed all of these Third Party Sites and do not control and are not responsible for these websites or their content or availability. GetCreditScore therefore does not endorse or make any representations about them, or any material found there, or any results that may be obtained from using them. If you decide to access any of the Third Party Sites linked to the Site, you do so entirely at your own risk.

    \r\n

    Other Restricted Activities

    \r\n

    When you use the Site or Our services you must not:

    a. breach these Terms of Use, policies or procedures and/or any other agreement that you have entered into with Us;

    b. violate any law, statute, ordinance, or regulation;

    c. act in a manner which is, or post, email, transmit or otherwise publish any comments, materials or content that are, offensive, discriminatory, unlawful, threatening, harassing, defamatory or libellous, false, inaccurate or misleading;

    d. provide false, inaccurate or misleading information;

    e. refuse to cooperate in an investigation or provide confirmation of your identity or any information you provide to Us;

    f. use an anonymous proxy or other technique to prevent us from identifying your location or your IP address;

    g. use our services in a manner that results in or may result in complaints, disputes, claims, fees, fines, penalties and other liability to Us or you; and

    h. pay for your transactions with what we reasonably believe to be potentially fraudulent funds or proceeds of crime.

    Limitation of Liability 

    \r\n

    GetCreditScore Parties (whether or not involved in creating, producing, maintaining or delivering the Site), exclude all liability and responsibility for any amount or kind of loss or damage that may result to you or a third party (including without limitation, any direct, indirect, punitive or consequential loss or damages, or any loss of income, profits, goodwill, data, contracts, use of money, or loss or damages arising from or connected in any way to business interruption, and whether in tort (including without limitation negligence), contract or otherwise) in connection with the Site in any way or in connection with the use, inability to use or the results of use of the Site, any Third Party Site or the material on such websites, including but not limited to loss or damage due to viruses that may infect your computer equipment, software, data or other property on account of your access to, use of, or browsing the Site or your downloading of any material from the Site or any websites linked to the Site.

    \r\n

    Nothing in this legal notice shall exclude or limit GetCreditScore's liability for:

    a. fraud; or

    b. misrepresentation as to a fundamental matter; or

    c. any liability which cannot be excluded or limited under applicable law.

    \r\n

    If your use of materials from this Site results in the need for servicing, repair or correction of equipment or data, you assume any costs thereof.

    \r\n

    Indemnity

    \r\n

    You agree to indemnify and hold harmless each GetCreditScore Party from and against any and all claims, losses, expenses, demands or liabilities, including attorneys' fees and costs, incurred by the GetCreditScore Parties in connection with any claim by a third party (including any intellectual property claim) arising out of any comments, materials or content you submit to, post to or transmit through the Site, or your use of the Site in violation of this Terms of Use or in violation of any applicable law. You agree to indemnify and hold harmless GetCreditScore from any claim arising from a third party's use of comments, materials or content of any kind that you post to the Site.

    \r\n

    Other GetCreditScore Agreements 

    \r\n

    Our Terms of Use shall be subject to any other agreements you have entered into with Us. Should there be any conflict between the Terms of Use and any other agreements and / or terms and conditions, including the Loan Terms and Conditions then the agreement that has most recently been signed, executed or agreed to by you shall be taken as having precedence. Some sections or pages of the Site may contain separate terms and conditions of use which are to be taken as addition to the Terms of Use. In the event of a conflict, the additional terms and conditions will govern for those sections or pages or applicable service.

    \r\n

    Waiver 

    \r\n

    Failure by us to enforce any of our rights under this legal notice shall not be construed as a waiver of those rights or any other rights in any way whatsoever. If any of the Terms of Use are found to be invalid or unenforceable, the remaining provisions shall remain in full force and effect.

    \r\n

    Governing Law and Jurisdiction

    \r\n

    The Terms of Use and all other aspects of your use of the Site shall be governed by the laws of the state of New South Wales, Australia. Disputes arising in connection with this legal notice shall be subject to the non-exclusive jurisdiction of the courts of New South Wales, Australia. You agree that you will notify us of any claim or dispute concerning or relating to this legal notice and/or the Site.

    \r\n

    How to Contact Us 

    \r\n

    If you wish to contact us regarding the Terms of Use or any of our Services please email us at: contact@getcreditscore.com.au.

    \r\n

    This Terms of Use was last updated on 25 Nov 2019.

    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n\r\n return (\r\n\r\n
    \r\n {!this.props.userProfile.isAuthenticated && }\r\n {this.props.userProfile.isAuthenticated && }\r\n {pageContent}\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nTermOfUse.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n var menuItems = [];\r\n\r\n if (state.menu) {\r\n var menu = state.menu;\r\n if ( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.ABOUTME]) {\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.ABOUTME];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if (state.textVariants) {\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile,\r\n isAuthenticated: state.userProfile.isAuthenticated,\r\n csrfToken: state.userProfile.csrfToken,\r\n identifier: state.userProfile.identifier\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions, trackingActions, scoreActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(TermOfUse);","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\nimport * as scoreActions from '../../redux/actions/scoreActions';\r\n\r\nimport AboutMeApi from '../../api/aboutMeApi.js';\r\n\r\nimport LoadingIndicator from '../common/controls/LoadingIndicator';\r\nimport {ApiFailedToLoadComponentWithText} from '../common/ApiFailedToLoadComponent';\r\nimport {AboutMeWizard} from '../common/Wizard/AboutMe/AboutMeWizard';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport FooterSmallSection from '../common/footerSmall'\r\n\r\nclass PrivacyPolicy extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n isAboutMeProfileLoaded : false,\r\n isAboutMeProfileLoading : true,\r\n isServerError: false,\r\n initialProfile: null,\r\n };\r\n\r\n\r\n }\r\n\r\n componentDidMount() {\r\n window['initAppJs'](true);\r\n this.props.actions.getTextVariants();\r\n this.props.actions.getMenuForPage(pages.ABOUTME);\r\n //this.props.actions.loadScoreProfile({includeScore: true, includeAdvices: true, includeHistory: true})\r\n this.props.actions.isAuthenticated().then(e => {\r\n AboutMeApi.getAboutMeProfile(this.props.csrfToken).then( resp => {\r\n this.setState({\r\n initialProfile: resp.profile, \r\n isAboutMeProfileLoaded: true, \r\n isAboutMeProfileLoading: false,\r\n isServerError: false});\r\n\r\n }).catch( error => {\r\n this.setState({\r\n isAboutMeProfileLoaded: true, \r\n isAboutMeProfileLoading: false,\r\n isServerError: true});\r\n\r\n });\r\n });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n render() { \r\n let pageContent = (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n

    GETCREDITSCORE – PRIVACY POLICY

    \r\n


    OUR COMMITMENT TO PROTECT YOUR PRIVACY

    \r\n

    GetCreditScore Pty Ltd ACN 169 886 891, Australian Credit Licence 501455 and its related bodies corporate (collectively known as \"GetCreditScore\" and also referred to in this Policy as \"us,\" \"we\" and \"our\") seeks to provide the best possible service to its customers (\"you\") by obtaining your credit score for you at no cost to you, and providing access to a range of financial products and services such as credit cards, personal loans, car loans, home loans, business loans and insurance..

    \r\n

    We understand how important it is to protect your personal information. This document sets out our Privacy Policy commitment in respect of personal information that you may provide to us.

    \r\n

    Any personal information we collect about you will only be used for the purposes indicated in our policy, where we have your consent to do so, or as otherwise required or authorised by law. It is important to us that you are confident that any personal information we collect from you or that is received by us will be treated with appropriate respect ensuring protection of your personal information.

    \r\n

    Our commitment in respect of personal information is to abide by the Privacy Act 1988 (Cth) and any other relevant law.

    \r\n

    Please ensure that you read this Privacy Policy and the associated GetCreditScore Terms of Use.  By accessing the GetCreditScore website you agree to be bound by the Privacy Policy and the GetCreditScore Terms of Use. 

    \r\n

    The personal information we collect about you is necessary to enable us to provide the services set out in this Privacy Policy.  If you do not allow us to collect your personal information, we may be unable to assist you with your request. 

    \r\n

    CREDIT REPORTING AND CREDIT SCORES

    \r\n

    A credit report contains information about your credit history which helps credit providers assess your credit applications, verify your identity and manage accounts you hold with them. Credit reporting bodies collect and exchange this information with credit providers and other service providers such as phone companies.

    \r\n

    The Privacy Act permits an individual to appoint another entity to authorise a credit reporting body to provide credit reporting information about an individual to that other entity.  An entity appointed by an individual for this purpose is known as an ‘Access Seeker’.  The law places strict prohibitions on the entities that may be appointed as an Access Seeker on an individual. 

    \r\n

    By appointing GetCreditScore as your Access Seeker you authorise us to assist you to obtain your credit score.

    \r\n

    As an Access Seeker, the information we will provide to credit reporting bodies includes your identification details.  However, we do not provide any credit reporting information to the credit reporting bodies.

    \r\n

    Currently, we can act as an Access Seeker to obtain information from Equifax Australia Information Services and Solutions Pty Limited (ABN 26 000 602 862) (Equifax) -- www.equifax.com.au

    \r\n

    We use information from credit reporting bodies to provide you with your credit score. If authorised by you, we may also use information from credit reporting bodies to assist you to obtain a quote for a loan from a lender.  We do not assess or advise you about your creditworthiness or pass your credit reporting information to any other person.  We will only provide details of your credit score to a lender with your consent and at your direct request.

    \r\n

    We will not sell, transfer or disclose your personal information to any credit provider, credit reporting or rating agency, advertiser or any person who is unrelated to the provision of the services set out in this Privacy Policy.  

    \r\n

    WHAT IS PERSONAL INFORMATION

    \r\n

    When we refer to personal information we mean information or an opinion about you, from which you are, or may reasonably be, identified.

    \r\n

    This information may include (but is not limited to) your name, date of birth, driver's licence number, marital status, phone number, email address, address, nationality, employment history, income, assets and liabilities. We will not collect sensitive information about you (such as information about your health, religion, trade union membership, political opinion, sexual preference or criminal record). 

    \r\n

    Personal information also includes credit information.  Credit information is personal information or an opinion about you that has a bearing on credit that has been provided to you or that you have applied for.  Credit information includes information about credit that was applied for or provided to you for domestic, household or personal purposes as well as information about you where you a guarantor of a loan.  As part of our services to you, we may obtain credit information about you from Equifax.  

    \r\n

    From time to time we may also collect and store automatic non-identifiable information relating to your use of our website (‘Clickstream Information’).  For example, we may record information such as the areas of our website that you visit along with the time, date and URL of the pages you access, your IP address and / or the previous website that you visited before linking to the GetCreditScore website.   

    \r\n

    WHY WE COLLECT YOUR PERSONAL INFORMATION

    \r\n

    We collect and receive personal information about you in order to

    \r\n
      \r\n
    • act as your agent (‘Access Seeker’) to assist you to obtain your credit score (for more information about Access Seekers please refer to the section headed ‘Credit Reporting and Credit Scores’ below),
    • \r\n
    • assist you to deal with a lender we partner with;
    • \r\n
    • manage our relationship with you;
    • \r\n
    • contact you if we need to advise you of something;
    • \r\n
    • comply with our legal and regulatory obligations; and
    • \r\n
    • other customer support purposes.  
    • \r\n
    \r\n

    From time to time we may also use your personal information in relation to other products and services we may offer.

    \r\n

    In addition, we may use Clickstream Information to identify the most popular areas of our website and to tailor our website to improve our website to suit our clients’ needs.

    \r\n

    HOW WE COLLECT YOUR PERSONAL INFORMATION

    \r\n

    Personal information may be collected by us in a number of circumstances, including when an individual:

    \r\n
      \r\n
    • appoints us as their Access Seeker to obtain their credit score from Equifax or other credit reporting bodies;
    • \r\n
    • lodges an enquiry with us by email or telephone;
    • \r\n
    • requests that we obtain a quote for a loan from a lender with whom we partner;
    • \r\n
    • requests that we refer them to a lender for a loan; or
    • \r\n
    • applies to work with us.
    • \r\n
    \r\n

    Where reasonable and practical we will collect your personal information only directly from you. However, we will also collect information about you from third parties such as from our contractors who supply services to us, through our referrers (such as financial advisers), from a publicly maintained record or from other individuals or companies as authorised by you. 

    \r\n

    If you provide personal information to us about someone else, you must ensure that you are entitled to disclose that information to us and that, without us taking any further steps required by privacy laws, we may collect, use and disclose such information for the purposes described in this Privacy Policy. For example, you should take reasonable steps to ensure the individual concerned is aware of the various matters detailed in this Privacy Policy. The individual must also provide the consents set out in this Privacy Policy in respect of how we will deal with their personal information.

    \r\n

    HOW WE USE YOUR PERSONAL INFORMATION

    \r\n

    We use your personal information (including credit information) for the purpose for which it has been provided, for reasonably related secondary purposes, any other purpose you have consented to and any other purpose permitted under the Privacy Act. This may include using your personal information for the following purposes:

    \r\n
      \r\n
    • to provide you with the products or services you requested;
    • \r\n
    • to verify your identity;
    • \r\n
    • to assess, process and manage your application to be a customer;
    • \r\n
    • to assess, process and manage your application to work with us; or
    • \r\n
    • for complaints handling or data analytics purposes.
    • \r\n
    \r\n

    DISCLOSURE OF YOUR PERSONAL INFORMATION

    \r\n

    To enable us to maintain a successful business relationship with you, we may disclose your personal information to:

    \r\n
      \r\n
    • credit reporting bodies (including Equifax, formerly known as Veda).  For more information about how Equifax may use and handle your personal information please refer to the Equifax Privacy Policy at www.equifax.com.au;
    • \r\n
    • organisations that provide products or services used or marketed by us, including our partners, intermediaries (such as financial advisers), trustee companies, financial institutions and securitisers;
    • \r\n
    • companies and contractors who we retain to provide services for us, such as IT contractors, call centres, stationery printing houses, mail houses, storage facilities, lawyers, accountants and auditors, who will need to have access to your personal information to provide those services;
    • \r\n
    • people considering acquiring an interest in our business or assets; and
    • \r\n
    • other individuals or companies authorised by you.
    • \r\n
    \r\n

    By providing us with your personal information, you consent to us disclosing your information to such entities without obtaining your consent on a case by case basis.

    \r\n

    Sometimes we are required or authorised by law to disclose your personal information. Circumstances in which we may disclose your personal information would be to a Court, Tribunal or law enforcement agency in response to a request or in response to a subpoena or to the Australian Taxation Office.

    \r\n

    OVERSEAS DISCLOSURE

    Our IT servers and cloud storage services which hold your personal information are located in Australia. We may disclose your personal information overseas for technical support purposes.

    By providing us with your personal information, you consent to us disclosing your information to entities located outside Australia on the basis that we will take reasonable steps to ensure that the overseas recipient complies with Australian privacy laws.

    \r\n

    DIRECT MARKETING USE AND HOW TO OPT-OUT

    \r\n

    From time to time we may use your personal information to provide you with current information about our services, special offers you may find of interest, changes to our organisation, or new products or services being offered by us or any company we are associated with. By providing us with your personal information, you consent to us using your information to contact you on an ongoing basis for this purpose, including by mail, email, SMS, social media and telephone.

    \r\n

    If you do not wish to receive marketing information from GetCreditScore, you may update your preferences within the member dashboard, alternatively you may at any time decline to receive such information by email: contact@getcreditscore.com.au. We will not charge you for giving effect to your request and will take all reasonable steps to meet your request at the earliest possible opportunity.

    \r\n

    You may have consented to sharing your personal information with Equifax for direct marketing purposes. For more information on Equifax’s privacy policies and how to opt-out of direct marketing from these entities please contact the entities directly.

    \r\n

    USE OF COOKIES

    \r\n

    We use technology known as “cookies” to collect statistical information about you when using internet browsing, mobile or tablet applications on our website. A cookie is a packet of information placed on your computer's hard drive or in memory by a website for record keeping purposes. They can record information about your visit to the site, allowing it to remember you the next time you visit and provide a more meaningful experience.

    If you disable the use of cookies on your web browser or remove or reject specific cookies from our website or linked sites then you may not be able to gain access to all of the content and facilities on those websites.   

    \r\n

    HOW WE KEEP YOUR PERSONAL INFORMATION THAT WE HOLD SAFE AND SECURE

    \r\n

    We will take reasonable steps to protect your personal information, including your credit-related personal information, by storing it in a secure environment, and when the information is no longer needed for any purpose for which the information may be used or disclosed, it will be destroyed or permanently de-identified.

    \r\n

    We will also take reasonable steps to protect any personal information from misuse, loss and unauthorised access, modification or disclosure.

    \r\n

    ACCESS TO AND UPDATING YOUR PERSONAL INFORMATION

    \r\n

    It is important to our relationship that the personal information we hold about you is accurate and up to date. During the course of our relationship with you we will ask you to inform us if any of your personal information has changed.

    \r\n

    If you consider that any information we hold about you is incorrect, you should log in to your member dashboard to update it.  Alternatively, you may contact us to have it updated. We will generally rely on you to assist us in informing us if the information we hold about you is inaccurate or incomplete.

    \r\n

    We will provide you with access to the personal information we hold about you, subject to limited exceptions in the Privacy Act as outlined below. You may request access to any of the personal information we hold about you, including any credit-related personal information we hold about you, at any time.

    \r\n

    To access personal information that we hold about you via email, send your request to: contact@getcreditscore.com.au. We may charge a fee for our reasonable costs in retrieving and supplying the information to you.

    \r\n

    There may be situations where we are not required to provide you with access to your personal information. For example, such a situation would be information relating to an existing or anticipated legal proceeding with you, or if your request is vexatious.

    \r\n

    An explanation will be provided to you if we deny you access to your personal information we hold.

    \r\n

    BUSINESS WITHOUT IDENTIFYING YOU

    \r\n

    In most circumstances it will be necessary for us to identify you in order to successfully do business with you, however, where it is lawful and practicable to do so, we will offer you the opportunity of doing business with us without providing us with personal information. Such a situation would be where you make general inquiries about interest rates or current promotional offers.

    \r\n

    GET CREDIT SCORE PARTNER PRIVACY POLICIES

    \r\n

    Below are the Privacy Policies of our partners:

    \r\n
      \r\n
    • Planwise Au Pty Ltd (Uno Home Loans, ABN 81 609 882 804). Australian Credit Licence Number 483595Click here for their privacy policy.
    • \r\n
    • Stratton Finance Pty Ltd (ACN 070 636 903 / Australian Credit Licence no. 364340).  Click here for their privacy policy.
    • \r\n
    • RateCity Pty Limited (ABN 12 122 743 542 & AFSL/Australian Credit Licence 316710).  Click here for their privacy policy.
    • \r\n
    • Valiant Finance Pty Ltd (ACN 606 560 150).  Click here for their privacy policy.
    • \r\n
    • SocietyOne Australia Pty Ltd ACN 151 627 977 holds Australian Credit Licence No. 423660 and is an authorised representative of Ironbark Asset Management Pty Ltd ACN 136 679 420 AFSL 34 10 20. Click here for their privacy policy.
    • \r\n
    • Wingate Consumer Finance Pty Ltd (Now Finance, ACN 158 703 612). Australian Credit Licence number 425142. Click here for their privacy policy.
    • \r\n
    • Harmoney Services Australia Pty Ltd (ABN 49 608 364 272). Australian Credit License number 474726 and Australian Financial Services Licence Number 474726. Click Here for their privacy policy. 
    • \r\n
    • Pepper Group Limited (ABN 55 094 317 665). Australian Credit License Number & AFSL 286655. Click here for their privacy policy.
    • \r\n
    • Fair Go Finance Pty Ltd (ACN 134 369 574). Australian Credit License Number 387995. Click here for their privacy policy. 
    • \r\n
    • RateSetter Australia RE Limited (ABN 57 166 646 635). Australian Credit License number & AFSL 449176. Click here for their privacy policy.
    • \r\n
    • Firstmac Limited (ACN 094 145 963). ACL & AFSL 290600. Click here for their privacy policy. 
    • \r\n
    • Latitude Finance Australia (ABN 42 008 583 588). ACL 392145. Click here for their privacy policy.
    • \r\n
    • On Deck Capital Australia Pty Ltd (ACN 603 753 215). Click here for their privacy policy. 
    • \r\n
    • Alternative Media Pty Ltd (ABN 17 149 089 716). Click here for their privacy policy.
    • \r\n
    • AGL Energy Limited (ABN 74 115 061 375). Click here for their privacy policy. 
    • \r\n
    • Ebroker.com.au Pty Ltd (ACN 606 329 800). Click here for their privacy policy. 
    • \r\n
    \r\n

    FURTHER INFORMATION AND COMPLAINTS

    \r\n

    You may request further information about the way we manage your personal information or lodge a complaint by contacting our Privacy Officer(s) on the contact details below.

    \r\n

    We will deal with any complaint by investigating the complaint, and providing a response to the complainant generally within 15 business days, provided that we have all necessary information and have completed any investigation required. In cases where further information, assessment or investigation is required, we will seek to agree alternative time frames with you.

    \r\n

    ESCALATING A COMPLAINT

    \r\n

    If you are not satisfied with our response to your complaint, you may contact the External Dispute Resolution Scheme of which GetCreditScore is a member, the Australian Financial Complaints Authority (AFCA).
     
    How to contact the Australian Financial Complaints Authority (AFCA): 
    Online:  www.afca.org.au  
    Email:  info@afca.org.au  
    Phone: 1800 931 678  
    Post: Australian Financial Complaints Authority, GPO Box 3, Melbourne VIC 3001

    \r\n

    You may also make a complaint to the Office of the Australian Information Commissioner (OAIC). 
     
    How to contact the Office of the Australian Information Commissioner (OAIC): 
    Online: www.oaic.gov.au  
    Email:  enquiries@oaic.gov.au  
    Fax: 1300 363 992  
    Mail: Office of the Australian Information Commissioner,  GPO Box 5218, Sydney NSW 2001 

    \r\n

    CONTACT DETAILS

    \r\n

    To contact us, please email us at: contact@getcreditscore.com.au.

    \r\n

    CHANGE IN OUR PRIVACY POLICY

    \r\n

    We are constantly reviewing all of our policies and attempt to keep up to date with market expectations. Technology is constantly changing, as is the law and market practices.

    \r\n

    As a consequence we may change this Privacy Policy from time to time or as the need arises.

    \r\n

    This Privacy Policy was last updated on 25 Nov 2019.

    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n\r\n return (\r\n\r\n
    \r\n {!this.props.userProfile.isAuthenticated && }\r\n {this.props.userProfile.isAuthenticated && }\r\n {pageContent}\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nPrivacyPolicy.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n var menuItems = [];\r\n\r\n if (state.menu) {\r\n var menu = state.menu;\r\n if ( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.ABOUTME]) {\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.ABOUTME];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if (state.textVariants) {\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile,\r\n isAuthenticated: state.userProfile.isAuthenticated,\r\n csrfToken: state.userProfile.csrfToken,\r\n identifier: state.userProfile.identifier\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions, trackingActions, scoreActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PrivacyPolicy);","import delay from './delay';\r\nimport * as GlobalVariables from '../config/configureGlobalVariables';\r\nimport * as GlobalFixedVariables from '../config/GlobalFixedVariables';\r\nimport * as funcs from '../components/shared/functions';\r\n\r\n\r\nclass ReportApi {\r\n static getReportProfile(csrfToken, options = {}) {\r\n\r\n const fullUrl = GlobalVariables.API_BASE_URL + 'v1/creditreport';\r\n\r\n let headers = {};\r\n headers['Content-Type'] = 'application/json';\r\n if(csrfToken){\r\n headers['x-gcs-xsrf'] = csrfToken;\r\n } \r\n let requestOptions = {\r\n method: 'POST',\r\n mode: 'cors',\r\n credentials: 'include',\r\n headers: headers,\r\n body: JSON.stringify(options)\r\n }\r\n\r\n return fetch(fullUrl, requestOptions).then(response =>\r\n {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n else{\r\n return response.json();\r\n }\r\n }\r\n ).catch(function (error) {\r\n throw(error);\r\n }); \r\n } \r\n \r\n};\r\n\r\nexport default ReportApi;\r\n","import LayoutApi from '../../api/mockLayoutApi';\r\nimport ArticlesApi from '../../api/mockArticlesApi.js'\r\nimport ReportApi from '../../api/reportApi.js'\r\nimport * as types from './actionTypes';\r\nimport {beginAjaxCall, apiFail} from './ajaxStatusActions';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\nimport * as trackingActions from './trackingActions';\r\n\r\n\r\nexport function resetReportProfile() {\r\n return {type: types.RESET_REPORT_PROFILE};\r\n}\r\n\r\nexport function ajaxLoadReport(loading) {\r\n return {type: types.AJAX_LOAD_REPORT, loading};\r\n}\r\n\r\n// export function loadScoreProfileSuccess(scoreProfile, isNoRecords, isInProgress, isTryingCountReached, options) {\r\n// return {type: types.LOAD_SCORE_PROFILE_SUCCESS, scoreProfile, isNoRecords, isInProgress, isTryingCountReached, options};\r\n// }\r\n\r\n\r\nexport function loadReportProfileSuccess(reportInfo, options) {\r\n return {type: types.LOAD_REPORT_PROFILE_SUCCESS, reportInfo, options};\r\n}\r\n\r\nexport function updateDisplayName(displayName){\r\n return {type: types.USER_PROFILE_DISPLAYNAME, displayName};\r\n}\r\n\r\n\r\nexport function loadReportProfile(options = {}, forced=false, retry = false) {\r\n return (dispatch, getState) => {\r\n\r\n let state = getState();\r\n let reportProfileState = state.reportProfile;\r\n\r\n if(!forced){\r\n\r\n if(shouldNotLoadReportProfile(reportProfileState, options) || (reportProfileState.tryingGetReportCount > reportProfileState.tryingGetReportMax)){\r\n\r\n if(reportProfileState.tryingGetReportCount > reportProfileState.tryingGetReportMax){ \r\n dispatch(loadReportProfileSuccess(reportProfileState.reportInfo, options));\r\n }\r\n\r\n dispatch(trackingActions.trackReport(false));\r\n return Promise.resolve(reportProfileState);\r\n }\r\n }\r\n\r\n\r\n dispatch(ajaxLoadReport(true));\r\n options.retry = retry;\r\n return ReportApi.getReportProfile(state.userProfile.csrfToken, options).then(reportInfo => {\r\n \r\n dispatch(loadReportProfileSuccess(reportInfo, options));\r\n dispatch(updateDisplayName(reportInfo[\"displayName\"]));\r\n dispatch(trackingActions.trackReport(true));\r\n\r\n return Promise.resolve(reportInfo);\r\n }).catch(error => {\r\n\r\n if(error.status == 417){\r\n // keep trying\r\n //dispatch(loadScoreProfileSuccess(null, true, options));\r\n\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n\r\n resolve(dispatch(loadReportProfile(options, false, true)));\r\n }, GlobalVariables.SCORE_RETRY_TIMEOUT);\r\n });\r\n }\r\n else if(error.status == 409) { \r\n dispatch(apiFail(\"ReportApi\", \"EADown\")); \r\n return Promise.resolve();\r\n }\r\n else { \r\n dispatch(apiFail(\"ReportApi\", \"reportProfile\"));\r\n //dispatch(ajaxLoadScore(false));\r\n return Promise.resolve();\r\n }\r\n\r\n });\r\n };\r\n}\r\n\r\nfunction shouldNotLoadReportProfile(reportProfileState, options){\r\n\r\n var shouldLoad = true;\r\n var reportInfo = reportProfileState && reportProfileState.reportInfo\r\n if(reportInfo){ \r\n shouldLoad = !((reportInfo.enquiries && reportInfo.enquiries.length > 0) ||\r\n (reportInfo.accounts && reportInfo.accounts.length > 0) ||\r\n (reportInfo.courtActions && reportInfo.courtActions.length > 0));\r\n\r\n }\r\n return !shouldLoad;\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport SelectInput from '../common/controls/SelectInput';\r\nimport DateInputGeneral from '../common/controls/DateInputGeneral';\r\nimport GenderInput from '../common/controls/GenderInput';\r\nimport AddressInput from '../common/controls/AddressInput';\r\nimport PasswordInput from '../common/controls/PasswordInput';\r\nimport LoginTermsAndConditions from '../login/LoginTermsAndConditions';\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nconst $ = window.$;\r\n\r\n\r\nclass RecentActivities extends React.Component {\r\n\r\n constructor(props, context){\r\n super(props, context);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState){\r\n }\r\n\r\nrender(){\r\n \r\n let {textVariants, accounts, enquiries, courtActions} = this.props;\r\n\r\n var account = accounts && accounts.length > 0 && accounts[0];\r\n var enquiry = enquiries && enquiries.length > 0 && enquiries[0];\r\n var court = courtActions && courtActions.length > 0 && courtActions[0];\r\n\r\n var accountDate = account && (account.accountOpenDate || account.latestUpdatedDate);\r\n\r\n return (\r\n\r\n \r\n {account && (
    \r\n
    \r\n \"\"\r\n

    {accountDate}

    \r\n
    \r\n
    \r\n
    \r\n
    Credit
    \r\n
    {account.originalCreditProvider ? account.originalCreditProvider : ''}
    \r\n
    \r\n
    \r\n
    Type
    \r\n
    {account.accountType}
    \r\n
    \r\n
    \r\n
    )}\r\n\r\n {enquiry && (
    \r\n
    \r\n \"\"\r\n

    { enquiry.enquiryDate ? enquiry.enquiryDate : '' }

    \r\n
    \r\n
    \r\n
    \r\n
    Credit
    \r\n
    {enquiry.creditEnquirier ? enquiry.creditEnquirier : ''}
    \r\n
    \r\n
    \r\n
    Type
    \r\n
    {enquiry.accountType}
    \r\n
    \r\n
    \r\n
    )}\r\n\r\n {court && (
    \r\n
    \r\n \"\"\r\n

    {court.actionDate ? court.actionDate : '' }

    \r\n
    \r\n
    \r\n
    \r\n
    Credit
    \r\n
    {court.creditor ? court.creditor : ''}
    \r\n
    \r\n
    \r\n
    Type
    \r\n
    {court.courtType}
    \r\n
    \r\n
    \r\n
    )}\r\n \r\n
    \r\n );\r\n }\r\n }\r\n\r\n RecentActivities.propTypes = {\r\n textVariants: PropTypes.object.isRequired,\r\n};\r\n\r\n\r\nexport default RecentActivities;\r\n","\r\nimport $ from 'jquery'\r\nimport 'bootstrap'\r\nimport PerfectScrollbar from 'perfect-scrollbar'\r\nimport slick from 'slick-carousel-latest'\r\nimport {tonikInitScrollWithAnimation} from './shared/scrollWithAnimation';\r\n\r\n\r\nexport const tonikInitMonthSlider = (sliderId) => {\r\n\r\n //todestroy $(element).slick('unslick');\r\n //$('.my-slider')[0].slick.refresh()\r\n try{\r\n if(sliderId){\r\n sliderId = '#' + sliderId;\r\n }\r\n else{\r\n sliderId = '.months-slider';\r\n }\r\n\r\n $(sliderId).slick({\r\n dots: false,\r\n arrows: true,\r\n infinite: true,\r\n speed: 500,\r\n slidesToShow: 6,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n autoplaySpeed: 4000,\r\n responsive: [\r\n {\r\n breakpoint: 767,\r\n settings: {\r\n arrows: false\r\n }\r\n }\r\n ]\r\n })\r\n} catch(e){\r\n console.debug('gcs slick ', e);\r\n}\r\n\r\n return;\r\n}\r\n\r\nexport const tonikInitReport = () => {\r\n\r\n tonikInitScrollWithAnimation();\r\n tonikInitMonthSlider();\r\n\r\nreturn;\r\n}","import React from 'react';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\nimport {tonikInitMenu} from '../../../tonik/menu';\r\n\r\nconst AccountsModal = ({ closeModal }) => {\r\n\r\n //tonikInitMenu();\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    1 Information shown for each account listing:

    \r\n
      \r\n
    • Name of credit provider
    • \r\n
    • Type of account – e.g. personal loan, credit card & telco
    • \r\n
    • Account number or reference
    • \r\n
    • Open date
    • \r\n
    • Close date
    • \r\n
    • Last updated date
    • \r\n
    • Account number or reference
    • \r\n
    • Repayment history information - NOTE: The Credit Report Overview will only display information for the past 6 months
    • \r\n
    \r\n

    2 What are Accounts and Repayment History Information?

    \r\n

    This section contains detailed information about the credit accounts in your name. Each account also contains its own repayment history information. Repayment history is part of the new positive data included in credit reports when CCR came into effect in 2017.

    \r\n

    Repayment history is simply a record of your minimum monthly repayments on your loans such as mortgages and/or credit cards that appear on your credit report.

    \r\n

    Your repayment history information is recorded on your credit report for a period of two years.

    \r\n

    It’s important to know that regularly making your minimum repayments on time is a great way to demonstrate good credit behaviour and improve your credit worthiness.

    \r\n \r\n {/* Changes for ACRDS 3.0 */}\r\n {/*
    Each of the following will determine your repayment status:
    \r\n
      \r\n
    • Green Tick – Payment made on time
    • \r\n
    • Red Cross – Missed Payment
    • \r\n
    • Grey Circle – No data
    • \r\n
    */}\r\n\r\n
    Each of the following will determine your repayment status:
    \r\n
      \r\n
    • \"\"/ – Payment made on time
    • \r\n
    • \"\"/ – Missed Payment
    • \r\n
    • \"\"/ – No data
    • \r\n
    \r\n\r\n

    From 1 July 2022, we will also display hardship arrangements for applicable accounts, including the following:

    \r\n\r\n

    \"\"/ = Temporary relief / deferral Financial Hardship Arrangement (FHA)
    \r\n Payment obligations are temporarily reduced or deferred as a result of a financial hardship Variation Financial Hardship Arrangement (FHA)

    \r\n\r\n

    \"\"/ = Variation Financial Hardship Arrangement (VHA)
    \r\n A variation made to the terms or conditions as a result of a financial hardship arrangement. The repayment history reflects the new payment required.

    \r\n\r\n

    Please note, that these hardship arrangements do not affect your credit score.

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n export default AccountsModal;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nexport const LineShower = ({elementKey, elementValue, mainClass = \"cr_card_textline\"}) => {\r\n return (
    {elementKey} {elementValue}
    )\r\n }","import React from 'react';\r\n\r\nexport const ErrorWrapper = ({header, text, children}) => {\r\n return (
    \r\n
    \r\n
    \r\n
    \r\n \r\n {header} \r\n \r\n

    {text}

    \r\n
    \r\n\r\n
    \r\n
    \r\n {children}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    );\r\n}","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport SelectInput from '../common/controls/SelectInput';\r\nimport DateInputGeneral from '../common/controls/DateInputGeneral';\r\nimport GenderInput from '../common/controls/GenderInput';\r\nimport AddressInput from '../common/controls/AddressInput';\r\nimport PasswordInput from '../common/controls/PasswordInput';\r\nimport LoginTermsAndConditions from '../login/LoginTermsAndConditions';\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\nimport {tonikInitMonthSlider} from '../../tonik/report';\r\nimport AccountsModal from './shared/AccountsModal';\r\n\r\nimport {LineShower} from './shared/LineShower'\r\nimport {ErrorWrapper} from './shared/ErrorWrapper';\r\n\r\nconst $ = window.$;\r\n\r\n\r\nclass Accounts extends React.Component {\r\n\r\n constructor(props, context){\r\n super(props, context);\r\n this.state = {\r\n modal: false,\r\n }\r\n\r\n this.onAccordionBtnClick = this.onAccordionBtnClick.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n //window['initAppJs'](true);\r\n initTonikForms();\r\n \r\n }\r\n\r\n componentDidUpdate(prevProps, prevState){\r\n //window['initAppJs'](true);\r\n initTonikForms();\r\n }\r\n\r\n openModal () { \r\n this.setState({modal: true});\r\n }\r\n\r\n closeModal () {\r\n this.setState({modal: false});\r\n }\r\n\r\n onAccordionBtnClick(event, account) {\r\n if(account.repaymentHistory && account.repaymentHistory.length > 0){\r\n var sliderid = 'slider-' + account.accountId; \r\n tonikInitMonthSlider(sliderid);\r\n }\r\n }\r\n\r\nrender(){\r\n\r\n let {textVariants, data} = this.props;\r\n var accounts = data;\r\n \r\n if(!accounts || accounts.length == 0){\r\n return (\r\n
    \r\n We couldn't find any accounts.\r\n
    \r\n
    );\r\n }\r\n \r\n return (\r\n
    \r\n \r\n
    \r\n {\r\n accounts && accounts.map( (account, index) => { \r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    {account.accountType}\r\n
    {account.accountId}
    \r\n {/* {account.accountOpenDate && }\r\n {account.accountClosedDate &&}\r\n {account.relationship && index == 0 && }\r\n {account.termOfLoan && } */}\r\n

    \r\n
    \r\n\r\n
    \r\n
    \r\n {account.accountOpenDate && }\r\n {account.accountClosedDate &&}\r\n {account.relationship && }\r\n {account.termOfLoan && }\r\n {account.latestMaximumCredit &&\r\n (<>

    Current Credit limit

    \r\n ${account.latestMaximumCredit})\r\n }\r\n \r\n
    \r\n {account.repaymentHistory && \r\n (

    Repayment History and Financial Hardship Information

    )}\r\n
    0) ? '' :'d-none') }>\r\n {account.repaymentHistory && account.repaymentHistory.map((item, index) => {\r\n return (\r\n
    \r\n {/*

    {item.period}

    */}\r\n {/* {item.fhi ?

    {item.fhi}

    :
    } */}\r\n {item.fhi ?

    \"\"/

    :


    }\r\n \"\"/\r\n {/* \"\"/ */}\r\n

    {item.period}

    \r\n
    \r\n )\r\n })}\r\n
    \r\n
    \r\n\r\n {this.openModal()}} className=\"report\" style={{cursor:'pointer'}}>How to read your Accounts information\r\n
    \r\n
    \r\n
    \r\n )\r\n })\r\n }\r\n
    \r\n\r\n {this.state.modal && (\r\n {this.closeModal()}}>\r\n )}\r\n
    \r\n
    );\r\n }\r\n }\r\n\r\n Accounts.propTypes = {\r\n textVariants: PropTypes.object,\r\n data: PropTypes.array.isRequired\r\n};\r\n\r\n\r\nexport default Accounts;\r\n","import React from 'react';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\nimport {tonikInitMenu} from '../../../tonik/menu';\r\n\r\nconst CreditEnquiriesModal = ({ closeModal }) => {\r\n\r\n //tonikInitMenu();\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    1 Information shown for each enquiry listing:

    \r\n
      \r\n
    • Name of credit provider
    • \r\n
    • Type of account enquiried – e.g. personal loan, credit card & telco
    • \r\n
    • Date of enquiry
    • \r\n
    • Amount
    • \r\n
    \r\n \r\n

    2 What is a credit enquiry?

    \r\n

    A credit enquiry is when a credit provider such as a bank performs a credit check on you as part of an application for credit. For example, this could be when you apply for a home loan or credit card. It may be added to your credit report and will be listed as a ‘credit enquiry’.

    \r\n

    Details of a credit check may include the date, the type of credit you have applied for, such as a mortgage, credit card, personal loan, utility and/or telco accounts as well as the amount you applied for. Your credit report doesn’t show the outcome of your application, only that an application has been made.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n export default CreditEnquiriesModal;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport SelectInput from '../common/controls/SelectInput';\r\nimport DateInputGeneral from '../common/controls/DateInputGeneral';\r\nimport GenderInput from '../common/controls/GenderInput';\r\nimport AddressInput from '../common/controls/AddressInput';\r\nimport PasswordInput from '../common/controls/PasswordInput';\r\nimport LoginTermsAndConditions from '../login/LoginTermsAndConditions';\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\nimport {tonikInitMonthSlider} from '../../tonik/report';\r\nimport CreditEnquiriesModal from './shared/CreditEnquiriesModal';\r\n\r\nimport {LineShower} from './shared/LineShower';\r\nimport {ErrorWrapper} from './shared/ErrorWrapper';\r\n\r\nconst $ = window.$;\r\n\r\n\r\nclass CreditEnquiries extends React.Component {\r\n\r\n constructor(props, context){\r\n super(props, context);\r\n this.onAccordionBtnClick = this.onAccordionBtnClick.bind(this);\r\n\r\n this.state = {\r\n modal: false,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n //window['initAppJs'](true);\r\n initTonikForms();\r\n \r\n }\r\n\r\n componentDidUpdate(prevProps, prevState){\r\n //window['initAppJs'](true);\r\n initTonikForms();\r\n }\r\n\r\n openModal () { \r\n this.setState({modal: true});\r\n }\r\n\r\n closeModal () {\r\n this.setState({modal: false});\r\n }\r\n\r\n onAccordionBtnClick(event, account) {\r\n if(account.repaymentHistory && account.repaymentHistory.length > 0){\r\n //tonikInitMonthSlider();\r\n }\r\n }\r\n\r\nrender(){\r\n\r\n let {textVariants, data} = this.props;\r\n var enquiries = data;\r\n\r\n if(!enquiries || enquiries.length == 0){\r\n return (\r\n
    \r\n We couldn't find any enquiries.\r\n
    \r\n
    );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {\r\n enquiries && enquiries.map( (enquiry, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n {enquiry.creditEnquirier} Date of enquiry: {enquiry.enquiryDate} \r\n \r\n
    \r\n

    {enquiry.accountType}

    \r\n
    \r\n\r\n
    \r\n
    \r\n {enquiry.relationship && }\r\n ${enquiry.enquiryAmount}\r\n {enquiry.enquiryClientReference != null &&\r\n (

    Customer Reference No:{enquiry.enquiryClientReference}

    )\r\n }\r\n \r\n {this.openModal()}} className=\"report\" style={{cursor:'pointer'}}>How to read your Credit Enquiries information\r\n
    \r\n
    \r\n
    \r\n )\r\n })\r\n }\r\n\r\n
    \r\n\r\n {this.state.modal && (\r\n {this.closeModal()}}>\r\n )}\r\n\r\n
    \r\n
    \r\n );\r\n }\r\n }\r\n\r\n CreditEnquiries.propTypes = {\r\n textVariants: PropTypes.object,\r\n data: PropTypes.array.isRequired\r\n};\r\n\r\n\r\nexport default CreditEnquiries;\r\n","import React from 'react';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\nimport {tonikInitMenu} from '../../../tonik/menu';\r\n\r\nconst DefaultsModal = ({ closeModal }) => {\r\n\r\n //tonikInitMenu();\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n

    1 Information shown for each default listing:

    \r\n
      \r\n
    • Name of current credit provider
    • \r\n
    • Name of original credit provider
    • \r\n
    • Type of account enquiried – e.g. personal loan, credit card & telco
    • \r\n
    • Date of default
    • \r\n
    • Original amount
    • \r\n
    • Current amount
    • \r\n
    \r\n

    2 What is a default?

    \r\n

    A non-payment of a debt of $150 or more that has been overdue for at least 60 days can be listed as a ‘default’ on your credit report by a credit provider such as a bank or utility company.

    \r\n

    Defaults will remain on your credit report for a period of five years. Once you have paid the default, the status of your default will be updated to ‘paid’.

    \r\n

    Defaults are looked upon unfavourably by credit providers, so, it’s a good idea to contact your credit provider early, if you are having trouble meeting your repayments on time.

    \r\n

    We have also added further details in relation to your defaults, in particular:

    \r\n

    New Arrangement - refers to a new consumer credit provided that relates, wholly or in part, to this amount of credit.

    \r\n

    New Arrangement (Varied) - refers to a variation of the terms or conditions of the original consumer credit that relate to the repayment of the amount of the credit are varied.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n export default DefaultsModal;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport SelectInput from '../common/controls/SelectInput';\r\nimport DateInputGeneral from '../common/controls/DateInputGeneral';\r\nimport GenderInput from '../common/controls/GenderInput';\r\nimport AddressInput from '../common/controls/AddressInput';\r\nimport PasswordInput from '../common/controls/PasswordInput';\r\nimport LoginTermsAndConditions from '../login/LoginTermsAndConditions';\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\nimport {tonikInitMonthSlider} from '../../tonik/report';\r\nimport DefaultsModal from './shared/DefaultsModal';\r\n\r\nimport {LineShower} from './shared/LineShower';\r\nimport {ErrorWrapper} from './shared/ErrorWrapper';\r\n\r\nconst $ = window.$;\r\n\r\nclass Defaults extends React.Component {\r\n\r\n constructor(props, context){\r\n super(props, context);\r\n this.state = {\r\n modal: false,\r\n }\r\n\r\n this.onAccordionBtnClick = this.onAccordionBtnClick.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n //window['initAppJs'](true);\r\n initTonikForms();\r\n \r\n }\r\n\r\n componentDidUpdate(prevProps, prevState){\r\n //window['initAppJs'](true);\r\n initTonikForms();\r\n }\r\n\r\n openModal () { \r\n this.setState({modal: true});\r\n }\r\n\r\n closeModal () {\r\n this.setState({modal: false});\r\n }\r\n\r\n onAccordionBtnClick(event, account) {\r\n if(account.repaymentHistory && account.repaymentHistory.length > 0){\r\n //tonikInitMonthSlider();\r\n }\r\n }\r\n\r\nrender(){\r\n\r\n let {textVariants, data} = this.props;\r\n var accounts = data;\r\n\r\n if(accounts){\r\n accounts = accounts.filter(a => a.hasDefaults == true);\r\n }\r\n if(!accounts || accounts.length == 0){ \r\n return (\r\n
    \r\n We couldn't find any defaults.\r\n
    \r\n
    );\r\n } \r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {\r\n accounts && accounts.map( (account, index) => { \r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n {account.accountType}\r\n \r\n

    \r\n {account.originalCreditProvider && }\r\n {account.originalCreditProvider && }\r\n
    \r\n \r\n
    \r\n
    \r\n {account.defaults.map( (defaulT, indexd) => { \r\n return (\r\n \r\n {(defaulT.originalAmount || defaulT.currentAmount || defaulT.DateOfDefault) &&\r\n \r\n

    Default

    } \r\n {defaulT.DateOfDefault && }\r\n {defaulT.isDisputed && }\r\n {defaulT.originalAmount && }\r\n \r\n {defaulT.currentAmount &&\r\n <>\r\n \r\n ${defaulT.currentAmount}\r\n \r\n }\r\n \r\n { defaulT.status && (
    \r\n

    Status {defaulT.status}

    \r\n
    )\r\n }\r\n\r\n {/* {defaulT.newArrangement && } */}\r\n\r\n { defaulT.newArrangement && \r\n (
    \r\n
    \r\n New Arrangement:
    \r\n
    \r\n {defaulT.newArrangement=='N'? 'New consumer credit provided that relates, wholly or in part, to this amount of credit.'\r\n : (defaulT.newArrangement=='V'? 'Varied, Terms or conditions of the original consumer credit that relate to the repayment of the amount of the credit are varied.'\r\n : '' )}
    \r\n
    )\r\n } \r\n \r\n \r\n
    \r\n
    )\r\n })} \r\n \r\n {this.openModal()}} className=\"report\" style={{cursor:'pointer'}}>How to read your Defaults information\r\n
    \r\n
    \r\n
    \r\n ) \r\n })\r\n }\r\n
    \r\n\r\n {this.state.modal && (\r\n {this.closeModal()}}>\r\n )}\r\n
    \r\n
    );\r\n }\r\n }\r\n\r\n Defaults.propTypes = {\r\n textVariants: PropTypes.object,\r\n data: PropTypes.array.isRequired\r\n};\r\n\r\n\r\nexport default Defaults;\r\n","import React from 'react';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\nimport {tonikInitMenu} from '../../../tonik/menu';\r\n\r\nconst CourtActionsModal = ({ closeModal }) => {\r\n\r\n //tonikInitMenu();\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n

    1 Information shown for each court action listing:

    \r\n
      \r\n
    • Name of credit provider
    • \r\n
    • Type of court
    • \r\n
    • Date
    • \r\n
    • Amount
    • \r\n
    \r\n\r\n

    2 What is a court action?

    \r\n

    A court action is an order by a court that requires you to pay the credit provider with whom you have an outstanding debt and includes any fees and interest.

    \r\n

    A court action on your credit report can severely impact your credit worthiness. This is because it indicates that you haven’t been able to pay off your debt and requires legal action to reach an acceptable agreement.

    \r\n

    A court action remains on your credit report for up to five years.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n export default CourtActionsModal;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport SelectInput from '../common/controls/SelectInput';\r\nimport DateInputGeneral from '../common/controls/DateInputGeneral';\r\nimport GenderInput from '../common/controls/GenderInput';\r\nimport AddressInput from '../common/controls/AddressInput';\r\nimport PasswordInput from '../common/controls/PasswordInput';\r\nimport LoginTermsAndConditions from '../login/LoginTermsAndConditions';\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\nimport {tonikInitMonthSlider} from '../../tonik/report';\r\nimport CourtActionsModal from './shared/CourtActionsModal';\r\n\r\nimport {LineShower} from './shared/LineShower';\r\nimport {ErrorWrapper} from './shared/ErrorWrapper';\r\n\r\nconst $ = window.$;\r\n\r\n\r\nclass CourtActions extends React.Component {\r\n\r\n constructor(props, context){\r\n super(props, context);\r\n this.state = {\r\n modal: false,\r\n }\r\n\r\n this.onAccordionBtnClick = this.onAccordionBtnClick.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n initTonikForms();\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState){\r\n initTonikForms();\r\n }\r\n\r\n openModal () {\r\n this.setState({modal: true});\r\n }\r\n\r\n closeModal () {\r\n this.setState({modal: false});\r\n }\r\n\r\n onAccordionBtnClick(event, account) {\r\n if(account.repaymentHistory && account.repaymentHistory.length > 0){\r\n //tonikInitMonthSlider();\r\n }\r\n }\r\n\r\nrender(){\r\n let {textVariants, data} = this.props;\r\n var courtActions = data;\r\n\r\n if(!courtActions || courtActions.length == 0){\r\n return (\r\n
    \r\n We couldn't find any court judgments.\r\n
    \r\n
    );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n\r\n {\r\n courtActions && courtActions.map( (court, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n {court.creditor} Date of commencement: {court.actionDate}\r\n \r\n
    \r\n

    {court.courtType}

    \r\n
    \r\n\r\n \r\n\r\n
    \r\n {court.courtActionAmount && ${court.courtActionAmount}}\r\n { court.courtActionStatus && (
    \r\n

    Status {court.courtActionStatus}

    \r\n
    )}\r\n {this.openModal()}} className=\"report\" style={{cursor:'pointer'}}>How to read your Court Judgments information\r\n
    \r\n
    \r\n
    \r\n )\r\n })\r\n }\r\n\r\n
    \r\n\r\n {this.state.modal && (\r\n {this.closeModal()}}>\r\n )}\r\n \r\n
    \r\n );\r\n }\r\n }\r\n\r\n CourtActions.propTypes = {\r\n textVariants: PropTypes.object,\r\n data: PropTypes.array.isRequired\r\n};\r\n\r\n\r\nexport default CourtActions;\r\n","import React from 'react';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\nimport {tonikInitMenu} from '../../../tonik/menu';\r\n\r\nconst ResolveIssueModal = ({ closeModal }) => {\r\n\r\n //tonikInitMenu();\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Something Doesn’t Look Right?

    \r\n

    1 How can I fix an error on my credit report?

    \r\n

    If you find any inaccuracies or incomplete information in your Credit Report Overview through GetCreditScore, the first step is to obtain your comprehensive credit report from Equifax where the information originated from. To get a copy of your credit report, just visit the Equifax website

    \r\n

    If you’re sure the data is incorrect or incomplete on your credit report, the best way to correct the information is to speak directly with the credit provider that the error relates to and ask that it be investigated and your credit report amended. A list of common creditor contacts can be found here.

    \r\n

    Alternatively you can lodge your correction request using the Equifax Corrections Portal.

    \r\n\r\n

    2 In what instances can information be removed from a credit report?

    \r\n

    Generally, information can be removed from your credit report if it is found to be incorrect, or if circumstances have changed. To do this, you will need to contact the credit provider or the credit reporting body with whom you obtained the credit report from.

    \r\n

    Also, depending on the type of information, this will automatically be removed from your credit report after a specified period.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n export default ResolveIssueModal;","import React from 'react';\r\nimport * as ImagesPath from '../../../config/imagesPath';\r\nimport {tonikInitMenu} from '../../../tonik/menu';\r\nimport { Link } from 'react-router-dom';\r\nimport * as RoutesVariables from '../../../config/routesVariables';\r\n\r\nconst AboutCrModal = ({ closeModal }) => {\r\n\r\n //tonikInitMenu();\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    About Your Credit Report Overview

    \r\n

    A credit report is a record of your credit history. It may include information on applications for credit that you have made in the past; repayment history information (including any associated financial hardship arrangements) on credit cards, personal loans and mortgages, as well as other publicly available information such as court writs and judgements relating to credit and bankruptcies.

    \r\n

    Credit reports are available to all consumers that have a credit history and are built using information provided by applicable credit providers and public record information.

    \r\n

    Your Credit Report Overview is strictly an overview only and does not provide all the available information that you will find on your comprehensive Equifax credit report that you can request\r\n by clicking here.\r\n

    \r\n

    1 How do I get my Credit Report Overview?

    \r\n

    Once verified, you can access your Credit Report Overview by logging in to GetCreditScore \r\n and clicking on the Credit Report Overview tab at the top of the screen.

    \r\n \r\n

    2 Does it cost me anything to get my Credit Report Overview?

    \r\n

    It doesn’t cost you anything to get your Credit Report Overview.

    \r\n \r\n

    3 Why is my Credit Report Overview different to my credit report?

    \r\n

    The Credit Report Overview on GetCreditScore is an overview of the information available on your full credit report. This new feature will help you understand the key factors that can have the biggest impact on the outcome of your score. If you’d also like access to your full credit report, you can request it here.

    \r\n \r\n

    4 How often will my Credit Report Overview information be updated?

    \r\n

    We’ll email you updates of your Credit Report Overview each month, and if there has not been any activity on your report in the past month, you will not see any changes made to your report.

    \r\n

    Your personal information reflected on your report will not always include the most up to date information as this information is only submitted in conjunction with past credit reporting activities from credit providers, utility, and telco companies. For example, your current address recorded on your file will be your address at the time you last made a request for a credit application.

    \r\n\r\n

    5 Will accessing my Credit Report Overview via GetCreditScore impact my credit profile?

    \r\n

    No, GetCreditScore is an Access Seeker who is assisting you in obtaining your credit information from the credit bureau, Equifax, and therefore does not negatively impact your credit profile regardless of how frequently you access this information.

    \r\n\r\n

    6 Why aren’t all my credit accounts appearing on my credit report?

    \r\n

    Reporting on Account Information is part of Comprehensive Credit Reporting (CCR) which was introduced in 2017. For your accounts to show on your report, your financial institution must be participating in CCR.

    \r\n

    It can also take a while for new credit accounts to appear on your credit report, as credit providers go through different reporting processes to update a credit reporting bureau. Furthermore, credit providers may not submit information to every credit reporting bureau so there may be instances where it is visible on some credit reports and not others.

    \r\n \r\n

    7 How long does information stay on my credit report?

    \r\n

    Personal identity information (PII) including your name, date of birth, gender, driver’s licence, and address history is held for the life of the report unless updated by information supplied from recent credit activity. For other information it depends on the type of data, but this may be up to:

    \r\n
    Two years
    \r\n
      \r\n
    • Repayment history information
    • \r\n
    \r\n
    Five years
    \r\n
      \r\n
    • Any credit enquiry
    • \r\n
    • Overdue accounts listed as a payment default
    • \r\n
    • Overdue accounts listed as clearouts
    • \r\n
    • Writs and summons
    • \r\n
    • Court judgments
    • \r\n
    \r\n
    Seven years
    \r\n
      \r\n
    • Overdue accounts listed as serious credit infringements
    • \r\n
    \r\n
    Twelve months
    \r\n
      \r\n
    • Financial Hardship arrangements
    • \r\n
    \r\n

    Information about credit accounts that you have such as mortgages and credit cards will appear on your credit report for the length of the loan or credit facility. It will also be held for an additional two years after the account has been closed.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n export default AboutCrModal;","import React from 'react';\r\nimport {useRef} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { createBrowserHistory } from 'history';\r\n\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as reportActions from '../../redux/actions/reportActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as trackingActions from '../../redux/actions/trackingActions';\r\nimport FooterSmallSection from '../common/footerSmall';\r\n\r\nimport ValidationApi from '../../api/validationApi.js';\r\nimport HelperApi from '../../api/HelperApi.js';\r\n\r\nimport LoadingIndicator from '../common/controls/LoadingIndicator';\r\nimport {ApiFailedToLoadComponentWithText} from '../common/ApiFailedToLoadComponent';\r\n\r\nimport RecentActivities from './RecentActivities.js';\r\nimport Accounts from './Accounts.js';\r\nimport CreditEnquiries from './CreditEnquiries.js';\r\nimport Defaults from './Defaults'\r\nimport CourtActions from './CourtActions.js';\r\nimport ResolveIssueModal from './shared/ResolveIssueModal';\r\nimport AboutCrModal from './shared/AboutCrModal';\r\n\r\nimport {tonikInitReport} from '../../tonik/report';\r\n//import {initTonikForms} from '../../tonik/shared/forms';\r\n\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport { USERROLES, hasOneRole, getDvsInfoFromRoles } from '../../common/gcsLogic';\r\n\r\nimport {ErrorWrapper} from './shared/ErrorWrapper';\r\nimport {parse} from 'query-string';\r\n\r\nclass CreditReportSummaryPage extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n const params = parse(props.location.search);\r\n this.state = { \r\n resolveIssueModal: false,\r\n aboutCrModal: false,\r\n tabIndex: params['step'] ? params['step'] : 2,\r\n needsDvs: true,\r\n isDriverLicenceDone: false,\r\n isPassportDone: false,\r\n isMedicareDone: false\r\n }; \r\n\r\n this.onClickGoToDeals = this.onClickGoToDeals.bind(this); \r\n this.getPageContent = this.getPageContent.bind(this); \r\n this.toggleResolveIssueModal = this.toggleResolveIssueModal.bind(this);\r\n this.toggleAboutCrModal = this.toggleAboutCrModal.bind(this);\r\n this.onGoToDVS = this.onGoToDVS.bind(this);\r\n }\r\n\r\n componentDidMount() { \r\n \r\n //initTonikForms();\r\n this.props.actions.getTextVariants();\r\n this.props.actions.isAuthenticated(USERROLES.IdentityVerified).then(e => {\r\n\r\n if(!hasOneRole(e.roles, USERROLES.IdentityVerified) ||\r\n !hasOneRole(e.roles, USERROLES.TwoFactor)){\r\n this.props.history.push(RoutesVariables.RouteLogin + '?retUrl=' + RoutesVariables.RouteCreditSummary);\r\n return;\r\n }\r\n if(!hasOneRole(e.roles, USERROLES.IsInCohort)){\r\n this.props.history.push(RoutesVariables.RouteDashboard);\r\n }\r\n\r\n if(e.roles){\r\n var ret = getDvsInfoFromRoles(e.roles);\r\n ret.needsDvs = ret.dvsCount < 2;\r\n //ret.needsDvs = true;\r\n this.setState(ret);\r\n }\r\n \r\n this.props.actions.initUser(true).then((initUserResponse) => { \r\n this.props.actions.getMenuForPage(pages.CREDITREPORTSUMMARY); \r\n this.props.actions.loadReportProfile().then(e => { \r\n tonikInitReport();\r\n });\r\n });\r\n });\r\n\r\n if(this.state.tabIndex != 1 && this.tabs) {\r\n var lis = this.tabs.children;\r\n for(var i = 0; i< lis.length; i++){\r\n lis[i].className = '';\r\n }\r\n \r\n lis[this.state.tabIndex-1].className = 'current'\r\n } \r\n }\r\n\r\n componentWillReceiveProps(nextProps) { \r\n if (nextProps && !nextProps.isAuthenticated) { \r\n this.props.history.push(RoutesVariables.RouteLogin + '?retUrl=' + RoutesVariables.RouteCreditSummary);\r\n } \r\n }\r\n\r\n onGoToDVS(event){\r\n event.preventDefault();\r\n this.props.history.push(\"/my-details/verification\"); \r\n }\r\n \r\n getPageContent(reportInfo){ \r\n\r\n // return
    \r\n\r\n var component = <>;\r\n {/* { this.state.tabIndex && this.state.tabIndex == 1 &&\r\n } */}\r\n\r\n if(this.state.tabIndex){\r\n if(this.state.tabIndex == 1){\r\n // component = (\r\n //
    \r\n //
    \r\n //
    ); \r\n component = <>; \r\n } else if(this.state.tabIndex == 2){\r\n component = ();\r\n } else if(this.state.tabIndex == 3){\r\n component = ();\r\n } else if(this.state.tabIndex == 4){\r\n component = ();\r\n } else if(this.state.tabIndex == 5){\r\n component = ();\r\n }\r\n }\r\n \r\n return (component);\r\n }\r\n\r\n changeTab(e, index) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n \r\n var lis = e.currentTarget.parentNode.children;\r\n for(var i = 0; i< lis.length; i++){\r\n lis[i].className = '';\r\n }\r\n e.currentTarget.className = 'current'\r\n this.setState({tabIndex: index});\r\n } \r\n\r\n onClickGoToDeals(event) {\r\n event.preventDefault();\r\n this.props.history.push('/dashboard'); \r\n } \r\n \r\n toggleResolveIssueModal (isOpen, event) { \r\n this.setState({resolveIssueModal: isOpen});\r\n }\r\n \r\n toggleAboutCrModal (isOpen, event) { \r\n this.setState({aboutCrModal: isOpen}); \r\n }\r\n\r\n render() {\r\n let pageContent = null;\r\n var reportProfile = this.props.reportProfile;\r\n var reportInfo = reportProfile && reportProfile.reportInfo;\r\n\r\n if(reportProfile && (reportProfile.isServiceNotAvailableNow || reportProfile.apiFail)) {\r\n pageContent = \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n else if(reportInfo && reportInfo.issue && reportInfo.issue.isTryLater) {\r\n pageContent = \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n else if(reportInfo && reportInfo.issue && reportInfo.issue.isScoreBadRequest) {\r\n pageContent = \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n else if(reportInfo && reportInfo.issue && (reportInfo.issue.isNoFile || reportInfo.issue.noReport)) {\r\n pageContent = \r\n
    \r\n \r\n
    \r\n
    \r\n } \r\n else if(reportProfile && (reportProfile.loading || (reportInfo && !reportInfo.loaded))){\r\n pageContent = \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n else if(this.state.needsDvs || (reportProfile && reportProfile.isIdentityIssue)){\r\n pageContent =\r\n \r\n
    \r\n
    \r\n In order to access this report overview you need to provide 2 identity verifications.\r\n Please click the button below to proceed.\r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n else {\r\n pageContent = this.getPageContent(reportInfo);\r\n }\r\n\r\n var accountN = reportInfo && reportInfo.accounts ? reportInfo.accounts.length : 0;\r\n var enquiriesN = reportInfo && reportInfo.enquiries ? reportInfo.enquiries.length : 0;\r\n var courtActionsN = reportInfo && reportInfo.courtActions ? reportInfo.courtActions.length : 0;\r\n var defaulN = reportInfo && reportInfo.accounts && reportInfo.accounts.filter(a => a.hasDefaults).length;\r\n \r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Credit Report Overview

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n

    Credit Report Overview

    \r\n
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {pageContent}\r\n\r\n\r\n {/* Terms */}\r\n
    \r\n
    \r\n
    \r\n \r\n

    The Credit Report Overview only relates to your personal credit information. It does not include any commercial related credit enquiries or any other information that may apply to you.
    \r\n If you require your full credit report please visit Equifax.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {this.state.resolveIssueModal && (\r\n this.toggleResolveIssueModal(false, e)}>\r\n )}\r\n {this.state.aboutCrModal && (\r\n this.toggleAboutCrModal(false, e)}>\r\n )}\r\n
    \r\n );\r\n } \r\n}\r\n\r\nCreditReportSummaryPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.CREDITREPORTSUMMARY]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.CREDITREPORTSUMMARY];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile,\r\n reportProfile : state.reportProfile,\r\n isAuthenticated: state.userProfile.isAuthenticated, \r\n roles: state.userProfile.roles\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, trackingActions, layoutActions, userActions, reportActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CreditReportSummaryPage);\r\n","import delay from './delay';\r\nimport * as GlobalVariables from '../config/configureGlobalVariables';\r\nimport creditSummary from '../components/shared/creditSummary';\r\n\r\nclass CreditSummaryApi {\r\n\r\n\r\n \r\n\r\n static getCreditSummaryData() {\r\n\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n resolve(creditSummary);\r\n }, delay);\r\n });\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\nexport default CreditSummaryApi;\r\n","import creditSummaryApi from '../../api/creditSummaryApi';\r\nimport * as types from './actionTypes';\r\nimport {beginAjaxCall} from './ajaxStatusActions';\r\nimport * as trackingActions from './trackingActions';\r\n\r\n\r\nexport function getCreditSummarySuccess(creditSummary) {\r\n return {type: types.GET_CREDIT_SUMMARY_SUCCESS, creditSummary: creditSummary};\r\n }\r\n \r\n export function getCreditSummary() {\r\n return (dispatch, getState) => {\r\n \r\n var state = getState();\r\n\r\n return creditSummaryApi.getCreditSummaryData().then(creditSummary => {\r\n dispatch(getCreditSummarySuccess(creditSummary));\r\n }).catch(error => {\r\n throw(error);\r\n });\r\n };\r\n }\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport SelectInput from '../common/controls/SelectInput';\r\nimport DateInputGeneral from '../common/controls/DateInputGeneral';\r\nimport GenderInput from '../common/controls/GenderInput';\r\nimport AddressInput from '../common/controls/AddressInput';\r\nimport PasswordInput from '../common/controls/PasswordInput';\r\nimport LoginTermsAndConditions from '../login/LoginTermsAndConditions';\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nconst $ = window.$;\r\n\r\n\r\nclass RecentActivitiesDemo extends React.Component {\r\n\r\n constructor(props, context){\r\n super(props, context);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState){\r\n }\r\n\r\nrender(){\r\n \r\n let {textVariants, account, enquire, advers} = this.props;\r\n return (\r\n\r\n \r\n {account && (
    \r\n
    \r\n \"\"\r\n

    {account['account-open-date'] ? account['account-open-date']['__text'] : '' }

    \r\n
    \r\n
    \r\n
    \r\n
    Credit
    \r\n
    {account['original-credit-provider'] ? account['original-credit-provider'].name.__text : ''}
    \r\n
    \r\n
    \r\n
    Type
    \r\n
    {account['account-type']['__text']}
    \r\n
    \r\n
    \r\n
    )}\r\n\r\n {enquire && (
    \r\n
    \r\n \"\"\r\n

    { enquire['_enquiry-date'] ? enquire['_enquiry-date'] : '' }

    \r\n
    \r\n
    \r\n
    \r\n
    Credit
    \r\n
    {enquire['credit-enquirer'] ? enquire['credit-enquirer']['name']['__text'] : ''}
    \r\n
    \r\n
    \r\n
    Type
    \r\n
    {enquire['account-type']['__text']}
    \r\n
    \r\n
    \r\n
    )}\r\n\r\n {advers && (
    \r\n
    \r\n \"\"\r\n

    {advers['action-date'] ? advers['action-date']['__text'] : '' }

    \r\n
    \r\n
    \r\n
    \r\n
    Credit
    \r\n
    {advers['creditor'] ? advers['creditor']['__text'] : ''}
    \r\n
    \r\n
    \r\n
    Type
    \r\n
    {advers['court-type']['__text']}
    \r\n
    \r\n
    \r\n
    )}\r\n\r\n \r\n\r\n\r\n
    \r\n );\r\n }\r\n }\r\n\r\n RecentActivitiesDemo.propTypes = {\r\n textVariants: PropTypes.object.isRequired,\r\n};\r\n\r\n\r\nexport default RecentActivitiesDemo;\r\n","import React from 'react';\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport {tonikInitMenu} from '../../tonik/menu';\r\n\r\nconst ResolveIssueModal = ({ closeModal }) => {\r\n\r\n tonikInitMenu();\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Resolve an issue on your credit report

    \r\n

    We retrieve your credit information from Equifax, Australia's leading credit bureau. If you do not recognise a record, or believe there is an issue on your credit information, you can follow the below steps, however things can stay on your credit file for many years – read more here.

    \r\n

    1 Contact the credit provider

    \r\n

    You can firstly contact the credit provider, such as the bank, telco or utility company, that the error relates to and ask that it be investigated and your credit report amended. Equifax has a list of most credit provider contacts here to help you.

    \r\n

    2 Contact Equifax

    \r\n

    Equifax offers a free service investigating the accuracy of information on your credit report that is in dispute or you think needs fixing.

    \r\n
    Here’s how it works:
    \r\n
      \r\n
    • Submit your request
    • \r\n
    • Make a consumer correction - to request a change to the consumer or public record sections of your credit report.
    • \r\n
    • Make a commercial correction - for a request regarding commercial/company matters.
    • \r\n
    \r\n

    We retrieve your credit information from Equifax, Australia's leading credit bureau. If you do not recognise a record, or believe there is an issue on your credit information, you can follow the below steps, however things can stay on your credit file for many years – read more here.

    \r\n

    We retrieve your credit information from Equifax, Australia's leading credit bureau. If you do not recognise a record, or believe there is an issue on your credit information, you can follow the below steps, however things can stay on your credit file for many years – read more here.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n export default ResolveIssueModal;","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport SelectInput from '../common/controls/SelectInput';\r\nimport DateInputGeneral from '../common/controls/DateInputGeneral';\r\nimport GenderInput from '../common/controls/GenderInput';\r\nimport AddressInput from '../common/controls/AddressInput';\r\nimport PasswordInput from '../common/controls/PasswordInput';\r\nimport LoginTermsAndConditions from '../login/LoginTermsAndConditions';\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nimport {initTonikForms} from '../../tonik/shared/forms';\r\nimport {tonikInitMonthSlider} from '../../tonik/report';\r\nimport ResolveIssueModal from './ResolveIssueModal'\r\n\r\nconst $ = window.$;\r\n\r\nclass AccountsDemo extends React.Component {\r\n\r\n constructor(props, context){\r\n super(props, context);\r\n this.state = {\r\n modal: false,\r\n }\r\n\r\n this.onAccordionBtnClick = this.onAccordionBtnClick.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n //window['initAppJs'](true);\r\n initTonikForms();\r\n \r\n }\r\n\r\n componentDidUpdate(prevProps, prevState){\r\n //window['initAppJs'](true);\r\n initTonikForms();\r\n }\r\n\r\n openModal () { \r\n this.setState({modal: true});\r\n }\r\n\r\n closeModal () {\r\n this.setState({modal: false});\r\n }\r\n\r\n onAccordionBtnClick(event) {\r\n tonikInitMonthSlider();\r\n }\r\n\r\nrender(){\r\n\r\n let {textVariants, data} = this.props;\r\n return (\r\n\r\n \r\n
    \r\n {\r\n data.account.map( (account, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    {account['account-type']['__text']} {account['account-id']['__text']}

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {account['latest-maximum-amount-credit'] != null && (<>

    Credit limit

    \r\n ${account['latest-maximum-amount-credit'] ? account['latest-maximum-amount-credit']['__text'] : ''})}\r\n \r\n { account['repayment-history'] && account['repayment-history']['payment'] && account['repayment-history']['payment'].length > 0 && (\r\n
    \r\n
    \r\n {account['repayment-history']['payment'].map((item) => {\r\n return (\r\n
    \r\n \"\"/\r\n

    {item.period.__text}

    \r\n
    \r\n )\r\n })}\r\n
    \r\n
    \r\n )}\r\n\r\n {this.openModal()}} className=\"report\" style={{cursor:'pointer'}}>Resolve an issue on your credit report\r\n
    \r\n
    \r\n
    \r\n )\r\n })\r\n }\r\n
    \r\n\r\n {this.state.modal && (\r\n {this.closeModal()}}>\r\n )}\r\n
    );\r\n }\r\n }\r\n\r\n AccountsDemo.propTypes = {\r\n textVariants: PropTypes.object.isRequired,\r\n};\r\n\r\n\r\nexport default AccountsDemo;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport SelectInput from '../common/controls/SelectInput';\r\nimport DateInputGeneral from '../common/controls/DateInputGeneral';\r\nimport GenderInput from '../common/controls/GenderInput';\r\nimport AddressInput from '../common/controls/AddressInput';\r\nimport PasswordInput from '../common/controls/PasswordInput';\r\nimport LoginTermsAndConditions from '../login/LoginTermsAndConditions';\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nconst $ = window.$;\r\n\r\n\r\nclass CreditEnquiriesDemo extends React.Component {\r\n\r\n constructor(props, context){\r\n super(props, context);\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState){\r\n }\r\n\r\nrender(){\r\n\r\n let {textVariants, data} = this.props;\r\n return (\r\n\r\n \r\n
    \r\n {\r\n data['credit-enquiry'].map( (enquiry, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    {enquiry['account-type']['__text']}

    \r\n
    \r\n\r\n
    \r\n
    \r\n ${enquiry['enquiry-amount']['__text']}\r\n {enquiry['enquiry-client-reference'] != null && (

    Customer Reference No:{enquiry['enquiry-client-reference']['__text']}

    )}\r\n
    \r\n
    \r\n
    \r\n )\r\n })\r\n }\r\n\r\n
    \r\n
    \r\n );\r\n }\r\n }\r\n\r\n CreditEnquiriesDemo.propTypes = {\r\n textVariants: PropTypes.object.isRequired,\r\n};\r\n\r\n\r\nexport default CreditEnquiriesDemo;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport TextInput from '../common/controls/TextInput';\r\nimport TextNumericInput from '../common/controls/TextNumericInput';\r\nimport SelectInput from '../common/controls/SelectInput';\r\nimport DateInputGeneral from '../common/controls/DateInputGeneral';\r\nimport GenderInput from '../common/controls/GenderInput';\r\nimport AddressInput from '../common/controls/AddressInput';\r\nimport PasswordInput from '../common/controls/PasswordInput';\r\nimport LoginTermsAndConditions from '../login/LoginTermsAndConditions';\r\nimport * as pages from '../shared/pages';\r\nimport * as funcs from '../shared/functions';\r\n\r\nimport * as ImagesPath from '../../config/imagesPath';\r\nimport ResolveIssueModal from './ResolveIssueModal'\r\nconst $ = window.$;\r\n\r\n\r\nclass AdverseInformationDemo extends React.Component {\r\n\r\n constructor(props, context){\r\n super(props, context);\r\n this.state = {\r\n modal: false,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState){\r\n }\r\n\r\n openModal () {\r\n this.setState({modal: true});\r\n }\r\n\r\n closeModal () {\r\n this.setState({modal: false});\r\n }\r\n\r\nrender(){\r\n\r\n\r\n let {textVariants, data} = this.props;\r\n return (\r\n\r\n \r\n
    \r\n\r\n {\r\n data['court-action'].map( (court, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    {court['court-type']['__text']}

    \r\n
    \r\n\r\n
    \r\n
    \r\n ${court['court-action-amount']['__text']}\r\n { court['court-action-status'] != null && (
    \r\n

    Status {court['court-action-status']['__text']}

    \r\n
    )}\r\n {this.openModal()}} className=\"report\" style={{cursor:'pointer'}}>Resolve an issue on your credit report\r\n
    \r\n
    \r\n
    \r\n )\r\n })\r\n }\r\n\r\n
    \r\n\r\n {this.state.modal && (\r\n {this.closeModal()}}>\r\n )}\r\n
    \r\n );\r\n }\r\n }\r\n\r\n AdverseInformationDemo.propTypes = {\r\n textVariants: PropTypes.object.isRequired,\r\n};\r\n\r\n\r\nexport default AdverseInformationDemo;\r\n","import React from 'react';\r\nimport {useRef} from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { createBrowserHistory } from 'history';\r\n\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport Menu from '../menu/Menu.js';\r\nimport * as pages from '../shared/pages';\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\nimport * as userActions from '../../redux/actions/userActions';\r\nimport * as scoreActions from '../../redux/actions/scoreActions';\r\nimport * as creditSummaryActions from '../../redux/actions/creditSummaryActions';\r\n\r\nimport RegistrationForm from '../registration/RegistrationForm';\r\nimport ValidationApi from '../../api/validationApi.js';\r\nimport HelperApi from '../../api/HelperApi.js';\r\n\r\nimport LoadingIndicator from '../common/controls/LoadingIndicator';\r\nimport {ApiFailedToLoadComponentWithText} from '../common/ApiFailedToLoadComponent';\r\nimport CurrentAddressForm from '../mydetails/CurrentAddressForm';\r\nimport TypeIdForm from '../mydetails/TypeIdForm';\r\n\r\nimport { ChangePasswordPage } from '../login/ChangePasswordPage.js';\r\n\r\nimport * as RoutesVariables from '../../config/routesVariables';\r\nimport RecentActivitiesDemo from './RecentActivitiesDemo.js';\r\nimport AccountsDemo from './AccountsDemo.js';\r\nimport CreditEnquiriesDemo from './CreditEnquiriesDemo.js';\r\nimport AdverseInformationDemo from './AdverseInformationDemo.js';\r\n\r\nimport {tonikInitReport} from '../../tonik/report';\r\n\r\n\r\nclass CreditSummaryDemoPage extends React.Component { \r\n constructor(props, context) {\r\n super(props, context);\r\n const params = new URLSearchParams(props.location.search);\r\n this.state = {\r\n customer: { dob: { dd: '', mm: '', yy: '' } , address:'', addressPrevious: '', hasLivedLessThan3Years: false },\r\n errors: {},\r\n saving: false,\r\n diplaySavedMessage: false,\r\n isServerError: false,\r\n omitFields: {\r\n email: true,\r\n password: true\r\n },\r\n tabIndex: params.get('step') ? params.get('step') : 1,\r\n };\r\n\r\n\r\n this.onTurnYourScore = this.onTurnYourScore.bind(this);\r\n this.updateCustomerState = this.updateCustomerState.bind(this);\r\n this.updateCustomerServiceAddressError = this.updateCustomerServiceAddressError.bind(this);\r\n this.saveCustomerFromState = this.saveCustomerFromState.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n \r\n }\r\n\r\n componentDidMount() {\r\n\r\n //window['initAppJs'](true);\r\n \r\n this.props.actions.getTextVariants();\r\n this.props.actions.getCreditSummary();\r\n\r\n this.props.actions.isAuthenticated().then(e =>\r\n {\r\n this.props.actions.getMenuForPage(pages.MYDETAILS);\r\n this.props.actions.loadScoreProfile({includeScore: true, includeAdvices: true, includeHistory: true})\r\n this.props.actions.loadUserDetails(true).catch(e =>\r\n {\r\n if (e.status == 500) {\r\n this.setState({ isServerError: true });\r\n }\r\n });\r\n });\r\n\r\n if(this.state.tabIndex != 1) {\r\n var lis = this.tabs.children;\r\n for(var i =0; i< lis.length; i++){\r\n lis[i].className = '';\r\n }\r\n lis[this.state.tabIndex-1].className = 'current'\r\n }\r\n\r\n tonikInitReport();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.isAuthenticated) {\r\n // go back to login\r\n this.props.history.push('login/my-details');\r\n }\r\n else {\r\n if(nextProps.userProfile.userDetails) {\r\n let newCustomer = Object.assign({}, nextProps.userProfile.userDetails);\r\n this.setState({customer: newCustomer});\r\n }\r\n }\r\n }\r\n\r\n changeTab(e, index) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n var lis = e.currentTarget.parentNode.children;\r\n for(var i =0; i< lis.length; i++){\r\n lis[i].className = '';\r\n }\r\n e.currentTarget.className = 'current'\r\n this.setState({tabIndex: index})\r\n }\r\n\r\n render() {\r\n let pageContent = null;\r\n\r\n if (this.state.isServerError) {\r\n pageContent = \r\n }\r\n else if(!this.props.userProfile.userDetails){\r\n pageContent =\r\n ;\r\n }\r\n else {\r\n pageContent =
    \r\n\r\n { this.state.tabIndex && this.state.tabIndex == 1 && 0 ? this.props.creditSummary['product-data']['enquiry-report']['consumer-credit-file']['accounts']['account'][0] : null}\r\n enquire={this.props.creditSummary['product-data']['enquiry-report']['consumer-credit-file']['credit-enquiries']['credit-enquiry'].length > 0 ? this.props.creditSummary['product-data']['enquiry-report']['consumer-credit-file']['credit-enquiries']['credit-enquiry'][0] : null}\r\n advers={this.props.creditSummary['product-data']['enquiry-report']['public-record-or-consumer-credit-information']['court-actions']['court-action'].length > 0 ? this.props.creditSummary['product-data']['enquiry-report']['public-record-or-consumer-credit-information']['court-actions']['court-action'][0] : null}\r\n />}\r\n\r\n { this.state.tabIndex && this.state.tabIndex == 2 && }\r\n\r\n { this.state.tabIndex && this.state.tabIndex == 3 && }\r\n\r\n { this.state.tabIndex && this.state.tabIndex == 4 &&}\r\n \r\n
    ;\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Credit Report Overview

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {pageContent}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n onTurnYourScore(event) {\r\n event.preventDefault();\r\n \r\n }\r\n\r\n saveCustomerFromState(customer){\r\n var updatingCustomer = Object.assign({}, customer);\r\n //dob: { 'ddofbirth': '', 'mmofbirth': '', 'yyyyofbirth': '' }\r\n\r\n HelperApi.setInnerDateOfBirthAndDobFromNumbers(updatingCustomer, customer.dob.yy, customer.dob.mm, customer.dob.dd);\r\n\r\n\r\n // updatingCustomer.dateOfBirth.setTime( updatingCustomer.dateOfBirth.getTime() + updatingCustomer.dateOfBirth.getTimezoneOffset()*60*1000 );\r\n updatingCustomer.email = this.props.userProfile.username; // || this.props.userProfile.rememberMeInfo.username;\r\n updatingCustomer.gender = customer.gender;\r\n\r\n return this.props.actions.updateUserDetails(updatingCustomer);\r\n }\r\n\r\n updateCustomerState(event) {\r\n\r\n const field = event.target.name;\r\n\r\n let customer = this.state.customer;\r\n customer[field] = event.target.value;\r\n\r\n let errors = this.state.errors;\r\n errors[field] = field== 'dob' ? {} : '';\r\n\r\n return this.setState({ customer: customer, errors:errors });\r\n }\r\n\r\n updateCustomerServiceAddressError(event){\r\n const field = event.target.name;\r\n\r\n let errors = this.state.errors;\r\n\r\n if (event.target.status && event.target.status == 401) {\r\n \r\n }\r\n\r\n errors[field] = this.props.textVariants[\"Error_cant_find_address\"];\r\n\r\n return this.setState({ errors:errors });\r\n }\r\n\r\n onCancel(event){\r\n event.preventDefault();\r\n const browserHistory = createBrowserHistory();\r\n browserHistory.goBack();\r\n }\r\n\r\n}\r\n\r\nCreditSummaryDemoPage.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pages.MYDETAILS]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pages.MYDETAILS];\r\n }\r\n }\r\n\r\n let txtVariants = {};\r\n if(state.textVariants){\r\n txtVariants = state.textVariants;\r\n }\r\n\r\n\r\n\r\n return {\r\n menuItemList: menuItems,\r\n textVariants: txtVariants,\r\n userProfile: state.userProfile,\r\n isAuthenticated: state.userProfile.isAuthenticated,\r\n creditSummary: state.creditSummary\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions, userActions, scoreActions, creditSummaryActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CreditSummaryDemoPage);\r\n","import React from 'react';\r\nimport { Switch, BrowserRouter, Route } from 'react-router-dom';\r\n\r\n\r\nimport HomePage from './components/home/HomePage';\r\nimport DashboardPage from './components/dashboard/DashboardPage';\r\nimport LoginPage from './components/login/LoginPage';\r\nimport Login2FAPage from './components/login/Login2FAPage';\r\nimport RegistrationPage from './components/registration/RegistrationPage';\r\nimport RegistrationMobilePage from './components/registration/RegistrationMobilePage';\r\nimport RegistrationVerifyEmailPage from './components/registrationverify/RegistrationVerifyEmailPage';\r\nimport RegistrationVerifyMobilePage from './components/registrationverify/RegistrationVerifyMobilePage';\r\nimport LogoutPage from './components/login/LogoutPage';\r\nimport ForgotPasswordPage from './components/login/ForgotPasswordPage';\r\n// import ValidateEmailPageBlue from './components/registration/ValidateEmailPageBlue';\r\nimport ContactUsPage from './components/contactus/ContactUsPage';\r\nimport LodgeacomplaintPage from './components/Lodge-a-complaint/LodgeacomplaintPage';\r\nimport ChangePasswordPage from './components/login/ChangePasswordPage';\r\nimport MyDetailsPage from './components/mydetails/MyDetailsPage';\r\nimport MyDetailsVerificationPage from './components/mydetails/MyDetailsVerificationPage';\r\nimport CreditCardsPage from './components/deals/CreditCardsPage';\r\nimport PersonalLoansPage from './components/deals/PersonalLoansPage';\r\nimport CarLoansPage from './components/deals/CarLoansPage';\r\nimport CreditCardOffers from './components/deals/CreditCardOffersPage';\r\nimport InsurancePage from './components/deals/InsurancePage';\r\nimport HomeLoanDealsPage from './components/deals/HomeLoanDealsPage';\r\nimport HomeLoanAssistantPage from './components/deals/HomeLoanAssistantPage';\r\n//import ActivateAccountPage from './components/login/ActivateAccountPage';\r\n//import EmailSentPageBlue from './components/registration/EmailSentPageBlue';\r\nimport MyPreferencesPage from './components/preferences/MyPreferencesPage';\r\nimport AboutMePage from './components/mydetails/AboutMePage';\r\nimport HomeOldStylePage from './components/home/HomeOldStylePage';\r\n// import SmsPage from './components/login/SmsPage';\r\nimport HomeOhNoPage from './components/home/HomeOhNoPage';\r\n// import PartnerConsentPage from './components/partner/PartnerConsentPage';\r\nimport PartnerReferPage from './components/partner/PartnerReferPage';\r\nimport ScoreMapPage from './components/scoreMap/scoreMapPage';\r\nimport DashboardScoreHistory from './components/dashboard/components/DashboardScoreHistory';\r\nimport PageNotFound from './components/pageNotFound/pageNotFound';\r\nimport DeleteAccountPage from './components/mydetails/DeleteAccountPage';\r\nimport DeleteAccountSuccessPage from './components/mydetails/DeleteAccountSuccessPage';\r\nimport ContactUsSuccessPage from './components/contactus/ContactUsSuccessPage';\r\nimport LodgeacomplaintSuccessPage from './components/Lodge-a-complaint/LodgeacomplaintSuccessPage';\r\nimport TermOfUse from './components/terms/TermOfUse'\r\nimport PrivacyPolicy from './components/terms/PrivacyPolicy';\r\nimport CreditReportSummaryPage from './components/creditSummary/CreditReportSummaryPage';\r\nimport CreditSummaryPageDemo from './components/creditSummaryDemo/CreditSummaryDemoPage';\r\n\r\n\r\nconst _GcsRoutes = () => ( \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n\r\n {/* */}\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* } /> */}\r\n {/* } /> */}\r\n \r\n } exact />\r\n {/* } exact /> */}\r\n \r\n {/* } /> */}\r\n \r\n {/* } /> */}\r\n \r\n {/* } /> */}\r\n \r\n } />\r\n {/* */}\r\n } />\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\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 const GcsRoutes = _GcsRoutes;\r\nexport const GcsPrefix = '';","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {connect} from 'react-redux';\r\nimport {bindActionCreators} from 'redux';\r\nimport { Provider } from 'react-redux'\r\nimport Menu from './Menu'\r\n\r\nimport * as layoutActions from '../../redux/actions/layoutActions';\r\n\r\nexport class MenuCms extends React.Component{ \r\n\r\n componentDidMount(){\r\n this.props.actions.getMenuForPage(this.props.pageName);\r\n }\r\n\r\n render(){\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n};\r\n\r\nMenuCms.contextTypes = {\r\n router: PropTypes.object\r\n};\r\n\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n\r\n let pageName = ownProps.pageName;\r\n\r\n var menuItems = [];\r\n if(state.menu){\r\n var menu = state.menu;\r\n if( menu.menuItemsPerPage && menu.menuItemsPerPage.menuItems && menu.menuItemsPerPage.menuItems[pageName]){\r\n menuItems = menu.menuItemsPerPage.menuItems[pageName];\r\n }\r\n }\r\n\r\n return {\r\n menuItemList: menuItems,\r\n pageName: pageName\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators( Object.assign({}, layoutActions) , dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MenuCms);\r\n","import React, { useEffect } from \"react\";\r\nimport './App.css';\r\n\r\nimport {tonikInitGlobal} from '../tonik/shared/global';\r\n\r\nclass App extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n }\r\n\r\n componentDidMount(){\r\n tonikInitGlobal(); \r\n }\r\n\r\n render(){\r\n return (\r\n
    \r\n {this.props.children}\r\n
    \r\n );\r\n\r\n }\r\n \r\n \r\n}\r\n\r\nexport default App;\r\n","// TODO: adrian this won't work\r\nimport $ from 'jquery'\r\nimport 'bootstrap'\r\nimport ScrollMagic from 'scrollmagic'\r\n// import 'scrollmagic/scrollmagic/uncompressed/plugins/debug.addIndicators'\r\n\r\nexport const tonikInitGlobal = () => {\r\n\r\nconst COMPONENT_SELECTOR = '[data-sticky]'\r\n\r\nlet component = document.querySelectorAll(COMPONENT_SELECTOR)\r\nlet controller = new ScrollMagic.Controller()\r\n\r\nif (window.matchMedia('(min-width: 992px)').matches) {\r\n window.addEventListener('load', () => {\r\n for (var i = 0; i < component.length; i++) {\r\n // eslint-disable-next-line no-new\r\n new ScrollMagic.Scene({\r\n triggerHook: 0,\r\n triggerElement: component[i].parentElement,\r\n offset: 0,\r\n duration: component[i].parentElement.offsetHeight - 2000\r\n // duration: component[i].parentElement.offsetHeight - component[i].offsetHeight\r\n })\r\n .setPin(component[i])\r\n // .addIndicators()\r\n .addTo(controller)\r\n }\r\n })\r\n}\r\n\r\n\r\nreturn;\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport { Provider } from 'react-redux';\r\nimport App from './App.js';\r\n\r\nconst AppIndex = ({ store, routes }) => (\r\n \r\n \r\n \r\n {routes}\r\n \r\n \r\n \r\n);\r\n\r\nAppIndex.propTypes = {\r\n store: PropTypes.object.isRequired//,\r\n //history: PropTypes.object.isRequired\r\n};\r\n\r\nexport default AppIndex;\r\n","import 'core-js/stable';\r\nimport 'regenerator-runtime/runtime';\r\nimport 'whatwg-fetch';\r\n\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\n//import './index.css';\r\n//import App from './app/App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\n\r\nimport initialState from './redux/reducers/initialState';\r\nimport configureStore from './redux/store/configureStore';\r\nimport {GcsRoutes, GcsPrefix} from './routes';\r\nimport {loginRestoreFromLocalStorage, initUser, initApp} from './redux/actions/userActions';\r\n\r\nimport MenuCms from './components/menu/MenuCms';\r\nimport AppIndex from './app/AppIndex';\r\n\r\nconst $ = window.$;\r\nconst store = configureStore(initialState);\r\n\r\n// let history = createBrowserHistory();\r\n// history = syncHistoryWithStore(history, store);\r\n\r\n\r\nstore.dispatch(initApp(GcsPrefix));\r\nstore.dispatch(loginRestoreFromLocalStorage());\r\nstore.dispatch(initUser());\r\n\r\n\r\nif (document.getElementById('app')) {\r\n ReactDOM.render(} />, document.getElementById('app'));\r\n}\r\n\r\nlet menuCmsContainer = document.getElementById('cms-menu');\r\nif (menuCmsContainer) {\r\n let pageName = menuCmsContainer.getAttribute('data-pageName');\r\n ReactDOM.render(, document.getElementById('cms-menu'));\r\n}\r\n\r\n//ReactDOM.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","import delay from './delay';\r\n\r\nclass StorageHelper {\r\n static storeJson(key, value) {\r\n try{\r\n localStorage.setItem(key, JSON.stringify(value));\r\n }catch(e){\r\n console.log(e);\r\n }\r\n }\r\n\r\n static storeJsonInSession(key, value) {\r\n try{\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n }catch(e){\r\n console.log(e);\r\n }\r\n }\r\n\r\n static getJson(key) {\r\n try{\r\n return JSON.parse(localStorage.getItem(key) || '{}');\r\n }catch(e){\r\n console.log(e);\r\n } \r\n }\r\n\r\n static getJsonFromSession(key) {\r\n try{\r\n return JSON.parse(sessionStorage.getItem(key) || '{}');\r\n }catch(e){\r\n console.log(e);\r\n } \r\n }\r\n\r\n static storeString(key, value) {\r\n try{\r\n localStorage.setItem(key, value);\r\n }catch(e){\r\n console.log(e);\r\n } \r\n }\r\n\r\n static getString(key) {\r\n try{\r\n return localStorage.getItem(key) || '';\r\n }catch(e){\r\n console.log(e);\r\n } \r\n }\r\n};\r\n\r\n\r\nexport default StorageHelper;\r\n","import * as types from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\nimport StorageHelper from '../../api/StorageHelper';\r\n\r\n\r\nfunction updateLoginResult(newState, loginResult, includeRememberMe){\r\n \r\n newState.isAuthenticated = true;\r\n //newState.tm = null;\r\n newState.redirect_uri = loginResult.redirect_uri;\r\n newState.csrfToken = loginResult.csrfValue;\r\n newState.identifier = loginResult.identifier; \r\n newState.roles = loginResult.roles;\r\n\r\n let expires_in = loginResult.expires_in;\r\n\r\n let date = new Date();\r\n date.setTime(date.getTime() + (expires_in * 1000));\r\n\r\n newState.expires_at = new Date(date);\r\n\r\n if(includeRememberMe){\r\n var rememberMeInfo = {rememberMe:false};\r\n\r\n if(loginResult.rememberMe != undefined){\r\n if(loginResult.rememberMe){\r\n rememberMeInfo.rememberMe = true;\r\n rememberMeInfo.username = loginResult.username;\r\n }\r\n\r\n newState.rememberMeInfo = Object.assign({},rememberMeInfo);\r\n StorageHelper.storeJson('gcsRememberMe', rememberMeInfo);\r\n } \r\n }\r\n\r\n let toStore = Object.assign({}, {\r\n csrfValue: newState.csrfToken,\r\n roles: newState.roles,\r\n expires_at :date.getTime(),\r\n isAuthenticated: true,\r\n identifier: newState.identifier\r\n });\r\n\r\n StorageHelper.storeJson('gcsLogin', toStore);\r\n\r\n}\r\n\r\n\r\nexport default function userReducer(state = initialState.userProfile, action) {\r\n switch (action.type) {\r\n\r\n case types.PASSWORDCHANGE_SUCCESS:\r\n var newState = Object.assign({}, state);\r\n newState.redirect_uri = null;\r\n if(action.loginResult){\r\n\r\n updateLoginResult(newState, action.loginResult, true);\r\n }\r\n\r\n return newState;\r\n\r\n case types.GET_PREFERENCES_SUCCESS:\r\n var newState = Object.assign({}, state);\r\n var o = Object.assign({}, state.preferences, action.preferences);\r\n o.categories = [];\r\n if(action.preferences.categories){\r\n for(var c = 0; c < action.preferences.categories.length; c++){\r\n o.categories.push(Object.assign({}, action.preferences.categories[c]));\r\n\r\n if(action.preferences.categories[c].interests){\r\n o.categories[c].interests = [];\r\n for(var i = 0; i < action.preferences.categories[c].interests.length; i++){\r\n o.categories[c].interests.push(Object.assign({}, action.preferences.categories[c].interests[i]));\r\n }\r\n }\r\n }\r\n }\r\n\r\n newState.preferences = o;\r\n return newState;\r\n\r\n case types.SET_PREFERENCES_SUCCESS:\r\n var newState = Object.assign({}, state);\r\n var newState = Object.assign({}, state);\r\n var o = Object.assign({}, state.preferences, action.preferences);\r\n o.categories = [];\r\n if(action.preferences.categories){\r\n for(var c = 0; c < action.preferences.categories.length; c++){\r\n o.categories.push(Object.assign({}, action.preferences.categories[c]));\r\n\r\n if(action.preferences.categories[c].interests){\r\n o.categories[c].interests = [];\r\n for(var i = 0; i < action.preferences.categories[c].interests.length; i++){\r\n o.categories[c].interests.push(Object.assign({}, action.preferences.categories[c].interests[i]));\r\n }\r\n }\r\n }\r\n }\r\n\r\n newState.preferences = o;\r\n return newState;\r\n\r\n case types.INITAPP:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.urlPrefix = action.urlPrefix;\r\n return newState;\r\n\r\n case types.REGISTER_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.userDetails = Object.assign({}, action.registration.userToRegister, {identifier: action.registration.registrationResult.identifier});\r\n newState.identifier = action.registration.registrationResult.identifier;\r\n return newState;\r\n\r\n case types.INIT_USER_SUCCESS:\r\n \r\n var newState = Object.assign({}, state);\r\n newState.rnd = action.initUser.rnd;\r\n newState.isPromotionEnabled = action.initUser.isPromotionEnabled;\r\n newState.isPromotionEnabledForUser = action.initUser.isPromotionEnabledForUser;\r\n newState.isPromotionNewUser = action.initUser.isPromotionNewUser;\r\n newState.isPromotionEnabledLoaded = true;\r\n newState.extras = action.initUser.extras;\r\n\r\n newState.isThemeLoaded = true;\r\n if(action.themes){\r\n newState.themes = action.themes;\r\n }\r\n return newState;\r\n\r\n case types.USER_PROFILE_DISPLAYNAME:\r\n\r\n if(action[\"displayName\"]){\r\n var newState = Object.assign({}, state);\r\n newState.displayName = action[\"displayName\"];\r\n return newState;\r\n }\r\n return state;\r\n\r\n case types.PROMOTION_PARTICIPATED:\r\n var newState = Object.assign({}, state);\r\n newState.isPromotionEnabled = false;\r\n newState.isPromotionEnabledForUser = false;\r\n newState.isPromotionNewUser = action.initUser.isPromotionNewUser;\r\n newState.isPromotionEnabledLoaded = true;\r\n return newState;\r\n\r\n case types.LOGOUT_SUCCESS:\r\n var newState = Object.assign({}, state);\r\n\r\n newState.isAuthenticated = false;\r\n\r\n newState.csrfToken = null;\r\n newState.expires_at = null;\r\n newState.identifier = null;\r\n newState.userDetails = null;\r\n newState.roles = null;\r\n newState.isPromotionEnabledForUser = false;\r\n newState.isPromotionEnabledLoaded = false;\r\n newState.isPromotionNewUser = false;\r\n console.log('types.LOGOUT_SUCCESS');\r\n StorageHelper.storeJson('gcsLogin', {});\r\n //todo: save in local storage / cookie\r\n\r\n return newState;\r\n\r\n\r\n case types.IS_AUTHENTICATED_SUCCESS:\r\n var newState = Object.assign({}, state);\r\n let isAuthenticatedResponse = action.isAuthenticatedResponse;\r\n newState.isAuthenticated = isAuthenticatedResponse.isAuthenticated;\r\n newState.identifier = isAuthenticatedResponse.identifier; \r\n newState.roles = isAuthenticatedResponse.roles;\r\n\r\n if(!newState.isAuthenticated){\r\n\r\n newState.userDetails = null;\r\n newState.csrfToken = null;\r\n newState.expires_at = null;\r\n newState.identifier = null;\r\n newState.roles = null;\r\n //console.log('types.IS_AUTHENTICATED_SUCCESS not auth' );\r\n StorageHelper.storeJson('gcsLogin', {});\r\n }\r\n\r\n return newState;\r\n\r\n\r\n case types.CREATEACCOUNT_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.username = action.accountResult.username;\r\n\r\n var rememberMeInfo = {\r\n rememberMe: action.accountResult.rememberMe,\r\n username: action.accountResult.username\r\n };\r\n\r\n StorageHelper.storeJson('gcsRememberMe', rememberMeInfo);\r\n\r\n return newState;\r\n\r\n case types.LOGIN_INITIALIZE_STORE:\r\n\r\n let loginInLocalStorage = StorageHelper.getJson('gcsLogin'); \r\n\r\n var newState = Object.assign({}, state);\r\n if(loginInLocalStorage.hasOwnProperty('csrfValue'))\r\n {\r\n if(loginInLocalStorage.expires_at){\r\n newState.expires_at = new Date(loginInLocalStorage.expires_at);\r\n if(Date.now() <= loginInLocalStorage.expires_at){\r\n newState.isAuthenticated = loginInLocalStorage.isAuthenticated;\r\n newState.csrfToken = loginInLocalStorage.csrfValue;\r\n newState.identifier = loginInLocalStorage.identifier;\r\n newState.roles = loginInLocalStorage.roles;\r\n }\r\n }\r\n\r\n }\r\n\r\n let rememberMeInfo2 = StorageHelper.getJson('gcsRememberMe');\r\n if(rememberMeInfo2 && rememberMeInfo2[\"rememberMe\"]){\r\n newState.rememberMeInfo = Object.assign({}, rememberMeInfo2);\r\n }\r\n\r\n return newState;\r\n\r\n case types.LOGIN_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n\r\n if(action.loginResult){\r\n\r\n updateLoginResult(newState, action.loginResult, true);\r\n }\r\n\r\n return newState;\r\n\r\n case types.LOGIN_TM_SUCCESS:\r\n var newState = Object.assign({}, state);\r\n\r\n if(action.tmResponse){\r\n newState.tm = action.tmResponse.id;\r\n }\r\n\r\n return newState;\r\n\r\n case types.LOADUSERDETAILS_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.userDetails = Object.assign({}, action.userDetails);\r\n return newState;\r\n\r\n case types.UPDATEUSERDETAILS_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.userDetails = Object.assign({}, action.userDetails);\r\n\r\n // it needs to refresh the score data\r\n\r\n\r\n return newState;\r\n\r\n\r\n case types.REGISTERING_USERNAME:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.registeringUsername = action.username;\r\n newState.registeringRememberMe = action.rememberMe;\r\n return newState;\r\n\r\n case types.GET_EXISTING_CUSTOMER_SUCCESS:\r\n var newState = Object.assign({}, state);\r\n var newCustomerState = Object.assign({}, newState.existingCustomer);\r\n newCustomerState[\"loaded\"] = true;\r\n newCustomerState[\"hasError\"] = false;\r\n newCustomerState[\"detail\"] = action.existingCustomer;\r\n newState.existingCustomer = newCustomerState;\r\n\r\n return newState;\r\n\r\n case types.GET_EXISTING_CUSTOMER_ERROR:\r\n var newState = Object.assign({}, state);\r\n var newCustomerState = Object.assign({}, newState.existingCustomer);\r\n newCustomerState[\"loaded\"] = true;\r\n newCustomerState[\"hasError\"] = true;\r\n newState.existingCustomer = newCustomerState;\r\n\r\n return newState;\r\n\r\n case types.GET_CUSTOMER_HOMESHOW_CODE_SUCCESS:\r\n var newState = Object.assign({}, state);\r\n var homeShowState = Object.assign({}, newState.homeShow);\r\n\r\n homeShowState.loaded = true;\r\n homeShowState.hasError = false;\r\n homeShowState.code = action.code;\r\n\r\n newState.homeShow = homeShowState;\r\n \r\n return newState;\r\n \r\n case types.GET_CUSTOMER_HOMESHOW_CODE_ERROR:\r\n var newState = Object.assign({}, state);\r\n var homeShowState = Object.assign({}, newState.homeShow);\r\n\r\n homeShowState.loaded = true;\r\n homeShowState.hasError = true;\r\n\r\n newState.homeShow = homeShowState;\r\n \r\n return newState;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\n\r\n\r\n\r\nfunction defineImageUrlBasedOnScore(scoreInfo) {\r\n\r\n let imageUrl = GlobalVariables.IMAGES_URL + 'dial/';\r\n\r\n let currentScore = scoreInfo.score;\r\n\r\n if (currentScore < 150 && currentScore >= 0 && currentScore != null)\r\n imageUrl += \"0-150.png\";\r\n else if (currentScore >= 150 && currentScore < 250)\r\n imageUrl += \"150-250.png\";\r\n else if (currentScore >= 250 && currentScore < 350)\r\n imageUrl += \"250-350.png\";\r\n else if (currentScore >= 350 && currentScore < 450)\r\n imageUrl += \"350-450.png\";\r\n else if (currentScore >= 450 && currentScore < 550)\r\n imageUrl += \"450-550.png\";\r\n else if (currentScore >= 550 && currentScore < 650)\r\n imageUrl += \"550-650.png\";\r\n else if (currentScore >= 650 && currentScore < 750)\r\n imageUrl += \"650-750.png\";\r\n else if (currentScore >= 750 && currentScore < 850)\r\n imageUrl += \"750-850.png\";\r\n else if (currentScore >= 850 && currentScore < 950)\r\n imageUrl += \"850-950.png\";\r\n else if (currentScore >= 950 && currentScore < 1200)\r\n imageUrl += \"950-1200.png\";\r\n else\r\n imageUrl += \"Dial-blank.png\";\r\n\r\n scoreInfo.imgUrl = imageUrl;\r\n}\r\n\r\nfunction resetScoreProfileMetadata(state){\r\n\r\n state.apiFail = false;\r\n state.loading = false;\r\n //state.hasScoreInProgress = false;\r\n //state.isNoRecords = false;\r\n state.isTimeout = false;\r\n state.tryingCGetScoreCount = 0;\r\n}\r\n\r\nexport default function scoreReducer(state = initialState.scoreProfile, action) {\r\n switch (action.type) {\r\n\r\n case types.AJAX_LOAD_SCORE:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.loading = action.loading;\r\n\r\n if(newState.loading){\r\n newState.isTimeout = false;\r\n newState.tryingCGetScoreCount = newState.tryingCGetScoreCount + 1;\r\n }\r\n\r\n return newState;\r\n\r\n case types.API_FAIL + 'scoreProfile':\r\n\r\n var newState = Object.assign({}, state);\r\n resetScoreProfileMetadata(newState);\r\n newState.apiFail = true;\r\n return newState;\r\n\r\n case types.RESET_SCORE_PROFILE:\r\n\r\n var newState = Object.assign({}, initialState.scoreProfile);\r\n\r\n newState.scoreInfo = Object.assign({}, initialState.scoreProfile.scoreInfo);\r\n //newState.scoreAdvice = Object.assign({}, { helping:[], hurting: []});\r\n newState.scoreAdvice = Object.assign({}, { kcfs:[] });\r\n newState.scoreHistory = [];\r\n return newState;\r\n\r\n\r\n case types.LOAD_SCORE_PROFILE_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n\r\n if(action.options && action.scoreProfile){\r\n\r\n // Reset\r\n resetScoreProfileMetadata(newState);\r\n newState.scoreInfo = Object.assign({}, initialState.scoreProfile.scoreInfo);\r\n newState.scoreAdvice = Object.assign({}, { kcfs:[] });\r\n newState.scoreHistory = [];\r\n\r\n if(action.scoreProfile.tryingCGetScoreCount > action.scoreProfile.tryingGetScoreMax){\r\n newState.isTimeout = true;\r\n newState.scoreInfo.noScore = true;\r\n newState.scoreInfo.isTryLater = true;\r\n\r\n }\r\n else {\r\n if(action.scoreProfile[\"displayName\"]){\r\n newState.displayName = action.scoreProfile[\"displayName\"];\r\n }\r\n\r\n if(action.options.includeScore){\r\n newState.scoreInfo = Object.assign({}, action.scoreProfile.scoreInfo);\r\n defineImageUrlBasedOnScore(newState.scoreInfo);\r\n }\r\n\r\n if(action.options.includeAdvices && action.scoreProfile.scoreAdvice){\r\n newState.scoreAdvice = Object.assign({}, action.scoreProfile.scoreAdvice);\r\n }\r\n if(action.options.includeHistory && action.scoreProfile.scoreHistory){\r\n newState.scoreHistory = [...action.scoreProfile.scoreHistory];\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n // newState.scoreInfo.noScore: false;\r\n // newState.scoreInfo.isScoreBadRequest : false;\r\n // newState.scoreInfo.isTryLater: false;\r\n // newState.scoreInfo.isServiceNotAvailableNow: false;\r\n // newState.scoreInfo.isNoFile: false;\r\n // newState.scoreInfo.isContactUs: false;\r\n\r\n return newState;\r\n\r\n case types.GET_SCORE_COUNTER_SUCCESS:\r\n if (state.scoreCounter.timerId && action.scoreCounter.timerId) {\r\n clearInterval(state.scoreCounter.timerId);\r\n }\r\n\r\n var newState = Object.assign({}, state);\r\n var newScoreCounter = Object.assign({}, newState.scoreCounter, action.scoreCounter);\r\n newState.scoreCounter = newScoreCounter;\r\n return newState;\r\n\r\n case types.UPDATE_SCORE_COUNTER:\r\n var newState = Object.assign({}, state);\r\n var newScoreCounter = Object.assign({}, newState.scoreCounter);\r\n newScoreCounter.counter = action.counter;\r\n newScoreCounter.loaded = action.loaded;\r\n newState.scoreCounter = newScoreCounter;\r\n return newState;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\nimport * as GlobalVariables from '../../config/configureGlobalVariables';\r\n\r\n\r\nfunction resetReportProfileMetadata(state){\r\n\r\n state.apiFail = false;\r\n state.loading = false; \r\n state.isTimeout = false;\r\n state.tryingGetReportCount = 0;\r\n state.isServiceNotAvailableNow = false;\r\n}\r\n\r\nexport default function reportReducer(state = initialState.reportProfile, action) {\r\n switch (action.type) {\r\n\r\n case types.AJAX_LOAD_REPORT:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.loading = action.loading;\r\n\r\n if(newState.loading){\r\n newState.isTimeout = false;\r\n newState.tryingGetReportCount = newState.tryingGetReportCount + 1;\r\n }\r\n\r\n return newState;\r\n\r\n case types.API_FAIL + 'reportProfile':\r\n\r\n var newState = Object.assign({}, state);\r\n resetReportProfileMetadata(newState);\r\n newState.apiFail = true; \r\n return newState;\r\n\r\n case types.API_FAIL + 'EADown':\r\n var newState = Object.assign({}, state);\r\n resetReportProfileMetadata(newState);\r\n newState.isServiceNotAvailableNow = true; \r\n return newState;\r\n\r\n case types.RESET_REPORT_PROFILE:\r\n\r\n var newState = Object.assign({}, initialState.reportProfile);\r\n\r\n newState.reportInfo = Object.assign({}, initialState.reportProfile.reportInfo); \r\n newState.reportInfo.loaded = false;\r\n return newState;\r\n\r\n\r\n case types.LOAD_REPORT_PROFILE_SUCCESS:\r\n \r\n var newState = Object.assign({}, state);\r\n\r\n if(action.reportInfo){\r\n\r\n // Reset\r\n resetReportProfileMetadata(newState);\r\n newState.reportInfo = Object.assign({}, initialState.reportProfile.reportInfo);\r\n newState.reportInfo = action.reportInfo; \r\n newState.reportInfo.loaded = true; \r\n\r\n if(newState.tryingGetReportCount > newState.tryingGetReportMax){\r\n newState.isTimeout = true;\r\n newState.reportInfo.issue.noReport = true;\r\n newState.reportInfo.issue.isTryLater = true;\r\n } \r\n }\r\n\r\n return newState; \r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import { combineReducers } from 'redux';\r\n//import { routerReducer } from 'react-router-redux';\r\n\r\nimport products from './productReducer';\r\nimport ajaxCallsInProgress from './ajaxStatusReducer';\r\nimport menu from './menuReducer';\r\nimport user from './userReducer';\r\nimport homePage from './homePageReducer';\r\nimport dashboardPage from './dashboardPageReducer';\r\nimport score from './scoreReducer';\r\nimport report from './reportReducer';\r\nimport textVariantReducer from './textVariantReducer';\r\nimport creditSummaryReducer from './creditSummaryReducer';\r\nimport creditCards from './creditCardReducer';\r\nimport productsMetadata from './productsMetadataReducer';\r\n\r\nconst rootReducer = combineReducers({\r\n menu: menu,\r\n textVariants: textVariantReducer,\r\n creditSummary: creditSummaryReducer,\r\n userProfile: user,\r\n productResult: products,\r\n productMetadata: productsMetadata,\r\n homePage: homePage,\r\n dashboardPage: dashboardPage,\r\n scoreProfile: score,\r\n reportProfile: report,\r\n creditCardsResult: creditCards,\r\n ajaxCallsInProgress: ajaxCallsInProgress\r\n //routing: routerReducer\r\n});\r\n\r\nexport default rootReducer;","import * as types from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\nexport default function menuReducer(state = initialState.menu, action) {\r\n switch (action.type) {\r\n case types.LOAD_MENU_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n\r\n newState.menuItemsPerPage = {};\r\n newState.menuItemsPerPage.menuItemsAuthenticated = Object.assign({}, state.menuItemsAuthenticated);\r\n newState.menuItemsPerPage.menuItemsAuthenticated[action.pageid] = action.isAuthenticated;\r\n\r\n newState.menuItemsPerPage.menuItems = Object.assign({}, state.menuItemsPerPage.menuItems);\r\n newState.menuItemsPerPage.menuItems[action.pageid] = [...action.menuForPage];\r\n\r\n return newState;\r\n\r\n default:\r\n return state;\r\n }\r\n}","import * as types from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\nexport default function textVariantReducer(state = initialState.textVariants, action) {\r\n switch (action.type) {\r\n case types.LOAD_TEXT_VARIANTS_SUCCESS:\r\n\r\n var newState = Object.assign({}, state, action.textVariants);\r\n\r\n return newState;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\nexport default function creditSummaryReducer(state = initialState.creditSummary, action) {\r\n switch (action.type) {\r\n case types.GET_CREDIT_SUMMARY_SUCCESS:\r\n\r\n var newState = Object.assign({}, state, action.creditSummary);\r\n\r\n return newState;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\nimport * as reducerHelper from './reducerHelper';\r\n\r\n\r\nexport default function productReducer(state = initialState.productResult, action) {\r\n switch (action.type) {\r\n\r\n case types.LOADING_PRODUCTS:\r\n var newState = Object.assign({}, state);\r\n newState.loading = action.loading;\r\n if(!action.loading){\r\n newState.loaded = !action.isFailure;\r\n }\r\n\r\n if(action.isFailure){\r\n newState.products = [];\r\n newState.hiddenProducts = [];\r\n newState.productsCall2Action = [];\r\n newState.call2Actions = [];\r\n newState.productsByType = [];\r\n }\r\n\r\n return newState;\r\n\r\n case types.FORCE_LOADING_PRODUCTS:\r\n var newState = Object.assign({}, state);\r\n newState.loaded = false;\r\n return newState;\r\n\r\n case types.LOAD_PRODUCTS_SUCCESS:\r\n\r\n // Update the links with the user id\r\n // if(action.productResult && action.productResult.userId && action.productResult.products){\r\n // reducerHelper.updateProducts(action.productResult.products, action.productResult.isAnonymous, action.productResult.userId);\r\n // }\r\n\r\n // if(action.productResult && action.productResult.userId && action.productResult.productsCall2Action){\r\n // reducerHelper.updateProducts(action.productResult.productsCall2Action, action.productResult.isAnonymous, action.productResult.userId);\r\n // }\r\n\r\n return action.productResult;\r\n\r\n case types.SET_LASTCLICKEDPRODUCT:\r\n var newState = Object.assign({}, state);\r\n newState.lastProduct = action.product;\r\n return newState;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\nimport * as reducerHelper from './reducerHelper';\r\n\r\n\r\nexport default function productMetadataReducer(state = initialState.productMetadata, action) {\r\n switch (action.type) {\r\n\r\n case types.UPDATE_PRODUCT_METADATA:\r\n var newState = Object.assign({}, state);\r\n newState.userId = action.userId;\r\n newState.isAnonymous = action.isAnonymous;\r\n\r\n return newState;\r\n\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\nexport default function homePageReducer(state = initialState.homePage, action) {\r\n switch (action.type) {\r\n case types.LOAD_KEYFEATURES_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.keyFeatureList = [...action.keyFeatues];\r\n\r\n return newState;\r\n\r\n case types.LOAD_PROCESSSTEPS_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.processSteps = {steps: [...action.keyFeatues.steps], disclaimer: action.keyFeatues.disclaimer};\r\n\r\n return newState;\r\n\r\n case types.LOADING_HOMEPAGE_ARTICLES_SUCCESS:\r\n \r\n var newState = Object.assign({}, state);\r\n newState.articlesLoading = action.articlesLoading;\r\n if (newState.articlesLoading) {\r\n newState.articlesLoaded = false;\r\n }\r\n \r\n return newState;\r\n\r\n case types.LOAD_HOMEPAGE_ARTICLES_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.articles = [...action.articles];\r\n newState.articlesLoaded = true;\r\n newState.articlesLoading = false;\r\n\r\n return newState;\r\n\r\n case types.LOAD_HOMEFAQS_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.gcsHomeFaqs = [...action.gcsHomeFaqs];\r\n\r\n return newState;\r\n\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\nexport default function dashboardPageReducer(state = initialState.dashboardPage, action) {\r\n switch (action.type) {\r\n case types.LOAD_DASHBOARD_TABS_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.dashboardTabs = [...action.dashboardTabs];\r\n\r\n return newState;\r\n\r\n case types.LOAD_SCORE_CALLTOACTION_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.callsToAction = [...action.callsToAction];\r\n\r\n return newState;\r\n\r\n case types.LOADING_DASHBOARD_ARTICLES_SUCCESS:\r\n \r\n var newState = Object.assign({}, state);\r\n newState.articlesLoading = action.articlesLoading;\r\n if (newState.articlesLoading) {\r\n newState.articlesLoaded = false;\r\n }\r\n \r\n return newState;\r\n\r\n case types.LOAD_DASHBOARD_ARTICLES_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.articles = [...action.articles];\r\n newState.articlesLoaded = true;\r\n newState.articlesLoading = false;\r\n\r\n return newState;\r\n\r\n case types.UPDATE_DASHBOARD_TABINDEX_SUCCESS:\r\n\r\n var newState = Object.assign({}, state);\r\n newState.selectedDashboardTab = action.tabIndex;\r\n\r\n return newState;\r\n\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\nimport * as reducerHelper from './reducerHelper';\r\n\r\n\r\nexport default function creditCardReducer(state = initialState.creditCardsResult, action) {\r\n\r\n switch (action.type) {\r\n\r\n case types.LOADING_CREDITCARDS:\r\n var newState = Object.assign({}, state);\r\n newState.loading = action.loading;\r\n\r\n if(!action.loading){\r\n newState.loaded = !action.isFailure;\r\n }\r\n\r\n return newState;\r\n\r\n case types.FORCE_LOADING_CREDITCARDS:\r\n var newState = Object.assign({}, state);\r\n newState.loaded = false;\r\n return newState;\r\n\r\n case types.LOAD_CREDITCARDS_SUCCESS:\r\n var newState = Object.assign({}, state);\r\n newState.creditCardsResult = Object.assign({}, action.creditCardsResult);\r\n return newState;\r\n\r\n if(action.creditCardsResult && action.creditCardsResult.userId && action.creditCardsResult.products){\r\n\r\n reducerHelper.updateProducts(action.creditCardsResult.products, action.creditCardsResult.isAnonymous, action.creditCardsResult.userId);\r\n\r\n }\r\n\r\n return action.creditCardsResult;\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as types from '../actions/actionTypes';\r\nimport initialState from './initialState';\r\n\r\nfunction actionTypeEndsInSuccess(type) {\r\n return type.substring(type.length - 8) == '_SUCCESS';\r\n}\r\n\r\nexport default function ajaxStatusReducer(state = initialState.ajaxCallsInProgress, action) {\r\n if (action.type == types.BEGIN_AJAX_CALL) {\r\n return state + 1;\r\n } else if (action.type == types.AJAX_CALL_ERROR ||\r\n actionTypeEndsInSuccess(action.type)) {\r\n return state - 1;\r\n }\r\n\r\n\r\n return state;\r\n}\r\n","import {createStore, applyMiddleware} from 'redux';\r\nimport rootReducer from '../reducers';\r\nimport thunk from 'redux-thunk';\r\n\r\nexport default function configureStore(initialState) {\r\n return createStore(\r\n rootReducer,\r\n initialState,\r\n applyMiddleware(thunk)\r\n );\r\n}","\r\n\r\n\r\nexport const PRODUCT_DISPLAY_MOBILE_NORMAL = 'PRODUCT_DISPLAY_MOBILE_NORMAL';\r\nexport const PRODUCT_DISPLAY_MOBILE_BULLETS = 'PRODUCT_DISPLAY_MOBILE_BULLETS';\r\nexport const PRODUCT_DISPLAY_REAL_IMG = 'PRODUCT_DISPLAY_REAL_IMG';\r\nexport const PRODUCT_DISPLAY_REAL_IMG_FLIPCARD = 'PRODUCT_DISPLAY_REAL_IMG_FLIPCARD';\r\nexport const PRODUCT_DISPLAY_REAL_IMG_GROW_ALT = 'PRODUCT_DISPLAY_REAL_IMG_GROW_ALT';\r\nexport const PRODUCT_DISPLAY_REAL_IMG_TADA = 'PRODUCT_DISPLAY_REAL_IMG_TADA';\r\n","\r\nimport * as ImagesPath from '../../config/imagesPath';\r\n\r\nexport const creditCards = [\r\n {\r\n id : 4,\r\n title : \"Low Rate Platinum\",\r\n imgUrl : ImagesPath.ImgProduct_CC_Offer_Anz,\r\n href: \"https://ad.doubleclick.net/ddm/clk/312540156;138687108;e\",\r\n features: [\r\n { key:\"1\", title : \"Balance Transfer1\", value: \"0% for 16 months\" },\r\n { key:\"2\", title : \"Purchase Rate\", value: \"11.49%\"},\r\n { key:\"3\", title : \"Features2\",value: \"Up to 55 days interest free on purchases and Travel insurance\"}\r\n ],\r\n revertRate: '21.74%',\r\n partnerId: 2,\r\n productTypeId: 5,\r\n\t\t\t productId: 4\r\n },\r\n\r\n {\r\n id : 5,\r\n title : \"Platinum Credit Card\",\r\n imgUrl : ImagesPath.ImgProduct_CC_Offer_Hsbc1,\r\n href: \"https://hsbcconnect.go2cloud.org/aff_c?offer_id=4&aff_id=1016&url_id=16\",\r\n features: [\r\n { key:\"1\", title : \"Balance Transfer1\", value: \"0% for 22 months\" },\r\n { key:\"2\", title : \"Purchase Rate\", value: \"19.99%\"},\r\n { key:\"3\", title : \"Features2\",value: \"Airport lounge pass every year, complimentary insurances and earn reward points\"}\r\n ],\r\n revertRate: '19.99%',\r\n partnerId: 2,\r\n productTypeId: 5,\r\n\t\t\t productId: 12\r\n },\r\n\r\n {\r\n id : 6,\r\n title : \"Velocity Flyer Card\",\r\n imgUrl : ImagesPath.ImgProduct_CC_Offer_Virgin,\r\n href: \"http://ad.doubleclick.net/ddm/clk/287251806;114290141;x\",\r\n features: [\r\n { key:\"1\", title : \"Balance Transfer1\", value: \"0% for 18 months\" },\r\n { key:\"2\", title : \"Purchase Rate\", value: \"20.74%\"},\r\n { key:\"3\", title : \"Features2\",value: \"$129 Virgin Gift Vouncher, Rewards points each time you spend and Up to 44 interest free days\"}\r\n ],\r\n revertRate: '20.99%',\r\n partnerId: 2,\r\n productTypeId: 5,\r\n\t\t\t productId: 6\r\n }\r\n];\r\n\r\n// export const creditCards = [\r\n// {\r\n// id : 1,\r\n// title : \"AMEX Essential\",\r\n// imgUrl : \"/media/images/products/credit-card-offers/cc-amex.png\",\r\n// href: \"http://groupmconnect.go2cloud.org/aff_c?offer_id=2&aff_id=1022&aff_sub=gcspartners&url_id=276\",\r\n// features: [\r\n// { key:\"1\", title : \"Balance Transfer\", value: \"0% (12mths)\" },\r\n// { key:\"2\", title : \"Purchase Rate\", value: \"14.99% **\"},\r\n// { key:\"3\", title : \"Features\",value: \"Receive a $50 credit & Smartphone screen insurance\"}\r\n// ],\r\n// revertRate: '14.99%',\r\n// partnerId: 2,\r\n// productTypeId: 5,\r\n// \t\t\t productId: 1\r\n// },\r\n//\r\n// {\r\n// id : 2,\r\n// title : \"Virgin Low Rate\",\r\n// imgUrl : \"/media/images/products/credit-card-offers/cc-virgin.png\",\r\n// href: \"https://ad.doubleclick.net/ddm/clk/400176803;200185205;n\",\r\n// features: [\r\n// { key:\"1\", title : \"Balance Transfer\", value: \"0% (12mths)\" },\r\n// { key:\"2\", title : \"Purchase Rate\", value: \"11.99% **\"},\r\n// { key:\"3\", title : \"Features\",value: \"Up to 44 interest free days *\"}\r\n// ],\r\n// revertRate: '21.69%',\r\n// partnerId: 2,\r\n// productTypeId: 5,\r\n// \t\t\t productId: 2\r\n// },\r\n//\r\n// {\r\n// id : 3,\r\n// title : \"St George Vertigo\",\r\n// imgUrl : \"/media/images/products/credit-card-offers/cc-st-george.png\",\r\n// href: \"http://prf.hn/click/camref:11ltZ3/pubref:GCS/destination:http://adsfac.net/link.asp?cc=CDS054.221712.0&clk=1&creativeID=314501&ord=636325991147629515\",\r\n// features: [\r\n// { key:\"1\", title : \"Balance Transfer\", value: \"0% (14mths)\" },\r\n// { key:\"2\", title : \"Purchase Rate\", value: \"13.24% **\"},\r\n// { key:\"3\", title : \"Features\",value: \"$0 Annual Fee in 1st year & up to 55 Days interest free\"}\r\n// ],\r\n// revertRate: '13.24%',\r\n// partnerId: 2,\r\n// productTypeId: 5,\r\n// \t\t\t productId: 3\r\n// }\r\n// ];\r\n"],"sourceRoot":""}