{"version":3,"sources":["degreesForms.js"],"names":["_slicedToArray","r","e","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","t","_arrayLikeToArray","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","return","isArray","_typeof","prototype","_classCallCheck","TypeError","_defineProperties","enumerable","configurable","writable","defineProperty","_toPropertyKey","key","_createClass","_toPrimitive","toPrimitive","String","Number","AccessibilityController","formField","removeAttribute","removeEventListener","onClickEventDisabled","onKeydownEventDisabled","clearValue","setAttribute","addEventListener","event","preventDefault","keyCode","DropdownData","module","exports","this","form","json","selectField","option","createElement","Text","Value","dropdowns","querySelectorAll","enableField","dropdown","querySelector","dropdownDataDiv","_this","addSelectOptionsFromJson","dropdownData","ExperienceAchievementDropdowns","subjectSelect","academicLevelSelect","programSelect","experienceAchievementData","expAchData","JSON","parse","dropdownField","loadSubjectOptions","loadAcademicLevelOptions","loadProgramsOptions","matches","academicLevel","document","obj","text","ProgramGroup","add","findIndex","Category","loadDropdownOptions","undecidedOption","sort","inqAppFormCommon","textCompare","unshift","selectOptionSingleValue","subjectValue","filter","academicLevelValue","forEach","ExperienceAchievement","ismatch","FormTrackingData","expiration","currentDomain","window","location","hostname","indexOf","gTrackerObj","gParams","gTrackerValue","retrieveCookie","keys","undefined","stringify","setElementValue","item","paidTrackerObj","paidParams","paidTrackerValue","trackingController","adTrackerObj","adParams","adTrackerValue","landingPage","sessionStorage","getItem","href","referrerPage","gCookieName","referrer","split","setGoogleString","referrerValue","gTracker","setItem","refSource","setSnhuGlobalTracking","paidCookieName","ssTestIDCookieValue","adCookieName","adTracker","setTestIds","elementID","element","getElementById","FormValidation","nursingQuestionValidationAlert","invalidErrorMessageClass","validFormGroup","errorElementClass","invalidElementClass","setRefferTracking","validElementClass","nursingQuestionClass","ele","errorcontainer","wrap","closest","classList","remove","required","type","ssTestIdCookie","labelElement","textContent","fieldlabel","arguments","hasAttribute","getAttribute","dataerrormessage","overrideMessage","patternMismatch","tooShort","validity","tooLong","rangeUnderflow","rangeOverflow","getPatternMessage","getErrorMessage","errorMessage","className","isValid","setElementValid","setElementInvalid","updateValidationDisplay","checkValidity","options","selectedIndex","setElementValidationDisplay","offsetParent","resetElementValidation","innerHTML","formGroupWrap","nursingAlertMessage","nursingRequiredMessage","visibleNursingQuestion","nursingMessage","checkedQuestion","visibleRadio","message","nursingQuestionInvalid","toggleAttribute","nursingQuestionRequired","sendAlert","_this2","nursingValid","isValidForm","entireError","validateNursingQuestions","alert","RadioButtonData","radioButton","radioButtonLabel","id","ID","checked","IsSelected","innerText","_this3","radiobuttons","radio","radioData","radioParent","firstLabel","validateSelectField","firstRadio","radioName","radioDataDiv","validateInputTextField","additionalRadio","additionalRadioBtnLabel","isFirst","setRadioValues","cloneNode","additionalRadioBtn","append","removeVueAttributes","dataFormType","dataset","formtype","snhuCookieProvider","cookieVals","CookieProvider","formsource","snhuProgramCookie","getValueAsString","FormSubmitEvent","standAlone","twoStepForm","programDropdowns","programDisplay","toggle","FormUtilities","_this4","formData","FormData","errormsg","SnhuFetchUtil","defaultTimeout","post","action","then","data","success","thankYouPage","thankyoupage","origin","Promise","all","ThankYouCookie","storeThankYouValues","EcommerceCookie","setEcommerceCookie","FormSubmitCookie","setFormSubmitCookie","catch","replace","finally","errors","_i","_Object$entries","entries","_Object$entries$_i","getFormSource","getElementsByName","twoStepFormValidation","formValidation","hideProgramDisplay","snhuEconCookie","getValueAsJson","errorTYP","step2button","disabled","StandAloneFormController","dropdown1","dropdown2","dropdown3","militaryQuestion","militaryQuestionWrap","a11yController","loadEAData","radioButtonData","nursingQuestionBachelorsName","nursingQuestionMastersName","nursingQuestionCertificateName","nursingQuestionsWrap","formTrackingData","submitButton","submitForm","fetcher","_this5","disableField","loadRadioButtons","dropdown1Change","dropdown2Change","dropdown3Change","militaryButtonChange","init","resetNursingQuestions","militarybuttons","target","validateFormFields","nursingPrograms","selectedExpAchievement","expAchievement","questionName","_this6","nursingQuestion","getNursingPrograms","checkIfNursingCategory","isProgramNursing","exposeNursingQuestion","StandAloneFormControllerBuilder","validForm","formSelector","formSubmitEvent","_cascadeOrder","cascadeLevelFirst","setProgramSelect","Tooltip","setRadioButtonData","standAloneForm","setForm","setSubjectSelect","setAcademicLevelSelect","setCascadeOrder","setMilitaryQuestion","setMilitaryQuestionWrap","setA11yController","setLoadEAData","setFormValidation","setDropdownData","setNursingQuestionBachelorsName","setNursingQuestionMastersName","setNursingQuestionCertificateName","setNursingQuestionValidationAlert","setNursingQuestionsWrap","setFormTrackingData","setSubmitButton","build","tooltipSelector","tooltips","_this7","trigger","showTooltip","hideTooltip","nextElementSibling","popover","isTooltipOnTop","top","isTooltipOnBottom","style","display","positionTooltip","TwoStepFormController","standAloneFormController","changeProgram","step1button","getBoundingClientRect","_this8","prePopFormData","loadDefaultValuesFromPage","stepOneClick","tooltip","stepTwoClick","subjectSelectChange","academicLevelSelectChange","programsSelectChange","focus","label","labelForThisControl","previousElementSibling","preData","exVal","val","prePopLevel","prePopProgram","toLowerCase","includes","setPlaceholders","prePopData","prePopSubject","programTextDisplay","step1Of2","updateStatusBar","step","step2Image","step1CompletedIconSrc","step1Image","step1CompletedIconAlt","step2ActiveIconSrc","parentElement","step2ActiveIconAlt","_this9","getNursingQuestionLevel","_this10","TwoStepFormControllerBuilder","nursingLevel","FormStartFactory","setChangeProgram","setStep1button","setStep2button","formType","prepopulated","formSource","form_type","form_prepopulated","form_source","FormsController","ga4Event","formStart","create","formUtilities","GA4EventFactory","getFormType","isPrepopulated","formscontroller","formelements","elements","_ga4FormStart","FormStartEvent"],"mappings":"AAAA,aAEA,SAASA,eAAeC,EAAGC,GAAG,OAAAC,gBAAAF,CAAA,GAAAG,sBAAAH,EAAAC,CAAA,GAAAG,4BAAAJ,EAAAC,CAAA,GAAAI,iBAAA,CAAA,CAC9B,SADuCH,mBAAkB,MAAIC,IAAAA,UAAAA,2IAAsF,CAAA,CAAE,SAAAC,4BAAAJ,EAAAM,GAAA,IAAAC,EAAA,GAAAP,EAAA,MAAA,UAAA,OAAAA,EAAAQ,kBAAAR,EAAAM,CAAA,EAAA,SAAAC,EAAA,YAAAA,EAAA,GAAAE,SAAAC,KAAAV,CAAA,EAAAW,MAAA,EAAA,CAAA,CAAA,IAAAX,EAAAY,YAAAZ,EAAAY,YAAAC,KAAAN,IAAA,QAAAA,EAAAO,MAAAC,KAAAf,CAAA,EAAA,cAAAO,GAAA,2CAAAS,KAAAT,CAAA,EAAAC,kBAAAR,EAAAM,CAAA,EAAA,KAAA,CAAA,CACrJ,SAASD,kBAAgBL,EAAGM,IAAA,MAAAA,GAAAA,EAAAN,EAAAiB,UAAAX,EAAAN,EAAAiB,QAAA,IAAA,IAAAhB,EAAA,EAAAiB,EAAAJ,MAAAR,CAAA,EAAAL,EAAAK,EAAAL,CAAA,GAAAiB,EAAAjB,GAAAD,EAAAC,GAAA,OAAAiB,CAAA,CAG5B,SAHoCf,sBAAcH,EAAAmB,GAAA,IAAAZ,EAAA,MAAAP,EAAA,KAAA,aAAA,OAAAoB,QAAApB,EAAAoB,OAAAC,WAAArB,EAAA,cAAA,GAAA,MAAAO,EAAA,CAAA,IAAAN,EAA2IiB,EAACI,EAAAC,EAAAjB,EAAA,GAAAkB,EAAA,CAAA,EAAAC,EAAA,CAAA,EAAA,IAAA,GAAAH,GAAAf,EAAAA,EAAAG,KAAAV,CAAA,GAAA0B,KAAA,IAAAP,EAAA,CAAA,GAAAQ,OAAApB,CAAA,IAAAA,EAAA,OAAAiB,EAAA,CAAA,CAAA,MAAA,KAAA,EAAAA,GAAAvB,EAAAqB,EAAAZ,KAAAH,CAAA,GAAAqB,QAAAtB,EAAAuB,KAAA5B,EAAA6B,KAAA,EAAAxB,EAAAW,SAAAE,GAAAK,EAAA,CAAA,GAAA,CAAA,MAAAxB,GAAAyB,EAAA,CAAA,EAAAP,EAAAlB,CAAA,CAAA,QAAA,IAAA,GAAA,CAAAwB,GAAA,MAAAjB,EAAAwB,SAAAR,EAAAhB,EAAAwB,OAAA,EAAAJ,OAAAJ,CAAA,IAAAA,GAAA,MAAA,CAAA,QAAA,GAAAE,EAAA,MAAAP,CAAA,CAAA,CAAA,OAAAZ,CAAA,CAAA,CAAE,SAAAJ,gBAAAF,GAAA,GAAAc,MAAAkB,QAAAhC,CAAA,EAAA,OAAAA,CAAA,CAChM,SAASI,QAAAA,GAAkC,OAAA6B,QAAA,YAAA,OAAAb,QAAA,UAAA,OAAAA,OAAAC,SAAA,SAAAI,GAAA,OAAA,OAAAA,CAAA,EAAA,SAAAA,GAAA,OAAAA,GAAA,YAAA,OAAAL,QAAAK,EAAAb,cAAAQ,QAAAK,IAAAL,OAAAc,UAAA,SAAA,OAAAT,CAAA,GAAAA,CAAA,CAAA,CAK3C,SALoDU,gBAAA7B,EAAAY,GAAA,GAAA,EAAAZ,aAAAY,GAAA,MAAA,IAAAkB,UAAA,mCAAA,CAAA,CAMpD,SAN0DC,kBAAmBrC,EAAGA,GAAA,IAAOQ,IAAAA,EAAAA,EAAAA,EAAkBR,EAACiB,OAAIV,CAAA,GAAA,CAAA,IAAAkB,EAAAzB,EAAAO,GAAAkB,EAAAa,WAAAb,EAAAa,YAAA,CAAA,EAAAb,EAAAc,aAAA,CAAA,EAAA,UAAAd,IAAAA,EAAAe,SAAA,CAAA,GAAAb,OAAAc,eAAAxC,EAAAyC,eAAAjB,EAAAkB,GAAA,EAAAlB,CAAA,CAAA,CAAA,CAO9G,SAPqHmB,aAAMnC,EAASC,EAAIH,GAAII,OAAOX,GAAKqC,kBAAApC,EAAAiC,UAAAlC,CAAA,EAAAO,GAAA8B,kBAAApC,EAAAM,CAAA,EAAAoB,OAAAc,eAAAxC,EAAA,YAAA,CAAAuC,SAAA,CAAA,CAAA,CAAA,EAAAvC,CAAA,CAQxJ,SAR0JyC,eAAoBnC,GAAOK,EAAAA,aAAiBL,EAAKK,QAAAA,EAAW,MAAM,UAAaqB,QAAIX,CAAK,EAAAA,EAAMA,EAAGR,EAAMC,CASjQ,SATuX8B,aAAAtC,EAAAP,GAAA,GAAA,UAAAiC,QAAA1B,CAAA,GAAA,CAAAA,EAAA,OAAAA,EAAA,IAAAN,EAAAM,EAAAa,OAAA0B,aAAA,GAAA,KAAA,IAAA7C,EAAA,OAAA,WAAAD,EAAA+C,OAAAC,QAAAzC,CAAA,EAAAe,EAAArB,EAAAS,KAAAH,EAAAP,GAAA,SAAA,EAAA,GAAA,UAAAiC,QAAAX,CAAA,EAAA,OAAAA,EAAA,MAAA,IAAAc,UAAA,8CAAA,CAAA,CAAE,IAAAa,wBAAA,WACzX,SAASzC,IAA2B2B,gBAAiBnC,KAAEiB,CAAyB,CAAE,CAAuD,OAAOC,aAAC+B,EAAA,CAAA,CAAEN,IAAA,cACnJb,MAAuC,SAAoBoB,GAAkFA,EAASC,gBAAE,eAAA,EAAED,EAAKE,oBAAA,QAAAH,EAAAI,oBAAA,EAAEnC,EAACkC,oBAAA,UAAAH,EAAAK,sBAAA,CAmB9J,CACF,EAAG,CACDX,IArBuK,eAsBvKb,MAtBmL,SAACoB,EAAAK,GAAUL,EAAIM,aAAA,gBAAA,MAAA,EAAEN,EAAUO,iBAAc/B,QAAYP,EAAGkC,oBAAA,EA0BzOH,EA1B+OvB,iBAAiB,UAAAsB,EAAAK,sBAAA,EAASC,IAAQL,EAAMpB,MAAa,GA8BtS,CAEF,GAhCsZ,CAAA,CAiCpZa,IAjC0Z,uBAkC1Zb,MAhCkB,SAAyB4B,GA4CzCA,EAAMC,eAAe,CA5CsB,CA8C/C,EA9CmJ,CAAkBhB,IAAG,yBAAeb,MAAOL,SAAgCiC,GAA2F,IAAEA,EAAAE,SAC7TF,EAASvB,eAAoB,CAAqF,CAClH,EAAA,CAqDA,EArDmC,EACnC0B,cADuGvB,aAAjBb,OAAEa,UAA6IwB,OAAAC,QAAAd,yBACtM,WACiC,OAAOL,aADtC,SAAQiB,EAAIxB,GAAyGG,gBAAWwB,KAAAH,CAAA,EAAIG,KAAGC,KAAAA,CAAE,EACzE,CAAA,CAAWtB,IAAA,2BAC5Gb,MAASe,SAAmBqB,EAAAC,GAAkDlE,IAA5C,IAAAmE,EAAkDhD,EAAO0B,EAAAA,EAAAA,EAAY7B,OAAAK,CAAA,IAAM8C,EAAWnE,SAAGoE,cAAA,QAAA,GAAY3D,KAAQV,EAAKsB,GAAAgD,KAAgBF,EAAAtC,MAAYG,EAAQX,GAAEiD,MAAYJ,EAAU/B,IAAUgC,CAAA,CAAmD,CAA8C,EAAA,CACvTnB,IAAAA,sBACFnB,MAASmB,WACPd,IAAAA,EAAAA,KACFqC,EAAAR,KAAAC,KAAAQ,iBAAA,gBAAA,EACO7B,GAGL4B,EAASE,QAAWA,SAAUC,GAC5BzB,IACAA,EAAUE,EAAoBa,KAAAW,cAAS3B,SAAAA,EAAwBI,IAAAA,EAGhEwB,IAKC3B,EAAUO,KAAAA,MAAiBoB,EAAS5B,SAAAA,KAGlCC,EAAUpB,OAAU,EACtBgD,EAAAC,yBAAAC,EAAAL,CAAA,EAEF,CAAA,CACA,CA0EF,EAzEEhC,CA0EJ,EAAE,GAlEFsC,gCALA,aAAA,OAAAlB,UACAD,OAAAC,QAAAF,cAIA,WAiBA,OAAAjB,aAhBA,SAAAqC,EAAAhB,EAAAiB,EAAAC,EAAAC,EAAAC,GACAlD,gBAAA6B,KAAAiB,CAAA,EA0EIjB,KAAKC,KAAOA,EAxEZD,KAAAkB,cAAS7B,EA0ETW,KAzEEN,oBAAsByB,EACxBnB,KAAAoB,cAAAA,EAEAzC,KAAK2C,WADJ,KAAA,IAAAD,EACIE,KAAAC,MAAwBH,CAAA,EAEb,EA2ElB,EApEF,CAAA,CACI1C,IAAA,sBACFmB,MAAOC,SAAUd,GACnB,OAAAwC,IAAAzB,KAAAkB,cACIrB,KAAe6B,mBAAa,EACrB7B,IAAmBG,KAAAmB,oBAC1BhD,KAAgBwD,yBAAmB,EAErC3B,KAAA4B,oBAAA,CA0EE,CAxEF,EAAA,CACAjD,IAAOC,qBACLD,MAAK,WACLb,IACMsC,EADDyB,EAAWd,GAEde,EAAoB5B,KAAKjD,oBAAaa,MAqGtC,OA3BAkC,KAzEEI,WAAS2B,OAAS1B,SAAa2B,GAC/B5B,OAAO6B,EAAIC,aAAW5B,QAAIwB,GAAA,KAAAA,CA0E5B,CAAC,EAzEC1B,QAAOtC,SAAYkE,GAItB,CAAA,IAHeG,EAAUC,UAAC,SAAA5E,GACzB,OAAAA,EAAA+C,QAAAyB,EAAAK,SAAA9B,KACF,CAAA,IAGgB+B,cAATN,EAAAK,SAASC,KACVxB,EAAQjD,KAAI,CACZ2C,MAAYwB,EAAK/B,SAAKQ,MACrBD,KAAWwB,EAAAK,SAAA/B,IACd,CAAA,EACFiC,EAAAA,GACkB,CACZvB,MAAAA,EAAYqB,SAAA9B,MACZM,KAAAA,EAAAA,SAAuBP,IA0EvB,EAGN,CAAC,EACDuB,EAzEEA,EAAAW,KAAAC,iBAAAC,WAAA,EA0EEH,GAxEFV,EAAAc,QAAAJ,CAAA,EA2EFvC,KAzEEkB,cAAgBjE,OAAE,EA0EpB+C,KAzEIe,yBAAAc,EAAA7B,KAAAkB,aAAA,EACAP,KAAQiC,wBAAW5C,KAAAkB,aAAA,CA0EzB,CACF,EAAG,CACDvC,IAzEI,2BACJb,MAAA,WACC,IAAA+D,EAAA,GACFgB,EAAA7C,KAAAkB,cAAApD,MAkBC,OAjBJkC,KAAAsB,WAAAwB,OAAA,SAAAd,GACI,OAAOjC,EAAOsC,SAAK9B,QAAasC,GAAA,KAAAA,CAClC/C,CAAAA,EAAOC,QAAO,SAAGF,GAIfoB,CAAAA,IAHJY,EAAAO,UAAA,SAAA5E,GA0EU,OAAOA,EAAE+C,QAAUyB,EAAIE,aAAa3B,KAxE9C,CAAA,GAGIpC,EAAAA,KAAgB,CACX8B,MAAW+B,EAAAE,aAAA3B,MACXW,KAAAA,EAAagB,aAAGhB,IAChBC,CAAAA,CAEL,CAAA,EACEU,EAAKP,EAAaC,KAAKC,iBAAMH,WAAAA,EAC9BrB,KAAMmB,oBAAAlE,OAAA,EACL+C,KAAKsB,yBAAeO,EAAA7B,KAAAmB,mBAAA,EACtBnB,KAAA4C,wBAAA5C,KAAAmB,mBAAA,CACF,CA0EA,EAAG,CAxEHxC,IAAA,sBACFb,MAAA,WACA,IACSc,EADTiD,EAAA,GAESgB,EAAA7C,KAAqBkB,cAAApD,MACrBiF,EAAWT,KAAAA,oBAAmCxE,MAyGjD,OAxGAkC,KAAIyB,WAAAA,OAAkB,SAAKP,GACzB,OAAOc,EAAIE,aAACR,QAAoBqB,CAClC,CAAC,EAAAC,QAAUvB,SAAAA,GACTO,EAAOK,SAAKV,QAAAA,GAA0B,QAAAkB,GAM1BnB,CAAAA,IAHhBG,EAAAO,UAAA,SAAA5E,GACC,OAAAA,EAAA+C,QAAAyB,EAAAiB,sBAAA1C,KACI,CAAA,IAGgB,cAAfgC,EAAAA,sBAAejC,KACfwB,EAAAA,KAAgB,CACfR,MAAWwB,EAAOG,sBAAe1C,MAC7ByB,KAAIE,EAAAA,sBAAuBJ,IACjCkB,CAAAA,EACanB,EAAAA,GACU,CACtBtB,MAAAyB,EAAAiB,sBAAA1C,MACE2C,KAAYlB,EAAIiB,sBAAA3C,IAClB,EA6EJ,CAAC,EACDuB,EAzEQA,EAAAW,KAAAC,iBAAAC,WAAA,EACJH,GA0EFV,EAzEIU,QAAAA,CAAkB,EA2ExBvC,KAAKoB,cAzEcnE,OAAS,EA0E5B+C,KAAKe,yBAzEEc,EAAA7B,KAAAoB,aAAA,EACHpB,KAAA4C,wBAAA5C,KAAAoB,aAAA,CA0EN,CAOF,EAAG,CACDzC,IAzEE,2BACFb,MAAA,SAAAoC,EAAAC,GAEAxB,IADC,IAAAyB,EACI9C,EAAA,EAAAA,EAAA4C,EAAAjD,OAA0BK,CAAA,IAC/BQ,EAAOiE,SAASJ,cAAAA,QAA2B,GACrCE,KAAY3B,EAAA5C,GAAAgD,KAChBF,EAAIyC,MAAY3C,EAAG5C,GAAK4D,MACxBf,EAAKmB,IAAWwB,CAAO,CA2EzB,CAMF,EAAG,CACDnE,IAAK,0BACLb,MAAO,SAzE0BwC,GA2E/B,OA1EM,IACJH,EAAAlD,SAGFkD,EAAKgB,cAAoBlE,EACpB8D,CAAAA,EA0EP,CAvEF,EAAC,CA0EH,EAAE,GAOEoC,kBA9EkB,aAyElB,OAzEMtB,UA0ER/B,OAzEIC,QAAIwC,gCAIsBhC,WA0E9B,SAzEOyC,IA0EL7E,gBAzEYkE,KAAS9B,CAAUsC,EA0E/B7C,KAAKoD,WAzEC,OA0ENpD,KAAKqD,cAA2E,CAAC,EAA5DC,OAAOC,SAASC,SAAS/G,SAAS,EAAEgH,QAAQ,WAAW,EAAS,GAAK,UAC5F,CACA,OAAO7E,aAzEY2B,EAAc0C,CAAAA,CA0E/BtE,IAAK,kBACLb,MAEA,WACE,IAKM4F,EAJFC,EAzEM,CAAA,aAAaV,aAAAA,cAA2B,eAAA,WAAA,gBA2E9CW,EA1EM,IAAQ5B,mBAAIiB,OAAsB3C,SAAAA,EAF5BzC,eAE4ByC,KAAAA,WAAAA,KAAAA,aAAAA,EAClCuD,eAAA,EACyB,IAyE/BlG,OAzEGmG,KAAMF,CAAKrB,EAAAA,QAEIwB,KAAAA,KAwEhBL,EAzEEnB,KAAef,MAAGD,KAAAyC,UAAAJ,CAAA,CAAA,IA2EtBD,EAzEMX,QAAQhB,SAAIiB,GA0EhBE,EAzEGc,gBAAAC,EAAAR,EAAAQ,EAAA,CA0EL,CAAC,CAGP,CAGF,EAAG,CACDvF,IAzEE,wBA0EFb,MAzEOsD,WACL,IAKN+C,EAJMC,EAAYxB,CAAAA,UAAAA,SAAwB,YAAKxB,WAAc,iBAAA,eAAA,YAAA,YAAA,SAAA,UAAA,SA2EnDiD,EA1EN,IAAAC,mBAAAhB,OAAAC,SAAAa,EAFOrD,qBAEPf,KAAAoD,WAAApD,KAAAqD,aAAA,EA0EqCQ,eAAe,EAxEpDE,KAAAA,IAAAM,GAEJN,KAAAA,KADAI,EAAA5C,KAAAC,MAAAD,KAAAyC,UAAAK,CAAA,CAAA,IA2EUD,EAAWpB,QAAQ,SAAUkB,GAxEnCf,EAAAc,gBAAAC,EAAAC,EAAAD,EAAA,CACC,CAAA,CA4ED,CAGF,EAAG,CACDvF,IAzEIyB,oBA0EJtC,MAzEIqC,WACF,IAKNoE,EAJIC,EAAA,CAAA,YAAA,cAAA,WAAA,eAAA,YAAA,iBAAA,cAAA,UAAA,YAAA,eAAA,eAEJC,EADI,IAAAH,mBAAAhB,OAAAC,SAAAiB,EAFE,iBAEFxE,KAAAoD,WAAApD,KAAAqD,aAAA,EACJQ,eAAA,EACAE,KAAAA,IAAAU,GAEAV,KAAAA,KADAQ,EAAAhD,KAAAC,MAAAD,KAAAyC,UAAAS,CAAA,CAAA,IAEKD,EAAAxB,QAAA,SAAAkB,GACIf,EAAAc,gBAAyBC,EAAAK,EAAAL,EAAA,CACzB,CAAE,CA4EP,CAIF,EAzEE,CACAvF,IAAA,wBACAb,MAAC,WACF,IAAA4G,EAAAC,eAAAC,QAAA,cAAA,EAECzB,EAAmBc,gBAAa,aADpC,OAAAS,EACoCA,EAEpCpB,OAAAC,SAAAsB,IAFoC,CAIpC,CA6EE,EAzEE,CACAlG,IAAK0E,oBACPvF,MAAA,WACA,IAAOc,EAAauE,eAAkByB,QAAC,gBAAA,EACf,OAAjBE,EACLhH,EAAKmG,gBAAA,gBAAAa,CAAA,EAIY,MADXC,EAAchD,SAAAiD,SAAcC,MAAA,GAAA,EADzBC,KAEoCnB,KAAAA,IAAdoB,GAA6C,iBAAhBA,GAGtDxH,EADgByH,mBAAhBxB,EACYA,SACerC,qBAAzBmC,EACW,QACaQ,iBAAlBlB,EACNG,OACA,mBAAAgC,EACJ,aAEJA,EAEAR,eAAAU,QAAA,iBAAAC,CAAA,EACCnC,EAAAc,gBAAA,gBAAAqB,CAAA,IAEIX,eAAWY,QAAAA,iBAAwB,aAAA,EAClCC,EAAiBvB,gBAAA,gBAAoB,aAAA,EA4E3C,CACF,EAAG,CACDtF,IAzEI,aA0EJb,MAzEI,WA0EF,IAtEE2H,EADI,IAAAnB,mBAAAhB,OAAAC,SADAJ,CAAAA,kBADSH,YAEThD,KAAAoD,WAAApD,KAAAqD,aAAA,EACJQ,eAAA,EACFE,KAAAA,IAAA0B,GACFtC,EAAAc,gBAAA,YAAAwB,CAAA,CAEA,CACF,EAAG,CACD9G,IAAK,OACLb,MAAO,WACLkC,KAAI0F,gBAAe,EACnB1F,KAAIwE,sBAAuB,EAC3BxE,KAAI2F,kBAAgBrB,EACpBtE,KAAIyE,sBAAiBkB,EACrB3F,KAAIyE,kBAAmBV,EA0EvB/D,KAzEE4F,WAAIrB,CA0ER,CACF,GAAI,CAAC,CACH5F,IAAK,kBACLb,MAzEO,SAAC+H,EAAA/H,GACJiG,KAAAA,IAAA8B,GAEJC,OADEA,EAAA/D,SAAAgE,eAAAF,CAAA,KA2EIC,EAAQhI,MAAkBiG,KAAAA,IAAVjG,GAAiC,cAAVA,EAAwB,GAAKA,EAtE3E,CA0ED,EAzEEa,CA0EJ,EAAE,GAMEqH,gBA9EiB,aAyEjB,OAzEMtB,UA0ER5E,OAzEIC,QAAI2E,kBAIJ,WA0FJ,OAAO9F,aAhBP,SAzEEoH,EAAA/F,EAAAgG,GA0EA9H,gBAAgB6B,KAAMgG,CAAc,EAxEpChG,KAAAC,KAAAA,EACAD,KAAAkG,yBAAA,mBACDlG,KAAEmG,eAAA,mBACDxH,KAAKyH,kBAAmB,QACxBtI,KAAKuI,oBAAWC,iBA0EhBtG,KAzEEuG,kBAAmB5B,eA0ErB3E,KAzEEwG,qBAAyB,sBA0E3BxG,KAzEImD,+BAAiC8C,CA0EvC,EAnE8B,CAAA,CA0E5BtH,IAAK,kBACLb,MAAO,SAzEoB2I,GA2EzB,IApEIC,EAoEAC,EAzEErB,EAASsB,QAAG,gBAAM,EACb,OAAPD,GAOK,QAHLD,EAAAC,EAAA/F,cAAA,QAAAZ,KAAAoG,iBAAA,KA6EFM,EAzEE/B,YAAuB,GA0EzB+B,EAzEEvD,UAAiBc,OAAAA,KAAgBiC,wBAAiB,EACpDO,EAAAI,UAAAC,OAAA9G,KAAAqG,mBAAA,EACFI,EAAAI,UAAA1E,IAAAnC,KAAAuG,iBAAA,EACFE,EAAAtH,gBAAA,cAAA,EACCsH,EAAAM,WAAA,UAAAN,EAAAO,OACIL,EAAAE,UAAY1E,IAAAnC,KAAAmG,cAAA,EACDP,eAATa,EAAAO,OACDC,EAAAA,UAAiB9E,IAAAnC,KAAAmG,cAAW,CA6ElC,CAGF,EAzEE,CACDxH,IAAE,gBACDA,MAAK,SAAM8H,EAAAE,GACNO,EAAeP,EAAG/F,cAAA,OAAA,EACrB,OAAI6F,EAACvB,aAAgB,aAAC,EACjBK,EAAAA,aAAqB,aAAE,EAExB2B,EACCZ,EAAiBa,YAExB,EACA,CA8EF,EAAG,CACDxI,IAAK,qBACLb,MAzEI,SAAA2I,GACF,IAAAW,EAAA,EAAAC,UAAApK,QAAA8G,KAAAA,IAAAsD,UAAA,GAAAA,UAAA,GAAA,GAED,OADDZ,EAAAa,aAAA,sBAAA,EAEDb,EAAAc,aAAA,sBAAA,EAEMxH,EACTqH,EAAA,eAEA,mBACIpB,CA8EF,EAzEE,CACArH,IAAKyH,oBACLtI,MAAKuI,SAAsBI,GAC3B,IAAKF,EAAoB,gBA6EvB,OA3EEiB,EADChB,EAAAA,aAAAA,qBAAuB,EACvBP,EAAAA,aAAiCA,qBAAAA,EA2E7BuB,CAxEX,CA8EA,EAzEE7I,CACAb,IAAK,kBA0ELA,MAzEE,SAAA2I,GACA,IAAIE,EAAmB,EAAZF,UAAIG,QAAyB7C,KAAAA,IAAjBsD,UAAiB,GAAAA,UAAA,GAAA,KACpCV,EAAe,EAAAU,UAAApK,QAAA8G,KAAAA,IAAAsD,UAAA,GAAAA,UAAA,GAAA,GA0EnB,MAzEE,KAAAI,EACFA,EAEIf,EAAAA,SAAAA,UAAsB9F,EAAAA,SAAc8G,iBAAetB,EAAAA,SAAkBuB,UAAAlB,EAAAmB,SAAAC,SAAApB,EAAAmB,SAAAE,gBAAArB,EAAAmB,SAAAG,cA0EhE/H,KAAKgI,kBAAkBvB,CAAG,GAvE/BC,EAAAA,GACFA,IACAA,EAAAA,KAAeG,cAAiBJ,EAAKP,CAAAA,GAErCO,EAAII,aAAc,UAAKN,EACnBpH,KAAAA,mBAA+BsH,EAAAW,CAAA,EAGjCA,EAAY,cA0ElB,CAQF,EAzEEzI,CACAb,IAAK,oBA0ELA,MAzEMoJ,SAAoBtG,GACxB,IAAI6F,EAAiC,EAAhBY,UAAApK,QAAgB8G,KAAAA,IAAAsD,UAAA,GAAAA,UAAA,GAAA,GAErCV,EAAAF,EAAAG,QAAA,gBAAA,EACIM,EAAclH,KAAAiI,gBAAAxB,EAAAE,EAAAc,CAAA,EAElBf,EAAAC,EAAA/F,cAAA,QAAAZ,KAAAoG,iBAAA,EAOD,OANCM,EAASS,YAAAe,EACXxB,EAAAG,UAAA1E,IAAAnC,KAAAkG,wBAAA,EA0EES,EAAKE,UAAUC,OAAO9G,KAAKmG,eAAgBnG,KAAKmG,cAAc,EAxEhEM,EAAAI,UAAAC,OAAA9G,KAAAuG,kBAAA,QAAA,EACJE,EAAAI,UAAA1E,IAAAnC,KAAAqG,mBAAA,EACAI,EAAAjH,aAAA,eAAA,MAAA,EACK0I,CACDvJ,CA8EF,EAAG,CACDA,IAzEE,yBA0EFb,MAzEMsJ,SAAYX,GA0EhB,IAzEEE,EAAOS,EAAAA,QAAa,gBAAc,EACpCV,EAAAC,EAAA/F,cAAA,QAAAZ,KAAAoG,iBAAA,EACAM,EAAOS,YAAmB,GAC5BT,EAAAyB,UAAAnI,KAAAoG,kBA0EEO,EAAKE,UAAUC,OAAO9G,KAAKmG,eAAgBnG,KAAKmG,cAAc,EAxEhEM,EAAAI,UAAAC,OAAA9G,KAAAuG,kBAAAvG,KAAAqG,oBAAArG,KAAAkG,wBAAA,EACJO,EAAAtH,gBAAA,cAAA,CACA,CA+EE,EAAG,CACDR,IAzEE,8BA0EFb,MAzEE,SAAuBsK,EAAA3B,GACzB2B,EA0EIpI,KAAKqI,gBAAgB5B,CAAG,EAtEhC,SAAAA,EAAAc,aAAA,eAAA,GAGIzJ,KAAOwK,kBAASL,CAAAA,CA0EhB,CAOF,EAAG,CACDtJ,IAzEE,sBA0EFb,MAzEM6I,SAAMF,EAAA8B,GA0EV,IAzEEnB,EAAU,CAAA,EAOd,OANEX,EAAA+B,cAAA,IAAA,CAAA/B,EAAAa,aAAA,UAAA,GAAAb,EAAAa,aAAA,UAAA,GAAA,KAAAb,EAAAgC,QAAAhC,EAAAiC,eAAA5K,SACAsK,EAAQd,CAAAA,GAENiB,GACFvI,KAAA2I,4BAAAP,EAAA3B,CAAA,EAEF2B,CA0EA,CAlEF,EAAG,CACDzJ,IAAK,yBACLb,MAAO,SAAgC2I,EAAA8B,GACrC,IAAId,EAAAA,CAAAA,EAQJd,OAPA,OAAAF,EAAAmC,cAAAnC,CAAAA,EAAA+B,cAAA,IACAxI,KAAI2G,gBAAmBF,CAAA,EACvB2B,EAAIF,CAAAA,GAEAxB,GACJA,KAAAA,4BAA6BwB,EAAYzB,CAAA,EAEpCI,CA0EP,CAjEJ,EAAA,CACGlI,IAAE,wBACDA,MAAK,WACLb,KAAOmC,KAAAQ,iBAASoI,KAAAA,oBAA4B,EAAA7F,QAAA,SAAAyD,GAC1CA,EAAIE,UAAWC,IAAAA,QAAQ,CACvB,CAAA,EACAF,KAAAA,+BAA+BoC,UAAA,EA0EjC,CAKF,EAAG,CAxEDnK,IAAA,yBACJb,MAAA,SAAA2I,GACA,IAAAsC,EAAAtC,EAAAG,QAAA,gBAAA,EACAoC,EAAA,uNA8EM,OA7EDD,IACEC,EAAED,EAA6BnI,cAAA,4BAAA,EAAAkI,UAClChL,KAAOmI,+BAAS0C,UAAmCK,GAE1CX,CA0ET,CAKF,EAAG,CAxED1J,IAAA,0BA0EAb,MAAO,SAAiC2I,GAxExC,IACJwC,EAAA,6BAKItK,OANA8H,EAAAG,QAAA,gBAAA,IAGJqC,EAAAjJ,KAAAsI,kBAAA7B,EAAA,EAAA,GAEKzG,KAAAiG,+BAAA6C,UAAA,GACIG,CACLnL,CAgFF,EAAG,CACDa,IAzEE,2BACFb,MAAA,WA0EE,IAhEIsK,EAgEAc,EAAyBlJ,KAAKC,KAAKW,cAAc,qCAAqC,EAxE5FuI,EAAA,GACJ,OAAAD,GAOUd,EAAec,EAAAtI,cAAA,6BAAA,EACf6F,EAAImC,EAA6BJ,cAAiB,qBAAA,EAGtDY,GAaDpJ,KAAAqI,gBAAAgB,CAAA,EAC2B,QAAvBD,EAAAtL,MAEM,CACP2I,QAAII,EAFR/I,KAAOmI,+BAAiC6C,UAAA,IAGpCQ,QAAAH,CACF,EAKN,CACKf,QAAA,CAAA,EACEkB,QAHPH,EAAAnJ,KAAAuJ,uBAAAH,CAAA,CAIItL,IAzBS6K,EAAAA,aAAAA,UAAmC,GAC1CU,EAAAG,gBAAA,UAAA,EA4ES,CAxEXpB,QAAA,CAAA,EACJkB,QAHIH,EAAAnJ,KAAAyJ,wBAAAJ,CAAA,CAIJ,IAlBA,CACAjB,QAAA,EAFApI,KAAAiG,+BAAA6C,UAAA,IAGKQ,QAAAH,CACE,CA2GH,CA9DJ,EAAA,CACGxK,IAAE,qBACDA,MAAK,SAAyB+K,GAC9B5L,IAAK6L,EAAE3J,KACD+I,EAAa,CAAA,EACbE,EAAAA,OAWVW,GARM5J,KAAAC,KAAAQ,iBAAA,QAAA,EAAAuC,QAAA,SAAAyD,GACKR,EAAAA,oBAAAA,EAA+B6C,CAAAA,CAAAA,IACpCe,EAAOZ,CAAAA,EACTa,GAAAH,EAAA1B,gBAAAxB,CAAA,EAAA,OAEA,CAAA,EAGJzG,KAAA+J,yBAAA,GAiBM,OAhBNH,EAAAxB,UACKyB,EAAA,CAAA,EACEC,GAAEF,EAA0BN,QAAA,QAI7BtJ,KAAKkJ,KAAAA,iBAAsB,8EAAE,EAAAlG,QAAA,SAAAyD,GACtBR,EAAAA,uBAA8BQ,EAACqC,CAAAA,CAAAA,IACpCe,EAAO,CAAA,EACLzB,GAAauB,EAAA1B,gBAAAxB,CAAA,EAAA,OA2EjB,CAAC,EAxED,CAAAoD,GAAAH,GAEAM,MAAIX,2CAAsCzI,CAAc,EAExDiJ,CA0EF,CACF,EAAE,CACJ,EAAE,GAKEI,iBA5EI,aAyEJ,OAzEIlK,UA0END,OAzEMqJ,QAAAA,gBAEgB,WAgFtB,OAzEIvK,aAmEJ,SAzEQ0K,EAASH,GA0EfhL,gBAzEK6B,KAAAiK,CAAA,EA0ELjK,KAzEEC,KAAAA,CA0EJ,EAtEkC,CAAA,CA0EhCtB,IAzEI,sBA0EJb,MAzEI,SAAOoM,EAAAC,GAOThB,OAmEAe,EAzEW/K,gBAAM,UAAA,EA0EjB+K,EAzEW/K,gBAAEgK,KAAAA,EA0Ebe,EAzEG/K,gBAAA,QAAA,EACH+K,EAAA/K,gBAAA,MAAA,EA0EA+K,EAAY/K,gBAAgB,SAAS,EAxErCgL,EAAAhL,gBAAA,MAAA,EACAgK,CAAAA,CA0EF,CAGF,EAAG,CAxEDxK,IAAA,iBA0EAb,MAAO,SAAwBkE,EAAKkI,EAAaC,GAxEjDD,EAAAE,GAAApI,EAAAqI,GACJH,EAAApM,MAAAkE,EAAAzB,MACA2J,EAAAI,QAAA,CAAA,IAAAtI,EAAAuI,WA0EMJ,EAAiB3K,aAAa,MAAOwC,EAAIqI,EAAE,EAxE7CF,EAAAK,UAAAxI,EAAA1B,IACJ,CACA,EAAA,CACA3B,IAAA,mBACAb,MAAA,WACK,IAAA2M,EAAAzK,KACI0K,EAAA1K,KAAoBC,KAAAQ,iBAAA,eAAA,EAClBiK,GAGLA,EAAIZ,QAAc,SAAMa,GAExB,IAmBIb,EAFFc,EAjBFC,EAAAF,EAAA/D,QAAA,UAAA,EACK3G,EAAKQ,EAAAA,cAA2BuC,mBAAqB,EACpD8H,EAAQC,EAAAA,cAAyB,OAAO,EAI5CC,IA0EEC,EAAYD,EAAWnO,KAxE3BqO,EAAAT,EAAAxK,KAAAW,cAAA,SAAAqK,CAAA,GAIEnB,IAMED,EADUsB,KAAAA,MAAAA,EAAuB1E,SAAU,KAE3CqD,EAAW,CAAA,EACbc,EAAA5H,QAAA,SAAAhB,GACA,IAIFoJ,EACOvB,EACTwB,EANIC,GACGzB,EAAWY,EAAIf,oBAAWsB,EAAAF,CAAA,EAC7BL,EAAAc,eAAAvJ,EAAAgJ,EAAAF,CAAA,IAGKjB,GADPuB,EAAAT,EAAAa,UAAA,CAAA,CAAA,GACkB5K,cAAA,mBAAA,EACpByK,EAAAD,EAAAxK,cAAA,OAAA,EACC6J,EAAAc,eAAAvJ,EAAAyJ,EAAAJ,CAAA,EACFR,EAAAa,OAAAN,CAAA,EAEC,CAAOrL,EAEX,CAAA,CACIkK,CACF,EAAA,CA0EF,EAAE,GAlEEnM,eALF,aAAA,OAAAiC,UA0EAD,OAAOC,QAAUkK,iBArEC0B,WA8ElB,OAzEIzB,aAqEJ,SAzEIA,EAAY/K,GA0EdhB,gBAzEcgB,KAAAA,CAAqB,EA0EnCa,KAzEEkK,KAAAA,CA0EJ,EAxEgC,CAAA,CA0E9BvL,IAzEEwL,cA0EFrM,MAzEE,WACF,IAGC8N,EAHD,OAAA5L,KAAAC,MAAAD,KAAAC,KAAA4L,UAGCD,EAAA5L,KAAAC,KAAA4L,QAAAC,UAI8B,EAALvL,EAAKkD,QAAA,KAAA,EAAA,MAAA,EAAAmI,EAAAnI,QAAA,KAAA,EAAA,MAAAmI,EAmEpB,EASX,CACF,EAzEE,CACDjN,IAAE,gBACDA,MAAK,SAAkBoN,GACvBjO,OAAOkC,KAAAC,OASH+L,GAJFD,GAAA,IAAAE,gBAIyBrL,eAAc,oBAAoB,IACxC+J,EAAM/J,WAAcoL,EAAQE,WAT3CzB,EAmFN,CAGF,EAAG,CACD9L,IAAK,iBACLb,MAzEMoN,SAAsBjL,GA0E1B,MAzEED,CAAAA,CAAAA,KAAAC,MA+EKkM,CAAAA,EA1ELJ,GAAA,IAAAE,gBA0EuBG,iBAAiB,eAAe,CAC3D,CACF,EAAE,CACJ,EAAE,GASEC,iBAhFgBrJ,aAyEhB,OAzEM4H,UA0ER9K,OAAOC,QAzEOuL,eAMED,WA+EhB,OAzEMzM,aAoEN,SAASyN,EAzEUd,EAAkBe,GA0EnCnO,gBAzEU0M,KAAYa,CAAON,EA0E7BpL,KAAKuM,YAzEGA,EA0ERvM,KAAKsM,WAzEGA,GAAA,CAAA,CA0EV,EAxEM,CAAA,CACJ3N,IAAA,qBACAb,MAAC,WAEL,IACI0O,EAAmBxM,KAAWuM,YAAEtM,KAAAQ,iBAAA,qDAAA,EAC3BV,EAAUkK,SAAerJ,cAAA,iBAAA,EAClC4L,EAAAvP,QAHA,GAGAwP,GA0EQA,EAAe5F,UAAU6F,OAAO,SAAU,CAAA,CAAI,CAvElDC,CA+EF,EAzEEhO,CACAb,IAAK,aA0ELA,MAzEO,WA0EL,IAzEE8O,EAAS5M,KACX6M,EAAA,IAAAC,SAAA9M,KAAAuM,YAAAtM,IAAA,EACI2L,EAAAA,KAAYW,YAAaV,KAAAA,aAAgB,QAAA,EA0EzCkB,EAAW,GAxEf,IAAAC,cAAA,CACAC,eAAA,IACA,CAAA,EACAC,KAAAC,EAAAN,CAAA,EAAAO,KAAA,SAAAC,GACA,GAAAA,EAAAC,QAgBF,CAEA,IAGOC,GAAAA,EAHPF,EAAAG,eAIkBlK,OAAAC,SAAAkK,OAAA,YAEhBC,QAAAC,IAAA,CAAAC,eAAAC,oBAAAjB,EAAAL,YAAAtM,KAAAoN,CAAA,EAAAS,gBAAAC,mBAAAV,CAAA,EAAAW,iBAAAC,oBAAArB,EAAAL,YAAAtM,KAAAoN,CAAA,EAAA,EAAAa,MAAA,WA0EM5K,OAAOC,SAAS4K,QAAQZ,CAAY,CAxE1C,CAAA,EAAAa,QAAA,WACIjC,OAAAA,SAAiBgC,QAAGpC,CAAkB,CAC1C,CAAA,CACF,KA7BE,CACF,GAAAsB,EAAAgB,OACC,IAAA,IAAAC,EAAA,EAAAC,EAAA5Q,OAAA6Q,QAAAnB,EAAAgB,MAAA,EAAAC,EAAAC,EAAAtR,OAAAqR,CAAA,GAAA,CACI,IAAAG,EAAe1S,eAAAwS,EAAAD,GAAA,CAAA,EACb3P,EAAS+P,EAAc3C,GAClB9L,EAAMwO,EAAA,GACLhI,EAAA1E,SAAA4M,kBAAAhQ,CAAA,EACXiO,EAAAL,YAAAqC,sBAAAC,eAAAvG,kBAAA7B,EAAA,GAAA3I,CAAA,EA0EQiP,GAAY,KAAOjP,CAxE3B,CA2ES8O,EAAON,YAxEhBM,EAAAkC,mBAAA,EAEI9C,EAAAA,YAAa+C,YAAeC,SAAc,CAAA,EAC9ChF,MAAOgC,iCAAsCA,CAAAA,CAC/C,CAcC,OAAAqB,CACF,CAAA,EAAAa,MAAA,WACH,IAAAe,EAAAlN,SAAAgE,eAAA,UAAA,EAAAhE,SAAAgE,eAAA,UAAA,EAAAoB,YAAA,KACuB,OAAZpH,GAAyB,KAAbkP,EACdlP,OAAOwD,SAAGoJ,QAAasC,CAAA,GAEhCjF,MAAA,4GAAA,EACA4C,EAAAL,YAAA2C,YAAAC,SAAA,CAAA,EAEA,CAAA,CACI9C,CACF,EAAA,CA0EF,EAAE,GAeE+C,0BAtFkB9C,aAAlB,OAAKA,UACPxM,OAAAC,QAAAsM,iBAqF0C,WA6B1C,OAAOzN,aA5BP,SAzEEwQ,EAAAnP,EAAAiB,EAAAC,EAAAC,EAAAiO,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAd,EAAAe,EAAA5O,EAAA6O,EAAAC,EAAAC,EAAA9J,EAAA+J,EAAAC,EAAAC,GACJ/R,gBAAA6B,KAAAoP,CAAA,EACApP,KAAAC,KAAAA,EACAD,KAAAkB,cAAAA,EACGlB,KAAEmB,oBAAAA,EACDxC,KAAKyC,cAAYA,EACjBtD,KAAKuR,UAAWc,EA0EhBnQ,KAzEEsP,UAAaA,EA0EftP,KAzEEuP,UAAeA,EA0EjBvP,KAzEEwP,iBAAkBjD,EA0EpBvM,KAzEEyP,qBAAiBA,EA0EnBzP,KAzEE0P,eAAkB1C,EA0EpBhN,KAzEIiN,WAAc0C,EA0ElB3P,KAzEI6O,eAAAA,EA0EJ7O,KAzEEoQ,gBAAqBvD,EA0EvB7M,KAzEIgB,aAAUsM,EA0EdtN,KAAK6P,6BAzEkBA,EA0EvB7P,KAAK8P,2BAzEoBvB,EA0EzBvO,KAAK+P,+BAzE8BhU,EA0EnCiE,KAAKiG,+BAzEiCA,EA0EtCjG,KAAKgQ,qBAzEevB,EA0EpBzO,KAAKiQ,iBAzEelO,EA0EpB/B,KAAKkQ,aAzEY3D,CA0EnB,EApEQ,CAAA,CA0EN5N,IAAK,OACLb,MAzEMkM,WA0EJ,IAzEGqG,EAAMrQ,KA0ETA,KAzEI0P,eAAAY,aAAAtQ,KAAAsP,UAAA,CAAA,CAAA,EA0EJtP,KAzEI0P,eAAgBY,aAAQ9C,KAAAA,UAAY,CAAA,CAAA,EA4ExCxN,KAzEI2P,WAAKpC,oBAAcvN,KAAAqP,SAAA,EA0EvBrP,KAAK0P,eAzEahP,YAAU6C,KAASkK,SAAS,EA4E9CzN,KAAK4P,gBAzEgBW,iBAAShD,EA4E9BvN,KAzEKgB,aAACsB,oBAAA,EA0ENtC,KAzEEkQ,aAAAzQ,iBAAA,QAAA,SAAAC,GACA2Q,EAAOhD,YAAI3N,CAAA,CACb,CAAC,EA6EDM,KAzEGqP,UAAM5P,iBAAA,SAAA,WA0EP4Q,EAzEOG,gBAAC,CA0EV,CAAC,EAtEHxQ,KAAAsP,UAAA7P,iBAAA,SAAA,WACC4Q,EAAAI,gBAAA,CACF,CAAA,EAGD3Q,KAAOC,UAAUsM,iBAAe,SAAA,WAClCgE,EAAAK,gBAAA,CACA,CAAA,EAGA1Q,KAAAC,KAAAQ,iBAAA,UAAAT,KAAAwP,iBAAA,IAAA,EACAxM,QAAA,SAAAkH,GACAA,EAAAzK,iBAAA,SAAA,SAAAC,GACA2Q,EAAAM,qBAAAjR,CAAA,CACA,CAAA,CACA,CAAA,EAKIM,KAAKC,KAAOA,iBAAI,QAAA,EAAA+C,QAAA,SAAAyD,GACZA,EAACvF,iBAAgBA,OAAAA,WAChBC,EAAAA,eAAsBA,oBAAmBsF,EAAA,CAAA,CAAA,CAC1C,CAACrF,CACL,CAAA,EAKApB,KAAK0P,KAAAA,iBAAiBA,sDAAc,EAAA1M,QAAA,SAAAyD,GAChCA,EAACkJ,iBAAaA,OAAU,WACvBd,EAAAA,eAAiBA,uBAAcpI,EAAA,CAAA,CAAA,CAChC,CAACmJ,CACL,CAAA,EAGA7N,SAAKgO,iBAAAA,mCAAiCA,EAAAA,QAA8B,SAAA7F,GAChEA,EAACjE,iBAAAA,QAAiCA,WACjC+J,EAAAA,MAAAA,CACD,CAACC,CACL,CAAA,EACFjQ,KAAAiQ,iBAAAW,KAAA,CA0EE,CAKF,EAzEEjS,CACAb,IAAK,kBA0ELA,MAzEMuS,WAEJrQ,KAAK0P,eAAeY,aAAatQ,KAAKuP,UAAW,CAAA,CAAI,EA0ErDvP,KAAK0P,eAAeY,aAAatQ,KAAKuP,UAAW,CAAA,CAAI,EAxErDvP,KAAA6O,eAAAhG,uBAAA7I,KAAAsP,SAAA,EACAtP,KAAK2P,eAAWrN,uBAAyB+M,KAAAA,SAAU,EAC/CrP,KAAC0P,eAAehP,oBAAiB2O,KAAUA,UAAA,CAAA,CAAA,IAE/CrP,KAAA2P,WAAArN,oBAAAtC,KAAAsP,SAAA,GACItP,KAAC4P,gBAAgBW,EAErBvQ,KAAA0P,eAAAhP,YAAAV,KAAAsP,SAAA,GAEAtP,KAAKkQ,eAAazQ,sBAAwB,CA0E5C,CACF,EAAG,CACDd,IAAK,kBACLb,MAzEE,WACAkC,KAAA6O,eAAAgC,sBAAA,EACI7Q,KAACqP,eAAU5P,oBAA2BO,KAAAsP,UAAY,CAAA,CAAA,GAEpDtP,KAAA2P,WAAArN,oBAAAtC,KAAAuP,SAAA,GA0EEvP,KAAK0Q,gBAAgB,EAvEzB1Q,KAAKsP,eAAU7P,YAAiBO,KAAAuP,SAAU,GAExCvP,KAAA0P,eAAAY,aAAAtQ,KAAAuP,UAAA,CAAA,CAAA,CA2EJ,CACF,EAAG,CACD5Q,IAzEI0R,kBA0EJvS,MAzEI,WA0EFkC,KAAK6O,eAAegC,sBAAsB,EAxE1C7Q,KAAA6O,eAAA9D,oBAAA/K,KAAAuP,UAAA,CAAA,CAAA,GAEAuB,KAAAA,iBAAwB,CA2E1B,CACF,EAAG,CACDnS,IAzEI,uBA0EJb,MAAO,SAA8B4B,GAvEzC,MAAA,QAAAA,EAAAqR,OAAAjT,OAAA4B,EAAAqR,OAAAzG,SAEMtK,KAAKC,qBAAsB4G,UAAU7D,OAAQ,QAAA,EACvCvD,CAAAA,IA2ENO,KAzEIyP,qBAAA5I,UAAA1E,IAAA,QAAA,EACF,CAAA,EA0EJ,CACF,EAAG,CAxELxD,IAAA,cACAb,MAAA,SAAA4B,GACMA,EAAKO,eAAKQ,EA8EQ,EAJlBT,KAzEKkQ,aAACzQ,SAAuB,CAAA,KAG3BO,KAAA6O,eAAAmC,mBAAA,CAAA,CAAA,EAEFhR,KAAAkQ,aAAAf,SAAA,CAAA,EAKE,IAAA9C,gBAAArM,KAAA,CAAA,CAAA,EACGiQ,WAAsB,CAC7B,CAKF,EAAG,CACDtR,IAAK,0BACLb,MAAO,SAA2BmT,GAChC,IAAAC,EAAAlR,KAAAoB,cAAAtD,MACIqT,EAAgBb,EAAiBxN,OAACwM,SAAgBtN,GACtD,OAAK0N,EAAAA,QAAeY,CACpB,CAAA,EACA,OAAoBzH,EAAhBsI,EAAelU,OACV4R,EAAe9D,GAAAA,aAElB,EA0ER,CACF,EAAG,CACDpM,IAzEI,wBA0EJb,MAzEE,SAAAsT,GACA,IAAIC,EAACxC,KACPyC,EAAAtR,KAAAC,KAAAQ,iBAAA,UAAA2Q,EAAA,IAAA,EACC,EAAAE,EAAArU,SACEqU,EAAE,GAAiB1K,QAAA,aAAA,EAAAC,UAAAC,OAAA,QAAA,EACtBhJ,EAAgB2S,QAAAA,SAAkB9F,GAC5BA,EAACkE,QAAegC,CAAAA,EAChBlG,EAAKkE,iBAAe9D,QAAAA,WACtBsG,EAAAxC,eAAA9E,yBAAA,CACA,CAAA,CA0EA,CAAC,EAEL,CACF,EAAG,CACDpL,IAzEI,mBA0EJb,MAzEE,WAED,IAAAmT,EAAAxO,iBAAA8O,mBAAAvR,KAAA2P,WAAArO,UAAA,EACD3C,GAAK8D,iBAAiB+O,uBAAAxR,KAAAoB,cAAAtD,MAAAmT,CAAA,EAEpB,OADcP,KAAAA,wBAAkBO,CAAA,GAE5B,IAAKpC,aAEH7O,KAACyR,sBAAkBzR,KAAA6P,4BAAA,EACzB,MACF,IAAA,WAEK7P,KAAA0R,sBAAsB1R,KAAA8P,0BAAA,EACpB,MACL,IAAA,cAEE9P,KAAA0R,sBAAA1R,KAAA+P,8BAAA,CAIF,CAEF,CACF,EAAC,CA0EH,EAAE,GAxEEjS,gCAAmC,WA6ErC,OAzEIc,aAsEJ,SAzES+S,IA0EPxT,gBAzEO+R,KAAaf,CAAe,CA0ErC,EAxEI,CAAA,CA0EFxQ,IAzEE,UA0EFb,MAzEM8T,SAAcC,GA2ElB,OADA7R,KAzEEC,KAAKiQ,EACLlQ,IA0EJ,CACF,EAAG,CACDrB,IAzEE,mBA0EFb,MAzEMgU,SAAsBzF,GAE5B,OADEyF,KAAAA,cAAgB3B,EAClBnQ,IA0EA,CACF,EAzEE,CACJrB,IAAA,yBACAb,MAAA,SAAAqD,GAEIxC,OADCqB,KAAAmB,oBAAAA,EACInB,IACLlC,CA0EF,EAAG,CACDa,IAzEE,mBA0EFb,MAzEI,SAAqBoT,GAEvB,OADAlR,KAAEoB,cAAAA,EACE+P,IA0EN,CACF,EAAG,CACDxS,IAzEE,kBACFb,MAAA,WACC,IAAAiU,EAAA,CAAA/R,KAAAkB,cAAAlB,KAAAmB,oBAAAnB,KAAAoB,eAiFC,MAhF0B,aAAvB,OAAA4Q,mBAAuB,CAAA,IAAAA,oBAC5BlU,EAAgB4T,CAAAA,KAAAA,oBAAsBN,KAAclQ,cAAAlB,KAAAoB,gBAElDpB,KAAIsR,UAAAA,EAA2B,GAC/BtR,KAAIsR,UAAAA,EAA0B,GA0E9BtR,KAzEEsR,UAAeS,EAAY,GAEzBpH,IA0EN,CACF,EAAG,CACDhM,IAAK,sBACLb,MAzEM,SAAA0R,GAEN,OADExP,KAAAwP,iBAAAA,EACFxP,IACD,CA0ED,EAzEErB,CACAb,IAAK,0BA0ELA,MAzEE,SAAA2R,GAEA,OADAzP,KAAIiR,qBAAkBxO,EAClBA,IA0EN,CACF,EAAG,CACD9D,IAAK,oBACLb,MAAO,SAzEC4R,GA+EN,OALIA,EACF1P,KAzEI0P,eAAAA,EA4EN1P,KAAK0P,eAzEMgC,IAAAA,wBACL1R,IA0ER,CACF,EAAG,CACDrB,IAAK,gBACLb,MAAO,SAzEC6R,GAMP,OALKA,EA0EF3P,KAzEE2P,WAAAA,EAGN3P,KAAA2P,WAAA,IAAA1O,+BAAAjB,KAAAC,KAAAD,KAAAkB,cAAAlB,KAAAmB,oBAAAnB,KAAAoB,aAAA,EACCpB,IACF,CACH,EAAI2R,CACFhT,IAAA,oBACER,MAAAA,SAAsBwT,EAAAA,GAMpB,OALJ9C,EACA7O,KAAOpB,eAAa+S,EAGhB3R,KAAKC,eAAO4R,IAAY7L,eAAAhG,KAAAC,KAAAgG,CAAA,EACjBjG,IACT,CACF,EAAG,CACDrB,IAAK,qBACLb,MAAO,SAA0BoD,GAMjCpD,OALM8R,EACJ5P,KAAO4P,gBAAIA,EAGbjR,KAAKiR,gBAAA,IAAwB3F,gBAAAjK,KAAAC,IAAA,EACtBD,IA0EP,CACF,EAAG,CAxEDrB,IAAA,kBACDb,MAAE,SAAAkD,GAMA,OALIA,EACLlD,KAAOkD,aAASiR,EAGhBjS,KAAAgB,aAAA,IAAAnB,aAAAG,KAAAC,IAAA,EACCD,IACDrB,CA0EF,EAzEEb,CA0EAa,IAzEE,kCA0EFb,MAzEM,SAAwC+R,GAE5C,OAwEA7P,KAzEE+R,6BAAsB5Q,EACxBnB,IA0EF,CACF,EAAG,CACDrB,IAzEE,gCA0EFb,MAAO,SAAuCgS,GAvE9C,OADE9P,KAAA8P,2BAAWA,EACb9P,IACD,CA0ED,EAzEErB,CACAb,IAAK,oCA0ELA,MAzEO0R,SAAmCO,GAE1C,OADE/P,KAAA+P,+BAAWA,EACb/P,IACD,CA0ED,EAzEErB,CACAb,IAAK,oCA0ELA,MAzEO2R,SAA2CxJ,GAElD,OADEjG,KAAAiG,+BAAWA,EACbjG,IACD,CA0ED,EAzEErB,CACAb,IAAK,0BA0ELA,MAzEM4R,SAAgBM,GA2EpB,OADAhQ,KAzEEgQ,qBAAsBN,EACtB1P,IA0EJ,CACF,EAAG,CACDrB,IAzEE,sBACFb,MAAA,SAAAmS,GA+EE,OA9EDA,EACEjQ,KAAEiQ,iBAAeA,EA4ElBjQ,KAzEEiQ,iBAAkBN,IAAAA,iBAClB3P,IA0EJ,CACF,EAAG,CACDrB,IAzEE,kBACFb,MAAA,SAAAoS,GAEAvR,OADCqB,KAAAkQ,aAAAA,EACIlQ,IACLlC,CA0EF,EAAG,CACDa,IAzEI,QA0EJb,MAzEI,WACF,OAAA,IAAAsR,yBAAApP,KAAAC,KAAAD,KAAAkB,cAAAlB,KAAAmB,oBAAAnB,KAAAoB,cAAApB,KAAAqP,UAAArP,KAAAsP,UAAAtP,KAAAuP,UAAAvP,KAAAwP,iBAAAxP,KAAAyP,qBAAAzP,KAAA0P,eAAA1P,KAAA2P,WAAA3P,KAAA6O,eAAA7O,KAAA4P,gBAAA5P,KAAAgB,aAAAhB,KAAA6P,6BAAA7P,KAAA8P,2BAAA9P,KAAA+P,+BAAA/P,KAAAiG,+BAAAjG,KAAAgQ,qBAAAhQ,KAAAiQ,iBAAAjQ,KAAAkQ,YAAA,CA0EF,CACF,EAAE,CACJ,EAAE,EAmBEgC,SA1FK,aAALvT,OAAKoB,UA0EPD,OAzEOC,QAAE,CAASoS,yBAAmBvC,kCA2EvCtM,OAAO7D,iBAzEMmQ,OAAkBA,WA0E7B,IArEE1O,EACCC,EACDxC,EACAb,EACEoS,EAiEAkC,EAzEarQ,SAAAgE,eAAA,qBAAA,EACbqM,IAGFlR,EAAAkR,EAAAxR,cAAA,aAAA,EACCO,EAAAiR,EAAAxR,cAAA,mBAAA,EACDjC,EAAKyT,EAAiBxR,cAAA,cAAA,EACtB9C,EAAgCkD,EAAcJ,cAAA,oCAAA,EAC5CsP,EAAIlP,EAAcJ,cAAA,uBAAA,GACII,IAAAA,iCAAYqR,QAAAD,CAAA,EAAAE,iBAAApR,CAAA,EAAAqR,uBAAApR,CAAA,EAAA8Q,iBAAA7Q,CAAA,EAAAoR,gBAAA,EA0ErCC,oBAzEgB,UAAA,EAAAC,wBAAAN,EAAAxR,cAAA,oBAAA,CAAA,EAAA+R,kBAAA,IAAA1T,uBAAA,EAAA2T,cAAA,IAAA3R,+BAAAmR,EAAAlR,EAAAC,EAAAC,EAAAC,yBAAA,CAAA,EAAAwR,kBAAA,IAAA7M,eAAAoM,EAAAnM,CAAA,CAAA,EAAAkM,mBAAA,IAAAlI,gBAAAmI,CAAA,CAAA,EAAAU,gBAAA,IAAAjT,aAAAuS,CAAA,CAAA,EAAAW,gCAAA,qBAAA,EAAAC,8BAAA,mBAAA,EAAAC,kCAAA,uBAAA,EAAAC,kCAAAjN,CAAA,EAAAkN,wBAAAf,EAAAxR,cAAA,sBAAA,CAAA,EAAAwS,oBAAA,IAAAjQ,gBAAA,EAAAkQ,gBAAAnD,CAAA,EAAAoD,MAAA,EACb1C,KAAA,EA0EN,CAAC,EAxEgB,WA8Ef,OAzEIhS,aAqEJ,SAzEEsT,EAAAqB,GACDpV,gBAAE6B,KAAAkS,CAAA,EACDvT,KAAK6U,SAAAzR,SAAAtB,iBAAiC8S,CAAA,CA0ExC,EAxES1D,CAAAA,CA0EPlR,IAzEE,OACFb,MAAA,WACC,IAAA2V,EAAAzT,KACI,IAAAA,KAAAwT,SAAAvW,QAGH+C,KAAAwT,SAAWxQ,QAAA,SAAA0Q,GACbA,EAAA9M,QAAA,kBAAA,EAAAC,UAAA1E,IAAA,aAAA,EACC,CAAA,QAAA,aAAAa,QAAA,SAAA/G,GACIyX,EAAAjU,iBAAAxD,EAAA,WACEwX,EAAAE,YAASV,EAAAA,kBAAkClD,CAC5C,CAACA,CACL,CAAA,EACF,CAAA,OAAA,YAAA/M,QAAA,SAAA/G,GACCyX,EAAAjU,iBAAAxD,EAAA,WACIwX,EAAAG,YAAAF,EAAAG,kBAAmC,CACnC,CAAE,CACL,CAAA,EACAH,EAAOjU,iBAAI,UAAA,SAAAxD,GACb,WAAAA,EAAA0C,KACC8U,EAAAG,YAAAF,EAAAG,kBAAA,CAED/V,CAAK,CACH,CAAA,CA0EF,CAGF,EAzEEa,CACAb,IAAK,kBA0ELA,MAzEMmS,SAAkB6D,GA0EtB,IAvEAC,EAFO9D,EAAmBA,sBAAgB,EAE1C+D,IADS,IAELC,EAAoB,CAAAF,EACxBA,GACFD,EAAAjN,UAAAC,OAAA,wBAAA,EACCgN,EAAAjN,UAAA1E,IAAA,qBAAA,GACI8R,IACLnW,EAAO+I,UAASwM,OAAAA,qBAA8B,EAC5CS,EAAK5D,UAAeA,IAAAA,wBAAY,EAElC,CA4EF,EAzEEpS,CA0EAa,IAzEE,cACFb,MAAA,SAAAgW,GACC,UACFA,EAAAI,MAAAC,UAGDrU,EAAOC,MAAWqP,QAJf,QAKLpP,KAAAoU,gBAAAN,CAAA,EACMA,EAACrU,aAAiB,gBAAoB,MAAA,EAC1C,CAGA,EAAA,CACAd,IAAIuC,cACJpD,MAAIqD,SAAsBiR,GACtBhR,EAAAA,MAAa+S,QAAG/B,OAChBnM,EAAAA,aAAAA,gBAAiCmM,OAAAA,CACrC,CACA,EAAA,CA0EF,EA1E6N,GA+FzNiC,uBApBJ/Q,OAzEEgR,iBAAAA,OAA8B,WAC9BvS,SAAAnB,cAAA,aAAA,GACY,IAAAsR,QAAa,iBAAY,EAC5BA,KAAAA,CA2EX,CAAC,EA1DS,WAqGR,OAzEItT,aA8CJ,SAzEOyV,EAAoBrR,EAAQ9B,EAAaC,EAAAC,EAAAmT,EAAAC,EAAAtF,EAAAM,EAAAC,EAAAC,EAAAC,EAAAd,EAAAe,EAAA5O,EAAA6O,EAAAC,EAAAC,EAAA9J,EAAA+J,EAAAC,GA0E9C9R,gBAzEcsB,KAAAA,CAAoB,EA0ElCO,KAAKC,KAzEGwT,EA0ERzT,KAAKkB,cAzEGA,EA0ERlB,KAzEKmB,oBAACA,EA0ENnB,KAzEI0T,cAAQjU,EA0EZO,KAAKuU,cAzEeA,EA0EpBvU,KAAKwU,YAzEUZ,EA0Ef5T,KAAKkP,YAzECA,EA0ENlP,KAzEKwP,iBAACA,EA0ENxP,KAzEIyP,qBAAAA,EACJzP,KAAA0P,eAAAA,EA0EA1P,KAAK2P,WAAaA,EAxElB3P,KAAA6O,eAAAA,EACD7O,KAAE4P,gBAAAA,EACDjR,KAAKqC,aAAAA,EACLlD,KAAK+R,6BAA2BiE,EA0EhC9T,KAzEE8P,2BAA0B2E,EA0E5BzU,KAzEE+P,+BAAeA,EA0EjB/P,KAzEEiG,+BAAoCA,EA0EtCjG,KAzEEgQ,qBAAyB+D,EA0E3B/T,KAzEEiQ,iBAAoBA,CA0ExB,EApEI,CAAA,CACFtR,IAAA,OA0EAb,MAAO,WAxEP,IAAA4W,EAAA1U,KAEArB,KAAKgR,WAAajO,mBAAA,EAClB5D,KAAO4R,eAASiE,YAAYG,KAAS5S,aAAA,EA4EnClB,KAzEE4P,gBAAAW,iBAAA,EAGFvQ,KAAKoU,aAAAA,oBAAwB,EA4EC,aAA1B,OAAOO,gBAxEbpT,KAAAC,MAAAmT,cAAA,GACC3U,KAAA4U,0BAAArT,KAAAC,MAAAmT,cAAA,CAAA,EAKD3U,KAAAwU,YAAA/U,iBAAA,QAAA,WACCiV,EAAAG,aAAA,CACF,CAAA,EACG7U,KAACP,cAAiBA,iBAAQ,QAAY,WACtCsC,EAASnB,mBAAc,CACzB,CAAA,EACAkU,KAAO5F,YAAOzP,iBAAA,QAAA,SAAAC,GAChBgV,EAAAK,aAAArV,CAAA,CACA,CAAA,EAGFM,KAAAkB,cAAAzB,iBAAA,SAAA,WACAiV,EAAAM,oBAAA,CACA,CAAA,EAGAhV,KAAAmB,oBAAA1B,iBAAA,SAAA,WACAiV,EAAAO,0BAAA,CACA,CAAA,EAGAjV,KAAAoB,cAAA3B,iBAAA,SAAA,WACAiV,EAAAQ,qBAAA,CACIb,CAAAA,EAGgBrU,KAAAC,KAAAQ,iBAAA,UAAAT,KAAAwP,iBAAA,IAAA,EACExM,QAAG9B,SAAagJ,GAC9BA,EAAC/I,iBAAsBA,SAAAA,SAAmBzB,GACzC0B,EAAAA,qBAA6B1B,CAAA,CAC9B,CAAC6U,CACL,CAAA,EACAvU,KAAKkP,gBAAcA,EAKnBlP,KAAK6O,KAAAA,iBAAiBA,QAAc,EAAA7L,QAAA,SAAAyD,GAChCA,EAACmJ,iBAAkBA,OAAAA,WAClB5O,EAAAA,eAAeA,oBAAYyF,EAAA,CAAA,CAAA,CAC5B,CAACoJ,CACL,CAAA,EAKF7P,KAAAC,KAAAQ,iBAAA,sDAAA,EAAAuC,QAAA,SAAAyD,GA0EMA,EAAIhH,iBAAiB,OAAQ,WAxEnCiV,EAAA7F,eAAA1D,uBAAA1E,EAAA,CAAA,CAAA,CACF,CAAA,CACA,CAAA,EAGI3I,SAAO2C,iBAAgB,mCAAA,EAAAuC,QAAA,SAAAkH,GACrBA,EAAazK,iBAAI,QAAA,WACjByK,EAAAiL,MAAA,CACA,CAAA,CACA,CAAA,EA0EAnV,KAAKiQ,iBAAiBW,KAAK,CAC7B,CAMF,EAAG,CACDjS,IAzEE,kBA0EFb,MAzEI,WA0EFkC,KAzEIC,KAAK2U,iBAAAA,gCAAqCD,EAAe3R,QAAC,SAAAoS,GAC5D,IAAAC,EAAAD,EAAAE,uBACFD,GA0EIA,EAAoB7V,aAAa,cAAe4V,EAAM5K,SAAS,CAvEnE,CAAA,CA0EF,CACF,EAAG,CACD7L,IAzEE,4BA0EFb,MAzEI4W,SAA2Ba,GAE7B,IAAIC,EAACtG,EAIL,OAsEAvR,OAzEE+W,OAAOK,CAAY,EAACrV,QAAM,SAAA+V,GAC1B,KAAAA,EAAAlV,OAAAiV,CAAA,EA0EF,CAAC,EAxEDA,GACA,KAAKtU,EACHwT,KAAOM,cAAAA,CAAqB,EAC5B,MA0EA,KAAK,EAxEPhV,KAAA0V,YAAAH,CAAA,EACI,MACFb,KAAAA,EACA1U,KAAA2V,cAAAJ,CAAA,CAGF,CA2EF,CACF,EAAG,CACD5W,IAzEE,gBA0EFb,MAzEMgT,SAAuB7Q,GAC3B6Q,KAAAA,YAAgB9N,CAAQ,EA0ExBhD,KAzEEkK,cAAYzK,MAAAA,EAAiBwD,sBAA2B1C,MAC1Bb,KAA5BgV,KAAAA,cAAO/D,OACT3Q,KAAEkV,qBAAA,EACFlV,KAAAkB,cAAAuH,QAAAzI,KAAAkB,cAAAwH,eAAAzG,KAAA2T,YAAA,EAAAC,SAAA,SAAA,GACE7V,KAAC8V,aAAiB,GAG5B9V,KAAAoB,cAAAsH,cAAA,CA2EI,CACF,EAAG,CACD/J,IAAK,cACLb,MAzEM,SAAAiY,GACJ/V,KAAEgW,cAAAD,CAAA,EA0EF/V,KAAKmB,oBAAoBrD,MAAQiY,EAAW7T,aAAa3B,MAxEzD,KAAAP,KAAAmB,oBAAArD,MACNkC,KAAAiV,0BAAA,EAEMjV,KAAKC,oBAAsByI,cAAA,CA2E7B,CACF,EAAG,CACD/J,IAzEI,gBA0EJb,MAAO,SAAuBiY,GAxE5B/V,KAAAkB,cAAApD,MAAAiY,EAAA1T,SAAA9B,MAC0B,KAA1BwB,KAAStB,cAAAA,MACPyJ,KAAAA,oBAAYzK,EAEZO,KAAEkB,cAAAwH,cAAA,CA2EN,CApEJ,EAAA,CACA/J,IAAA,sBACGb,MAAE,WAEDA,KAAO4R,eAASoG,aAAkB9V,KAAAmB,oBAAA,CAAA,CAAA,EAChCnB,KAAKC,eAAKQ,aAAiBT,KAAAoB,cAAA,CAAA,CAAA,EA0E3BpB,KAzEE6O,eAAIwG,uBAA4BC,KAAAA,mBAAsB,EA0ExDtV,KAzEE6O,eAAIwG,uBAAqBrV,KAAAoB,aAAA,EACvBiU,KAAAA,eAAoB7V,oBAAaQ,KAAAkB,cAAqBsJ,CAAAA,CAAU,IAElExK,KAAA2P,WAAAhO,yBAAA3B,KAAAkB,cAAApD,KAAA,GACJkC,KAAAiV,0BAAA,EAEGjV,KAAE0P,eAAAhP,YAA2BV,KAAAmB,mBAAA,GAE9BnB,KAAA6O,eAAAgC,sBAAA,CA0EF,CACF,EAAG,CACDlS,IAzEI8W,4BA0EJ3X,MAzEI,WACFkC,KAAA6O,eAAahG,uBAAA7I,KAAAoB,aAAA,EA0EbpB,KAzEE6O,eAAMgC,sBAAA,EACJ7Q,KAAKgW,eAAcT,oBAAQvV,KAAAmB,oBAAA,CAAA,CAAA,GAE7BnB,KAAM2P,WAAA/N,oBAAA,GACJ5B,KAAK0V,qBAAoB,EAE3B1V,KAAK0P,eAAChP,YAAAV,KAAAoB,aAAA,GA2ENpB,KAzEE0P,eAAAY,aAAAtQ,KAAAoB,cAAA,CAAA,CAAA,CA2EN,CACF,EAAG,CAxEDzC,IAAA,uBACDb,MAAE,WACDa,KAAKkQ,eAAegC,sBAAA,EACf7Q,KAAE6O,eAAS8G,oBAA0B3V,KAAAoB,cAAA,CAAA,CAAA,GAExCpB,KAAKoB,iBAAmB,CA2E1B,CACF,EAAG,CACDzC,IAAK,uBACLb,MAzEI,SAAA4B,GA2EF,MAzEqBgJ,QAAnBhJ,EAAK0B,OAAAA,OAA2B1B,EAAIqR,OAAAzG,SAExCtK,KAAAyP,qBAAA5I,UAAAC,OAAA,QAAA,EACC,CAAA,IAEDhJ,KAAO2R,qBAAqBsG,UAAU5T,IAAE,QAAA,EACjC6T,CAAAA,EA0EP,CAKF,EAAG,CAxEDrX,IAAA,qBACDb,MAAE,WAEDA,KAAOmC,KAAAW,cAASoV,QAAcD,EAAAA,UAAYjP,OAAA,QAAA,EA4ExC9G,KAzEEC,KAAK+U,cAAAA,iBAAqB,EAAAnO,UAAA1E,IAAA,QAAA,EAC5BnC,KAACoB,cAAM+T,MAAA,CA0ET,CACF,EAAG,CAxEDxW,IAAA,eA0EAb,MAAO,WAvEX,IAeYmY,EAfZjW,KAAA6O,eAAAmC,mBAAA,CAAA,CAAA,IAGOhR,KAAEC,KAAA4G,UAAAsH,QAAqB,wBAAA,uBAAA,EAGxBnO,KAAK0P,4BAA4B,GAG5Bb,EAAAA,KAAehG,KAAAA,cAAAA,QAA4BzH,IAE9C8U,EAAArP,UAAA1E,IAAA,QAAA,GAII8T,EAAgBvV,KAAAA,KAAYE,cAAKO,uBAAoB,KAEvD8U,EAAgBpF,UAAAA,KAAAA,cAAuBpI,QAAAzI,KAAAoB,cAAAsH,eAAAzG,MAI7CnE,KAAOqY,gBAASlB,SAAAA,EA2EhB,CACF,EAAG,CACDtW,IAzEI,eA0EJb,MAzEI,SAAoB8D,GA0EtBlC,EAzEIC,eAAKuV,EAKT,EAqEAlV,KAzEEkP,YAAAC,SAAA,CAAA,KAGKO,KAAcb,eAAcmC,mBAAoB,CAAA,CAAI,EAE7DhR,KAAAkP,YAAAC,SAAA,CAAA,EAKWN,IAAe9D,gBAAAA,IAAoB,EAC1CoF,WAAA,CA0EJ,CAKF,EAzEErS,CA0EAa,IAzEE,kBA0EFb,MAzEM4B,SAAuB0W,GA2E3B,IAzDAC,EAhBO5G,YAAL2G,IAKJ,aAAA,OAAAE,wBA0EQC,EAAavW,KAAKC,KAAKW,cAAc,eAAe,KAvEhE2V,EAAA/W,aAAA,MAAA8W,qBAAA,EACAC,EAAA/W,aAAA,MAAAgX,qBAAA,GAIM,aAAA,OAAAC,sBAGAJ,EAAArW,KAAAC,KAAAW,cAAA,eAAA,KAIDyV,EAAAK,cAAA7P,UAAA1E,IAAA,eAAA,EACDxD,EAAKa,aAAc,MAAAiX,kBAAA,EACnB3Y,EAAO0B,aAASqV,MAAe8B,kBAAA,EA0E/B,CAKF,EAAG,CACDhY,IAzEI,0BA0EJb,MAzEI,SAAkCmT,GA0EpC,IAAIC,EAAyBlR,KAAKoB,cAActD,MAxE9CqT,EAAAF,EAAAnO,OAAA,SAAAd,GACA,OAAIkU,EAAAA,QAAgBjW,CA0EtB,CAAC,EACD,OAzE2B,EAAvBiW,EAASrP,OACXsK,EAAA,GAAAjP,aAEA,EA0EJ,CACF,EAAG,CACDvD,IAAK,wBACLb,MAzEI,SAAAsT,GA0EF,IAAIwF,EAAS5W,KAxEXsR,EAAAtR,KAAAC,KAAAQ,iBAAA,UAAA2Q,EAAA,IAAA,EACqB,EAArBE,EAAK6E,SACP7E,EAAA,GAAA1K,QAAA,aAAA,EAAAC,UAAAC,OAAA,QAAA,EACFwK,EAAAtO,QAAA,SAAA2H,GACCA,EAAAL,QAAA,CAAA,EACIK,EAAAlL,iBAAc,QAAA,WACZmX,EAAA/H,eAAsBnP,yBAAO,CAClCA,CAAK,CACL,CAAA,EA2EF,CACF,EAAG,CACDf,IAzEE,mBA0EFb,MAzEI,WA0EF,IAzEEmT,EAAAxO,iBAAA8O,mBAAAvR,KAAA2P,WAAArO,UAAA,EACF,GAAAmB,iBAAA+O,uBAAAxR,KAAAoB,cAAAtD,MAAAmT,CAAA,EAEA,OAwEqBjR,KAAK6W,wBAAwB5F,CAAe,GAvE7Da,IAAAA,aAEN9R,KAAA0R,sBAAA1R,KAAA6P,4BAAA,EA0EQ,MAxER,IAAA,WAEJ7P,KAAA0R,sBAAA1R,KAAA8P,0BAAA,EACK,MACI,IAAA,cAEH9P,KAAA0R,sBAAA1R,KAAA+P,8BAAA,CA6EE,CAEJ,CAOF,EAAG,CACDpR,IAzEE,8BA0EFb,MAzEI,WACF,IAAAgZ,EAAA9W,KACAA,KAAIqW,KAAAA,iBAAuBzV,gCAA8B,EAAAoC,QAAA,SAAAyD,GACxC,KAAZ4P,EAAAA,OACHS,EAAAjI,eAAAhG,uBAAApC,CAAA,CAEF4P,CAAAA,CA0EF,CACF,EAAE,CACJ,EAAE,GACEU,6BAA4C,WArE9C,OAAGnY,aAsEH,SAzEEmY,IACJ5Y,gBAAA6B,KAAA+W,CAAA,CACA,EACK,CAAA,CACDpY,IAAK,UACLb,MAAO,SAAS+Y,GAEd,OADA7W,KAAIkR,KAAAA,EACAC,IA0EN,CACF,EAAG,CACDxS,IAzEE,mBA0EFb,MAzEI,SAAyBoE,GAE3B,OADAlC,KAAAkB,cAAAA,EACOlB,IACT,CACF,EAAG,CACDrB,IAAK,yBACLb,MAAO,SAA+BsT,GAEpC,OADApR,KAAI4W,oBAAazV,EACbmQ,IA0EN,CACF,EAAG,CACD3S,IAzEI2S,mBA0EJxT,MAzEM6M,SAAqBvJ,GA2EzB,OADApB,KAzEI2K,cAAMlL,EACJmX,IA0ER,CACF,EAAG,CACDjY,IAzEE,mBACFb,MAAA,SAAAyW,GAEA5V,OADCqB,KAAAuU,cAAAA,EACIvU,IACLlC,CA0EF,EAAG,CACDa,IAzEE,iBA0EFb,MAzEI,SAAwB+Y,GA2E1B,OADA7W,KAzEEwU,YAAQwC,EACNhX,IA0EN,CACF,EAAG,CACDrB,IAAK,iBACLb,MAzEM,SAAgBoR,GA2EpB,OADAlP,KAAKkP,YAzECA,EACAlP,IA0ER,CACF,EAAG,CACDrB,IAAK,sBACLb,MAAO,SAzE4B0R,GA2EjC,OADAxP,KAAKwP,iBAzECA,EACFxP,IA0EN,CACF,EAAG,CACDrB,IAzEE,0BACFb,MAAA,SAAA2R,GAEA,OAwEEzP,KAAKyP,qBAAuBA,EAxE9BzP,IACJ,CACA,EAAA,CACArB,IAAA,oBACAb,MAAA,SAAA4R,GA+EM,OA9EDA,EACE1P,KAAE0P,eAAAA,EAGH1P,KAAKC,eAAKQ,IAAgBxB,wBACpBwH,IA0ER,CACF,EAAG,CACD9H,IAzEI,gBACJb,MAAA,SAAA6R,GAMF,OALGA,EACF3P,KAAA2P,WAAAA,EAGCxR,KAAAA,WAAoB,IAAE4Y,+BAA6B/W,KAAAC,KAAAD,KAAAkB,cAAAlB,KAAAmB,oBAAAnB,KAAAoB,aAAA,EACrDpB,IACA,CA0EA,EAzEErB,CACAb,IAAK,oBA0ELA,MAzEOmC,SAAmB4O,EAAA5I,GAMxB,OALA4I,EACF7O,KAAA6O,eAAAA,EAGA/Q,KAAO+Q,eAASyD,IAAAA,eAAiBpR,KAAejB,KAAAgG,CAAA,EACzC/E,IA0EP,CACF,EAzEE,CACDvC,IAAE,qBACDA,MAAK,SAAwBiR,GAM7BjR,OALKiR,EACH5P,KAAKmB,gBAAmByO,EAGzB5P,KAAA4P,gBAAA,IAAA3F,gBAAAjK,KAAAC,IAAA,EACID,IACLlC,CA0EF,EAAG,CACDa,IAzEE,kBACFb,MAAA,SAAAkD,GAMA,OALCA,EACEhB,KAAEgB,aAAkBA,EAGrBhB,KAAAgB,aAAW,IAAAnB,aAAAG,KAAAC,IAAA,EACbD,IACD,CA0ED,EAzEErB,CACAb,IAAK,kCA0ELA,MAzEO0W,SAAyB3E,GAEhC,OADE7P,KAAA6P,6BAAWA,EACb7P,IACD,CA0ED,EAzEErB,CACAb,IAAK,gCA0ELA,MAzEOoR,SAAyBY,GAEhC,OADE9P,KAAA8P,2BAAWA,EACb9P,IACD,CA0ED,EAzEErB,CACAb,IAAK,oCA0ELA,MAzEO0R,SAAmCO,GAE1C,OADE/P,KAAA+P,+BAAWA,EACb/P,IACD,CA0ED,EAzEErB,CACAb,IAAK,oCA0ELA,MAzEO2R,SAA2CxJ,GAElD,OADEjG,KAAAiG,+BAAWA,EACbjG,IACD,CA0ED,EAzEErB,CACAb,IAAK,0BA0ELA,MAzEM4R,SAAgBM,GA2EpB,OADAhQ,KAzEEgQ,qBAAsBN,EACtB1P,IA0EJ,CACF,EAAG,CACDrB,IAzEE,sBACFb,MAAA,SAAAmS,GA+EE,OA9EDA,EACEjQ,KAAEiQ,iBAAeA,EA4ElBjQ,KAzEEiQ,iBAAkBN,IAAAA,iBAClB3P,IA0EJ,CACF,EAAG,CACDrB,IAzEE,QACFb,MAAA,WACC,OAAA,IAAAuW,sBAAArU,KAAAC,KAAAD,KAAAkB,cAAAlB,KAAAmB,oBAAAnB,KAAAoB,cAAApB,KAAAuU,cAAAvU,KAAAwU,YAAAxU,KAAAkP,YAAAlP,KAAAwP,iBAAAxP,KAAAyP,qBAAAzP,KAAA0P,eAAA1P,KAAA2P,WAAA3P,KAAA6O,eAAA7O,KAAA4P,gBAAA5P,KAAAgB,aAAAhB,KAAA6P,6BAAA7P,KAAA8P,2BAAA9P,KAAA+P,+BAAA/P,KAAAiG,+BAAAjG,KAAAgQ,qBAAAhQ,KAAAiQ,gBAAA,CACDtR,CA0EF,EAzEEb,CA0EJ,EAAE,EAxDCmZ,kBAfgB,aAyEf,OAzEIlX,UA0END,OAzEIC,QAAA,CAAAsU,sBAAA0C,+BA2ENzT,OAzEM7D,iBAAW,OAAA,WA0Ef,IArEIyB,EA0EAC,EACAC,EAxEA6E,EAPFsG,EAAAxK,SAAAgE,eAAA,kBAAA,EACCwG,IAGCrL,EAAI0O,EAAiBhP,cAAA,aAAA,EA0ErBO,EAzEsBoL,EAAGqD,cAAe,mBAAA,EA0ExCxO,EAzEamL,EAAA3L,cAAA,cAAA,EACbqF,EAAAsG,EAAA3L,cAAA,oCAAA,GACuB,IAAIqJ,8BAA0BoI,QAAA9F,CAAA,EAAA+F,iBAAApR,CAAA,EAAAqR,uBAAApR,CAAA,EAAA8Q,iBAAA7Q,CAAA,EAAA8V,iBAAA3K,EAAA3L,cAAA,mBAAA,CAAA,EAAAuW,eAAA5K,EAAA3L,cAAA,iBAAA,CAAA,EAAAwW,eAAA7K,EAAA3L,cAAA,iBAAA,CAAA,EAAA6R,oBAAA,aAAA,EAAAC,wBAAAnG,EAAA3L,cAAA,oBAAA,CAAA,EAAA+R,kBAAA,IAAA1T,uBAAA,EAAA2T,cAAA,IAAA3R,+BAAAsL,EAAArL,EAAAC,EAAAC,EAAAC,yBAAA,CAAA,EAAAwR,kBAAA,IAAA7M,eAAAuG,EAAAtG,CAAA,CAAA,EAAAkM,mBAAA,IAAAlI,gBAAAsC,CAAA,CAAA,EAAAuG,gBAAA,IAAAjT,aAAA0M,CAAA,CAAA,EAAAwG,gCAAA,qBAAA,EAAAC,8BAAA,mBAAA,EAAAC,kCAAA,uBAAA,EAAAC,kCAAAjN,CAAA,EAAAkN,wBAAA5G,EAAA3L,cAAA,sBAAA,CAAA,EAAAwS,oBAAA,IAAAjQ,gBAAA,EAAAmQ,MAAA,EAC1C1C,KAAA,EA0EjB,CAAC,EAxEI,WAgFH,OAzEIhS,aAmEJ,SAzEOqY,EAAiBI,EAAAC,EAAAC,GACtBzZ,gBAAgBgV,KAAAA,CAAgB9R,EA0EhChB,KAzEEqX,SAAIrW,EA0ENhB,KAzEIsX,aAAKtW,EA0EThB,KAzEIuX,WAAWA,GAAA,EA0EjB,EAxE4B1X,CAAAA,CA0E1BlB,IAzEE,SACFb,MAAA,WACC,MAAA,CACEmC,KAAE,CACAuX,UAAWzE,KAAAA,SACV0E,kBAAC5H,KAAAA,aACL6H,YAAW1X,KAAAuX,UACb,CACC,CACD5Y,CA0EF,EAzEEb,CA0EJ,EAAE,GAjEE6Z,iBANA,aAAA,OAAA5X,UACFD,OAAGC,QAAAkX,kBAKD,WAOF,OAAGrY,aANH,SAAG+Y,EAAA1X,EAAA2X,EAAAC,GACDlZ,gBAAKqB,KAAA2X,CAAA,EACL7Z,KAAKmC,KAAEA,EA0EPD,KAzEE4X,SAAK3R,GAAAA,IAAAA,gBA0EPjG,KAzEE6X,UAAWA,GAAA,IAAAZ,gBA0Ef,EAxEG,CAAA,CACDtY,IAAK,iBACLb,MAAO,WACL,IAAI+O,EAACmD,KAAAA,UAAuBA,OAAAA,EAC5BhQ,KAAA4X,SAAWE,OAAAjL,CAAA,CACb,CACF,EAAC,CA0EH,EAAE,GAxEkBuG,aAAhBtV,OAAOiC,UA0ETD,OAzEIC,QAAIkQ,iBA2EV3M,OAAO7D,iBAzEY,OAAA,WA0EjB,IAzEIQ,EAAA8B,SAAAnB,cAAA,qBAAA,EA0EJ,GAzEIX,EAgBJ,IAbA,IAAG8X,EAAA,IAAApL,cAAA1M,CAAA,EACDtB,EAAY,IAAAqZ,gBAAA,YAAA,EACZla,EAAO,IAASwV,iBAAQyE,EAAAE,YAAA,EAAAF,EAAAG,eAAA,EAAAH,EAAArJ,cAAA,CAAA,EACtByJ,EAAW9D,IAAAA,gBAA2BpU,EAAM2X,EAAK1W,CAAa,EAChEkX,EAAAD,EAAAlY,KAAAoY,SAGJC,EAAA,WACIH,EAAcI,eAAgB,EAChCzY,IAAOC,IAAAA,EAAO,EAAIsU,EAAAA,EAAAA,OAAuB0C,CAAAA,GAC3CqB,EAAA9a,GAAA8B,oBAAA,OAAAkZ,CAAA,CAEE,EACK/L,EAAAA,EAAWjP,EAAE8a,EAAAnb,OAAAK,CAAA,GAChB8a,EAAA9a,GAAAmC,iBAAA,OAAA6Y,CAAA,CA2EJ,CAAC","file":"degreesForms.min.js","sourcesContent":["\"use strict\";\n\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar AccessibilityController = /*#__PURE__*/function () {\n function AccessibilityController() {\n _classCallCheck(this, AccessibilityController);\n }\n return _createClass(AccessibilityController, [{\n key: \"enableField\",\n value: /*eslint-disable class-methods-use-this */\n function enableField(formField) {\n formField.removeAttribute('aria-disabled');\n formField.removeEventListener('click', AccessibilityController.onClickEventDisabled);\n formField.removeEventListener('keydown', AccessibilityController.onKeydownEventDisabled);\n }\n }, {\n key: \"disableField\",\n value: function disableField(formField, clearValue) {\n //remove listener\n formField.setAttribute('aria-disabled', 'true');\n formField.addEventListener('click', AccessibilityController.onClickEventDisabled);\n formField.addEventListener('keydown', AccessibilityController.onKeydownEventDisabled);\n if (clearValue) {\n formField.value = \"\";\n }\n }\n /*eslint-enable class-methods-use-this */\n }], [{\n key: \"onClickEventDisabled\",\n value:\n /**\r\n *\r\n * the onClickEventDisabled(), onKeydownEventDisabled(), enableField(), and disableField()\r\n * are used to make a disabled field accessible by using aria-diabled instead of disabled\r\n * and preventing field interactions.\r\n *\r\n * We will want to centralize this code once all forms use aria-diabled instead of disabled\r\n *\r\n */\n\n function onClickEventDisabled(event) {\n event.preventDefault();\n }\n }, {\n key: \"onKeydownEventDisabled\",\n value: function onKeydownEventDisabled(event) {\n var tabKey = 9;\n if (event.keyCode !== tabKey) {\n event.preventDefault();\n }\n }\n }]);\n}();\n/* istanbul ignore next */\nif (typeof exports !== 'undefined') {\n module.exports = AccessibilityController;\n}\nvar DropdownData = /*#__PURE__*/function () {\n function DropdownData(form) {\n _classCallCheck(this, DropdownData);\n this.form = form;\n }\n\n /*eslint-disable class-methods-use-this */\n return _createClass(DropdownData, [{\n key: \"addSelectOptionsFromJson\",\n value: function addSelectOptionsFromJson(json, selectField) {\n var option;\n for (var i = 0; i < json.length; i++) {\n option = document.createElement('option');\n option.text = json[i].Text;\n option.value = json[i].Value;\n selectField.add(option);\n }\n }\n }, {\n key: \"loadDropdownOptions\",\n value: function loadDropdownOptions() {\n var _this = this;\n var dropdowns = this.form.querySelectorAll(\".custom-select\");\n if (!dropdowns) {\n return;\n }\n dropdowns.forEach(function (dropdown) {\n var dropdownData;\n var dropdownDataDiv = _this.form.querySelector('#data_' + dropdown.name);\n\n //if no data - exit\n if (!dropdownDataDiv) {\n return;\n }\n\n //parse the data to JSON\n dropdownData = JSON.parse(dropdownDataDiv.innerText);\n if (dropdownData) {\n // remove any previous options except the first one\n dropdown.length = 1;\n _this.addSelectOptionsFromJson(dropdownData, dropdown);\n }\n });\n }\n }]);\n}();\n/* istanbul ignore next */\nif (typeof exports !== 'undefined') {\n module.exports = DropdownData;\n}\n\n/* global inqAppFormCommon */\nvar ExperienceAchievementDropdowns = /*#__PURE__*/function () {\n function ExperienceAchievementDropdowns(form, subjectSelect, academicLevelSelect, programSelect, experienceAchievementData) {\n _classCallCheck(this, ExperienceAchievementDropdowns);\n this.form = form;\n this.subjectSelect = subjectSelect;\n this.academicLevelSelect = academicLevelSelect;\n this.programSelect = programSelect;\n if (typeof experienceAchievementData !== 'undefined') {\n this.expAchData = JSON.parse(experienceAchievementData);\n } else {\n this.expAchData = [];\n }\n }\n\n /**\r\n *** LOAD DATA FUNCTIONS ***\r\n */\n return _createClass(ExperienceAchievementDropdowns, [{\n key: \"loadDropdownOptions\",\n value: function loadDropdownOptions(dropdownField) {\n if (dropdownField === this.subjectSelect) {\n return this.loadSubjectOptions();\n } else if (dropdownField === this.academicLevelSelect) {\n return this.loadAcademicLevelOptions();\n }\n return this.loadProgramsOptions();\n }\n }, {\n key: \"loadSubjectOptions\",\n value: function loadSubjectOptions() {\n var matches = [];\n var undecidedOption;\n var academicLevel = this.academicLevelSelect.value;\n this.expAchData.filter(function (obj) {\n return obj.ProgramGroup.Value === academicLevel || academicLevel === '';\n }).forEach(function (obj) {\n var ismatch = matches.findIndex(function (f) {\n return f.Value === obj.Category.Value;\n });\n if (ismatch === -1) {\n // eslint-disable-line no-magic-numbers\n if (obj.Category.Text !== \"Undecided\") {\n matches.push({\n \"Value\": obj.Category.Value,\n \"Text\": obj.Category.Text\n });\n } else if (!undecidedOption) {\n undecidedOption = {\n \"Value\": obj.Category.Value,\n \"Text\": obj.Category.Text\n };\n }\n }\n });\n matches = matches.sort(inqAppFormCommon.textCompare);\n if (undecidedOption) {\n matches.unshift(undecidedOption);\n }\n this.subjectSelect.length = 1;\n this.addSelectOptionsFromJson(matches, this.subjectSelect);\n return this.selectOptionSingleValue(this.subjectSelect);\n }\n }, {\n key: \"loadAcademicLevelOptions\",\n value: function loadAcademicLevelOptions() {\n var matches = [];\n var subjectValue = this.subjectSelect.value;\n this.expAchData.filter(function (obj) {\n return obj.Category.Value === subjectValue || subjectValue === '';\n }).forEach(function (obj) {\n var ismatch = matches.findIndex(function (f) {\n return f.Value === obj.ProgramGroup.Value;\n });\n if (ismatch === -1) {\n // eslint-disable-line no-magic-numbers\n matches.push({\n \"Value\": obj.ProgramGroup.Value,\n \"Text\": obj.ProgramGroup.Text\n });\n }\n });\n matches = matches.sort(inqAppFormCommon.textCompare);\n this.academicLevelSelect.length = 1;\n this.addSelectOptionsFromJson(matches, this.academicLevelSelect);\n return this.selectOptionSingleValue(this.academicLevelSelect);\n }\n }, {\n key: \"loadProgramsOptions\",\n value: function loadProgramsOptions() {\n var matches = [];\n var undecidedOption;\n var subjectValue = this.subjectSelect.value;\n var academicLevelValue = this.academicLevelSelect.value;\n this.expAchData.filter(function (obj) {\n return obj.ProgramGroup.Value === academicLevelValue;\n }).forEach(function (obj) {\n if (obj.Category.Value === subjectValue || subjectValue === \"all\") {\n //all used in www\n\n var ismatch = matches.findIndex(function (f) {\n return f.Value === obj.ExperienceAchievement.Value;\n });\n if (ismatch === -1) {\n // eslint-disable-line no-magic-numbers\n if (obj.ExperienceAchievement.Text !== \"Undecided\") {\n matches.push({\n \"Value\": obj.ExperienceAchievement.Value,\n \"Text\": obj.ExperienceAchievement.Text\n });\n } else if (!undecidedOption) {\n undecidedOption = {\n \"Value\": obj.ExperienceAchievement.Value,\n \"Text\": obj.ExperienceAchievement.Text\n };\n }\n }\n }\n });\n matches = matches.sort(inqAppFormCommon.textCompare);\n if (undecidedOption) {\n matches.unshift(undecidedOption);\n }\n this.programSelect.length = 1;\n this.addSelectOptionsFromJson(matches, this.programSelect);\n return this.selectOptionSingleValue(this.programSelect);\n }\n\n /**\r\n *** HELPER FUNCTIONS ***\r\n */\n\n /*eslint-disable class-methods-use-this */\n }, {\n key: \"addSelectOptionsFromJson\",\n value: function addSelectOptionsFromJson(json, selectField) {\n var option;\n for (var i = 0; i < json.length; i++) {\n option = document.createElement('option');\n option.text = json[i].Text;\n option.value = json[i].Value;\n selectField.add(option);\n }\n }\n /**\r\n * Check for a single option\r\n * If there is only one, select it\r\n * @param {any} selectField\r\n */\n }, {\n key: \"selectOptionSingleValue\",\n value: function selectOptionSingleValue(selectField) {\n var singleOptionLength = 2;\n if (selectField.length !== singleOptionLength) {\n return false;\n }\n selectField.selectedIndex = 1;\n return true;\n }\n /*eslint-enable class-methods-use-this */\n }]);\n}();\n/* istanbul ignore next */\nif (typeof exports !== 'undefined') {\n module.exports = ExperienceAchievementDropdowns;\n}\n\n/* global trackingController */\nvar FormTrackingData = /*#__PURE__*/function () {\n function FormTrackingData() {\n _classCallCheck(this, FormTrackingData);\n this.expiration = 2592000000; // 30 days\n this.currentDomain = window.location.hostname.toString().indexOf(\"localhost\") > -1 ? \"\" : \"snhu.edu\";\n }\n return _createClass(FormTrackingData, [{\n key: \"setGoogleString\",\n value:\n // Google Cross-Form Tracker Cookie\n function setGoogleString() {\n var gCookieName = \"GoogleString\";\n var gParams = [\"utm_source\", \"utm_medium\", \"utm_content\", \"utm_campaign\", \"utm_term\", \"snhu_segment\"];\n var gTracker = new trackingController(window.location, gParams, gCookieName, this.expiration, this.currentDomain);\n var gTrackerValue = gTracker.retrieveCookie();\n if (Object.keys(gTrackerValue).length !== 0) {\n var gTrackerObj = JSON.parse(JSON.stringify(gTrackerValue));\n if (gTrackerObj !== undefined) {\n gParams.forEach(function (item) {\n FormTrackingData.setElementValue(item, gTrackerObj[item]);\n });\n }\n }\n }\n\n // Paid Search Tracking\n }, {\n key: \"setSnhuGlobalTracking\",\n value: function setSnhuGlobalTracking() {\n var paidCookieName = \"SNHUGlobalTracking\";\n var paidParams = [\"nan_pid\", \"ioguid\", \"k_clickid\", \"venpubid\", \"adxcel_clickid\", \"searchedterm\", \"pfsegment\", \"matchtype\", \"device\", \"msclkid\", \"gclid\"];\n var paidTracker = new trackingController(window.location, paidParams, paidCookieName, this.expiration, this.currentDomain);\n var paidTrackerValue = paidTracker.retrieveCookie();\n if (paidTrackerValue !== undefined) {\n var paidTrackerObj = JSON.parse(JSON.stringify(paidTrackerValue));\n if (paidTrackerObj !== undefined) {\n paidParams.forEach(function (item) {\n FormTrackingData.setElementValue(item, paidTrackerObj[item]);\n });\n }\n }\n }\n\n // SNHU Ad Tracking\n }, {\n key: \"setSnhuAdTracking\",\n value: function setSnhuAdTracking() {\n var adCookieName = \"SNHUAdTracking\";\n var adParams = [\"adkeyword\", \"admatchtype\", \"addevice\", \"adcampaignid\", \"adgroupid\", \"adcampaignname\", \"adgroupname\", \"adquery\", \"adnetwork\", \"adlocationid\", \"adplacement\"];\n var adTracker = new trackingController(window.location, adParams, adCookieName, this.expiration, this.currentDomain);\n var adTrackerValue = adTracker.retrieveCookie();\n if (adTrackerValue !== undefined) {\n var adTrackerObj = JSON.parse(JSON.stringify(adTrackerValue));\n if (adTrackerObj !== undefined) {\n adParams.forEach(function (item) {\n FormTrackingData.setElementValue(item, adTrackerObj[item]);\n });\n }\n }\n }\n\n //landing page tracking\n // eslint-disable-next-line class-methods-use-this\n }, {\n key: \"setLandingPageSession\",\n value: function setLandingPageSession() {\n var landingPage = sessionStorage.getItem('Landing_Page');\n if (landingPage !== null) {\n FormTrackingData.setElementValue('landingUrl', landingPage);\n } else {\n FormTrackingData.setElementValue('landingUrl', window.location.href);\n }\n }\n\n //referrer tracking\n // eslint-disable-next-line class-methods-use-this\n }, {\n key: \"setRefferTracking\",\n value: function setRefferTracking() {\n var referrerPage = sessionStorage.getItem('Referrer_Value');\n if (referrerPage !== null) {\n FormTrackingData.setElementValue('referrerValue', referrerPage);\n } else {\n var splitValue = 2;\n var referrerValue = document.referrer.split('/')[splitValue];\n if (referrerValue !== '' && referrerValue !== undefined && referrerValue !== 'www.snhu.edu') {\n var refSource;\n if (referrerValue === 'www.google.com') {\n refSource = 'google';\n } else if (referrerValue === 'search.yahoo.com') {\n refSource = 'yahoo';\n } else if (referrerValue === 'www.bing.com') {\n refSource = 'bing';\n } else if (referrerValue === 'duckduckgo.com') {\n refSource = 'duckduckgo';\n } else {\n refSource = referrerValue;\n }\n sessionStorage.setItem('Referrer_Value', refSource);\n FormTrackingData.setElementValue('referrerValue', refSource);\n } else {\n sessionStorage.setItem('Referrer_Value', 'No Referrer');\n FormTrackingData.setElementValue('referrerValue', 'No Referrer');\n }\n }\n }\n }, {\n key: \"setTestIds\",\n value: function setTestIds() {\n var ssTestIdCookie = \"ssTestIds\";\n var ssTestParams = [\"ssTestIdsParam\"];\n var ssTestObj = new trackingController(window.location, ssTestParams, ssTestIdCookie, this.expiration, this.currentDomain);\n var ssTestIDCookieValue = ssTestObj.retrieveCookie();\n if (ssTestIDCookieValue !== undefined) {\n FormTrackingData.setElementValue(\"ssTestIds\", ssTestIDCookieValue);\n }\n }\n }, {\n key: \"init\",\n value: function init() {\n this.setGoogleString();\n this.setSnhuGlobalTracking();\n this.setSnhuAdTracking();\n this.setLandingPageSession();\n this.setRefferTracking();\n this.setTestIds();\n }\n }], [{\n key: \"setElementValue\",\n value: function setElementValue(elementID, value) {\n if (elementID !== undefined) {\n var element = document.getElementById(elementID);\n if (element !== undefined && element !== null) {\n element.value = value === undefined || value === \"undefined\" ? \"\" : value;\n }\n }\n }\n }]);\n}();\nif (typeof exports !== 'undefined') {\n module.exports = FormTrackingData;\n}\n\n/*eslint-enable class-methods-use-this */\nvar FormValidation = /*#__PURE__*/function () {\n function FormValidation(form, nursingQuestionValidationAlert) {\n _classCallCheck(this, FormValidation);\n this.form = form;\n this.invalidErrorMessageClass = 'invalid-feedback';\n this.validFormGroup = 'valid-form-group';\n this.errorElementClass = 'error';\n this.invalidElementClass = 'invalidElement';\n this.validElementClass = 'validElement';\n this.nursingQuestionClass = '.js-nursingQuestion';\n this.nursingQuestionValidationAlert = nursingQuestionValidationAlert;\n }\n\n /**\r\n * ***VALID Element ***\r\n * remove invalid class and text from valid element\r\n * */\n return _createClass(FormValidation, [{\n key: \"setElementValid\",\n value: function setElementValid(ele) {\n // get the wrapping div\n var wrap = ele.closest('div.form-group');\n if (wrap === null) {\n return;\n }\n // get the error container\n var errorcontainer = wrap.querySelector('span.' + this.errorElementClass);\n\n // remove error class and add valid class\n if (errorcontainer !== null) {\n errorcontainer.textContent = '';\n errorcontainer.classList.remove(this.invalidErrorMessageClass);\n ele.classList.remove(this.invalidElementClass);\n ele.classList.add(this.validElementClass);\n ele.removeAttribute('aria-invalid');\n if (ele.required && !(ele.type === 'radio')) {\n wrap.classList.add(this.validFormGroup);\n if (ele.type === 'select-one') {\n wrap.classList.add(this.validFormGroup);\n }\n }\n }\n }\n\n /*eslint-disable class-methods-use-this */\n }, {\n key: \"getFieldLabel\",\n value: function getFieldLabel(ele, wrap) {\n var labelElement = wrap.querySelector(\"label\");\n if (ele.hasAttribute('placeholder')) {\n return ele.getAttribute('placeholder');\n }\n if (labelElement) {\n return labelElement.textContent;\n }\n return \"\";\n }\n\n /**\r\n * get required error message\r\n * */\n }, {\n key: \"getRequiredMessage\",\n value: function getRequiredMessage(ele) {\n var fieldlabel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var eleHasAttribute = ele.hasAttribute('data-invalidrequired');\n if (eleHasAttribute) {\n return ele.getAttribute('data-invalidrequired');\n }\n if (fieldlabel) {\n return fieldlabel + ' is required';\n }\n return 'Field is required';\n }\n\n /**\r\n * get error message based on pattern\r\n * */\n }, {\n key: \"getPatternMessage\",\n value: function getPatternMessage(ele) {\n var dataerrormessage = 'Invalid data ';\n if (ele.hasAttribute('data-invalidPattern')) {\n dataerrormessage = ele.getAttribute('data-invalidPattern');\n }\n return dataerrormessage;\n }\n\n /**\r\n * get error message based on error\r\n * */\n }, {\n key: \"getErrorMessage\",\n value: function getErrorMessage(ele) {\n var wrap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var overrideMessage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n if (overrideMessage !== '') {\n return overrideMessage;\n }\n if (ele.validity.badInput || ele.validity.patternMismatch || ele.validity.tooShort || ele.validity.tooLong || ele.validity.rangeUnderflow || ele.validity.rangeOverflow) {\n return this.getPatternMessage(ele);\n }\n var fieldlabel = '';\n if (wrap) {\n fieldlabel = this.getFieldLabel(ele, wrap);\n }\n if (ele.hasAttribute('required')) {\n var errMsg = this.getRequiredMessage(ele, fieldlabel);\n return errMsg;\n }\n return fieldlabel + ': Error \\n ';\n }\n\n /*eslint-enable class-methods-use-this */\n\n /**\r\n * ***NOT VALID Element ***\r\n * add invalid class and text to invalid element\r\n * */\n }, {\n key: \"setElementInvalid\",\n value: function setElementInvalid(ele) {\n var overrideMessage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n //get the wrapping div\n var wrap = ele.closest('div.form-group');\n var errorMessage = this.getErrorMessage(ele, wrap, overrideMessage);\n //get the error container\n var errorcontainer = wrap.querySelector('span.' + this.errorElementClass);\n errorcontainer.textContent = errorMessage;\n errorcontainer.classList.add(this.invalidErrorMessageClass);\n wrap.classList.remove(this.validFormGroup, this.validFormGroup);\n ele.classList.remove(this.validElementClass, 'd-none');\n ele.classList.add(this.invalidElementClass);\n ele.setAttribute('aria-invalid', 'true');\n return errorMessage;\n }\n /**\r\n * Removed validation classes - valid and invalid\r\n * @param {any} ele\r\n */\n }, {\n key: \"resetElementValidation\",\n value: function resetElementValidation(ele) {\n var wrap = ele.closest('div.form-group');\n var errorcontainer = wrap.querySelector('span.' + this.errorElementClass);\n errorcontainer.textContent = '';\n errorcontainer.className = this.errorElementClass;\n wrap.classList.remove(this.validFormGroup, this.validFormGroup);\n ele.classList.remove(this.validElementClass, this.invalidElementClass, this.invalidErrorMessageClass);\n ele.removeAttribute('aria-invalid');\n }\n\n /**\r\n * ***SETS ELEMENT VALIDATION STATE ***\r\n * aria-disabled elements do not get set to invalid\r\n * */\n }, {\n key: \"setElementValidationDisplay\",\n value: function setElementValidationDisplay(isValid, ele) {\n if (isValid) {\n this.setElementValid(ele);\n return;\n }\n if (ele.getAttribute('aria-disabled') === 'true') {\n return;\n }\n this.setElementInvalid(ele);\n }\n\n /**\r\n * ***VALIDATE SELECT ***\r\n * returns true if element valid\r\n * returns false if invalid\r\n * */\n }, {\n key: \"validateSelectField\",\n value: function validateSelectField(ele, updateValidationDisplay) {\n var isValid = false;\n if (ele.checkValidity() && (!ele.hasAttribute('required') || ele.hasAttribute('required') && ele.options[ele.selectedIndex].value !== '')) {\n isValid = true;\n }\n if (updateValidationDisplay) {\n this.setElementValidationDisplay(isValid, ele);\n }\n return isValid;\n }\n\n /**\r\n * ***VALIDATE TEXT, TEL, EMAIL INPUTS ***\r\n * returns true if element valid\r\n * returns false if invalid and updates error\r\n * */\n }, {\n key: \"validateInputTextField\",\n value: function validateInputTextField(ele, updateValidationDisplay) {\n var isValid = false;\n if (ele.offsetParent === null || ele.checkValidity()) {\n this.setElementValid(ele);\n isValid = true;\n }\n if (updateValidationDisplay) {\n this.setElementValidationDisplay(isValid, ele);\n }\n return isValid;\n }\n\n /**\r\n * Start Nursing Question Validation***\r\n */\n /**\r\n * ***Reset all the nursing questions ***\r\n * */\n }, {\n key: \"resetNursingQuestions\",\n value: function resetNursingQuestions() {\n this.form.querySelectorAll(this.nursingQuestionClass).forEach(function (ele) {\n ele.classList.add('d-none');\n });\n this.nursingQuestionValidationAlert.innerHTML = '';\n }\n\n /**\r\n * ***Add error message for NO NURSING QUESTION response ***\r\n * */\n }, {\n key: \"nursingQuestionInvalid\",\n value: function nursingQuestionInvalid(ele) {\n var formGroupWrap = ele.closest('div.form-group');\n var nursingAlertMessage = \"It looks like you don't meet the application requirements for this program. But don't worry — our admission counselors can help find the right pathway for you. Contact us today at 888.327.7648 or enroll@snhu.edu.\";\n if (formGroupWrap) {\n nursingAlertMessage = formGroupWrap.querySelector('.js-nursingQuestionNoAlert').innerHTML;\n this.nursingQuestionValidationAlert.innerHTML = nursingAlertMessage; //update validation message\n }\n return nursingAlertMessage;\n }\n\n /**\r\n * ***Add error message for bad NURSING QUESTION response ***\r\n * */\n }, {\n key: \"nursingQuestionRequired\",\n value: function nursingQuestionRequired(ele) {\n var formGroupWrap = ele.closest('div.form-group');\n var nursingRequiredMessage = 'Please select your answer.';\n if (formGroupWrap) {\n nursingRequiredMessage = this.setElementInvalid(ele, '');\n }\n this.nursingQuestionValidationAlert.innerHTML = '';\n return nursingRequiredMessage;\n }\n\n /**\r\n * ***VALIDATE NURSING QUESTION ***\r\n * returns true if element valid\r\n * returns false if invalid and updates error\r\n * */\n }, {\n key: \"validateNursingQuestions\",\n value: function validateNursingQuestions() {\n var visibleNursingQuestion = this.form.querySelector('div.js-nursingQuestion:not(.d-none)');\n var nursingMessage = '';\n if (!visibleNursingQuestion) {\n this.nursingQuestionValidationAlert.innerHTML = '';\n return {\n isValid: true,\n message: nursingMessage\n };\n }\n var checkedQuestion = visibleNursingQuestion.querySelector('input[type=\"radio\"]:checked');\n var visibleRadio = visibleNursingQuestion.querySelector('input[type=\"radio\"]');\n\n //nothing check - send required message\n if (!checkedQuestion) {\n // Check if form validation has been removed in the browser\n if (!visibleRadio.hasAttribute('required')) {\n visibleRadio.toggleAttribute(\"required\");\n }\n nursingMessage = this.nursingQuestionRequired(visibleRadio);\n return {\n isValid: false,\n message: nursingMessage\n };\n }\n\n // valid!\n this.setElementValid(visibleRadio);\n if (checkedQuestion.value === \"Yes\") {\n this.nursingQuestionValidationAlert.innerHTML = '';\n return {\n isValid: true,\n message: nursingMessage\n };\n }\n\n // no checked - invalid\n nursingMessage = this.nursingQuestionInvalid(checkedQuestion);\n return {\n isValid: false,\n message: nursingMessage\n };\n }\n\n /**\r\n * End Nursing Question Validation\r\n */\n\n /**\r\n * ***ALL FIELDS IN FORM Validation ***\r\n * returns true if form valid\r\n * returns false if form invalid\r\n * */\n }, {\n key: \"validateFormFields\",\n value: function validateFormFields(sendAlert) {\n var _this2 = this;\n var isValidForm = true;\n var entireError = ' \\n ';\n\n //Validate dropdowns\n this.form.querySelectorAll('select').forEach(function (ele) {\n if (!_this2.validateSelectField(ele, true)) {\n isValidForm = false;\n entireError += _this2.getErrorMessage(ele) + ' \\n ';\n }\n });\n\n //Validate Nursing Questions\n var nursingValid = this.validateNursingQuestions();\n if (!nursingValid.isValid) {\n isValidForm = false;\n entireError += nursingValid.message + ' \\n ';\n }\n\n //input text, phone, email\n this.form.querySelectorAll('input[type=text]:not(#txtHiddenRequired), input[type=tel], input[type=email]').forEach(function (ele) {\n if (!_this2.validateInputTextField(ele, true)) {\n isValidForm = false;\n entireError += _this2.getErrorMessage(ele) + ' \\n ';\n }\n });\n if (!isValidForm && sendAlert) {\n // eslint-disable-next-line no-alert\n alert('Please correct the following errors: \\n ' + entireError);\n }\n return isValidForm;\n }\n }]);\n}();\n/* istanbul ignore next */\nif (typeof exports !== 'undefined') {\n module.exports = FormValidation;\n}\nvar RadioButtonData = /*#__PURE__*/function () {\n function RadioButtonData(form) {\n _classCallCheck(this, RadioButtonData);\n this.form = form;\n }\n\n /*eslint-disable class-methods-use-this */\n return _createClass(RadioButtonData, [{\n key: \"removeVueAttributes\",\n value: function removeVueAttributes(radioButton, radioButtonLabel) {\n radioButton.removeAttribute(':checked');\n radioButton.removeAttribute(':id');\n radioButton.removeAttribute(':value');\n radioButton.removeAttribute(':for');\n radioButton.removeAttribute('v-model');\n radioButtonLabel.removeAttribute(':for');\n return false;\n }\n\n /*eslint-disable class-methods-use-this */\n }, {\n key: \"setRadioValues\",\n value: function setRadioValues(obj, radioButton, radioButtonLabel) {\n radioButton.id = obj.ID;\n radioButton.value = obj.Value;\n radioButton.checked = obj.IsSelected === true;\n radioButtonLabel.setAttribute('for', obj.ID);\n radioButtonLabel.innerText = obj.Text;\n }\n }, {\n key: \"loadRadioButtons\",\n value: function loadRadioButtons() {\n var _this3 = this;\n var radiobuttons = this.form.querySelectorAll(\".custom-radio\");\n if (!radiobuttons) {\n return;\n }\n radiobuttons.forEach(function (radio) {\n //get the radiobutton - use as template for all other radio buttons in group\n var radioParent = radio.closest('fieldset');\n var firstRadio = radio.querySelector('input[type=radio]');\n var firstLabel = radio.querySelector('label');\n var radioName = '';\n var radioData;\n var radioDataDiv;\n if (firstRadio) {\n radioName = firstRadio.name;\n radioDataDiv = _this3.form.querySelector('#data_' + radioName);\n }\n\n //if no data - exit\n if (!radioDataDiv) {\n return;\n }\n\n //parse the data to JSON\n radioData = JSON.parse(radioDataDiv.innerText);\n if (radioData) {\n var isFirst = true;\n radioData.forEach(function (obj) {\n if (isFirst) {\n isFirst = _this3.removeVueAttributes(firstRadio, firstLabel);\n _this3.setRadioValues(obj, firstRadio, firstLabel);\n } else {\n var additionalRadio = radio.cloneNode(true);\n var additionalRadioBtn = additionalRadio.querySelector('input[type=radio]');\n var additionalRadioBtnLabel = additionalRadio.querySelector('label');\n _this3.setRadioValues(obj, additionalRadioBtn, additionalRadioBtnLabel);\n radioParent.append(additionalRadio);\n }\n });\n }\n });\n }\n }]);\n}();\n/* istanbul ignore next */\nif (typeof exports !== 'undefined') {\n module.exports = RadioButtonData;\n}\n\n/* global CookieProvider */\nvar FormUtilities = /*#__PURE__*/function () {\n function FormUtilities(form) {\n _classCallCheck(this, FormUtilities);\n this.form = form;\n }\n return _createClass(FormUtilities, [{\n key: \"getFormType\",\n value: function getFormType() {\n if (!this.form || !this.form.dataset) {\n return '';\n }\n var dataFormType = this.form.dataset.formtype;\n\n /* eslint-disable indent */\n /* eslint-disable no-nested-ternary */\n return !dataFormType ? '' : dataFormType.indexOf('app') > 0 ? 'app' : dataFormType.indexOf('inq') > 0 ? 'inq' : dataFormType;\n /* eslint-enable indent */\n /* eslint-disable no-nested-ternary */\n }\n }, {\n key: \"getFormSource\",\n value: function getFormSource(snhuCookieProvider) {\n if (!this.form) {\n return '';\n }\n\n /* istanbul ignore next*/\n var snhuEconCookie = snhuCookieProvider || new CookieProvider();\n\n // The cookie name - 'snhuEconTrasation' - is\n // intentionally spelled incorrectly here.\n var cookieVals = snhuEconCookie.getValueAsJson(\"snhuEconTransation\");\n return cookieVals && cookieVals.formsource ? cookieVals.formsource : '';\n }\n\n // eslint-disable-next-line class-methods-use-this\n }, {\n key: \"isPrepopulated\",\n value: function isPrepopulated(snhuCookieProvider) {\n if (!this.form) {\n return false;\n }\n\n /* istanbul ignore next*/\n var snhuProgramCookie = snhuCookieProvider || new CookieProvider();\n return snhuProgramCookie.getValueAsString(\"SNHUProgramId\") ? true : false;\n }\n }]);\n}();\n/* istanbul ignore next*/\nif (typeof exports !== 'undefined') {\n module.exports = FormUtilities;\n}\n/* global SnhuFetchUtil */\n/* global ThankYouCookie */\n/* global EcommerceCookie */\n/* global FormSubmitCookie */\nvar FormSubmitEvent = /*#__PURE__*/function () {\n function FormSubmitEvent(twoStepForm, standAlone) {\n _classCallCheck(this, FormSubmitEvent);\n this.twoStepForm = twoStepForm;\n this.standAlone = standAlone || false;\n }\n return _createClass(FormSubmitEvent, [{\n key: \"hideProgramDisplay\",\n value: function hideProgramDisplay() {\n // Hide the program display if there are invalid program dropdowns\n var minInvalidProgramDDs = 2;\n var programDropdowns = this.twoStepForm.form.querySelectorAll('.form-group.valid-form-group.valid-multi-col-select');\n var programDisplay = document.querySelector('.programDisplay');\n if (programDropdowns.length <= minInvalidProgramDDs && programDisplay) {\n programDisplay.classList.toggle('d-none', true);\n }\n }\n\n /**\r\n * ***SUBMIT FORM ***\r\n * *** Form validated before submission\r\n * */\n }, {\n key: \"submitForm\",\n value: function submitForm() {\n var _this4 = this;\n var formData = new FormData(this.twoStepForm.form);\n var action = this.twoStepForm.form.getAttribute('action');\n var errormsg = '';\n var fetcher = new SnhuFetchUtil({\n defaultTimeout: 11000\n });\n fetcher.post(action, formData).then(function (data) {\n if (!data.success) {\n if (data.errors) {\n for (var _i = 0, _Object$entries = Object.entries(data.errors); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n key = _Object$entries$_i[0],\n value = _Object$entries$_i[1];\n var ele = document.getElementsByName(key);\n _this4.twoStepForm.twoStepFormValidation.formValidation.setElementInvalid(ele[0], value);\n errormsg += \"\\n\" + value;\n }\n }\n if (!_this4.standAlone) {\n _this4.hideProgramDisplay();\n }\n _this4.twoStepForm.step2button.disabled = false;\n alert('Form submit failed. Try again.' + errormsg); /* eslint-disable-line no-alert */\n } else {\n //set the thankYouPage here in case we error. We still want to send to TY page if there is an error\n var thankYouPage = data.thankyoupage;\n\n //if there's no thank you page defined, set it to the generic one\n if (!thankYouPage) {\n thankYouPage = window.location.origin + '/thankyou';\n }\n Promise.all([ThankYouCookie.storeThankYouValues(_this4.twoStepForm.form, data), EcommerceCookie.setEcommerceCookie(data), FormSubmitCookie.setFormSubmitCookie(_this4.twoStepForm.form, data)]).catch(function () {\n window.location.replace(thankYouPage);\n }).finally(function () {\n window.location.replace(thankYouPage);\n });\n }\n return data;\n }).catch(function () {\n var errorTYP = document.getElementById('errorTYP') ? document.getElementById('errorTYP').textContent : null;\n if (errorTYP !== null && errorTYP !== '') {\n window.location.replace(errorTYP);\n } else {\n alert('Sorry, there has been an error with this page. Please try again later or call 888.387.0864 for assistance.'); /* eslint-disable-line no-alert */\n _this4.twoStepForm.step2button.disabled = false;\n }\n });\n }\n }]);\n}();\n/* istanbul ignore next */\nif (typeof exports !== 'undefined') {\n module.exports = FormSubmitEvent;\n}\n/* global inqAppFormCommon */\n/* global AccessibilityController */\n/* global ExperienceAchievementDropdowns */\n/* global FormSubmitEvent */\n/* global RadioButtonData */\n/* global DropdownData */\n/* global FormTrackingData */\n/* global experienceAchievementData */\n/* global FormValidation */\n/* global cascadeLevelFirst */\nvar StandAloneFormController = /*#__PURE__*/function () {\n function StandAloneFormController(form, subjectSelect, academicLevelSelect, programSelect, dropdown1, dropdown2, dropdown3, militaryQuestion, militaryQuestionWrap, a11yController, loadEAData, formValidation, radioButtonData, dropdownData, nursingQuestionBachelorsName, nursingQuestionMastersName, nursingQuestionCertificateName, nursingQuestionValidationAlert, nursingQuestionsWrap, formTrackingData, submitButton) {\n _classCallCheck(this, StandAloneFormController);\n this.form = form;\n this.subjectSelect = subjectSelect;\n this.academicLevelSelect = academicLevelSelect;\n this.programSelect = programSelect;\n this.dropdown1 = dropdown1;\n this.dropdown2 = dropdown2;\n this.dropdown3 = dropdown3;\n this.militaryQuestion = militaryQuestion;\n this.militaryQuestionWrap = militaryQuestionWrap;\n this.a11yController = a11yController;\n this.loadEAData = loadEAData;\n this.formValidation = formValidation;\n this.radioButtonData = radioButtonData;\n this.dropdownData = dropdownData;\n this.nursingQuestionBachelorsName = nursingQuestionBachelorsName;\n this.nursingQuestionMastersName = nursingQuestionMastersName;\n this.nursingQuestionCertificateName = nursingQuestionCertificateName;\n this.nursingQuestionValidationAlert = nursingQuestionValidationAlert;\n this.nursingQuestionsWrap = nursingQuestionsWrap;\n this.formTrackingData = formTrackingData;\n this.submitButton = submitButton;\n }\n\n /**\r\n *** INITIALIZE EVENTS ***\r\n * */\n return _createClass(StandAloneFormController, [{\n key: \"init\",\n value: function init() {\n var _this5 = this;\n this.a11yController.disableField(this.dropdown2, true);\n this.a11yController.disableField(this.dropdown3, true);\n\n //load subject options (default)\n this.loadEAData.loadDropdownOptions(this.dropdown1);\n this.a11yController.enableField(this.dropdown1);\n\n //load radiobuttons\n this.radioButtonData.loadRadioButtons();\n\n //load dropdown data\n this.dropdownData.loadDropdownOptions();\n this.submitButton.addEventListener('click', function (event) {\n _this5.submitClick(event);\n });\n\n //Exp Achievement Dropdowns change\n // add onchange to subject (default)\n this.dropdown1.addEventListener('change', function () {\n _this5.dropdown1Change();\n });\n\n // add onchange to academicLevel (default)\n this.dropdown2.addEventListener('change', function () {\n _this5.dropdown2Change();\n });\n\n // add onchange to programs (default)\n this.dropdown3.addEventListener('change', function () {\n _this5.dropdown3Change();\n });\n\n //Military Questions\n var militarybuttons = this.form.querySelectorAll('[name=\"' + this.militaryQuestion + '\"]');\n militarybuttons.forEach(function (radioButton) {\n radioButton.addEventListener('change', function (event) {\n _this5.militaryButtonChange(event);\n });\n });\n\n /**\r\n * Add inline validation to select fields\r\n */\n this.form.querySelectorAll('select').forEach(function (ele) {\n ele.addEventListener('blur', function () {\n _this5.formValidation.validateSelectField(ele, true);\n });\n });\n\n /**\r\n * Add inline validation to text fields\r\n */\n this.form.querySelectorAll('input[type=text], input[type=tel], input[type=email]').forEach(function (ele) {\n ele.addEventListener('blur', function () {\n _this5.formValidation.validateInputTextField(ele, true);\n });\n });\n\n //Add focus to radio buttons - must be after the radio buttons are loaded.\n document.querySelectorAll(\".custom-radio input[type='radio']\").forEach(function (radioButton) {\n radioButton.addEventListener('click', function () {\n radioButton.focus();\n });\n });\n this.formTrackingData.init();\n }\n\n /**\r\n *** CLICK/CHANGE EVENT FUNCTIONS ***\r\n */\n }, {\n key: \"dropdown1Change\",\n value: function dropdown1Change() {\n //clear all other dropdown values\n this.a11yController.disableField(this.dropdown2, true);\n this.a11yController.disableField(this.dropdown3, true);\n this.formValidation.resetElementValidation(this.dropdown2);\n this.formValidation.resetElementValidation(this.dropdown3);\n if (this.formValidation.validateSelectField(this.dropdown1, true)) {\n // load academicLevel options\n if (this.loadEAData.loadDropdownOptions(this.dropdown2)) {\n this.dropdown2Change();\n }\n this.a11yController.enableField(this.dropdown2);\n }\n this.formValidation.resetNursingQuestions();\n }\n }, {\n key: \"dropdown2Change\",\n value: function dropdown2Change() {\n this.formValidation.resetNursingQuestions();\n if (this.formValidation.validateSelectField(this.dropdown2, true)) {\n // load programs options\n if (this.loadEAData.loadDropdownOptions(this.dropdown3)) {\n this.dropdown3Change();\n }\n this.a11yController.enableField(this.dropdown3);\n } else {\n this.a11yController.disableField(this.dropdown3, true);\n }\n }\n }, {\n key: \"dropdown3Change\",\n value: function dropdown3Change() {\n this.formValidation.resetNursingQuestions();\n if (this.formValidation.validateSelectField(this.dropdown3, true)) {\n // check for nursing\n this.isProgramNursing();\n }\n }\n }, {\n key: \"militaryButtonChange\",\n value: function militaryButtonChange(event) {\n // Hide/Show military questions\n if (event.target.value === \"Yes\" && event.target.checked) {\n //show military questions\n this.militaryQuestionWrap.classList.remove('d-none');\n return true;\n }\n this.militaryQuestionWrap.classList.add('d-none');\n return false;\n }\n }, {\n key: \"submitClick\",\n value: function submitClick(event) {\n event.preventDefault();\n this.submitButton.disabled = true;\n\n // Validate all fields\n var validForm = this.formValidation.validateFormFields(true);\n if (validForm === false) {\n this.submitButton.disabled = false;\n return;\n }\n\n // Submit\n var formSubmitEvent = new FormSubmitEvent(this, true);\n formSubmitEvent.submitForm();\n }\n\n /**\r\n *** HELPER FUNCTIONS ***\r\n */\n }, {\n key: \"getNursingQuestionLevel\",\n value: function getNursingQuestionLevel(nursingPrograms) {\n var selectedExpAchievement = this.programSelect.value;\n var expAchievement = nursingPrograms.filter(function (obj) {\n return obj.Value === selectedExpAchievement;\n });\n if (expAchievement.length > 0) {\n return expAchievement[0].ProgramGroup;\n }\n return \"\";\n }\n }, {\n key: \"exposeNursingQuestion\",\n value: function exposeNursingQuestion(questionName) {\n var _this6 = this;\n var nursingQuestion = this.form.querySelectorAll(\"[name='\" + questionName + \"']\");\n if (nursingQuestion.length > 0) {\n nursingQuestion[0].closest('.form-group').classList.remove('d-none');\n nursingQuestion.forEach(function (radio) {\n radio.checked = false;\n radio.addEventListener('click', function () {\n _this6.formValidation.validateNursingQuestions();\n });\n });\n }\n }\n }, {\n key: \"isProgramNursing\",\n value: function isProgramNursing() {\n //TODO: pull nursing question functions out of inqAppCommon\n var nursingPrograms = inqAppFormCommon.getNursingPrograms(this.loadEAData.expAchData);\n if (inqAppFormCommon.checkIfNursingCategory(this.programSelect.value, nursingPrograms)) {\n var nursingLevel = this.getNursingQuestionLevel(nursingPrograms);\n switch (nursingLevel) {\n case 'Bachelor\\'s':\n // show bachelor's nursing question\n this.exposeNursingQuestion(this.nursingQuestionBachelorsName);\n break;\n case 'Master\\'s':\n // show master's nursing question\n this.exposeNursingQuestion(this.nursingQuestionMastersName);\n break;\n case 'Certificate':\n // show certificate nursing question\n this.exposeNursingQuestion(this.nursingQuestionCertificateName);\n break;\n default:\n // do nothing;\n }\n }\n }\n }]);\n}();\nvar StandAloneFormControllerBuilder = /*#__PURE__*/function () {\n function StandAloneFormControllerBuilder() {\n _classCallCheck(this, StandAloneFormControllerBuilder);\n }\n return _createClass(StandAloneFormControllerBuilder, [{\n key: \"setForm\",\n value: function setForm(formSelector) {\n this.form = formSelector;\n return this;\n }\n }, {\n key: \"setSubjectSelect\",\n value: function setSubjectSelect(subjectSelect) {\n this.subjectSelect = subjectSelect;\n return this;\n }\n }, {\n key: \"setAcademicLevelSelect\",\n value: function setAcademicLevelSelect(academicLevelSelect) {\n this.academicLevelSelect = academicLevelSelect;\n return this;\n }\n }, {\n key: \"setProgramSelect\",\n value: function setProgramSelect(programSelect) {\n this.programSelect = programSelect;\n return this;\n }\n }, {\n key: \"setCascadeOrder\",\n value: function setCascadeOrder() {\n var _cascadeOrder = [this.subjectSelect, this.academicLevelSelect, this.programSelect];\n if (typeof cascadeLevelFirst !== 'undefined' && cascadeLevelFirst === true) {\n _cascadeOrder = [this.academicLevelSelect, this.subjectSelect, this.programSelect];\n }\n this.dropdown1 = _cascadeOrder[0];\n this.dropdown2 = _cascadeOrder[1];\n this.dropdown3 = _cascadeOrder[2]; // eslint-disable-line no-magic-numbers\n\n return this;\n }\n }, {\n key: \"setMilitaryQuestion\",\n value: function setMilitaryQuestion(militaryQuestion) {\n this.militaryQuestion = militaryQuestion;\n return this;\n }\n }, {\n key: \"setMilitaryQuestionWrap\",\n value: function setMilitaryQuestionWrap(militaryQuestionWrap) {\n this.militaryQuestionWrap = militaryQuestionWrap;\n return this;\n }\n }, {\n key: \"setA11yController\",\n value: function setA11yController(a11yController) {\n if (a11yController) {\n this.a11yController = a11yController;\n return this;\n }\n this.a11yController = new AccessibilityController();\n return this;\n }\n }, {\n key: \"setLoadEAData\",\n value: function setLoadEAData(loadEAData) {\n if (loadEAData) {\n this.loadEAData = loadEAData;\n return this;\n }\n this.loadEAData = new ExperienceAchievementDropdowns(this.form, this.subjectSelect, this.academicLevelSelect, this.programSelect);\n return this;\n }\n }, {\n key: \"setFormValidation\",\n value: function setFormValidation(formValidation, nursingQuestionValidationAlert) {\n if (formValidation) {\n this.formValidation = formValidation;\n return this;\n }\n this.formValidation = new FormValidation(this.form, nursingQuestionValidationAlert);\n return this;\n }\n }, {\n key: \"setRadioButtonData\",\n value: function setRadioButtonData(radioButtonData) {\n if (radioButtonData) {\n this.radioButtonData = radioButtonData;\n return this;\n }\n this.radioButtonData = new RadioButtonData(this.form);\n return this;\n }\n }, {\n key: \"setDropdownData\",\n value: function setDropdownData(dropdownData) {\n if (dropdownData) {\n this.dropdownData = dropdownData;\n return this;\n }\n this.dropdownData = new DropdownData(this.form);\n return this;\n }\n }, {\n key: \"setNursingQuestionBachelorsName\",\n value: function setNursingQuestionBachelorsName(nursingQuestionBachelorsName) {\n this.nursingQuestionBachelorsName = nursingQuestionBachelorsName;\n return this;\n }\n }, {\n key: \"setNursingQuestionMastersName\",\n value: function setNursingQuestionMastersName(nursingQuestionMastersName) {\n this.nursingQuestionMastersName = nursingQuestionMastersName;\n return this;\n }\n }, {\n key: \"setNursingQuestionCertificateName\",\n value: function setNursingQuestionCertificateName(nursingQuestionCertificateName) {\n this.nursingQuestionCertificateName = nursingQuestionCertificateName;\n return this;\n }\n }, {\n key: \"setNursingQuestionValidationAlert\",\n value: function setNursingQuestionValidationAlert(nursingQuestionValidationAlert) {\n this.nursingQuestionValidationAlert = nursingQuestionValidationAlert;\n return this;\n }\n }, {\n key: \"setNursingQuestionsWrap\",\n value: function setNursingQuestionsWrap(nursingQuestionsWrap) {\n this.nursingQuestionsWrap = nursingQuestionsWrap;\n return this;\n }\n }, {\n key: \"setFormTrackingData\",\n value: function setFormTrackingData(formTrackingData) {\n if (formTrackingData) {\n this.formTrackingData = formTrackingData;\n return this;\n }\n this.formTrackingData = new FormTrackingData();\n return this;\n }\n }, {\n key: \"setSubmitButton\",\n value: function setSubmitButton(submitButton) {\n this.submitButton = submitButton;\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new StandAloneFormController(this.form, this.subjectSelect, this.academicLevelSelect, this.programSelect, this.dropdown1, this.dropdown2, this.dropdown3, this.militaryQuestion, this.militaryQuestionWrap, this.a11yController, this.loadEAData, this.formValidation, this.radioButtonData, this.dropdownData, this.nursingQuestionBachelorsName, this.nursingQuestionMastersName, this.nursingQuestionCertificateName, this.nursingQuestionValidationAlert, this.nursingQuestionsWrap, this.formTrackingData, this.submitButton);\n }\n }]);\n}();\n/* istanbul ignore next */\nif (typeof exports !== 'undefined') {\n module.exports = [StandAloneFormController, StandAloneFormControllerBuilder];\n}\nwindow.addEventListener('load', function () {\n var standAloneForm = document.getElementById(\"degrees-stand-alone\");\n if (!standAloneForm) {\n return;\n }\n var subjectSelect = standAloneForm.querySelector(\"#sAFSubject\");\n var academicLevelSelect = standAloneForm.querySelector(\"#sAFAcademicLevel\");\n var programSelect = standAloneForm.querySelector(\"#sAFPrograms\");\n var nursingQuestionValidationAlert = standAloneForm.querySelector('div.nursingQuestionValidationAlert');\n var submitButton = standAloneForm.querySelector('button[type=\"submit\"]');\n var standAloneFormController = new StandAloneFormControllerBuilder().setForm(standAloneForm).setSubjectSelect(subjectSelect).setAcademicLevelSelect(academicLevelSelect).setProgramSelect(programSelect).setCascadeOrder() //[ subjectSelect, academicLevelSelect, programSelect ]\n .setMilitaryQuestion(\"Military\").setMilitaryQuestionWrap(standAloneForm.querySelector('#militaryQuestions')).setA11yController(new AccessibilityController()).setLoadEAData(new ExperienceAchievementDropdowns(standAloneForm, subjectSelect, academicLevelSelect, programSelect, experienceAchievementData)).setFormValidation(new FormValidation(standAloneForm, nursingQuestionValidationAlert)).setRadioButtonData(new RadioButtonData(standAloneForm)).setDropdownData(new DropdownData(standAloneForm)).setNursingQuestionBachelorsName(\"sAFNursingBachelors\").setNursingQuestionMastersName(\"sAFNursingMasters\").setNursingQuestionCertificateName(\"sAFNursingCertificate\").setNursingQuestionValidationAlert(nursingQuestionValidationAlert).setNursingQuestionsWrap(standAloneForm.querySelector('.js-nursingQuestions')).setFormTrackingData(new FormTrackingData()).setSubmitButton(submitButton).build();\n standAloneFormController.init();\n});\nvar Tooltip = /*#__PURE__*/function () {\n function Tooltip(tooltipSelector) {\n _classCallCheck(this, Tooltip);\n this.tooltips = document.querySelectorAll(tooltipSelector);\n }\n return _createClass(Tooltip, [{\n key: \"init\",\n value: function init() {\n var _this7 = this;\n if (this.tooltips.length === 0) {\n return;\n }\n this.tooltips.forEach(function (trigger) {\n trigger.closest('div.select-group').classList.add(\"has-tooltip\");\n ['focus', 'mouseover'].forEach(function (e) {\n trigger.addEventListener(e, function () {\n _this7.showTooltip(trigger.nextElementSibling);\n });\n });\n ['blur', 'mouseout'].forEach(function (e) {\n trigger.addEventListener(e, function () {\n _this7.hideTooltip(trigger.nextElementSibling);\n });\n });\n trigger.addEventListener(\"keydown\", function (e) {\n if (e.key === \"Escape\") {\n _this7.hideTooltip(trigger.nextElementSibling);\n }\n });\n });\n }\n\n // eslint-disable-next-line class-methods-use-this\n }, {\n key: \"positionTooltip\",\n value: function positionTooltip(popover) {\n var tooltipRect = popover.getBoundingClientRect();\n var isTop = 145;\n var isTooltipOnTop = tooltipRect.top < isTop;\n var isTooltipOnBottom = !isTooltipOnTop;\n if (isTooltipOnTop) {\n popover.classList.remove(\"tooltip-popover-bottom\");\n popover.classList.add(\"tooltip-popover-top\");\n } else if (isTooltipOnBottom) {\n popover.classList.remove(\"tooltip-popover-top\");\n popover.classList.add(\"tooltip-popover-bottom\");\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n }, {\n key: \"showTooltip\",\n value: function showTooltip(popover) {\n var DISPLAY_BLOCK = \"block\";\n if (popover.style.display === DISPLAY_BLOCK) {\n return;\n }\n popover.style.display = DISPLAY_BLOCK;\n this.positionTooltip(popover);\n popover.setAttribute(\"aria-expanded\", \"true\");\n }\n\n // eslint-disable-next-line class-methods-use-this\n }, {\n key: \"hideTooltip\",\n value: function hideTooltip(popover) {\n popover.style.display = \"none\";\n popover.setAttribute(\"aria-expanded\", \"false\");\n }\n }]);\n}();\nwindow.addEventListener('load', function () {\n if (document.querySelector(\".form-group\")) {\n var tooltip = new Tooltip(\".tooltip-button\");\n tooltip.init();\n }\n});\n/* global inqAppFormCommon */\n/* global AccessibilityController */\n/* global ExperienceAchievementDropdowns */\n/* global FormSubmitEvent */\n/* global RadioButtonData */\n/* global DropdownData */\n/* global step2ActiveIconSrc */\n/* global step2ActiveIconAlt */\n/* global step1CompletedIconAlt */\n/* global step1CompletedIconSrc */\n/* global prePopFormData */\n/* global FormTrackingData */\n/* global experienceAchievementData */\n/* global FormValidation */\nvar TwoStepFormController = /*#__PURE__*/function () {\n function TwoStepFormController(form, subjectSelect, academicLevelSelect, programSelect, changeProgram, step1button, step2button, militaryQuestion, militaryQuestionWrap, a11yController, loadEAData, formValidation, radioButtonData, dropdownData, nursingQuestionBachelorsName, nursingQuestionMastersName, nursingQuestionCertificateName, nursingQuestionValidationAlert, nursingQuestionsWrap, formTrackingData) {\n _classCallCheck(this, TwoStepFormController);\n this.form = form;\n this.subjectSelect = subjectSelect;\n this.academicLevelSelect = academicLevelSelect;\n this.programSelect = programSelect;\n this.changeProgram = changeProgram;\n this.step1button = step1button;\n this.step2button = step2button;\n this.militaryQuestion = militaryQuestion;\n this.militaryQuestionWrap = militaryQuestionWrap;\n this.a11yController = a11yController;\n this.loadEAData = loadEAData;\n this.formValidation = formValidation;\n this.radioButtonData = radioButtonData;\n this.dropdownData = dropdownData;\n this.nursingQuestionBachelorsName = nursingQuestionBachelorsName;\n this.nursingQuestionMastersName = nursingQuestionMastersName;\n this.nursingQuestionCertificateName = nursingQuestionCertificateName;\n this.nursingQuestionValidationAlert = nursingQuestionValidationAlert;\n this.nursingQuestionsWrap = nursingQuestionsWrap;\n this.formTrackingData = formTrackingData;\n }\n\n /**\r\n *** INITIALIZE EVENTS ***\r\n * */\n return _createClass(TwoStepFormController, [{\n key: \"init\",\n value: function init() {\n var _this8 = this;\n //load subject options\n this.loadEAData.loadSubjectOptions();\n this.a11yController.enableField(this.subjectSelect);\n\n //load radiobuttons\n this.radioButtonData.loadRadioButtons();\n\n //load dropdown data\n this.dropdownData.loadDropdownOptions();\n\n // pre-load the form\n if (typeof prePopFormData !== 'undefined') {\n if (JSON.parse(prePopFormData)) {\n this.loadDefaultValuesFromPage(JSON.parse(prePopFormData));\n }\n }\n\n // form button clicks\n this.step1button.addEventListener('click', function () {\n _this8.stepOneClick();\n });\n this.changeProgram.addEventListener('click', function () {\n _this8.changeProgramClick();\n });\n this.step2button.addEventListener('click', function (event) {\n _this8.stepTwoClick(event);\n });\n\n //Exp Achievement Dropdowns change\n this.subjectSelect.addEventListener('change', function () {\n _this8.subjectSelectChange();\n });\n\n // add onchange to academicLevel\n this.academicLevelSelect.addEventListener('change', function () {\n _this8.academicLevelSelectChange();\n });\n\n // add onchange to programs\n this.programSelect.addEventListener('change', function () {\n _this8.programsSelectChange();\n });\n\n //Military Questions\n var militarybuttons = this.form.querySelectorAll('[name=\"' + this.militaryQuestion + '\"]');\n militarybuttons.forEach(function (radioButton) {\n radioButton.addEventListener('change', function (event) {\n _this8.militaryButtonChange(event);\n });\n });\n this.setPlaceholders();\n\n /**\r\n * Add inline validation to select fields\r\n */\n this.form.querySelectorAll('select').forEach(function (ele) {\n ele.addEventListener('blur', function () {\n _this8.formValidation.validateSelectField(ele, true);\n });\n });\n\n /**\r\n * Add inline validation to text fields\r\n */\n this.form.querySelectorAll('input[type=text], input[type=tel], input[type=email]').forEach(function (ele) {\n ele.addEventListener('blur', function () {\n _this8.formValidation.validateInputTextField(ele, true);\n });\n });\n\n //Add focus to radio buttons - must be after the radio buttons are loaded.\n document.querySelectorAll(\".custom-radio input[type='radio']\").forEach(function (radioButton) {\n radioButton.addEventListener('click', function () {\n radioButton.focus();\n });\n });\n this.formTrackingData.init();\n }\n\n /**\r\n * We use the placeholder instead of the label to display the field name.\r\n * Get the value from the label and set the placeholder on the element\r\n * */\n }, {\n key: \"setPlaceholders\",\n value: function setPlaceholders() {\n this.form.querySelectorAll('label.form-control-placeholder').forEach(function (label) {\n var labelForThisControl = label.previousElementSibling;\n if (labelForThisControl) {\n labelForThisControl.setAttribute('placeholder', label.innerText);\n }\n });\n }\n }, {\n key: \"loadDefaultValuesFromPage\",\n value: function loadDefaultValuesFromPage(preData) {\n /* eslint-disable no-magic-numbers */\n var exVal = 3;\n Object.values(preData).forEach(function (val) {\n val.Value === '' ? exVal-- : exVal;\n });\n switch (exVal) {\n case 1:\n this.prePopSubject(preData);\n break;\n case 2:\n this.prePopLevel(preData);\n break;\n case 3:\n this.prePopProgram(preData);\n break;\n default:\n }\n /* eslint-enable no-magic-numbers */\n }\n }, {\n key: \"prePopProgram\",\n value: function prePopProgram(prePopData) {\n this.prePopLevel(prePopData);\n this.programSelect.value = prePopData.ExperienceAchievement.Value;\n if (this.programSelect.value !== '') {\n this.programsSelectChange();\n if (!this.subjectSelect.options[this.subjectSelect.selectedIndex].text.toLowerCase().includes('nursing')) {\n this.stepOneClick();\n }\n } else {\n this.programSelect.selectedIndex = 0;\n }\n }\n }, {\n key: \"prePopLevel\",\n value: function prePopLevel(prePopData) {\n this.prePopSubject(prePopData);\n this.academicLevelSelect.value = prePopData.ProgramGroup.Value;\n if (this.academicLevelSelect.value !== '') {\n this.academicLevelSelectChange();\n } else {\n this.academicLevelSelect.selectedIndex = 0;\n }\n }\n }, {\n key: \"prePopSubject\",\n value: function prePopSubject(prePopData) {\n this.subjectSelect.value = prePopData.Category.Value;\n if (this.subjectSelect.value !== '') {\n this.subjectSelectChange();\n } else {\n this.subjectSelect.selectedIndex = 0;\n }\n }\n\n /**\r\n *** CLICK/CHANGE EVENT FUNCTIONS ***\r\n */\n }, {\n key: \"subjectSelectChange\",\n value: function subjectSelectChange() {\n //clear all other dropdown values\n this.a11yController.disableField(this.academicLevelSelect, true);\n this.a11yController.disableField(this.programSelect, true);\n this.formValidation.resetElementValidation(this.academicLevelSelect);\n this.formValidation.resetElementValidation(this.programSelect);\n if (this.formValidation.validateSelectField(this.subjectSelect, true)) {\n // load academicLevel options\n if (this.loadEAData.loadAcademicLevelOptions(this.subjectSelect.value)) {\n this.academicLevelSelectChange();\n }\n this.a11yController.enableField(this.academicLevelSelect);\n }\n this.formValidation.resetNursingQuestions();\n }\n }, {\n key: \"academicLevelSelectChange\",\n value: function academicLevelSelectChange() {\n this.formValidation.resetElementValidation(this.programSelect);\n this.formValidation.resetNursingQuestions();\n if (this.formValidation.validateSelectField(this.academicLevelSelect, true)) {\n // load programs options\n if (this.loadEAData.loadProgramsOptions()) {\n this.programsSelectChange();\n }\n this.a11yController.enableField(this.programSelect);\n } else {\n this.a11yController.disableField(this.programSelect, true);\n }\n }\n }, {\n key: \"programsSelectChange\",\n value: function programsSelectChange() {\n this.formValidation.resetNursingQuestions();\n if (this.formValidation.validateSelectField(this.programSelect, true)) {\n // check for nursing\n this.isProgramNursing();\n }\n }\n }, {\n key: \"militaryButtonChange\",\n value: function militaryButtonChange(event) {\n // Hide/Show military questions\n if (event.target.value === \"Yes\" && event.target.checked) {\n //show military questions\n this.militaryQuestionWrap.classList.remove('d-none');\n return true;\n }\n this.militaryQuestionWrap.classList.add('d-none');\n return false;\n }\n\n /**\r\n * Step 2 - show the experience acheivement dropdowns\r\n * */\n }, {\n key: \"changeProgramClick\",\n value: function changeProgramClick() {\n // Show Step 1\n this.form.querySelector(\".step1\").classList.remove('d-none');\n\n // Hide the selected program on Step 2\n this.form.querySelector('.programDisplay').classList.add('d-none');\n this.programSelect.focus();\n }\n }, {\n key: \"stepOneClick\",\n value: function stepOneClick() {\n // Validate step 1\n var validForm = this.formValidation.validateFormFields(false);\n if (validForm) {\n // Update form field UI\n this.form.classList.replace('degreesTwoStep--step1', 'degreesTwoStep--step2');\n\n // reset step 2 field validation\n this.resetStepTwoFieldValidation();\n\n // Hide Step 1\n var step1Of2 = this.form.querySelector(\".step1\");\n if (step1Of2) {\n step1Of2.classList.add('d-none');\n }\n\n // Show the selected program on Step 2\n var programTextDisplay = this.form.querySelector('.program-text-display');\n if (programTextDisplay) {\n programTextDisplay.innerHTML = this.programSelect.options[this.programSelect.selectedIndex].text;\n }\n\n // Update statusbar UI\n this.updateStatusBar('stepTwo');\n }\n }\n }, {\n key: \"stepTwoClick\",\n value: function stepTwoClick(event) {\n event.preventDefault();\n this.step2button.disabled = true;\n\n // Validate all fields\n var validForm = this.formValidation.validateFormFields(true);\n if (validForm === false) {\n this.step2button.disabled = false;\n return;\n }\n\n // Submit\n var formSubmitEvent = new FormSubmitEvent(this);\n formSubmitEvent.submitForm();\n }\n\n /**\r\n *** UI UPDATES ***\r\n */\n }, {\n key: \"updateStatusBar\",\n value: function updateStatusBar(step) {\n // update to step 2\n if (step !== 'stepTwo') {\n return;\n }\n\n // The step 1 completed icon src lives in SC\n if (typeof step1CompletedIconSrc !== 'undefined') {\n var step1Image = this.form.querySelector('#steponeimage');\n if (step1Image) {\n step1Image.setAttribute('src', step1CompletedIconSrc);\n step1Image.setAttribute('alt', step1CompletedIconAlt);\n }\n }\n // The step 2 icon src lives in SC\n if (typeof step2ActiveIconSrc === 'undefined') {\n return;\n }\n var step2Image = this.form.querySelector('#steptwoimage');\n if (!step2Image) {\n return;\n }\n step2Image.parentElement.classList.add('step-2-active');\n step2Image.setAttribute('src', step2ActiveIconSrc);\n step2Image.setAttribute('alt', step2ActiveIconAlt);\n }\n\n /**\r\n *** HELPER FUNCTIONS ***\r\n */\n }, {\n key: \"getNursingQuestionLevel\",\n value: function getNursingQuestionLevel(nursingPrograms) {\n var selectedExpAchievement = this.programSelect.value;\n var expAchievement = nursingPrograms.filter(function (obj) {\n return obj.Value === selectedExpAchievement;\n });\n if (expAchievement.length > 0) {\n return expAchievement[0].ProgramGroup;\n }\n return \"\";\n }\n }, {\n key: \"exposeNursingQuestion\",\n value: function exposeNursingQuestion(questionName) {\n var _this9 = this;\n var nursingQuestion = this.form.querySelectorAll(\"[name='\" + questionName + \"']\");\n if (nursingQuestion.length > 0) {\n nursingQuestion[0].closest('.form-group').classList.remove('d-none');\n nursingQuestion.forEach(function (radio) {\n radio.checked = false;\n radio.addEventListener('click', function () {\n _this9.formValidation.validateNursingQuestions();\n });\n });\n }\n }\n }, {\n key: \"isProgramNursing\",\n value: function isProgramNursing() {\n var nursingPrograms = inqAppFormCommon.getNursingPrograms(this.loadEAData.expAchData);\n if (inqAppFormCommon.checkIfNursingCategory(this.programSelect.value, nursingPrograms)) {\n var nursingLevel = this.getNursingQuestionLevel(nursingPrograms);\n switch (nursingLevel) {\n case 'Bachelor\\'s':\n // show bachelor's nursing question\n this.exposeNursingQuestion(this.nursingQuestionBachelorsName);\n break;\n case 'Master\\'s':\n // show master's nursing question\n this.exposeNursingQuestion(this.nursingQuestionMastersName);\n break;\n case 'Certificate':\n // show certificate nursing question\n this.exposeNursingQuestion(this.nursingQuestionCertificateName);\n break;\n default:\n // do nothing;\n }\n }\n }\n\n /**\r\n * After clicking step 1, reset the validation for step 2 text fields to remove the green shadowbox\r\n * on the empty text fields. When step one is validated, the fields are marked as valid because they\r\n * are hidden. This function resets the validation so the green shadowbox is removed.\r\n */\n }, {\n key: \"resetStepTwoFieldValidation\",\n value: function resetStepTwoFieldValidation() {\n var _this10 = this;\n this.form.querySelectorAll('.step2 .valid-form-group input').forEach(function (ele) {\n if (ele.value === '') {\n _this10.formValidation.resetElementValidation(ele);\n }\n });\n }\n }]);\n}();\nvar TwoStepFormControllerBuilder = /*#__PURE__*/function () {\n function TwoStepFormControllerBuilder() {\n _classCallCheck(this, TwoStepFormControllerBuilder);\n }\n return _createClass(TwoStepFormControllerBuilder, [{\n key: \"setForm\",\n value: function setForm(formSelector) {\n this.form = formSelector;\n return this;\n }\n }, {\n key: \"setSubjectSelect\",\n value: function setSubjectSelect(subjectSelect) {\n this.subjectSelect = subjectSelect;\n return this;\n }\n }, {\n key: \"setAcademicLevelSelect\",\n value: function setAcademicLevelSelect(academicLevelSelect) {\n this.academicLevelSelect = academicLevelSelect;\n return this;\n }\n }, {\n key: \"setProgramSelect\",\n value: function setProgramSelect(programSelect) {\n this.programSelect = programSelect;\n return this;\n }\n }, {\n key: \"setChangeProgram\",\n value: function setChangeProgram(changeProgram) {\n this.changeProgram = changeProgram;\n return this;\n }\n }, {\n key: \"setStep1button\",\n value: function setStep1button(step1button) {\n this.step1button = step1button;\n return this;\n }\n }, {\n key: \"setStep2button\",\n value: function setStep2button(step2button) {\n this.step2button = step2button;\n return this;\n }\n }, {\n key: \"setMilitaryQuestion\",\n value: function setMilitaryQuestion(militaryQuestion) {\n this.militaryQuestion = militaryQuestion;\n return this;\n }\n }, {\n key: \"setMilitaryQuestionWrap\",\n value: function setMilitaryQuestionWrap(militaryQuestionWrap) {\n this.militaryQuestionWrap = militaryQuestionWrap;\n return this;\n }\n }, {\n key: \"setA11yController\",\n value: function setA11yController(a11yController) {\n if (a11yController) {\n this.a11yController = a11yController;\n return this;\n }\n this.a11yController = new AccessibilityController();\n return this;\n }\n }, {\n key: \"setLoadEAData\",\n value: function setLoadEAData(loadEAData) {\n if (loadEAData) {\n this.loadEAData = loadEAData;\n return this;\n }\n this.loadEAData = new ExperienceAchievementDropdowns(this.form, this.subjectSelect, this.academicLevelSelect, this.programSelect);\n return this;\n }\n }, {\n key: \"setFormValidation\",\n value: function setFormValidation(formValidation, nursingQuestionValidationAlert) {\n if (formValidation) {\n this.formValidation = formValidation;\n return this;\n }\n this.formValidation = new FormValidation(this.form, nursingQuestionValidationAlert);\n return this;\n }\n }, {\n key: \"setRadioButtonData\",\n value: function setRadioButtonData(radioButtonData) {\n if (radioButtonData) {\n this.radioButtonData = radioButtonData;\n return this;\n }\n this.radioButtonData = new RadioButtonData(this.form);\n return this;\n }\n }, {\n key: \"setDropdownData\",\n value: function setDropdownData(dropdownData) {\n if (dropdownData) {\n this.dropdownData = dropdownData;\n return this;\n }\n this.dropdownData = new DropdownData(this.form);\n return this;\n }\n }, {\n key: \"setNursingQuestionBachelorsName\",\n value: function setNursingQuestionBachelorsName(nursingQuestionBachelorsName) {\n this.nursingQuestionBachelorsName = nursingQuestionBachelorsName;\n return this;\n }\n }, {\n key: \"setNursingQuestionMastersName\",\n value: function setNursingQuestionMastersName(nursingQuestionMastersName) {\n this.nursingQuestionMastersName = nursingQuestionMastersName;\n return this;\n }\n }, {\n key: \"setNursingQuestionCertificateName\",\n value: function setNursingQuestionCertificateName(nursingQuestionCertificateName) {\n this.nursingQuestionCertificateName = nursingQuestionCertificateName;\n return this;\n }\n }, {\n key: \"setNursingQuestionValidationAlert\",\n value: function setNursingQuestionValidationAlert(nursingQuestionValidationAlert) {\n this.nursingQuestionValidationAlert = nursingQuestionValidationAlert;\n return this;\n }\n }, {\n key: \"setNursingQuestionsWrap\",\n value: function setNursingQuestionsWrap(nursingQuestionsWrap) {\n this.nursingQuestionsWrap = nursingQuestionsWrap;\n return this;\n }\n }, {\n key: \"setFormTrackingData\",\n value: function setFormTrackingData(formTrackingData) {\n if (formTrackingData) {\n this.formTrackingData = formTrackingData;\n return this;\n }\n this.formTrackingData = new FormTrackingData();\n return this;\n }\n }, {\n key: \"build\",\n value: function build() {\n return new TwoStepFormController(this.form, this.subjectSelect, this.academicLevelSelect, this.programSelect, this.changeProgram, this.step1button, this.step2button, this.militaryQuestion, this.militaryQuestionWrap, this.a11yController, this.loadEAData, this.formValidation, this.radioButtonData, this.dropdownData, this.nursingQuestionBachelorsName, this.nursingQuestionMastersName, this.nursingQuestionCertificateName, this.nursingQuestionValidationAlert, this.nursingQuestionsWrap, this.formTrackingData);\n }\n }]);\n}();\n/* istanbul ignore next */\nif (typeof exports !== 'undefined') {\n module.exports = [TwoStepFormController, TwoStepFormControllerBuilder];\n}\nwindow.addEventListener('load', function () {\n var twoStepForm = document.getElementById(\"degrees-two-step\");\n if (!twoStepForm) {\n return;\n }\n var subjectSelect = twoStepForm.querySelector(\"#tSFSubject\");\n var academicLevelSelect = twoStepForm.querySelector(\"#tSFAcademicLevel\");\n var programSelect = twoStepForm.querySelector(\"#tSFPrograms\");\n var nursingQuestionValidationAlert = twoStepForm.querySelector('div.nursingQuestionValidationAlert');\n var twoStepFormController = new TwoStepFormControllerBuilder().setForm(twoStepForm).setSubjectSelect(subjectSelect).setAcademicLevelSelect(academicLevelSelect).setProgramSelect(programSelect).setChangeProgram(twoStepForm.querySelector(\"#tSFchangeProgram\")).setStep1button(twoStepForm.querySelector(\"#degrees-step-1\")).setStep2button(twoStepForm.querySelector(\"#degrees-step-2\")).setMilitaryQuestion(\"tSFMilitary\").setMilitaryQuestionWrap(twoStepForm.querySelector('#militaryQuestions')).setA11yController(new AccessibilityController()).setLoadEAData(new ExperienceAchievementDropdowns(twoStepForm, subjectSelect, academicLevelSelect, programSelect, experienceAchievementData)).setFormValidation(new FormValidation(twoStepForm, nursingQuestionValidationAlert)).setRadioButtonData(new RadioButtonData(twoStepForm)).setDropdownData(new DropdownData(twoStepForm)).setNursingQuestionBachelorsName(\"tSFNursingBachelors\").setNursingQuestionMastersName(\"tSFNursingMasters\").setNursingQuestionCertificateName(\"tSFNursingCertificate\").setNursingQuestionValidationAlert(nursingQuestionValidationAlert).setNursingQuestionsWrap(twoStepForm.querySelector('.js-nursingQuestions')).setFormTrackingData(new FormTrackingData()).build();\n twoStepFormController.init();\n});\nvar FormStartFactory = /*#__PURE__*/function () {\n function FormStartFactory(formType, prepopulated, formSource) {\n _classCallCheck(this, FormStartFactory);\n this.formType = formType;\n this.prepopulated = prepopulated;\n this.formSource = formSource || \"\";\n }\n return _createClass(FormStartFactory, [{\n key: \"create\",\n value: function create() {\n return {\n 'form': {\n 'form_type': this.formType,\n 'form_prepopulated': this.prepopulated,\n 'form_source': this.formSource\n }\n };\n }\n }]);\n}();\n/* istanbul ignore next */\nif (typeof exports !== 'undefined') {\n module.exports = FormStartFactory;\n}\n/* global FormStartFactory */\n/* global GA4EventFactory */\n/* global FormUtilities */\nvar FormsController = /*#__PURE__*/function () {\n function FormsController(form, ga4Event, formStart) {\n _classCallCheck(this, FormsController);\n this.form = form;\n this.ga4Event = ga4Event || new GA4EventFactory();\n this.formStart = formStart || new FormStartFactory();\n }\n return _createClass(FormsController, [{\n key: \"FormStartEvent\",\n value: function FormStartEvent() {\n var formData = this.formStart.create();\n this.ga4Event.create(formData);\n }\n }]);\n}();\nif (typeof exports !== 'undefined') {\n module.exports = FormsController;\n}\nwindow.addEventListener('load', function () {\n var form = document.querySelector('form[data-formtype]');\n if (!form) {\n return;\n }\n var formUtilities = new FormUtilities(form);\n var ga4Event = new GA4EventFactory('form_start');\n var formStart = new FormStartFactory(formUtilities.getFormType(), formUtilities.isPrepopulated(), formUtilities.getFormSource());\n var formscontroller = new FormsController(form, ga4Event, formStart);\n var formelements = formscontroller.form.elements;\n\n //we have to add this function here so we can add it to the addEventListener and then when called removeEventListener\n var _ga4FormStart = function ga4FormStart() {\n formscontroller.FormStartEvent();\n for (var i = 0; i < formelements.length; i++) {\n formelements[i].removeEventListener('blur', _ga4FormStart);\n }\n };\n for (var i = 0; i < formelements.length; i++) {\n formelements[i].addEventListener('blur', _ga4FormStart);\n }\n});"]}