{"version":3,"sources":["webpack:///../../../src/components/VAlert/VAlert.ts","webpack:///./src/views/Forgot.vue","webpack:///src/views/Forgot.vue","webpack:///./src/views/Forgot.vue?d472","webpack:///./src/views/Forgot.vue?9a35","webpack:///./src/views/Workspace.vue","webpack:///./src/components/BaseAppWorkspaceLoader.vue","webpack:///src/components/BaseAppWorkspaceLoader.vue","webpack:///./src/components/BaseAppWorkspaceLoader.vue?4d17","webpack:///./src/components/BaseAppWorkspaceLoader.vue?9a7f","webpack:///src/views/Workspace.vue","webpack:///./src/views/Workspace.vue?ccb2","webpack:///./src/views/Workspace.vue?6029","webpack:///./src/components/BaseAppWorkspaceLoader.vue?663e","webpack:///./src/validators/operatingRegions.js","webpack:///./src/validators/agency.js","webpack:///./src/views/Login.vue?c497","webpack:///./src/views/Register.vue","webpack:///src/views/Register.vue","webpack:///./src/views/Register.vue?2262","webpack:///./src/views/Register.vue?b624","webpack:///./src/views/Register.vue?ee78","webpack:///./src/views/Workspace.vue?5551","webpack:///./src/views/RegisterComplete.vue","webpack:///src/views/RegisterComplete.vue","webpack:///./src/views/RegisterComplete.vue?8399","webpack:///./src/views/RegisterComplete.vue?d196","webpack:///./src/service/query.js","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///./src/views/Login.vue","webpack:///src/views/Login.vue","webpack:///./src/views/Login.vue?83d1","webpack:///./src/views/Login.vue?7b2b","webpack:///../../../src/components/VCheckbox/VCheckbox.ts","webpack:///./src/views/RegisterComplete.vue?5565","webpack:///./src/views/Forgot.vue?d1a6","webpack:///../../../src/mixins/transitionable/index.ts"],"names":["mixins","VSheet","Toggleable","Transitionable","extend","name","props","border","type","String","validator","val","includes","closeLabel","default","coloredBorder","Boolean","dense","dismissible","closeIcon","icon","outlined","prominent","text","value","computed","__cachedBorder","this","data","staticClass","class","setBackgroundColor","computedColor","$createElement","__cachedDismissible","color","iconColor","VBtn","small","attrs","$vuetify","lang","t","on","click","isActive","VIcon","__cachedIcon","computedIcon","classes","options","call","hasColoredIcon","hasText","undefined","isDark","Themeable","created","$attrs","hasOwnProperty","breaking","methods","genWrapper","children","getSlot","genContent","$scopedSlots","close","toggle","genAlert","role","listeners$","style","styles","directives","setColor","setTextColor","render","h","transition","origin","mode","_vm","_c","preventDefault","forgot","apply","staticStyle","model","auth","expression","showError","staticRenderFns","components","userEmail","rules","email","emailRegex","test","errorMsg","timeout","isForgotLoading","firebase","sendPasswordResetEmail","$store","dispatch","message","root","error","validate","component","_self","get_workspace","_v","existingWorkspaces","key","$event","selectWorkspace","loading","existingAgency","scac","isLoading","existingAgencyWorkspaces","agency","mapGetters","mapActions","workspace","currentUser","inviteData","get_agent_invitations","orgId","length","handleCreateWorkspace","$route","query","handleNewAgent","get_user","handleInvitedUser","verification","get_verification","create_existing_agent_workspace","delete_invitations_and_verifications","agencyOrgId","register_complete_action","payload","send_invitation_to_agency","$router","push","path","catch","_this$get_user","_this$get_user2","existingWorkspace","get_existing_workspace","get_existing_workspaces_by_scac","newOrg","existingAgencies","getAllAgency","map","existing","handleExistingWorkspaces","handleAgentWorkspace","watch","newValue","oldValue","delay","emailVerified","deep","_this$$route","new","BaseAppWorkspaceLoader","operatingRegions","async","agencyRef","firestore","collection","where","get","docs","require","cell","callback","_e","$set","$$v","afterReserve","validateAndUpdateAccountType","userScacAlphaCode","label","isRegisterLoading","Password","rmisLoading","userName","userCell","userCompany","userPassword","userConfirmPassword","orgType","isUserAcceptPolicy","passwordShow","phoneRegex","scacCode","RegExp","scacCodeRegex","loadingLoader","onFormChanged","orgTypes","computedOrgTypes","set","_this$auth$userPasswo","_this$auth$userScacAl","load_workspace","registerPayload","password","company","mc","toUpperCase","org_type","isOperatingRegionsRequired","accountType","register_action","console","warn","condition","rmis","fetch","carrier","status","json","get_account_type_data","accountInformation","forEach","find","toLowerCase","remove","account","inviteRef","doc","invite","agency_org","existingOrgRef","existingOrgData","JSON","parse","sessionStorage","getItem","reqEmail","reqScac","get_account_type","beforeCreate","user","get_load_workspace_active","get_error","isLoginLoading","getOrgId","allAgencies","signInWithEmailAndPassword","reload","org","getContentById","localStorage","setItem","complete","db","ids","collectionPath","batches","batch","splice","FieldPath","documentId","then","results","result","id","Promise","all","flat","VGrid","Vue","functional","tag","trim","Object","keys","filter","startsWith","join","domProps","Grid","fluid","mergeData","Array","concat","isUserKeepLogin","login_action","Selectable","indeterminate","indeterminateIcon","offIcon","onIcon","inputIndeterminate","VInput","validationState","isDisabled","hasError","shouldValidate","hasSuccess","hasColor","$nextTick","$emit","genCheckbox","title","checkboxAttrs","attrs$","dark","light","genInput","toString","genRipple","rippleState","genDefaultSlot","genLabel"],"mappings":"wGAAA,0HAyBeA,sBACbC,OACAC,OACAC,QACAC,OAAO,CACPC,KAAM,UAENC,MAAO,CACLC,OAAQ,CACNC,KAAMC,OACNC,UAAWC,GACT,MAAO,CACL,MACA,QACA,SACA,QACAC,SAASD,KAGfE,WAAY,CACVL,KAAMC,OACNK,QAAS,kBAEXC,cAAeC,QACfC,MAAOD,QACPE,YAAaF,QACbG,UAAW,CACTX,KAAMC,OACNK,QAAS,WAEXM,KAAM,CACJN,QAAS,GACTN,KAAM,CAACQ,QAASP,QAChBC,UAAWC,GACT,MAAsB,kBAARA,IAA4B,IAARA,IAGtCU,SAAUL,QACVM,UAAWN,QACXO,KAAMP,QACNR,KAAM,CACJA,KAAMC,OACNC,UAAWC,GACT,MAAO,CACL,OACA,QACA,UACA,WACAC,SAASD,KAGfa,MAAO,CACLhB,KAAMQ,QACNF,SAAS,IAIbW,SAAU,CACRC,iBACE,IAAKC,KAAKpB,OAAQ,OAAO,KAEzB,IAAIqB,EAAkB,CACpBC,YAAa,kBACbC,MAAO,CACL,CAAC,oBAAoBH,KAAKpB,SAAW,IASzC,OALIoB,KAAKZ,gBACPa,EAAOD,KAAKI,mBAAmBJ,KAAKK,cAAeJ,GACnDA,EAAKE,MAAM,+BAAgC,GAGtCH,KAAKM,eAAe,MAAOL,IAEpCM,sBACE,IAAKP,KAAKT,YAAa,OAAO,KAE9B,MAAMiB,EAAQR,KAAKS,UAEnB,OAAOT,KAAKM,eAAeI,OAAM,CAC/BR,YAAa,uBACbvB,MAAO,CACL6B,QACAf,MAAM,EACNkB,OAAO,GAETC,MAAO,CACL,aAAcZ,KAAKa,SAASC,KAAKC,EAAEf,KAAKd,aAE1C8B,GAAI,CACFC,MAAOA,IAAOjB,KAAKkB,UAAW,IAE/B,CACDlB,KAAKM,eAAea,OAAO,CACzBxC,MAAO,CAAE6B,UACRR,KAAKR,cAGZ4B,eACE,OAAKpB,KAAKqB,aAEHrB,KAAKM,eAAea,OAAO,CAChCjB,YAAa,gBACbvB,MAAO,CAAE6B,MAAOR,KAAKS,YACpBT,KAAKqB,cALuB,MAOjCC,UACE,MAAMA,EAAmC,IACpChD,OAAOiD,QAAQzB,SAASwB,QAAQE,KAAKxB,MACxC,kBAAmBX,QAAQW,KAAKpB,QAChC,iBAAkBoB,KAAKV,MACvB,oBAAqBU,KAAKN,SAC1B,qBAAsBM,KAAKL,UAC3B,gBAAiBK,KAAKJ,MAOxB,OAJII,KAAKpB,SACP0C,EAAQ,mBAAmBtB,KAAKpB,SAAY,GAGvC0C,GAETjB,gBACE,OAAOL,KAAKQ,OAASR,KAAKnB,MAE5BwC,eACE,OAAkB,IAAdrB,KAAKP,OACgB,kBAAdO,KAAKP,MAAqBO,KAAKP,KAAaO,KAAKP,OACvD,CAAC,QAAS,OAAQ,UAAW,WAAWR,SAASe,KAAKnB,OAEpD,IAAImB,KAAKnB,OAElB4C,iBACE,OACEzB,KAAK0B,SACJrC,QAAQW,KAAKpB,SAAWoB,KAAKZ,eAGlCsC,UACE,OAAO1B,KAAKJ,MAAQI,KAAKN,UAE3Be,YACE,OAAOT,KAAKyB,eAAiBzB,KAAKK,mBAAgBsB,GAEpDC,SACE,SACE5B,KAAKnB,MACJmB,KAAKZ,eACLY,KAAKN,WAGDmC,OAAUN,QAAQzB,SAAS8B,OAAOJ,KAAKxB,QAIlD8B,UAEM9B,KAAK+B,OAAOC,eAAe,YAC7BC,eAAS,UAAW,WAAYjC,OAIpCkC,QAAS,CACPC,aACE,MAAMC,EAAW,CACfC,eAAQrC,KAAM,YAAcA,KAAKoB,aACjCpB,KAAKsC,aACLtC,KAAKD,eACLsC,eAAQrC,KAAM,UACdA,KAAKuC,aAAaC,MACdxC,KAAKuC,aAAaC,MAAM,CAAEC,OAAQzC,KAAKyC,SACvCzC,KAAKO,qBAGLN,EAAkB,CACtBC,YAAa,oBAGf,OAAOF,KAAKM,eAAe,MAAOL,EAAMmC,IAE1CE,aACE,OAAOtC,KAAKM,eAAe,MAAO,CAChCJ,YAAa,oBACZmC,eAAQrC,QAEb0C,WACE,IAAIzC,EAAkB,CACpBC,YAAa,UACbU,MAAO,CACL+B,KAAM,SAER3B,GAAIhB,KAAK4C,WACTzC,MAAOH,KAAKsB,QACZuB,MAAO7C,KAAK8C,OACZC,WAAY,CAAC,CACXrE,KAAM,OACNmB,MAAOG,KAAKkB,YAIhB,IAAKlB,KAAKZ,cAAe,CACvB,MAAM4D,EAAWhD,KAAK0B,QAAU1B,KAAKiD,aAAejD,KAAKI,mBACzDH,EAAO+C,EAAShD,KAAKK,cAAeJ,GAGtC,OAAOD,KAAKM,eAAe,MAAOL,EAAM,CAACD,KAAKmC,gBAGhDM,SACEzC,KAAKkB,UAAYlB,KAAKkB,WAI1BgC,OAAQC,GACN,MAAMD,EAASlD,KAAK0C,WAEpB,OAAK1C,KAAKoD,WAEHD,EAAE,aAAc,CACrBxE,MAAO,CACLD,KAAMsB,KAAKoD,WACXC,OAAQrD,KAAKqD,OACbC,KAAMtD,KAAKsD,OAEZ,CAACJ,IARyBA,M,sLClP6L,W,IAAyB,OAAC,aAAC,OAAM,QAAS,CAACK,EAAG,MAAI,CAA0DrD,YAAY,iCAAgD,CAACsD,EAAG,QAAU5C,YAAM,kB,MAAK,CAAe,S,GAAK,C,MAAiC6C,YAAiB,OAAOF,EAAIG,QAAOC,IAAK,MAAqB,CAACH,EAAG,QAAQ,EAAC,0DAACtD,YAAY,gDAAkB0D,UAAW,C,MAAE,CAAoB,kBAAqBhD,IAAO,gBAAY,GAAS,OAAN,mBAAO,SAAe,yBAAkKA,GAAK,OAAC,C,YAAQ,kB,YAAgB2C,CAAiB,aAAQ,OAAS,YAAW,SAAIM,MAAM,CAAChE,UAAWiE,M,GAAyCP,OAAaO,C,YAAwB,wC,CAACC,SAAU,CAAC,0EAAgB,OAAI,KAAO,OAA0B7D,MAAW,GAAC,aAAiCsD,MAAG,SAAStD,SAAY,I,MAAgD,CAAgB,MAAM,EAAC,eAAc,SAAS,YAAC,OAAW,EAAC,KAAG,gBAA8B,gCAA+CA,QAAY,aAAO,YAAY,gCAACA,UAAW,CAAgC,YAAS,yCAAgDA,OAAmCU,KAAM,SAAC,KAAK,c,KAAQ,GAAQ,cAAC,4BAAeV,8BAAY,UAAmB,YAAS,QAAiCA,UAAY,CAAO,YAAY,gCAACA,oCAAY,iBAAoC,YAAS,uBAA8CA,OAAmCU,GAAM,CAAC,KAAK,WAAoB,WAAE,YAAY,oBAACV,sBAAY,eAAmB,YAAS,QAAmDA,UAAY,CAA6BU,YAAM,qC,CAAC,iCAAqB,iB,YAAS,uBAAO,MAAC,CAACiD,GAAM,CAAChE,KAAO0D,c,CAAyD,EAAC,Q,YAAW,oBAAY,kDAAE,YAAY,6BAAuC3C,MAAM,CAAC,QAAO,UAAG,e,MAAK,C,MAA6BoD,YAAiB,qBAAC,eAChrE,yBAGD,GAASd,OAAQe,iBAAe,e,6HCqFjB,GACfvF,KAAA,SACAwF,WAAA,GACAjE,OACA,OACA6D,KAAA,CACAK,UAAA,IAEAC,MAAA,CACAC,MAAAxE,GACA,OAAAyE,gBAAAC,KAAA1E,IAAA,oBAGA2E,SAAA,GACAR,WAAA,EACAS,QAAA,IACAC,iBAAA,IAGAxC,QAAA,CACA,eACA,KAAAwC,iBAAA,EAEA,UACAC,OAAAb,OAAAc,uBAAA,KAAAd,KAAAK,WAEA,KAAAO,iBAAA,EAEA,KAAAG,OAAAC,SACA,wBACA,CACAjG,KAAA,eACAkG,QAAA,8BAEA,CAAAC,MAAA,IAEA,MAAAC,GACA,KAAAjB,WAAA,EACA,KAAAQ,SAAAS,EAEA,KAAAP,iBAAA,IAGAQ,WACA,YAAApB,KAAAK,aCrI+U,I,wBCQ3UgB,EAAY,eACd,EACA,EACAlB,GACA,EACA,KACA,WACA,MAIa,aAAAkB,E,oDCnBf,IAAIjC,EAAS,WAAkB,IAAIK,EAAIvD,KAAKwD,EAAGD,EAAI6B,MAAM5B,GAAG,OAAOA,EAAG,MAAM,CAACtD,YAAY,0BAA0B,CAACsD,EAAG,2BAA2B,IAE9IS,EAAkB,G,sLCFgS,W,IAAW,EAAmB,EAAM,K,EAAM,EAAO,MAAI,G,OAAC,eAAU,CAAE,OAAG,KAAQ,SAA8H,CAACT,EAAG,OAAM,CAACtD,YAAY,sCAA4B,CAAE,EAACqD,OAAI8B,CAAyCnF,YAAY,aAAwBU,MAAM,CAAC,aAAmB,UAAW,M,CAAa,YAAQ,UAAS,OAAG,MAAS,UAIhsBV,cAAY,GAA6BqD,KAAO,KAAsJrD,MAAW,IAAasD,QAAU,MAA8LD,EAAI+B,KAAG,kCAA6C,MAAI,eAA4N,kIAAsC,OAAtC,U,YAAQ/B,4B,GAA8B,sCAA/O,EAAC,QAACrD,YAAY,4BAAcU,GAAK,MAAC,C,YAAS,4BAAS,iB,EAA6H,KAA7H,UAAE,YAAa2E,wBAA0C,MAAO/B,CAAkBgC,cAAK,GAAC5E,KAAM,K,MAAC,IAAwB,MAAC,aAAa,SAAS6E,GAAM,GAAC,yFAAsC,+E,YAAC,WAAE,GAAEjC,OAAG,YAAmB,CAACA,EAAG,OAAU,EAAC,iJ,YAAY,qB,CAAc5C,KAAM,wD,YAAS,c,MAAU,CAAW,kB,EAAiBA,GAAK,EAAC,kC,OAAC,SAAU,C,IAAC,EAAS,OAAI2C,SAAO,aAAmL3C,IAAO,MAAO,YAAE,+B,CAAwB,SAAQ,WAAgB,yBAAE,MAAM0E,CAAwC,MAAO,UAA8HpF,KAAW,OAAqI,CAAC,UAAC,MAAO,CAAkB,MAAOqD,GAAqB,UAAKC,CAAE,EAAC,sBAAuB,OAAU,EAAC,8FAACtD,YAAY,aAAaU,MAAM,CAAC,KAAQ,KAAqB,WAAI4C,MAAG,CAAU5C,MAAM,mBAAY,GAAM,GAAC,oCAAE,2GAAE,YAAS,WAAsJV,UAAY,YAAY,6EAACU,IAAO,MAAO,YAAE,8B,CAAwB,SAAQ,WAAgB,yBAAE,MAAM0E,CAA8IpF,MAAW,UAAiBsD,KAAG,OAAwD,CAACA,EAAG,QAAetD,OAAwBsD,MAAS,GAAkKtD,UAA6CU,GAAK,GAAC,qG,YAAS,aAAS,OAAG2C,KAAQA,K,CAA6EiC,EAAG,OAAE,C,MAAM,C,MAAE,mB,CAA0BxE,EAAG,gI,YAAS,e,UAA4B0E,W,YAAuC,gBAAC,UAAC,YAAM,W,CAAmCxF,SAAW,GAAC,SAAY,kI,YAAO,Q,GAAC,OAAQ,C,MAAU,CAAW,kB,EAAiBU,GAAK,EAAC,wC,OAAC,SAAU,C,IAAC,EAAS,OAAI2C,SAAO,aAAmL3C,IAAO,MAAO,YAAE,2C,CAAwB,SAAQ,WAAgB,yBAAE,MAAM0E,CAAwC,MAAK/B,UAC/iG,YAGD,GAASL,OAAQe,C,gZC8JF,GACfvF,KAAA,yBACAuB,OACA,OACA0F,SAAA,EACAJ,mBAAA,GACAK,gBAAA,EACAC,KAAA,KACAC,WAAA,EACAC,yBAAA,GACAC,QAAA,IAGAlG,SAAA,IACAmG,eAAA,kCACAA,eAAA,gCAEA/D,QAAA,IACAgE,eAAA,QACA,uCACA,2BACA,mBACA,uCAEAA,eAAA,aACA,yBACA,4BACA,wBACA,oCAEA,sBAAAC,EAAAtH,EAAA,MACA,MAAAwF,EAAAM,OAAAb,OAAAsC,YAAA/B,MAEA,GADA,KAAAyB,WAAA,EACAK,EAAA,CACA,MAAAE,QAAA,KAAAC,sBAAA,CACAjC,QACAkC,MAAAJ,EAAAI,MACAV,KAAA,KAAAA,OAEA,GAAAQ,EAAAG,aACA,KAAAC,sBAAA,CACApC,QACAkC,MAAAJ,EAAAI,aAEA,QAAAG,OAAAC,MAAAf,gBAAA/G,QACA,KAAA+H,eAAA,CACAf,KAAA,KAAAA,KACAU,MAAAJ,EAAAI,MACAlC,eAGA,QAAAwC,eACA,KAAAC,kBAAAX,OACA,CACA,MAAAY,QAAA,KAAAC,iBAAA3C,SAEA,KAAA4C,gCAAA,IACAF,EACAR,MAAAJ,EAAAI,QAEA,KAAAhB,mBAAA,GACA,KAAAQ,yBAAA,SACA,KAAAmB,mDAIA,KAAAT,sBAAA,CAAApC,UAEA,KAAAyB,WAAA,GAIA,mCAAAzB,EAAA,MAAAkC,IACA,MAAAQ,QAAA,KAAAC,iBAAA3C,GACApE,EAAA,IAAA8G,GACAR,IACAtG,EAAAkH,YAAAZ,SAEA,KAAAa,yBAAAnH,SACA,KAAAiH,uCACA,KAAA3B,mBAAA,IAIA,2BAAAM,EAAA,MAAAU,EAAA,MAAAlC,IACA,MAAAgD,EAAA,CACAxB,OACAU,QACAlC,eAEA,KAAAiD,0BAAAD,GACA,KAAAE,QACAC,KAAA,CAAAC,KAAA,gBAAAd,MAAA,CAAAd,UACA6B,MAAA,SAIA,wBAAAvB,GACA,KAAAtB,OAAAC,SAAA,0BAAAqB,GACA,KAAAtB,OAAAC,SAAA,qCACA,KAAAoC,uCAEA,KAAAK,QAAAC,KAAA,cAAAE,MAAA,SAIA,qCAAAC,EACA,WAAAA,EAAA,KAAAd,gBAAA,IAAAc,KAAApB,MAAA,KAAAqB,EACA,MAAAC,QAAA,KAAAC,uBACA,QADAF,EACA,KAAAf,gBAAA,IAAAe,OAAA,EAAAA,EAAArB,OAGA,KAAAhB,mBAAAiC,KAAAK,QAEA,KAAAtC,yBAAA,KAAAwC,gCACA,KAAArB,OAAAC,MAAAd,MAGA,QAAAa,OAAAC,MAAAqB,OAAA,CACA,KAAAnC,KAAA,KAAAa,OAAAC,MAAAd,KACA,MAAAoC,QAAAC,eAAA,KAAArC,MACA,KAAAE,yBAAAkC,EAAAE,IAAAnJ,GACAA,EAAAiB,UAKA,6BACA,KAAA2F,eAAA,KAAAc,OAAAC,MAAAf,eACA,KAAAC,KAAA,KAAAa,OAAAC,MAAAd,KACA,MAAAoC,QAAAC,eAAA,KAAArC,MACA,KAAAN,mBAAA0C,EAAAE,IAAAnJ,KAAAiB,UAGA,gBACA,KAAAyG,OAAAC,MAAAyB,eACA,KAAAC,2BACA,KAAA3B,OAAAC,MAAAf,sBACA,KAAA0C,uBAEA,MAAAlC,EAAAzB,OAAAb,OAAAsC,YACA,KAAAvB,OAAA0D,MACA,EAAApC,6BACA,CAAAqC,EAAAC,KACAD,GACAE,mBAAA,UACA,KAAA7D,OAAAC,SAAA,+BACAsB,EAAAuC,qBACA,KAAAzB,uCAEA,KAAAK,QAAAC,KAAA,cAAAE,MAAA,SAEA,KAAAH,QACAC,KAAA,CACAC,KAAA,UACAd,MAAA,CAAAtC,MAAA+B,EAAA/B,SAEAqD,MAAA,SAEA,OAGA,CACAkB,MAAA,KAIAL,MAAA,CACA7B,SAAA,IAAAmC,EACA,QAAAA,EAAA,KAAAnC,cAAA,IAAAmC,KAAAlC,MAAAmC,KACA,KAAAvB,QAAAC,KAAA,cAAAE,MAAA,WChV+V,I,wBCQ3VvC,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,QCVA,GACfzG,KAAA,YACAwF,WAAA,CACA6E,2BCZkV,ICQ9U,G,UAAY,eACd,EACA,EACA9E,GACA,EACA,KACA,WACA,OAIa,e,oECnBf,W,kCCAA,kCAAO,MAAM+E,EAAmB,CAC9B,eACA,WACA,cACA,aACA,SACA,aACA,iBACA,YACA,SACA,cACA,gBACA,aACA,aACA,aACA,aACA,c,kCChBF,kDAEO,MAuBMd,EAAee,UAC1B,MAAMC,QAAkBvE,OACrBwE,YACAC,WAAW,iBACXC,MAAM,eAAgB,iBAAkBxD,GACxCyD,MAEH,OAAgB,OAATJ,QAAS,IAATA,OAAS,EAATA,EAAWK,O,oCChCpB,W,+OCAoS,EAAK,W,IAAUrJ,OAA8BU,EAAK,EAAC,S,OAAC,QAAY,CAAG,yEAAG,CAAC4C,EAAG,QAAgBtD,OAAqDsD,GAAG,iBAAmC5C,IAAO,OAAU,SAAS,GAAc,OAAb,EAAS,iBAAU4I,WAAQ,yBAA6C,CAAChG,EAAG,OAAM,CAAEtD,YAAY,kBAAO,MAAMoF,CAA8CpF,UAAY,MAAwFA,UAAY,CAAuBU,YAAM,wC,CAAC,SAAK,C,YAAQ,c,MAAQ,CAAC,kBAAI4C,QAAU,GAACtD,MAAY,QAAqBqD,YAAO,SAA2F,SAAQ,C,YAAkB,QAAI,gDAACM,YAAM,gC,CAAChE,KAAO0D,8BAAkB,iB,YAAU,uB,MAAmB,CAAgC,GAAC,CAACQ,gBAA0D7D,UAAY,CAAgCU,YAAM,oB,CAAC,KAAM,gBAAC,+CAAG,OAAI4C,MAAG,QAAgB5C,SAAM,I,MAAc,CAAwB,QAAU,cAA6B,SAAS2C,SAAUkG,GAAM,OAAU,EAAC,oBAAI5F,WAAM,oBAA2B6F,KAAQ,OAAC,UAAa,C,YAAYnG,gC,MAA2B,CAACQ,WAA6B,CAAER,EAAG,OAAY,CAAkDrD,OAA+BU,KAAM,MAAC,sBAAmB,QAAO,6BAAK,MAAQ,GAAG,YAAC,SAAQ,IAAY,MAAK+I,CAA0DzJ,QAAY,cAAmBU,SAAM,YAAC,OAAQ,sBAAa2C,WAAO,mBAAgE3C,EAAK,cAAC,0B,YAAQ,mBAAG,OAAI4C,cAAiB,GAAE5C,KAAM,KAAC,MAAQ,IAAW,mBAAiB,EAAC,+C,YAAU,mB,MAAiB,CAAyC,kBAAGiD,GAAK,GAAC,oC,YAAYC,Y,MAAkB4F,C,KAA6BE,M,CAAoC7F,SAAW,CAAkB,OAAI,MAAO,WAAgCnD,SAAM,I,GAAe,CAA0B,OAAQ,SAAQ,GAAC,SAAW,iCAAgCiD,MAAM,CAAChE,MAAO0D,EAAIO,KAAKK,YAAWuF,SAAS,SAAUG,GAAMtG,EAAIqG,KAAKrG,EAAIO,KAAM,cAAc,IAA4CC,WAAW,uBAAqB,IAAGP,GAAG,SAASA,CAAE,EAAC,OAAc,CAAE5C,MAAM,CAAC,KAAO,OAAc,SAAY,MAAG,OAAC,MAAQ,SAAqB,SAAW,GAAG,SAAW2C,EAAIuG,cAAc9I,MAAG,CAAC,MAAO,EAAEhC,KAC5hFuE,UAC2C,SAAS,SAASkC,GAAQ,OAAOlC,EAAIwG,iBAA8B,kBAAF,EAAE,aAAE,gCAAQlK,GAAK,EAAE0D,OAAIO,CAAI,EAACkG,Q,MAAmBN,C,MAA6BE,aAAwC,UAAC,IAAC7F,OAAU,EAAC,gBAAwB,YAAI,SAAO,EAAO,cAA0CnD,IAAO,MAAQ,UAAc,yDAAC,OAClW,YAAEqJ,OAAO,mC,MACPA,C,MAAsB,EAAE,uBAAS,SACnC,YAAEA,OAAO,OAAQ,wBAAkB,WACpC,6BAAqB,YAAa,UAAO,C,YAAW,aAAG,MAAC,CAACpG,MAAM,eAAChE,MAAO0D,CAAG,CAAemG,MAAQ,UAAiBnG,MAAIqG,SAA+B,CAAC7F,eAAyB,gBAAO,CAA+D7D,MAAW,SAAcU,MAAM,WAA8B,YAAYoI,QAAiB,aAAa,QAAC,SAASzF,I,MAAgD,CAAqB,QAAU,KAAC,QAAG,qBAACM,EAAM,0BAAmC6F,WAAS,mBAA4D,sD,YAAW,aAAwB,OAAI,MAAO,qBAAkB9F,MAAW,EAAC,iBAAC,SAAW,GAAG,iCAAIJ,YAAG,QAAgB5C,aAAM,QAAC,a,MAAyG,CAAoB,MAAM,EAAC,sBAAW,SAAQ,YAAY,qCAAK,uCAAoE,oBAAC,YAAC,CAACiD,YAAM,K,CAA+B6F,SAAS,C,MAAmB,CAAoC,cAAC,uCAAC3F,OAAW,+BAAmB,kBAAIP,KAAG,WAAY5C,MAAM,a,GAAmB,CAA2B,2BAACiD,EAAM,+B,MAA2D,CAAoC,MAAC,oBAACE,SAAU,SAAC,GAAmB,iCAAuCnD,WAAM,uBAAmB,aAAO,C,MAAkB,CAA4B,kBAACiD,uBAAM,G,MAAsC6F,C,MAA6BE,EAAKrG,KAAIO,aAAiC,SAAC,YAACC,OAAU,EAAC,wBAA8B,WAAO,wBAA0DR,GAAI+B,EAAG,kBAAsFpF,OAAqBsD,KAAG,WAAStD,uBAAqDU,MAAM,qB,MAAiB,CAAuB,MAAM,EAAG,yBAAC,kBAAe,GAAC,OAAU2C,EAAI2G,+BAAqB3G,WAAO,+BAA0DC,GAAG,SAAO,WAACtD,YAAY,yBAA2D0D,oDAAY,2B,YAAY,QAAQ,WAAE,YAAS,yCAA4D1D,OAAmCU,KAAM,SAAC,KAAK,gB,KAAQ,GAAQ,cAAC,8BAAeV,qBAAY,UAAgC,YAAS,kBAAuDA,UAAY,CAAuBU,YAAM,2D,YAAM,C,YAAQ,UAAW,+DAAE,YAAY,uBAACV,OAA8CqD,GAAM,CAA4ErD,gB,CAAsE,SAAQ,CAAO,YAAC,iCAAC2D,GAAK,GAAC,oD,YAAYG,uB,MAAW0F,C,GAA6B1F,CAAc,kBAA0B,CAACT,EAAG,OAAO,CAAuC3C,YAAM,iC,CAAC,KAAM,sBAAC,4CAAE,YAAC,6BAACI,MAAG,CAAC,QAAQ,U,MAAqBgD,SAAkB,OAAIT,MAAO,YACpyF,qBACGU,YAAoB,G,mQCoNT,GACfvF,KAAA,WACAwF,WAAA,CACAiG,cAEAlK,OACA,OACAmK,aAAA,EACApB,wBACAlF,KAAA,CACAuG,SAAA,KACAC,SAAA,KACAC,YAAA,KACApG,UAAA,KACA6F,kBAAA,KACAQ,aAAA,KACAC,oBAAA,KACAC,QAAA,QACAxJ,UAAA,EACAyJ,oBAAA,EACAC,cAAA,EACA5B,iBAAA,IAEA5E,MAAA,CACAqF,KAAA5J,GACA,OAAAgL,gBAAAtG,KAAA1E,IAAA,+BAEAwE,MAAAxE,GACA,OAAAyE,gBAAAC,KAAA1E,IAAA,kBAEAiL,SAAAjL,GACA,OACA,IAAAkL,OAAAC,oBAAAzG,KAAA1E,IAAA,yBAGAmJ,iBAAAnJ,GACA,QAAAA,EAAA2G,OAAA,kCAGAyE,cAAA,KACAL,cAAA,EACApG,SAAA,GACAR,WAAA,EACAS,QAAA,IACAyF,mBAAA,EACAgB,eAAA,EACApB,cAAA,EACAqB,SAAA,CACA,CAAAlB,MAAA,UAAApK,MAAA,SACA,CAAAoK,MAAA,SAAApK,MAAA,UACA,CAAAoK,MAAA,SAAApK,MAAA,aAIAC,SAAA,IACAmG,eAAA,yBACAA,eAAA,8CACAA,eAAA,sCAEAmF,iBAAA,CACA9B,MACA,YAAA6B,UAEAE,IAAAxL,GACA,KAAAsL,SAAAtL,KAIAqC,QAAA,IACAgE,eAAA,+BACAA,eAAA,mCACAA,eAAA,iCACA,qBAAAoF,EACA,YAAAA,EAAA,KAAAxH,KAAA0G,oBAAA,IAAAc,OAAA,EAAAA,EAAA9E,QAAA,EACA,KAAAxC,WAAA,EACA,KAAAQ,SAAA,gDAEA,QAAAV,KAAA0G,eAAA,KAAA1G,KAAA2G,oBACA,KAAAzG,WAAA,EACA,KAAAQ,SAAA,6BACA,CACA,KAAA0F,mBAAA,EAEA,IACA,QAAAhF,WAAA,KAAAqG,EACA,KAAAC,gBAAA,GAEA,MAAAC,EAAA,CACApH,MAAA,KAAAP,KAAAK,UACAuH,SAAA,KAAA5H,KAAA0G,aACA9L,KAAA,KAAAoF,KAAAuG,SACAsB,QAAA,KAAA7H,KAAAyG,YACAd,KAAA,KAAA3F,KAAAwG,SACAsB,GAAA,KACA/F,MAAA,QAAA0F,EAAA,KAAAzH,KAAAkG,yBAAA,IAAAuB,OAAA,EAAAA,EAAAM,gBAAA,KACAC,SAAA,KAAAhI,KAAA4G,SAAA,OAEA,KAAAqB,+BACAN,EAAAzC,iBAAA,KAAAlF,KAAAkF,kBAEA,aAAAlF,KAAA4G,UACAe,EAAAK,SAAA,QACAL,EAAAO,YAAA,KAAAlI,KAAAkI,mBAEA,KAAAC,gBAAAR,QAEA,KAAAzH,WAAA,EACA,KAAAQ,SAAA,8BAGA,KAAA0F,mBAAA,EACA,MAAAjF,GACAiH,QAAAC,KAAAlH,GACA,KAAAjB,WAAA,EACA,KAAAQ,SAAAS,EAEA,KAAAiF,mBAAA,KAKAhF,WACA,IAAAkH,EACA,KAAAtI,KAAAwG,UACA,KAAAxG,KAAAyG,aACA,KAAAzG,KAAAK,WACA,KAAAL,KAAA0G,cACA,KAAA1G,KAAAuG,UACA,IAAAU,OAAAzG,iBAAAC,KAAA,KAAAT,KAAAK,WAWA,OATA,KAAA4H,+BACAK,KAAA,KAAAtI,KAAAkF,iBAAAxC,OAAA,GAGA4F,EACAA,GACA,KAAAtI,KAAAkG,mBACA,IAAAe,OAAAC,oBAAAzG,KAAA,KAAAT,KAAAkG,mBAEAoC,GAEA,mBAAAvM,GACA,KAAAuK,aAAA,EAEA,MAAAiC,QAAAC,MACA,6CAAAzM,IAEA,QAAA0M,EAAA,OAAAC,SAAAH,EAAAI,OAEAF,GAAA,WAAAC,GACA,KAAA1I,KAAA5C,UAAA,EACA,KAAA4C,KAAAyG,YAAAgC,EACA,KAAAzI,KAAAkG,kBAAA,UAEA,KAAAI,aAAA,IAEA,KAAAA,aAAA,EACA,KAAAtG,KAAA5C,UAAA,EACA,KAAA4C,KAAAyG,YAAA,KACA,KAAAzG,KAAAkG,kBAAA,KACA,KAAAhG,WAAA,EACA,KAAAQ,SACA,uEAGAuH,6BACA,sBAAAjI,KAAA4G,SAAA,eAAA5G,KAAA4G,SAEAX,+BACA,KAAA2C,sBAAAC,mBAAAC,QAAA5N,IAEAA,EAAA2M,QAAAkB,KACA7N,KAAA8N,gBAAA,KAAAhJ,KAAAyG,YAAAuC,gBAEA9N,EAAA6G,KAAA5G,SAAA,KAAA6E,KAAAkG,oBAEA,KAAAmB,SAAA3D,KAAA,CAAAyC,MAAA,MAAApK,MAAA,QACA,KAAAiE,KAAA4G,QAAA,MACA,KAAA5G,KAAAkI,YAAAhN,EAAAgN,cAEAe,oBAAA,KAAA5B,SAAA6B,GAAA,QAAAA,EAAAnN,OACA,KAAAiE,KAAA4G,QAAA,eACA,KAAA5G,KAAAkI,iBAKA,gBACA,MAAAiB,QAAAtI,OACAwE,YACAC,WAAA,eACA8D,IAAA,KAAAxG,OAAAC,MAAAwG,QACA7D,MAEAjD,EAAA4G,EAAAhN,OAEA,GAAAoG,EACA,UAAAA,QAAA,IAAAA,KAAA+G,WACA,KAAAtJ,KAAA,IACA,KAAAA,KACAkG,kBAAA,OAAA3D,QAAA,IAAAA,OAAA,EAAAA,EAAAR,UAEA,CACA,MAAAwH,QAAA1I,OACAwE,YACAC,WAAA,iBACA8D,IAAA7G,EAAAE,OACA+C,MAEAgE,EAAAD,EAAApN,QAEA,QAAA0L,EAAAG,SAAApB,EAAA,KAAA7E,GAAAyH,EAEA,KAAAxJ,KAAA,IACA,KAAAA,KACAyG,YAAAoB,EACA3B,kBAAAnE,EACA6E,WAKA,GADA,KAAAZ,aAAA,iBAAApD,OAAAC,MAAA9H,KACA,KAAAiL,aAAA,CACA,MAAA7J,EAAAsN,KAAAC,MACAC,eAAAC,QAAA,4BAEA,KAAA5J,KAAAK,UAAAlE,EAAA0N,SACA,KAAA7J,KAAAkG,kBAAA/J,EAAA2N,cAEA,KAAAC,oBAEAC,eACA,MAAAC,EAAApJ,OAAAb,OAAAsC,YAEA2H,GAAA,KAAAC,2BAMAzF,MAAA,CACA0F,UAAApO,GACA,KAAAmE,WAAA,EACA,KAAAQ,SAAA3E,EAEA,KAAAqO,gBAAA,KCjdiV,I,wBCQ7U/I,EAAY,eACd,EACA,EACAlB,GACA,EACA,KACA,WACA,MAIa,aAAAkB,E,sECnBf,W,kCCAA,W,uKCA0QvE,EAAM,W,IAAC,OAAe,aAAC,OAAM,WAAc,MAAC,CAACV,YAAY,0DAAwC,CAACsD,EAAG,MAAO,CAAEtD,YAAY,CAASU,aAAM,OAAC,YAAW,S,CAAsB,SAAM4I,C,YAA4C,kBAAM,OAAIhG,UAAU,MAAqB,CAACD,EAAG,OAAI,CAA0GrD,YAAY,wCAAoC,CAACqD,EAAG,OAAI,CAAuErD,YAAY,SAAmC,MAAK,CAAuBU,SAAM,SAAC,WAAmB,IAAO,EAAC,QAAS,qBAAoCV,SAAY,CAAmDU,YAAM,Q,CAAC,wDAAe,0C,YAAS,oC,CAAU,sDAAmB,mB,YAAW,oC,CAAC,SAAY,CAAG,OAAI4C,cAAY,GAACtD,MAAW,cAAe,MAAO,IAAC,iBAAS,+DAAE,MAAMoF,CAA8CpF,OAAW,OAAiB0D,MAAW,UAAE,iBAAQ,GAAS,SAAIL,UAAO,MAAyG3C,GAAK,OAAC,C,YAAW2C,O,MAAY,CAAgB,kB,CAAQ1D,KAAO0D,gCAAc,U,YAAU,gB,YAAoBS,CAAa,MAAC,YAAuB,+DAAE,YAAY,6BAAuCpD,MAAM,CAAC,QAAO,UAAG,e,MAAK,C,MAA6BoD,YAAiB,qBAAC,eACvlD,yBAGD,GAASd,OAAQe,iBAAe,e,6KCqEjB,GACfvF,KAAA,mBACAwF,WAAA,GACAjE,OACA,OACAuE,SAAA,GACAR,WAAA,EACAS,QAAA,MAGAvC,QAAA,IACAgE,eAAA,QACA,mBACA,2BACA,uCACA,cAEA,iBACA,MAAA7B,EAAA,KAAAqC,OAAAC,MAAAtC,MACA0C,QAAA,KAAAC,iBAAA3C,GAEA,IACA,GAAA0C,EAAA,CACA,MAAAR,QAAA4H,eAAApH,EAAA1C,MAAA0C,EAAAlB,MACAuI,QAAAlG,eAAAnB,EAAAlB,MACA,IAAAkI,EAAApJ,OAAAb,OAAAsC,YACA2H,IACAA,SACApJ,OACAb,OACAuK,2BACAtH,EAAA1C,MACA0C,EAAA2E,WAEAqC,YAEAA,EAAAO,SAEA,MAAAC,QAAAC,eAAA,CAAAjI,GAAA,kBAEAgI,EAAA/H,QAAA4H,EAAA5H,OACA,KAAAe,QAAAC,KAAA,CACAC,KAAA,sBACAd,MAAA,CAAAf,gBAAA,EAAAC,KAAAkB,EAAAlB,QAEA0I,EAAA/H,QAAA4H,EAAA5H,OAEA,KAAAe,QAAAC,KAAA,CACAC,KAAA,sBACAd,MAAA,CAAAyB,UAAA,EAAAJ,QAAA,EAAAnC,KAAAkB,EAAAlB,cAGA,KAAAuB,yBAAAL,GAIA0H,aAAAC,QAAA,iCAEA,KAAA1K,WAAA,EACA,KAAAQ,SAAA,sDAEAkE,mBACA,IACA,KAAAnB,QACAC,KAAA,CAAAC,KAAA,UAAAd,MAAA,CAAAtC,WACAqD,MAAA,QACA,KAAAjD,SAGA,MAAAQ,GACA,KAAAjB,WAAA,EACA,KAAAQ,SAAAS,KAIA,gBACAyD,mBAAA,SAAAiG,WAAA,KAAAlK,UAEA8D,MAAA,CACA0F,UAAApO,GACA,KAAAmE,WAAA,EACA,KAAAQ,SAAA3E,KC1JyV,I,wBCQrVsF,EAAY,eACd,EACA,EACAlB,GACA,EACA,KACA,WACA,MAIa,aAAAkB,E,uGClBf,MAAMyJ,EAAKjK,OAASwE,YAEPqF,EAAiBvF,MAAO4F,EAAKpH,KACxC,IAAKoH,IAAQA,EAAIrI,SAAWiB,EAAM,MAAO,GAEzC,MAAMqH,EAAiBF,EAAGxF,WAAW3B,GAC/BsH,EAAU,GAEhB,MAAOF,EAAIrI,OAAQ,CACjB,MAAMwI,EAAQH,EAAII,OAAO,EAAG,IAE5BF,EAAQvH,KACNsH,EACGzF,MAAM1E,OAASwE,UAAU+F,UAAUC,aAAc,KAAM,IAAIH,IAC3D1F,MACA8F,KAAMC,GACLA,EAAQ9F,KAAKpB,IAAKmH,IAAM,CACtBC,GAAID,EAAOC,MACRD,EAAOrP,YAMpB,MAAMoP,QAAgBG,QAAQC,IAAIV,GAElC,OAAOM,EAAQK,S,sECxBH,SAAUC,EAAOjR,GAE7B,OAAOkR,OAAInR,OAAO,CAChBC,KAAM,KAAKA,EAEXmR,YAAY,EAEZlR,MAAO,CACL4Q,GAAIzQ,OACJgR,IAAK,CACHjR,KAAMC,OACNK,QAAS,QAIb+D,OAAQC,GAAG,MAAExE,EAAF,KAASsB,EAAT,SAAemC,IACxBnC,EAAKC,YAAe,GAAGxB,KAAQuB,EAAKC,aAAe,KAAM6P,OAEzD,MAAM,MAAEnP,GAAUX,EAClB,GAAIW,EAAO,CAETX,EAAKW,MAAQ,GACb,MAAMU,EAAU0O,OAAOC,KAAKrP,GAAOsP,OAAO1K,IAGxC,GAAY,SAARA,EAAgB,OAAO,EAE3B,MAAM3F,EAAQe,EAAM4E,GAIpB,OAAIA,EAAI2K,WAAW,UACjBlQ,EAAKW,MAAO4E,GAAO3F,GACZ,GAGFA,GAA0B,kBAAVA,IAGrByB,EAAQkF,SAAQvG,EAAKC,aAAe,IAAIoB,EAAQ8O,KAAK,MAQ3D,OALIzR,EAAM4Q,KACRtP,EAAKoQ,SAAWpQ,EAAKoQ,UAAY,GACjCpQ,EAAKoQ,SAASd,GAAK5Q,EAAM4Q,IAGpBpM,EAAExE,EAAMmR,IAAK7P,EAAMmC,M,gBC1CjBkO,SAAK,aAAa7R,OAAO,CACtCC,KAAM,cACNmR,YAAY,EACZlR,MAAO,CACL4Q,GAAIzQ,OACJgR,IAAK,CACHjR,KAAMC,OACNK,QAAS,OAEXoR,MAAO,CACL1R,KAAMQ,QACNF,SAAS,IAGb+D,OAAQC,GAAG,MAAExE,EAAF,KAASsB,EAAT,SAAemC,IACxB,IAAId,EACJ,MAAM,MAAEV,GAAUX,EA2BlB,OA1BIW,IAEFX,EAAKW,MAAQ,GACbU,EAAU0O,OAAOC,KAAKrP,GAAOsP,OAAO1K,IAGlC,GAAY,SAARA,EAAgB,OAAO,EAE3B,MAAM3F,EAAQe,EAAM4E,GAIpB,OAAIA,EAAI2K,WAAW,UACjBlQ,EAAKW,MAAO4E,GAAO3F,GACZ,GAGFA,GAA0B,kBAAVA,KAIvBlB,EAAM4Q,KACRtP,EAAKoQ,SAAWpQ,EAAKoQ,UAAY,GACjCpQ,EAAKoQ,SAASd,GAAK5Q,EAAM4Q,IAGpBpM,EACLxE,EAAMmR,IACNU,eAAUvQ,EAAM,CACdC,YAAa,YACbC,MAAOsQ,MAAW,CAChB,mBAAoB9R,EAAM4R,QACzBG,OAAOpP,GAAW,MAEvBc,O,uKC3DqR,W,IAAC,OAAE,EAAK,QAAS,G,OAAClC,QAAY,CAAkBU,YAAM,6D,CAAC,UAAe,OAAI4C,GAAG,cAAmE,GAAI,CAAUtD,OAAW,SAAS,GAAQ,OAAPU,EAAM,iBAAC,EAAW,YAAQ,mB,CAAqD,UAAiB,8BAAG,MAAI,CAAQV,UAAY,MAAoFA,UAAY,CAAO,YAAK,wCAAgBU,GAAK,OAAC,C,YAAS,S,MAAS,CAAc,SAAW,SAAG,QAAS2C,GAAiB,MAAc,QAAc,qBAAQ1D,SAAWiE,C,YAAyB,Q,GAAgBP,GAAIqG,uBAAe,GAAc,SAAe,UAAQ,CAAEC,EAAG,OAAM,C,YAAS,Q,CAAC9F,SAAW,CAAgB,OAAI,MAAO,SAA4BnD,KAAM,OAAC,YAA2D,MAAO2C,GAAIqH,aAAmC,SAAO,gB,MAA8B,CAAc,uBAAG,SAAC,YAAC,SAAc,KAAC,YAAgB,iCAAqC,gCAAG/G,GAAM,oB,MAAM,CAAyB6F,cAAS,EAAAA,aAAe,wB,KAAKE,EAAKrG,aAAU,OAAc,WAAM,KAAC,WAACQ,iBAA8B,aAAoB7D,IAAqBsD,eAAe,SAAC,GAACtD,gBAAqB,iB,MAAoC,CAAkB,QAAS,kBAAM,qBAAC2D,EAAM,+BAAkC6F,WAAS,wBAA2D,a,YAAW,QAAuB,WAAG,YAAU,UAAwBxJ,OAAwBsD,MAAG,oBAAStD,MAAW,UAA0CU,QAAM,G,MAAiB,CAAoB,MAAM,EAAG,qBAAC,kBAAe,GAAC,OAAU2C,EAAI2K,2BAAkB3K,WAAO,2BAA2EA,IAAM,IAAC,YAAyB,CAAoBrD,YAAY,WAAuBU,GAAK,OAAC,C,YAAM,yC,MAAElC,CAAe,cAAC,kBAAI8E,KAAG,GAAQtD,UAAY,IAAqBqD,QAAO,mBAA2F,CAACA,EAAI+B,GAAG,uBAA0B,CAAoBpF,YAAY,qCAAuBU,GAAK,GAAC,4C,YAAM,uB,MAAElC,CAAiB,IAAC,iBAA+C,CAAC6E,EAAG,OAAI,CAA8BrD,YAAY,oBAAoC0D,kCAAY,a,YAAY,qCAAQ,mDAAE,YAAS,uBAAkI1D,OAAyCU,GAAM,CAAC,mBAAuCiD,GAAK,OAAC,C,YAAYG,oB,CAAW0F,qBAAsB,GAAE,U,YAAK1F,oC,YAAc,CAACD,YAAW,UAAc,CAACR,EAAI+B,GAAG,sGAAyC,qBAAC1E,YAAM,6B,MAAC,CAAU,kBAAG,MAAC,S,MAA6B,CAAkB,kBAAC,qBAAI2C,EAAM,UAAY,GAE17FU,yB,iLC2GW,GACfvF,KAAA,QACAuB,OACA,OACA6D,KAAA,CACAK,UAAA,GACAqG,aAAA,GACAmG,iBAAA,GAEAvM,MAAA,CACAC,MAAAxE,GACA,OAAAyE,gBAAAC,KAAA1E,IAAA,mBAGA+K,cAAA,EACApG,SAAA,GACAR,WAAA,EACAS,QAAA,IACAyJ,gBAAA,EACApE,cAAA,IAGAhK,SAAA,IACAmG,eAAA,oCACAA,eAAA,4CAEA/D,QAAA,IACAgE,eAAA,yBACA,cACA,KAAAgI,gBAAA,QAEA,KAAA0C,aAAA,CACAvM,MAAA,KAAAP,KAAAK,UACAuH,SAAA,KAAA5H,KAAA0G,iBAIA,gBACA,MAAAuD,EAAApJ,OAAAb,OAAAsC,YAEA2H,IACAA,EAAApF,qBACAoF,EAAAO,SAGA,KAAAN,2BAMA,KAAAlE,aAAA,iBAAApD,OAAAC,MAAA9H,KACA,KAAAiL,eACA,KAAAhG,KAAAK,UAAAoJ,KAAAC,MACAC,eAAAC,QAAA,4BACAC,WAGApF,MAAA,CACA0F,UAAApO,GACA,KAAAmE,WAAA,EACA,KAAAQ,SAAA3E,EAEA,KAAAqO,gBAAA,KC5K8U,I,wBCQ1U/I,EAAY,eACd,EACA,EACAlB,GACA,EACA,KACA,WACA,MAIa,aAAAkB,E,2CCnBf,4DAYe0L,cAAWpS,OAAO,CAC/BC,KAAM,aAENC,MAAO,CACLmS,cAAezR,QACf0R,kBAAmB,CACjBlS,KAAMC,OACNK,QAAS,0BAEX6R,QAAS,CACPnS,KAAMC,OACNK,QAAS,gBAEX8R,OAAQ,CACNpS,KAAMC,OACNK,QAAS,gBAIbc,OACE,MAAO,CACLiR,mBAAoBlR,KAAK8Q,gBAI7BhR,SAAU,CACRwB,UACE,MAAO,IACF6P,OAAO5P,QAAQzB,SAASwB,QAAQE,KAAKxB,MACxC,+BAA+B,EAC/B,qBAAqB,EACrB,yBAA0BA,KAAKkR,qBAGnC7P,eACE,OAAIrB,KAAKkR,mBACAlR,KAAK+Q,kBACH/Q,KAAKkB,SACPlB,KAAKiR,OAELjR,KAAKgR,SAMhBI,kBACE,IAAIpR,KAAKqR,YAAerR,KAAKkR,mBAC7B,OAAIlR,KAAKsR,UAAYtR,KAAKuR,eAAuB,QAC7CvR,KAAKwR,WAAmB,UACN,OAAlBxR,KAAKyR,SAA0BzR,KAAKK,mBAAxC,IAKJkI,MAAO,CACLuI,cAAe9R,GAEbgB,KAAK0R,UAAU,IAAO1R,KAAKkR,mBAAqBlS,IAElDkS,mBAAoBlS,GAClBgB,KAAK2R,MAAM,uBAAwB3S,IAErCkC,WACOlB,KAAK8Q,gBACV9Q,KAAKkR,oBAAqB,KAI9BhP,QAAS,CACP0P,cACE,MAAM,MAAEC,KAAUC,GAAkB9R,KAAK+R,OACzC,OAAO/R,KAAKM,eAAe,MAAO,CAChCJ,YAAa,sCACZ,CACDF,KAAKM,eAAea,OAAOnB,KAAKiD,aAAajD,KAAKoR,gBAAiB,CACjEzS,MAAO,CACLW,MAAOU,KAAKV,MACZ0S,KAAMhS,KAAKgS,KACXC,MAAOjS,KAAKiS,SAEZjS,KAAKqB,cACTrB,KAAKkS,SAAS,WAAY,IACrBJ,EACH,eAAgB9R,KAAKkR,mBACjB,QACAlR,KAAKkB,SAASiR,aAEpBnS,KAAKoS,UAAUpS,KAAKiD,aAAajD,KAAKqS,iBAG1CC,iBACE,MAAO,CACLtS,KAAK4R,cACL5R,KAAKuS,iB,kCC1Gb,W,yDCAA,W,yDCAA,gBAEe3C,cAAInR,OAAO,CACxBC,KAAM,iBAENC,MAAO,CACL2E,KAAMxE,OACNuE,OAAQvE,OACRsE,WAAYtE,W","file":"js/auth.js?id=c20def85330373e7fd6e","sourcesContent":["// Styles\nimport './VAlert.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\nimport Transitionable from '../../mixins/transitionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNodeData } from 'vue'\nimport { VNode } from 'vue/types'\n\n/* @vue/component */\nexport default mixins(\n  VSheet,\n  Toggleable,\n  Transitionable\n).extend({\n  name: 'v-alert',\n\n  props: {\n    border: {\n      type: String,\n      validator (val: string) {\n        return [\n          'top',\n          'right',\n          'bottom',\n          'left',\n        ].includes(val)\n      },\n    },\n    closeLabel: {\n      type: String,\n      default: '$vuetify.close',\n    },\n    coloredBorder: Boolean,\n    dense: Boolean,\n    dismissible: Boolean,\n    closeIcon: {\n      type: String,\n      default: '$cancel',\n    },\n    icon: {\n      default: '',\n      type: [Boolean, String],\n      validator (val: boolean | string) {\n        return typeof val === 'string' || val === false\n      },\n    },\n    outlined: Boolean,\n    prominent: Boolean,\n    text: Boolean,\n    type: {\n      type: String,\n      validator (val: string) {\n        return [\n          'info',\n          'error',\n          'success',\n          'warning',\n        ].includes(val)\n      },\n    },\n    value: {\n      type: Boolean,\n      default: true,\n    },\n  },\n\n  computed: {\n    __cachedBorder (): VNode | null {\n      if (!this.border) return null\n\n      let data: VNodeData = {\n        staticClass: 'v-alert__border',\n        class: {\n          [`v-alert__border--${this.border}`]: true,\n        },\n      }\n\n      if (this.coloredBorder) {\n        data = this.setBackgroundColor(this.computedColor, data)\n        data.class['v-alert__border--has-color'] = true\n      }\n\n      return this.$createElement('div', data)\n    },\n    __cachedDismissible (): VNode | null {\n      if (!this.dismissible) return null\n\n      const color = this.iconColor\n\n      return this.$createElement(VBtn, {\n        staticClass: 'v-alert__dismissible',\n        props: {\n          color,\n          icon: true,\n          small: true,\n        },\n        attrs: {\n          'aria-label': this.$vuetify.lang.t(this.closeLabel),\n        },\n        on: {\n          click: () => (this.isActive = false),\n        },\n      }, [\n        this.$createElement(VIcon, {\n          props: { color },\n        }, this.closeIcon),\n      ])\n    },\n    __cachedIcon (): VNode | null {\n      if (!this.computedIcon) return null\n\n      return this.$createElement(VIcon, {\n        staticClass: 'v-alert__icon',\n        props: { color: this.iconColor },\n      }, this.computedIcon)\n    },\n    classes (): object {\n      const classes: Record<string, boolean> = {\n        ...VSheet.options.computed.classes.call(this),\n        'v-alert--border': Boolean(this.border),\n        'v-alert--dense': this.dense,\n        'v-alert--outlined': this.outlined,\n        'v-alert--prominent': this.prominent,\n        'v-alert--text': this.text,\n      }\n\n      if (this.border) {\n        classes[`v-alert--border-${this.border}`] = true\n      }\n\n      return classes\n    },\n    computedColor (): string {\n      return this.color || this.type\n    },\n    computedIcon (): string | boolean {\n      if (this.icon === false) return false\n      if (typeof this.icon === 'string' && this.icon) return this.icon\n      if (!['error', 'info', 'success', 'warning'].includes(this.type)) return false\n\n      return `$${this.type}`\n    },\n    hasColoredIcon (): boolean {\n      return (\n        this.hasText ||\n        (Boolean(this.border) && this.coloredBorder)\n      )\n    },\n    hasText (): boolean {\n      return this.text || this.outlined\n    },\n    iconColor (): string | undefined {\n      return this.hasColoredIcon ? this.computedColor : undefined\n    },\n    isDark (): boolean {\n      if (\n        this.type &&\n        !this.coloredBorder &&\n        !this.outlined\n      ) return true\n\n      return Themeable.options.computed.isDark.call(this)\n    },\n  },\n\n  created () {\n    /* istanbul ignore next */\n    if (this.$attrs.hasOwnProperty('outline')) {\n      breaking('outline', 'outlined', this)\n    }\n  },\n\n  methods: {\n    genWrapper (): VNode {\n      const children = [\n        getSlot(this, 'prepend') || this.__cachedIcon,\n        this.genContent(),\n        this.__cachedBorder,\n        getSlot(this, 'append'),\n        this.$scopedSlots.close\n          ? this.$scopedSlots.close({ toggle: this.toggle })\n          : this.__cachedDismissible,\n      ]\n\n      const data: VNodeData = {\n        staticClass: 'v-alert__wrapper',\n      }\n\n      return this.$createElement('div', data, children)\n    },\n    genContent (): VNode {\n      return this.$createElement('div', {\n        staticClass: 'v-alert__content',\n      }, getSlot(this))\n    },\n    genAlert (): VNode {\n      let data: VNodeData = {\n        staticClass: 'v-alert',\n        attrs: {\n          role: 'alert',\n        },\n        on: this.listeners$,\n        class: this.classes,\n        style: this.styles,\n        directives: [{\n          name: 'show',\n          value: this.isActive,\n        }],\n      }\n\n      if (!this.coloredBorder) {\n        const setColor = this.hasText ? this.setTextColor : this.setBackgroundColor\n        data = setColor(this.computedColor, data)\n      }\n\n      return this.$createElement('div', data, [this.genWrapper()])\n    },\n    /** @public */\n    toggle () {\n      this.isActive = !this.isActive\n    },\n  },\n\n  render (h): VNode {\n    const render = this.genAlert()\n\n    if (!this.transition) return render\n\n    return h('transition', {\n      props: {\n        name: this.transition,\n        origin: this.origin,\n        mode: this.mode,\n      },\n    }, [render])\n  },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"d-flex align-center mt-8 ml-8\"},[_c('v-btn',{staticClass:\"mr-4 rounded-sm\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$router.go(-1)}}},[_c('v-icon',[_vm._v(\"mdi-arrow-left\")])],1),_vm._v(\" Go back \")],1),_c('div',{staticClass:\"d-flex justify-center full-height full-width\"},[_c('v-form',{attrs:{\"id\":\"forgot-form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.forgot.apply(null, arguments)}}},[_c('v-card',{staticClass:\"pa-4 rounded-sm\",staticStyle:{\"margin-top\":\"20vh\",\"min-width\":\"400px\"},attrs:{\"elevation\":\"0\"}},[_c('v-card-title',{staticClass:\"justify-center flex-direction-column\"},[_c('span',[_vm._v(\" Reset Your Password \")])]),_c('v-card-text',[_c('v-col',[_c('v-row',[_c('v-text-field',{attrs:{\"type\":\"text\",\"rules\":[_vm.rules.email],\"label\":\"Email*\",\"required\":\"\"},model:{value:(_vm.auth.userEmail),callback:function ($$v) {_vm.$set(_vm.auth, \"userEmail\", $$v)},expression:\"auth.userEmail\"}})],1)],1)],1),_c('v-card-actions',{staticClass:\"d-flex flex-direction-column\"},[_c('v-btn',{staticClass:\"width-100 auth-btn h-3 rounded-sm pa-4\",attrs:{\"type\":\"submit\",\"form\":\"forgot-form\",\"dark\":\"\",\"elevation\":\"0\",\"loading\":_vm.isForgotLoading}},[_vm._v(\" Send Reset Email \")]),_c('v-row',{staticClass:\"mt-8\"},[_c('span',{staticClass:\"auth-hint-label font-size-14\"},[_vm._v(\" Already have an account? \"),_c('router-link',{staticClass:\"text-decoration-none\",attrs:{\"to\":{ name: 'Login' }}},[_c('span',{staticClass:\"auth-hint-signup\"},[_vm._v(\"Sign In\")])])],1)]),_c('v-row',{staticClass:\"mb-4\"},[_c('span',{staticClass:\"auth-hint-label font-size-14 mt-2\"},[_vm._v(\" Don't have an account? \"),_c('router-link',{staticClass:\"text-decoration-none\",attrs:{\"to\":{ name: 'Register' }}},[_c('span',{staticClass:\"auth-hint-signup\"},[_vm._v(\"Register\")])])],1)])],1)],1)],1),_c('v-snackbar',{staticClass:\"custom-snackbar rounded-sm\",attrs:{\"timeout\":_vm.timeout,\"color\":\"error\"},model:{value:(_vm.showError),callback:function ($$v) {_vm.showError=$$v},expression:\"showError\"}},[_vm._v(\" \"+_vm._s(_vm.errorMsg)+\" \"),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.showError = false}}},[_vm._v(\"Close\")])],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <div class=\"d-flex align-center mt-8 ml-8\">\n      <v-btn class=\"mr-4 rounded-sm\" @click=\"$router.go(-1)\" icon>\n        <v-icon>mdi-arrow-left</v-icon>\n      </v-btn>\n      Go back\n    </div>\n\n    <div class=\"d-flex justify-center full-height full-width\">\n      <v-form @submit.prevent=\"forgot\" id=\"forgot-form\">\n        <v-card\n          class=\"pa-4 rounded-sm\"\n          elevation=\"0\"\n          style=\"margin-top: 20vh; min-width: 400px\"\n        >\n          <v-card-title class=\"justify-center flex-direction-column\">\n            <span> Reset Your Password </span>\n          </v-card-title>\n          <v-card-text>\n            <v-col>\n              <v-row>\n                <v-text-field\n                  v-model=\"auth.userEmail\"\n                  type=\"text\"\n                  :rules=\"[rules.email]\"\n                  label=\"Email*\"\n                  required\n                ></v-text-field>\n              </v-row>\n            </v-col>\n          </v-card-text>\n          <v-card-actions class=\"d-flex flex-direction-column\">\n            <v-btn\n              class=\"width-100 auth-btn h-3 rounded-sm pa-4\"\n              type=\"submit\"\n              form=\"forgot-form\"\n              dark\n              elevation=\"0\"\n              :loading=\"isForgotLoading\"\n            >\n              Send Reset Email\n            </v-btn>\n\n            <v-row class=\"mt-8\">\n              <span class=\"auth-hint-label font-size-14\">\n                Already have an account?\n                <router-link\n                  class=\"text-decoration-none\"\n                  :to=\"{ name: 'Login' }\"\n                >\n                  <span class=\"auth-hint-signup\">Sign In</span>\n                </router-link>\n              </span>\n            </v-row>\n            <v-row class=\"mb-4\">\n              <span class=\"auth-hint-label font-size-14 mt-2\">\n                Don't have an account?\n                <router-link\n                  class=\"text-decoration-none\"\n                  :to=\"{ name: 'Register' }\"\n                >\n                  <span class=\"auth-hint-signup\">Register</span>\n                </router-link>\n              </span>\n            </v-row>\n          </v-card-actions>\n        </v-card>\n      </v-form>\n\n      <v-snackbar\n        class=\"custom-snackbar rounded-sm\"\n        v-model=\"showError\"\n        :timeout=\"timeout\"\n        color=\"error\"\n      >\n        {{ errorMsg }}\n        <v-btn text @click=\"showError = false\">Close</v-btn>\n      </v-snackbar>\n    </div>\n  </div>\n</template>\n\n<script>\nimport firebase from 'firebase/app';\nimport 'firebase/auth';\n\nimport { emailRegex } from '@qualle-admin/qutil/dist/patterns';\n\nexport default {\n  name: 'Forgot',\n  components: {},\n  data() {\n    return {\n      auth: {\n        userEmail: '',\n      },\n      rules: {\n        email(value) {\n          return emailRegex.test(value) || 'Invalid e-mail.';\n        },\n      },\n      errorMsg: '',\n      showError: false,\n      timeout: 4000,\n      isForgotLoading: false,\n    };\n  },\n  methods: {\n    async forgot() {\n      this.isForgotLoading = true;\n\n      try {\n        await firebase.auth().sendPasswordResetEmail(this.auth.userEmail);\n\n        this.isForgotLoading = false;\n\n        this.$store.dispatch(\n          'auth/new_notification',\n          {\n            type: 'notification',\n            message: 'Password reset email sent!',\n          },\n          { root: true }\n        );\n      } catch (error) {\n        this.showError = true;\n        this.errorMsg = error;\n\n        this.isForgotLoading = false;\n      }\n    },\n    validate() {\n      return this.auth.userEmail;\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n@import '@/assets/scss/common.scss';\n@import '@/assets/scss/auth.scss';\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Forgot.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Forgot.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Forgot.vue?vue&type=template&id=c809b3e8&scoped=true\"\nimport script from \"./Forgot.vue?vue&type=script&lang=js\"\nexport * from \"./Forgot.vue?vue&type=script&lang=js\"\nimport style0 from \"./Forgot.vue?vue&type=style&index=0&id=c809b3e8&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c809b3e8\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"full-height full-width\"},[_c('BaseAppWorkspaceLoader')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('transition',{attrs:{\"name\":\"fade\"}},[_c('v-container',{staticClass:\"d-flex justify-center align-center\"},[_c('v-card',{staticClass:\"rounded-sm\",attrs:{\"width\":\"90vw\",\"elevation\":\"0\"}},[(_vm.isLoading)?_c('v-progress-linear',{attrs:{\"color\":\"primary\",\"indeterminate\":\"\",\"size\":\"20\",\"width\":\"2\",\"rounded\":\"\"}}):_vm._e(),(!_vm.$route.query.existing && !_vm.$route.query.existingAgency)?_c('v-card-title',{staticClass:\"d-flex flex-column pa-12\"},[_c('div',{staticClass:\"d-flex mt-4 align-center\"},[(!_vm.get_workspace)?_c('v-progress-circular',{staticClass:\"orgId-field-icon mr-2\",attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"width\":\"2\",\"color\":\"primary\"}}):_vm._e(),_c('span',[_vm._v(\" \"+_vm._s(_vm.get_workspace ? 'workspace created!' : 'creating your workspace...')+\" \")])],1)]):_c('v-card-title',[(\n            (_vm.$route.query.existing || !_vm.$route.query.existingAgency) &&\n            !_vm.existingWorkspaces.length &&\n            !_vm.existingAgencyWorkspaces.length\n          )?_c('span',{staticClass:\"d-flex mt-4 align-center\"},[_vm._v(\" Found existing workspaces \")]):_vm._e()]),(_vm.existingWorkspaces.length && !_vm.$route.query.new)?_c('v-card-text',[_c('v-list',[_c('v-subheader',{staticClass:\"d-block\"},[_c('span',[_c('strong',[_vm._v(\" \"+_vm._s(_vm.$route.query.existingAgency ? 'Agency' : '')+\" Workspaces for \"+_vm._s(_vm.get_user?.email || _vm.scac))])]),_c('span',{staticClass:\"ml-1 font-size-11\"},[_vm._v(\" (Please select your workspace below) \")])]),_c('v-list-item-group',{staticClass:\"elevation-0\",attrs:{\"color\":\"primary\"}},_vm._l((_vm.existingWorkspaces),function(workspace,i){return _c('v-list-item',{key:i,attrs:{\"disabled\":_vm.isLoading},on:{\"click\":function($event){return _vm.selectWorkspace(workspace)}}},[_c('v-list-item-icon',[_c('v-avatar',{staticClass:\"rounded-sm\",attrs:{\"color\":\"#a5abb0\",\"size\":\"36\"}},[_c('v-icon',{attrs:{\"small\":\"\",\"dark\":\"\"}},[_vm._v(\" mdi-domain \")])],1)],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(workspace?.company))])],1),_c('v-list-item-action',[_c('v-btn',{staticClass:\"rounded-sm\",attrs:{\"icon\":\"\"}},[_c('v-icon',{attrs:{\"color\":\"grey lighten-1\"}},[_vm._v(\"mdi-arrow-right\")])],1)],1)],1)}),1)],1)],1):_vm._e(),(_vm.existingWorkspaces.length && _vm.$route.query.existingAgency)?_c('span',[_c('v-card-title',[_c('v-subheader',{staticClass:\"d-block\"},[_c('span',[_c('strong',[_vm._v(\" Click below to create new workspace \")])])])],1),_c('v-card-text',[_c('v-list-item',{on:{\"click\":function($event){return _vm.selectWorkspace()}}},[_c('v-list-item-icon',[_c('v-avatar',{staticClass:\"rounded-sm\",attrs:{\"color\":\"#a5abb0\",\"size\":\"36\"}},[_c('v-icon',{attrs:{\"small\":\"\",\"dark\":\"\"}},[_vm._v(\" mdi-domain \")])],1)],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\"Create New Workspace\")])],1),_c('v-list-item-action',[_c('v-btn',{staticClass:\"rounded-sm\",attrs:{\"icon\":\"\"}},[_c('v-icon',{attrs:{\"color\":\"grey lighten-1\"}},[_vm._v(\"mdi-arrow-right\")])],1)],1)],1)],1)],1):_vm._e(),(_vm.existingAgencyWorkspaces.length && _vm.$route.query.newOrg)?_c('span',[_c('v-list',{staticClass:\"elevation-0\"},[_c('v-card-title',[_c('v-list',{staticClass:\"elevation-0\"}),_c('v-subheader',{staticClass:\"d-block\"},[_c('span',[_c('strong',[_vm._v(\" Click below to create workspace under Agency\")])])])],1),(_vm.existingAgencyWorkspaces.length && !_vm.$route.query.new)?_c('v-card-text',{staticClass:\"pt-0\"},[_c('v-list-item-group',{attrs:{\"color\":\"primary\"}},_vm._l((_vm.existingAgencyWorkspaces),function(workspace,i){return _c('v-list-item',{key:i,attrs:{\"disabled\":_vm.isLoading},on:{\"click\":function($event){return _vm.selectWorkspace(workspace, 'createNew')}}},[_c('v-list-item-icon',[_c('v-avatar',{staticClass:\"rounded-sm\",attrs:{\"color\":\"#a5abb0\",\"size\":\"36\"}},[_c('v-icon',{attrs:{\"small\":\"\",\"dark\":\"\"}},[_vm._v(\" mdi-domain \")])],1)],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(workspace?.company))])],1),_c('v-list-item-action',[_c('v-btn',{staticClass:\"rounded-sm\",attrs:{\"icon\":\"\"}},[_c('v-icon',{attrs:{\"color\":\"grey lighten-1\"}},[_vm._v(\"mdi-arrow-right\")])],1)],1)],1)}),1)],1):_vm._e()],1)],1):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <transition name=\"fade\">\n    <v-container class=\"d-flex justify-center align-center\">\n      <v-card class=\"rounded-sm\" width=\"90vw\" elevation=\"0\">\n        <v-progress-linear\n          v-if=\"isLoading\"\n          color=\"primary\"\n          indeterminate\n          size=\"20\"\n          width=\"2\"\n          rounded\n        ></v-progress-linear>\n        <v-card-title\n          v-if=\"!$route.query.existing && !$route.query.existingAgency\"\n          class=\"d-flex flex-column pa-12\"\n        >\n          <div class=\"d-flex mt-4 align-center\">\n            <v-progress-circular\n              v-if=\"!get_workspace\"\n              class=\"orgId-field-icon mr-2\"\n              indeterminate\n              size=\"20\"\n              width=\"2\"\n              color=\"primary\"\n            ></v-progress-circular>\n            <span>\n              {{\n                get_workspace\n                  ? 'workspace created!'\n                  : 'creating your workspace...'\n              }}\n            </span>\n          </div>\n        </v-card-title>\n        <v-card-title v-else>\n          <span\n            v-if=\"\n              ($route.query.existing || !$route.query.existingAgency) &&\n              !existingWorkspaces.length &&\n              !existingAgencyWorkspaces.length\n            \"\n            class=\"d-flex mt-4 align-center\"\n          >\n            Found existing workspaces\n          </span>\n        </v-card-title>\n        <v-card-text v-if=\"existingWorkspaces.length && !$route.query.new\">\n          <v-list>\n            <v-subheader class=\"d-block\">\n              <span>\n                <strong>\n                  {{ $route.query.existingAgency ? 'Agency' : '' }} Workspaces\n                  for {{ get_user?.email || scac }}</strong\n                >\n              </span>\n              <span class=\"ml-1 font-size-11\">\n                (Please select your workspace below)\n              </span>\n            </v-subheader>\n            <v-list-item-group color=\"primary\" class=\"elevation-0\">\n              <v-list-item\n                v-for=\"(workspace, i) in existingWorkspaces\"\n                :key=\"i\"\n                @click=\"selectWorkspace(workspace)\"\n                :disabled=\"isLoading\"\n              >\n                <v-list-item-icon>\n                  <v-avatar class=\"rounded-sm\" color=\"#a5abb0\" size=\"36\">\n                    <v-icon small dark> mdi-domain </v-icon>\n                  </v-avatar>\n                </v-list-item-icon>\n                <v-list-item-content>\n                  <v-list-item-title>{{\n                    workspace?.company\n                  }}</v-list-item-title>\n                </v-list-item-content>\n                <v-list-item-action>\n                  <v-btn icon class=\"rounded-sm\">\n                    <v-icon color=\"grey lighten-1\">mdi-arrow-right</v-icon>\n                  </v-btn>\n                </v-list-item-action>\n              </v-list-item>\n            </v-list-item-group>\n          </v-list>\n        </v-card-text>\n        <span v-if=\"existingWorkspaces.length && $route.query.existingAgency\">\n          <v-card-title>\n            <v-subheader class=\"d-block\">\n              <span>\n                <strong> Click below to create new workspace </strong>\n              </span>\n            </v-subheader>\n          </v-card-title>\n          <v-card-text>\n            <v-list-item @click=\"selectWorkspace()\">\n              <v-list-item-icon>\n                <v-avatar class=\"rounded-sm\" color=\"#a5abb0\" size=\"36\">\n                  <v-icon small dark> mdi-domain </v-icon>\n                </v-avatar>\n              </v-list-item-icon>\n              <v-list-item-content>\n                <v-list-item-title>Create New Workspace</v-list-item-title>\n              </v-list-item-content>\n              <v-list-item-action>\n                <v-btn icon class=\"rounded-sm\">\n                  <v-icon color=\"grey lighten-1\">mdi-arrow-right</v-icon>\n                </v-btn>\n              </v-list-item-action>\n            </v-list-item>\n          </v-card-text>\n        </span>\n        <span v-if=\"existingAgencyWorkspaces.length && $route.query.newOrg\">\n          <v-list class=\"elevation-0\">\n            <v-card-title>\n              <v-list class=\"elevation-0\"></v-list>\n              <v-subheader class=\"d-block\">\n                <span>\n                  <strong> Click below to create workspace under Agency</strong>\n                </span>\n              </v-subheader>\n            </v-card-title>\n\n            <v-card-text\n              v-if=\"existingAgencyWorkspaces.length && !$route.query.new\"\n              class=\"pt-0\"\n            >\n              <v-list-item-group color=\"primary\">\n                <v-list-item\n                  v-for=\"(workspace, i) in existingAgencyWorkspaces\"\n                  :key=\"i\"\n                  @click=\"selectWorkspace(workspace, 'createNew')\"\n                  :disabled=\"isLoading\"\n                >\n                  <v-list-item-icon>\n                    <v-avatar class=\"rounded-sm\" color=\"#a5abb0\" size=\"36\">\n                      <v-icon small dark> mdi-domain </v-icon>\n                    </v-avatar>\n                  </v-list-item-icon>\n                  <v-list-item-content>\n                    <v-list-item-title>{{\n                      workspace?.company\n                    }}</v-list-item-title>\n                  </v-list-item-content>\n                  <v-list-item-action>\n                    <v-btn icon class=\"rounded-sm\">\n                      <v-icon color=\"grey lighten-1\">mdi-arrow-right</v-icon>\n                    </v-btn>\n                  </v-list-item-action>\n                </v-list-item>\n              </v-list-item-group>\n            </v-card-text>\n          </v-list>\n        </span>\n      </v-card>\n    </v-container>\n  </transition>\n</template>\n\n<script>\nimport { mapGetters, mapActions } from 'vuex';\nimport firebase from 'firebase/app';\nimport 'firebase/auth';\n\nimport { delay } from 'lodash';\nimport { getAllAgency } from '@/validators/agency';\n\nexport default {\n  name: 'BaseAppWorkspaceLoader',\n  data() {\n    return {\n      loading: true,\n      existingWorkspaces: [],\n      existingAgency: false,\n      scac: null,\n      isLoading: false,\n      existingAgencyWorkspaces: [],\n      agency: false,\n    };\n  },\n  computed: {\n    ...mapGetters('auth', ['get_user', 'get_org']),\n    ...mapGetters('workspace', ['get_workspace']),\n  },\n  methods: {\n    ...mapActions('auth', [\n      'delete_invitations_and_verifications',\n      'register_complete_action',\n      'get_verification',\n      'create_existing_agent_workspace',\n    ]),\n    ...mapActions('workspace', [\n      'get_existing_workspace',\n      'send_invitation_to_agency',\n      'get_agent_invitations',\n      'get_existing_workspaces_by_scac',\n    ]),\n    async selectWorkspace(workspace, type = null) {\n      const email = firebase.auth().currentUser.email;\n      this.isLoading = true;\n      if (workspace) {\n        const inviteData = await this.get_agent_invitations({\n          email: email,\n          orgId: workspace.orgId,\n          scac: this.scac,\n        });\n        if (inviteData.length) {\n          await this.handleCreateWorkspace({\n            email: email,\n            orgId: workspace.orgId,\n          });\n        } else if (this.$route.query.existingAgency || type) {\n          await this.handleNewAgent({\n            scac: this.scac,\n            orgId: workspace.orgId,\n            email: email,\n          });\n        } else {\n          if (this.get_user) {\n            await this.handleInvitedUser(workspace);\n          } else {\n            const verification = await this.get_verification(email);\n\n            await this.create_existing_agent_workspace({\n              ...verification,\n              orgId: workspace.orgId,\n            });\n            this.existingWorkspaces = [];\n            this.existingAgencyWorkspaces = [];\n            await this.delete_invitations_and_verifications();\n          }\n        }\n      } else {\n        await this.handleCreateWorkspace({ email: email });\n      }\n      this.isLoading = false;\n    },\n\n    // creating agent account\n    async handleCreateWorkspace({ email, orgId }) {\n      const verification = await this.get_verification(email);\n      const data = { ...verification };\n      if (orgId) {\n        data.agencyOrgId = orgId;\n      }\n      await this.register_complete_action(data);\n      await this.delete_invitations_and_verifications();\n      this.existingWorkspaces = [];\n    },\n\n    // Sending invitation to the selected agency\n    async handleNewAgent({ scac, orgId, email }) {\n      const payload = {\n        scac: scac,\n        orgId: orgId,\n        email: email,\n      };\n      await this.send_invitation_to_agency(payload);\n      this.$router\n        .push({ path: '/agent-verify', query: { scac: scac } })\n        .catch(() => {});\n    },\n\n    // navigating to the application using exiting org\n    async handleInvitedUser(workspace) {\n      this.$store.dispatch('workspace/set_workspace', workspace);\n      this.$store.dispatch('workspace/load_workspace', false);\n      await this.delete_invitations_and_verifications();\n\n      this.$router.push('/dashboard').catch(() => {});\n    },\n\n    // handle workspaces if user already exists\n    async handleExistingWorkspaces() {\n      if (this.get_user?.orgId) {\n        const existingWorkspace = await this.get_existing_workspace(\n          this.get_user?.orgId\n        );\n\n        this.existingWorkspaces.push(existingWorkspace);\n      } else {\n        this.existingWorkspaces = await this.get_existing_workspaces_by_scac(\n          this.$route.query.scac\n        );\n      }\n      if (this.$route.query.newOrg) {\n        this.scac = this.$route.query.scac;\n        const existingAgencies = await getAllAgency(this.scac);\n        this.existingAgencyWorkspaces = existingAgencies.map((val) =>\n          val.data()\n        );\n      }\n    },\n    // get all agency workspaces based on scac\n    async handleAgentWorkspace() {\n      this.existingAgency = this.$route.query.existingAgency;\n      this.scac = this.$route.query.scac;\n      const existingAgencies = await getAllAgency(this.scac);\n      this.existingWorkspaces = existingAgencies.map((val) => val.data());\n    },\n  },\n  async mounted() {\n    if (this.$route.query.existing) {\n      await this.handleExistingWorkspaces();\n    } else if (this.$route.query.existingAgency) {\n      await this.handleAgentWorkspace();\n    }\n    const currentUser = firebase.auth().currentUser;\n    this.$store.watch(\n      ({ workspace: { workspace } }) => workspace,\n      (newValue, oldValue) => {\n        if (newValue) {\n          delay(async () => {\n            this.$store.dispatch('workspace/load_workspace', false);\n            if (currentUser.emailVerified) {\n              await this.delete_invitations_and_verifications();\n\n              this.$router.push('/dashboard').catch(() => {});\n            } else {\n              this.$router\n                .push({\n                  path: '/verify',\n                  query: { email: currentUser.email },\n                })\n                .catch(() => {});\n            }\n          }, 1500);\n        }\n      },\n      {\n        deep: true,\n      }\n    );\n  },\n  watch: {\n    $route() {\n      if (this.$route?.query.new) {\n        this.$router.push('/dashboard').catch(() => {});\n      }\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n@import '@/assets/scss/common.scss';\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseAppWorkspaceLoader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseAppWorkspaceLoader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BaseAppWorkspaceLoader.vue?vue&type=template&id=14a3a291&scoped=true\"\nimport script from \"./BaseAppWorkspaceLoader.vue?vue&type=script&lang=js\"\nexport * from \"./BaseAppWorkspaceLoader.vue?vue&type=script&lang=js\"\nimport style0 from \"./BaseAppWorkspaceLoader.vue?vue&type=style&index=0&id=14a3a291&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"14a3a291\",\n  null\n  \n)\n\nexport default component.exports","<template>\n  <div class=\"full-height full-width\">\n    <BaseAppWorkspaceLoader />\n  </div>\n</template>\n\n<script>\nimport BaseAppWorkspaceLoader from '@/components/BaseAppWorkspaceLoader';\n\nexport default {\n  name: 'Workspace',\n  components: {\n    BaseAppWorkspaceLoader,\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n@import '@/assets/scss/common.scss';\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Workspace.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Workspace.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Workspace.vue?vue&type=template&id=5c4731c4&scoped=true\"\nimport script from \"./Workspace.vue?vue&type=script&lang=js\"\nexport * from \"./Workspace.vue?vue&type=script&lang=js\"\nimport style0 from \"./Workspace.vue?vue&type=style&index=0&id=5c4731c4&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5c4731c4\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseAppWorkspaceLoader.vue?vue&type=style&index=0&id=14a3a291&prod&lang=scss&scoped=true\"","export const operatingRegions = [\n  'BC/VANCOUVER',\n  'FL/MIAMI',\n  'GA/SAVANNAH',\n  'IL/CHICAGO',\n  'LA/LGB',\n  'MI/DETROIT',\n  'MO/KANSAS_CITY',\n  'NJ/NEWARK',\n  'OR/PDX',\n  'QC/MONTREAL',\n  'SC/CHARLESTON',\n  'SF/OAKLAND',\n  'TN/MEMPHIS',\n  'TX/HOUSTON',\n  'VA/NORFOLK',\n  'WA/SEATAC',\n];\n","import firebase from 'firebase/app';\n\nexport const isAgencyScac = async (scac) => {\n  if (scac) {\n    const agency = await getAgency(scac);\n\n    return agency?.exists;\n  } else {\n    return false;\n  }\n};\n\nexport const getAgency = async (scac) => {\n  const agencyRef = await firebase\n    .firestore()\n    .collection('organizations')\n    .where('agency_scacs', 'array-contains', scac)\n    .limit(1)\n    .get();\n\n  const [agency] = agencyRef.docs;\n\n  return agency;\n};\n\nexport const getAllAgency = async (scac) => {\n  const agencyRef = await firebase\n    .firestore()\n    .collection('organizations')\n    .where('agency_scacs', 'array-contains', scac)\n    .get();\n\n  return agencyRef?.docs;\n};\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=88ba3b64&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"d-flex justify-center align-center full-height full-width\"},[_c('v-form',{attrs:{\"id\":\"register-form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.register.apply(null, arguments)}}},[_c('v-card',{staticClass:\"pa-4 rounded-sm\",attrs:{\"elevation\":\"0\"}},[_c('v-card-title',{staticClass:\"justify-center flex-direction-column\"},[_c('v-img',{staticClass:\"shrink mr-2\",attrs:{\"position\":\"center\",\"contain\":\"\",\"src\":require(\"@/assets/png/logo.png\"),\"max-width\":\"160\"}}),_c('span',{staticClass:\"mt-8\"},[_vm._v(\" Create your Free Account \")]),_c('span',{staticClass:\"auth-hint-label font-size-14\"},[_vm._v(\" Already have an account? \"),_c('router-link',{staticClass:\"text-decoration-none\",attrs:{\"to\":{ name: 'Login' }}},[_c('span',{staticClass:\"auth-hint-signup\"},[_vm._v(\"Sign In\")])])],1)],1),_c('v-card-text',[_c('v-col',[_c('v-row',[_c('v-text-field',{attrs:{\"label\":\"Name*\",\"required\":\"\"},model:{value:(_vm.auth.userName),callback:function ($$v) {_vm.$set(_vm.auth, \"userName\", $$v)},expression:\"auth.userName\"}})],1),_c('v-row',[_c('v-col',{staticClass:\"pl-0 py-0 orgId-field-wrapper\",attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"type\":\"tel\",\"label\":\"Work Phone #*\",\"pattern\":\"[0-9]{3}-[0-9]{3}-[0-9]{4}\",\"rules\":[_vm.rules.cell],\"required\":\"\"},model:{value:(_vm.auth.userCell),callback:function ($$v) {_vm.$set(_vm.auth, \"userCell\", $$v)},expression:\"auth.userCell\"}}),(_vm.rmisLoading && !_vm.auth.isActive)?_c('v-progress-circular',{staticClass:\"orgId-field-icon\",attrs:{\"indeterminate\":\"\",\"size\":\"20\",\"width\":\"2\",\"color\":\"primary\"}}):_vm._e(),(!_vm.rmisLoading && _vm.auth.isActive)?_c('v-icon',{staticClass:\"orgId-field-icon\",attrs:{\"color\":\"#00ab55\"}},[_vm._v(\"mdi-check\")]):_vm._e()],1),_c('v-col',{staticClass:\"pr-0 py-0\",attrs:{\"cols\":\"6\"}},[_c('v-text-field',{attrs:{\"label\":\"Company*\",\"required\":\"\"},on:{\"change\":function($event){return _vm.validateAndUpdateAccountType()}},model:{value:(_vm.auth.userCompany),callback:function ($$v) {_vm.$set(_vm.auth, \"userCompany\", $$v)},expression:\"auth.userCompany\"}})],1)],1),_c('v-row',[_c('v-text-field',{attrs:{\"type\":\"text\",\"rules\":[_vm.rules.email],\"label\":\"Email*\",\"required\":\"\",\"disabled\":_vm.afterReserve},model:{value:(_vm.auth.userEmail),callback:function ($$v) {_vm.$set(_vm.auth, \"userEmail\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"auth.userEmail\"}})],1),_c('v-row',[_c('v-text-field',{attrs:{\"label\":'SCAC Code*',\"maxlength\":\"4\",\"rules\":[_vm.rules.scacCode],\"required\":\"\",\"disabled\":_vm.afterReserve},on:{\"input\":(val) =>\n                  (_vm.auth.userScacAlphaCode =\n                    _vm.auth.userScacAlphaCode.toUpperCase()),\"change\":function($event){return _vm.validateAndUpdateAccountType()}},model:{value:(_vm.auth.userScacAlphaCode),callback:function ($$v) {_vm.$set(_vm.auth, \"userScacAlphaCode\", $$v)},expression:\"auth.userScacAlphaCode\"}})],1),_c('v-row',[_c('v-select',{staticClass:\"rounded-sm\",attrs:{\"label\":\"Account Type\",\"items\":[\n                { label: 'Trucker', value: 'asset' },\n                { label: 'Broker', value: 'broker' },\n                { label: 'Agency', value: 'agency' },\n              ],\"item-text\":\"label\",\"item-value\":\"value\",\"required\":\"\"},model:{value:(_vm.auth.orgType),callback:function ($$v) {_vm.$set(_vm.auth, \"orgType\", $$v)},expression:\"auth.orgType\"}})],1),(_vm.isOperatingRegionsRequired())?_c('v-row',[_c('v-select',{staticClass:\"rounded-sm\",attrs:{\"label\":\"Operating Regions*\",\"items\":_vm.operatingRegions,\"multiple\":\"\",\"rules\":[_vm.rules.operatingRegions],\"item-text\":\"label\",\"item-value\":\"value\",\"required\":\"\"},model:{value:(_vm.auth.operatingRegions),callback:function ($$v) {_vm.$set(_vm.auth, \"operatingRegions\", $$v)},expression:\"auth.operatingRegions\"}})],1):_vm._e(),_c('v-row',{staticStyle:{\"max-width\":\"\"}},[_c('v-text-field',{attrs:{\"append-icon\":_vm.passwordShow ? 'mdi-eye' : 'mdi-eye-off',\"type\":_vm.passwordShow ? 'text' : 'password',\"hide-details\":true,\"name\":\"password\",\"label\":\"Password*\"},on:{\"click:append\":function($event){_vm.passwordShow = !_vm.passwordShow}},model:{value:(_vm.auth.userPassword),callback:function ($$v) {_vm.$set(_vm.auth, \"userPassword\", $$v)},expression:\"auth.userPassword\"}}),_c('password',{attrs:{\"secure-length\":6,\"strength-meter-only\":true},model:{value:(_vm.auth.userPassword),callback:function ($$v) {_vm.$set(_vm.auth, \"userPassword\", $$v)},expression:\"auth.userPassword\"}})],1),_c('v-row',[_c('v-text-field',{attrs:{\"type\":\"password\",\"name\":\"confirmPassword\",\"label\":\"Confirm Password*\"},model:{value:(_vm.auth.userConfirmPassword),callback:function ($$v) {_vm.$set(_vm.auth, \"userConfirmPassword\", $$v)},expression:\"auth.userConfirmPassword\"}})],1),_c('v-row',[_c('span',{staticClass:\"font-size-11 color-15\"},[_vm._v(\"Required fields are marked with a (*)\")])])],1)],1),_c('v-card-actions',[_c('v-row',{staticClass:\"ma-0\"},[_c('v-btn',{staticClass:\"width-100 auth-btn h-3 rounded-sm pa-4\",attrs:{\"type\":\"submit\",\"form\":\"register-form\",\"dark\":\"\",\"elevation\":\"0\",\"loading\":_vm.isRegisterLoading}},[_vm._v(\" Sign Up \")]),_c('v-row',{staticClass:\"justify-center\"},[_c('span',{staticClass:\"auth-hint-label font-size-12 mt-8 mb-4 text-align-center\",staticStyle:{\"max-width\":\"400px\"}},[_vm._v(\" By clicking \\\"Sign Up\\\" you agree to \"),_c('router-link',{staticClass:\"text-decoration-none\",attrs:{\"to\":{ name: 'Terms' }}},[_c('span',{staticClass:\"auth-hint-signup font-size-12\"},[_vm._v(\"Qualle Terms\")])]),_vm._v(\", and \"),_c('router-link',{staticClass:\"text-decoration-none\",attrs:{\"to\":{ name: 'Privacy' }}},[_c('span',{staticClass:\"auth-hint-signup font-size-12\"},[_vm._v(\"Privacy Policy\")])]),_vm._v(\" . \")],1)])],1)],1)],1)],1),_c('v-snackbar',{staticClass:\"custom-snackbar rounded-sm\",attrs:{\"timeout\":_vm.timeout,\"color\":\"error\"},model:{value:(_vm.showError),callback:function ($$v) {_vm.showError=$$v},expression:\"showError\"}},[_vm._v(\" \"+_vm._s(_vm.errorMsg)+\" \"),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.showError = false}}},[_vm._v(\"Close\")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"d-flex justify-center align-center full-height full-width\">\n    <v-form @submit.prevent=\"register\" id=\"register-form\">\n      <v-card class=\"pa-4 rounded-sm\" elevation=\"0\">\n        <v-card-title class=\"justify-center flex-direction-column\">\n          <v-img\n            class=\"shrink mr-2\"\n            position=\"center\"\n            contain\n            src=\"@/assets/png/logo.png\"\n            max-width=\"160\"\n          />\n\n          <span class=\"mt-8\"> Create your Free Account </span>\n\n          <span class=\"auth-hint-label font-size-14\">\n            Already have an account?\n            <router-link class=\"text-decoration-none\" :to=\"{ name: 'Login' }\">\n              <span class=\"auth-hint-signup\">Sign In</span>\n            </router-link>\n          </span>\n        </v-card-title>\n        <v-card-text>\n          <v-col>\n            <v-row>\n              <v-text-field\n                v-model=\"auth.userName\"\n                label=\"Name*\"\n                required\n              ></v-text-field>\n            </v-row>\n            <v-row>\n              <v-col class=\"pl-0 py-0 orgId-field-wrapper\" cols=\"6\">\n                <v-text-field\n                  v-model=\"auth.userCell\"\n                  type=\"tel\"\n                  label=\"Work Phone #*\"\n                  pattern=\"[0-9]{3}-[0-9]{3}-[0-9]{4}\"\n                  :rules=\"[rules.cell]\"\n                  required\n                ></v-text-field>\n                <v-progress-circular\n                  v-if=\"rmisLoading && !auth.isActive\"\n                  class=\"orgId-field-icon\"\n                  indeterminate\n                  size=\"20\"\n                  width=\"2\"\n                  color=\"primary\"\n                ></v-progress-circular>\n                <v-icon\n                  v-if=\"!rmisLoading && auth.isActive\"\n                  class=\"orgId-field-icon\"\n                  color=\"#00ab55\"\n                  >mdi-check</v-icon\n                >\n              </v-col>\n              <v-col class=\"pr-0 py-0\" cols=\"6\">\n                <v-text-field\n                  v-model=\"auth.userCompany\"\n                  label=\"Company*\"\n                  required\n                  @change=\"validateAndUpdateAccountType()\"\n                ></v-text-field>\n              </v-col>\n            </v-row>\n            <v-row>\n              <v-text-field\n                v-model.trim=\"auth.userEmail\"\n                type=\"text\"\n                :rules=\"[rules.email]\"\n                label=\"Email*\"\n                required\n                :disabled=\"afterReserve\"\n              ></v-text-field>\n            </v-row>\n            <v-row>\n              <v-text-field\n                v-model=\"auth.userScacAlphaCode\"\n                :label=\"'SCAC Code*'\"\n                @input=\"\n                  (val) =>\n                    (auth.userScacAlphaCode =\n                      auth.userScacAlphaCode.toUpperCase())\n                \"\n                maxlength=\"4\"\n                :rules=\"[rules.scacCode]\"\n                required\n                :disabled=\"afterReserve\"\n                @change=\"validateAndUpdateAccountType()\"\n              ></v-text-field>\n            </v-row>\n            <v-row>\n              <v-select\n                class=\"rounded-sm\"\n                label=\"Account Type\"\n                v-model=\"auth.orgType\"\n                :items=\"[\n                  { label: 'Trucker', value: 'asset' },\n                  { label: 'Broker', value: 'broker' },\n                  { label: 'Agency', value: 'agency' },\n                ]\"\n                item-text=\"label\"\n                item-value=\"value\"\n                required\n              />\n            </v-row>\n            <v-row v-if=\"isOperatingRegionsRequired()\">\n              <v-select\n                v-model=\"auth.operatingRegions\"\n                class=\"rounded-sm\"\n                label=\"Operating Regions*\"\n                :items=\"operatingRegions\"\n                multiple\n                :rules=\"[rules.operatingRegions]\"\n                item-text=\"label\"\n                item-value=\"value\"\n                required\n              ></v-select>\n            </v-row>\n            <v-row style=\"max-width: \">\n              <v-text-field\n                v-model=\"auth.userPassword\"\n                :append-icon=\"passwordShow ? 'mdi-eye' : 'mdi-eye-off'\"\n                :type=\"passwordShow ? 'text' : 'password'\"\n                :hide-details=\"true\"\n                name=\"password\"\n                label=\"Password*\"\n                @click:append=\"passwordShow = !passwordShow\"\n              ></v-text-field>\n              <password\n                v-model=\"auth.userPassword\"\n                :secure-length=\"6\"\n                :strength-meter-only=\"true\"\n              />\n            </v-row>\n            <v-row>\n              <v-text-field\n                v-model=\"auth.userConfirmPassword\"\n                type=\"password\"\n                name=\"confirmPassword\"\n                label=\"Confirm Password*\"\n              ></v-text-field>\n            </v-row>\n            <v-row>\n              <span class=\"font-size-11 color-15\"\n                >Required fields are marked with a (*)</span\n              >\n            </v-row>\n          </v-col>\n        </v-card-text>\n        <v-card-actions>\n          <v-row class=\"ma-0\">\n            <v-btn\n              class=\"width-100 auth-btn h-3 rounded-sm pa-4\"\n              type=\"submit\"\n              form=\"register-form\"\n              dark\n              elevation=\"0\"\n              :loading=\"isRegisterLoading\"\n            >\n              Sign Up\n            </v-btn>\n\n            <v-row class=\"justify-center\">\n              <span\n                class=\"auth-hint-label font-size-12 mt-8 mb-4 text-align-center\"\n                style=\"max-width: 400px\"\n              >\n                By clicking \"Sign Up\" you agree to\n                <router-link\n                  class=\"text-decoration-none\"\n                  :to=\"{ name: 'Terms' }\"\n                >\n                  <span class=\"auth-hint-signup font-size-12\"\n                    >Qualle Terms</span\n                  > </router-link\n                >, and\n                <router-link\n                  class=\"text-decoration-none\"\n                  :to=\"{ name: 'Privacy' }\"\n                >\n                  <span class=\"auth-hint-signup font-size-12\"\n                    >Privacy Policy</span\n                  >\n                </router-link>\n                .\n              </span>\n            </v-row>\n          </v-row>\n        </v-card-actions>\n      </v-card>\n    </v-form>\n\n    <v-snackbar\n      class=\"custom-snackbar rounded-sm\"\n      v-model=\"showError\"\n      :timeout=\"timeout\"\n      color=\"error\"\n    >\n      {{ errorMsg }}\n      <v-btn text @click=\"showError = false\">Close</v-btn>\n    </v-snackbar>\n  </div>\n</template>\n\n<script>\nimport { mapGetters, mapActions } from 'vuex';\nimport firebase from 'firebase/app';\nimport 'firebase/auth';\nimport { operatingRegions } from '../validators/operatingRegions';\n\nimport Password from 'vue-password-strength-meter';\nimport { remove } from 'lodash';\n\nimport {\n  phoneRegex,\n  emailRegex,\n  scacCodeRegex,\n} from '@qualle-admin/qutil/dist/patterns';\n\nexport default {\n  name: 'Register',\n  components: {\n    Password,\n  },\n  data() {\n    return {\n      rmisLoading: false,\n      operatingRegions,\n      auth: {\n        userName: null,\n        userCell: null,\n        userCompany: null,\n        userEmail: null,\n        userScacAlphaCode: null,\n        userPassword: null,\n        userConfirmPassword: null,\n        orgType: 'asset',\n        isActive: false,\n        isUserAcceptPolicy: false,\n        passwordShow: false,\n        operatingRegions: [],\n      },\n      rules: {\n        cell(value) {\n          return phoneRegex.test(value) || 'Invalid phone number format';\n        },\n        email(value) {\n          return emailRegex.test(value) || 'Invalid e-mail';\n        },\n        scacCode(value) {\n          return (\n            new RegExp(scacCodeRegex).test(value) || 'Incorrect SCAC format'\n          );\n        },\n        operatingRegions(value) {\n          return value.length < 1 ? 'Value should not be empty' : true;\n        },\n      },\n      loadingLoader: null,\n      passwordShow: false,\n      errorMsg: '',\n      showError: false,\n      timeout: 4000,\n      isRegisterLoading: false,\n      onFormChanged: false,\n      afterReserve: false,\n      orgTypes: [\n        { label: 'Trucker', value: 'asset' },\n        { label: 'Broker', value: 'broker' },\n        { label: 'Agency', value: 'agency' },\n      ],\n    };\n  },\n  computed: {\n    ...mapGetters('auth', ['get_error']),\n    ...mapGetters('workspace', ['get_load_workspace_active']),\n    ...mapGetters('settings', ['get_account_type_data']),\n\n    computedOrgTypes: {\n      get() {\n        return this.orgTypes;\n      },\n      set(value) {\n        this.orgTypes = value;\n      },\n    },\n  },\n  methods: {\n    ...mapActions('auth', ['register_action']),\n    ...mapActions('workspace', ['load_workspace']),\n    ...mapActions('settings', ['get_account_type']),\n    async register() {\n      if (this.auth.userPassword?.length < 6) {\n        this.showError = true;\n        this.errorMsg = 'Password should be at least 6 characters';\n      } else {\n        if (this.auth.userPassword !== this.auth.userConfirmPassword) {\n          this.showError = true;\n          this.errorMsg = 'Passwords are not same';\n        } else {\n          this.isRegisterLoading = true;\n\n          try {\n            if (this.validate()) {\n              this.load_workspace(true);\n\n              const registerPayload = {\n                email: this.auth.userEmail,\n                password: this.auth.userPassword,\n                name: this.auth.userName,\n                company: this.auth.userCompany,\n                cell: this.auth.userCell,\n                mc: null,\n                scac: this.auth.userScacAlphaCode?.toUpperCase() || null,\n                org_type: this.auth.orgType || '3PL',\n              };\n              if (this.isOperatingRegionsRequired()) {\n                registerPayload.operatingRegions = this.auth.operatingRegions;\n              }\n              if (this.auth.orgType === 'ssl') {\n                registerPayload.org_type = 'asset';\n                registerPayload.accountType = this.auth.accountType;\n              }\n              await this.register_action(registerPayload);\n            } else {\n              this.showError = true;\n              this.errorMsg = 'Please fill required fields';\n            }\n\n            this.isRegisterLoading = false;\n          } catch (error) {\n            console.warn(error);\n            this.showError = true;\n            this.errorMsg = error;\n\n            this.isRegisterLoading = false;\n          }\n        }\n      }\n    },\n    validate() {\n      let condition =\n        this.auth.userCell &&\n        this.auth.userCompany &&\n        this.auth.userEmail &&\n        this.auth.userPassword &&\n        this.auth.userName &&\n        new RegExp(emailRegex).test(this.auth.userEmail);\n\n      if (this.isOperatingRegionsRequired()) {\n        condition = condition && this.auth.operatingRegions.length > 0;\n      }\n\n      condition =\n        condition &&\n        this.auth.userScacAlphaCode &&\n        new RegExp(scacCodeRegex).test(this.auth.userScacAlphaCode);\n\n      return condition;\n    },\n    async validateRmis(value) {\n      this.rmisLoading = true;\n\n      const rmis = await fetch(\n        `https://qualle-web.web.app/api/v1/rmis?mc=${value}`\n      );\n      const { carrier, status } = await rmis.json();\n\n      if (carrier && status === 'ACTIVE') {\n        this.auth.isActive = true;\n        this.auth.userCompany = carrier;\n        this.auth.userScacAlphaCode = '5Ab8373';\n\n        this.rmisLoading = false;\n      } else {\n        this.rmisLoading = false;\n        this.auth.isActive = false;\n        this.auth.userCompany = null;\n        this.auth.userScacAlphaCode = null;\n        this.showError = true;\n        this.errorMsg =\n          'There was a problem with your verification. Please Contact Support';\n      }\n    },\n    isOperatingRegionsRequired() {\n      return this.auth.orgType === 'broker' || this.auth.orgType === 'asset';\n    },\n    validateAndUpdateAccountType() {\n      this.get_account_type_data.accountInformation.forEach((val) => {\n        if (\n          val.company.find(\n            (val) => val.toLowerCase() === this.auth.userCompany.toLowerCase()\n          ) &&\n          val.scac.includes(this.auth.userScacAlphaCode)\n        ) {\n          this.orgTypes.push({ label: 'SSL', value: 'ssl' });\n          this.auth.orgType = 'ssl';\n          this.auth.accountType = val.accountType;\n        } else {\n          remove(this.orgTypes, (account) => account.value === 'ssl');\n          this.auth.orgType = 'asset';\n          delete this.auth.accountType;\n        }\n      });\n    },\n  },\n  async mounted() {\n    const inviteRef = await firebase\n      .firestore()\n      .collection('invitations')\n      .doc(this.$route.query.invite)\n      .get();\n\n    const inviteData = inviteRef.data();\n\n    if (inviteData) {\n      if (inviteData?.agency_org) {\n        this.auth = {\n          ...this.auth,\n          userScacAlphaCode: inviteData?.scac,\n        };\n      } else {\n        const existingOrgRef = await firebase\n          .firestore()\n          .collection('organizations')\n          .doc(inviteData.orgId)\n          .get();\n\n        const existingOrgData = existingOrgRef.data();\n\n        const { company, org_type: orgType, scac } = existingOrgData;\n\n        this.auth = {\n          ...this.auth,\n          userCompany: company,\n          userScacAlphaCode: scac,\n          orgType: orgType,\n        };\n      }\n    }\n    this.afterReserve = this.$route.query.type === 'reserve';\n    if (this.afterReserve) {\n      const data = JSON.parse(\n        sessionStorage.getItem('selectedReservationData')\n      );\n      this.auth.userEmail = data.reqEmail;\n      this.auth.userScacAlphaCode = data.reqScac;\n    }\n    await this.get_account_type();\n  },\n  beforeCreate() {\n    const user = firebase.auth().currentUser;\n\n    if (user && !this.get_load_workspace_active) {\n      // this.$router.push('/dashboard').catch(() => {});\n    } else {\n      // do nothing\n    }\n  },\n  watch: {\n    get_error(value) {\n      this.showError = true;\n      this.errorMsg = value;\n\n      this.isLoginLoading = false;\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n@import '@/assets/scss/common.scss';\n@import '@/assets/scss/auth.scss';\n\n.Password {\n  max-width: 100% !important;\n  width: 100%;\n  margin: 5px 0 0;\n}\n.orgId-field-wrapper {\n  position: relative;\n}\n.orgId-field-icon {\n  position: absolute;\n  top: 18px;\n  right: 10px;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Register.vue?vue&type=template&id=4358895c&scoped=true\"\nimport script from \"./Register.vue?vue&type=script&lang=js\"\nexport * from \"./Register.vue?vue&type=script&lang=js\"\nimport style0 from \"./Register.vue?vue&type=style&index=0&id=4358895c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4358895c\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Register.vue?vue&type=style&index=0&id=4358895c&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Workspace.vue?vue&type=style&index=0&id=5c4731c4&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"d-flex align-center full-height flex-column full-width\"},[_c('div',{staticStyle:{\"margin-top\":\"20vh\",\"max-width\":\"90vw\"}},[_c('v-card',{staticClass:\"pa-4 rounded-sm\",attrs:{\"elevation\":\"0\"}},[_c('v-card-title',{staticClass:\"justify-center flex-direction-column\"},[_c('v-img',{staticClass:\"shrink\",attrs:{\"position\":\"center\",\"contain\":\"\",\"src\":require(\"@/assets/png/logo.png\"),\"max-width\":\"160\"}}),_c('span',{staticClass:\"mt-8\"},[_vm._v(\" Thank you for completing your registration \")])],1),_c('v-card-text',[_c('v-col',[_c('v-row',[_c('div',{staticClass:\"width-100 text-align-center mt-4\"},[_vm._v(\" You are now being redirected to Qualle, \")])]),_c('v-row',[_c('div',{staticClass:\"width-100 text-align-center mt-4\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}})],1)])],1)],1)],1),_c('v-alert',{staticClass:\"mt-4 pa-4 rounded-sm width-100 text-align-center\",attrs:{\"border\":\"left\",\"color\":\"#FF3C5F\",\"colored-border\":\"\",\"dense\":\"\",\"elevation\":\"1\"}},[_c('v-icon',{staticClass:\"mr-2\",attrs:{\"color\":\"#FF3C5F\"}},[_vm._v(\" mdi-alert-circle-outline \")]),_c('span',{staticClass:\"text-truncate\",staticStyle:{\"color\":\"#ff3c5f\"}},[_vm._v(\"Please do not close your browser!\")])],1)],1),_c('v-snackbar',{staticClass:\"custom-snackbar rounded-sm\",attrs:{\"timeout\":_vm.timeout,\"color\":\"error\"},model:{value:(_vm.showError),callback:function ($$v) {_vm.showError=$$v},expression:\"showError\"}},[_vm._v(\" \"+_vm._s(_vm.errorMsg)+\" \"),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.showError = false}}},[_vm._v(\"Close\")])],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <div class=\"d-flex align-center full-height flex-column full-width\">\n      <div style=\"margin-top: 20vh; max-width: 90vw\">\n        <v-card class=\"pa-4 rounded-sm\" elevation=\"0\">\n          <v-card-title class=\"justify-center flex-direction-column\">\n            <v-img\n              class=\"shrink\"\n              position=\"center\"\n              contain\n              src=\"@/assets/png/logo.png\"\n              max-width=\"160\"\n            />\n            <span class=\"mt-8\">\n              Thank you for completing your registration\n            </span>\n          </v-card-title>\n          <v-card-text>\n            <v-col>\n              <v-row>\n                <div class=\"width-100 text-align-center mt-4\">\n                  You are now being redirected to Qualle,\n                </div>\n              </v-row>\n              <v-row>\n                <div class=\"width-100 text-align-center mt-4\">\n                  <v-progress-circular\n                    indeterminate\n                    color=\"primary\"\n                  ></v-progress-circular>\n                </div>\n              </v-row>\n            </v-col>\n          </v-card-text>\n        </v-card>\n\n        <v-alert\n          class=\"mt-4 pa-4 rounded-sm width-100 text-align-center\"\n          border=\"left\"\n          color=\"#FF3C5F\"\n          colored-border\n          dense\n          elevation=\"1\"\n        >\n          <v-icon color=\"#FF3C5F\" class=\"mr-2\">\n            mdi-alert-circle-outline\n          </v-icon>\n          <span class=\"text-truncate\" style=\"color: #ff3c5f\"\n            >Please do not close your browser!</span\n          >\n        </v-alert>\n      </div>\n      <v-snackbar\n        class=\"custom-snackbar rounded-sm\"\n        v-model=\"showError\"\n        :timeout=\"timeout\"\n        color=\"error\"\n      >\n        {{ errorMsg }}\n        <v-btn text @click=\"showError = false\">Close</v-btn>\n      </v-snackbar>\n    </div>\n  </div>\n</template>\n\n<script>\nimport { mapActions } from 'vuex';\nimport { delay } from 'lodash';\nimport firebase from 'firebase';\nimport { getAllAgency } from '../validators/agency';\nimport { getOrgId } from '../store/modules/helpers';\nimport { getContentById } from '@/service/query';\n\nexport default {\n  name: 'RegisterComplete',\n  components: {},\n  data() {\n    return {\n      errorMsg: '',\n      showError: false,\n      timeout: 4000,\n    };\n  },\n  methods: {\n    ...mapActions('auth', [\n      'get_verification',\n      'register_complete_action',\n      'delete_invitations_and_verifications',\n      'get_error',\n    ]),\n    async complete() {\n      const email = this.$route.query.email;\n      const verification = await this.get_verification(email);\n\n      try {\n        if (verification) {\n          const orgId = await getOrgId(verification.email, verification.scac);\n          const allAgencies = await getAllAgency(verification.scac);\n          let user = firebase.auth().currentUser;\n          if (!user) {\n            user = (\n              await firebase\n                .auth()\n                .signInWithEmailAndPassword(\n                  verification.email,\n                  verification.password\n                )\n            ).user;\n          }\n          await user.reload();\n\n          const org = await getContentById([orgId], 'organizations');\n\n          if (!org.length && allAgencies.length) {\n            this.$router.push({\n              path: '/register/workspace',\n              query: { existingAgency: true, scac: verification.scac },\n            });\n          } else if (org.length && allAgencies.length) {\n            // checking wheather agent already exists with the scac or not\n            this.$router.push({\n              path: '/register/workspace',\n              query: { existing: true, newOrg: true, scac: verification.scac },\n            });\n          } else {\n            await this.register_complete_action(verification);\n          }\n          // await this.register_complete_action(verification);\n\n          localStorage.setItem('visited_verified_page', false);\n        } else {\n          this.showError = true;\n          this.errorMsg = 'Registration failed, user not found with that email';\n\n          delay(\n            () =>\n              this.$router\n                .push({ path: '/verify', query: { email } })\n                .catch(() => {}),\n            this.timeout\n          );\n        }\n      } catch (error) {\n        this.showError = true;\n        this.errorMsg = error;\n      }\n    },\n  },\n  async mounted() {\n    delay(() => this.complete(), this.timeout);\n  },\n  watch: {\n    get_error(value) {\n      this.showError = true;\n      this.errorMsg = value;\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n@import '@/assets/scss/common.scss';\n@import '@/assets/scss/auth.scss';\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterComplete.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterComplete.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RegisterComplete.vue?vue&type=template&id=5a3abace&scoped=true\"\nimport script from \"./RegisterComplete.vue?vue&type=script&lang=js\"\nexport * from \"./RegisterComplete.vue?vue&type=script&lang=js\"\nimport style0 from \"./RegisterComplete.vue?vue&type=style&index=0&id=5a3abace&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5a3abace\",\n  null\n  \n)\n\nexport default component.exports","import firebase from 'firebase/app';\nconst db = firebase.firestore();\n\nexport const getContentById = async (ids, path) => {\n  if (!ids || !ids.length || !path) return [];\n\n  const collectionPath = db.collection(path);\n  const batches = [];\n\n  while (ids.length) {\n    const batch = ids.splice(0, 10);\n\n    batches.push(\n      collectionPath\n        .where(firebase.firestore.FieldPath.documentId(), 'in', [...batch])\n        .get()\n        .then((results) =>\n          results.docs.map((result) => ({\n            id: result.id,\n            ...result.data(),\n          }))\n        )\n    );\n  }\n\n  const results = await Promise.all(batches);\n\n  return results.flat();\n};\n","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n  /* @vue/component */\n  return Vue.extend({\n    name: `v-${name}`,\n\n    functional: true,\n\n    props: {\n      id: String,\n      tag: {\n        type: String,\n        default: 'div',\n      },\n    },\n\n    render (h, { props, data, children }): VNode {\n      data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n      const { attrs } = data\n      if (attrs) {\n        // reset attrs to extract utility clases like pa-3\n        data.attrs = {}\n        const classes = Object.keys(attrs).filter(key => {\n          // TODO: Remove once resolved\n          // https://github.com/vuejs/vue/issues/7841\n          if (key === 'slot') return false\n\n          const value = attrs[key]\n\n          // add back data attributes like data-test=\"foo\" but do not\n          // add them as classes\n          if (key.startsWith('data-')) {\n            data.attrs![key] = value\n            return false\n          }\n\n          return value || typeof value === 'string'\n        })\n\n        if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n      }\n\n      if (props.id) {\n        data.domProps = data.domProps || {}\n        data.domProps.id = props.id\n      }\n\n      return h(props.tag, data, children)\n    },\n  })\n}\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n  name: 'v-container',\n  functional: true,\n  props: {\n    id: String,\n    tag: {\n      type: String,\n      default: 'div',\n    },\n    fluid: {\n      type: Boolean,\n      default: false,\n    },\n  },\n  render (h, { props, data, children }) {\n    let classes\n    const { attrs } = data\n    if (attrs) {\n      // reset attrs to extract utility clases like pa-3\n      data.attrs = {}\n      classes = Object.keys(attrs).filter(key => {\n        // TODO: Remove once resolved\n        // https://github.com/vuejs/vue/issues/7841\n        if (key === 'slot') return false\n\n        const value = attrs[key]\n\n        // add back data attributes like data-test=\"foo\" but do not\n        // add them as classes\n        if (key.startsWith('data-')) {\n          data.attrs![key] = value\n          return false\n        }\n\n        return value || typeof value === 'string'\n      })\n    }\n\n    if (props.id) {\n      data.domProps = data.domProps || {}\n      data.domProps.id = props.id\n    }\n\n    return h(\n      props.tag,\n      mergeData(data, {\n        staticClass: 'container',\n        class: Array<any>({\n          'container--fluid': props.fluid,\n        }).concat(classes || []),\n      }),\n      children\n    )\n  },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"d-flex justify-center align-center full-height full-width\"},[_c('v-form',{attrs:{\"id\":\"login-form\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.login.apply(null, arguments)}}},[_c('v-card',{staticClass:\"pa-4 rounded-sm\",attrs:{\"elevation\":\"0\"}},[_c('v-card-title',{staticClass:\"justify-center flex-direction-column\"},[_c('v-img',{staticClass:\"shrink\",attrs:{\"position\":\"center\",\"contain\":\"\",\"src\":require(\"@/assets/png/logo.png\"),\"max-width\":\"160\"}}),_c('span',{staticClass:\"mt-8\"},[_vm._v(\"Log in to Qualle\")])],1),_c('v-card-text',[_c('v-col',[_c('v-row',{staticClass:\"mt-4\"},[_c('v-text-field',{attrs:{\"label\":\"E-mail\",\"type\":\"text\",\"required\":\"\",\"rules\":[_vm.rules.email],\"disabled\":_vm.afterReserve},model:{value:(_vm.auth.userEmail),callback:function ($$v) {_vm.$set(_vm.auth, \"userEmail\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"auth.userEmail\"}})],1),_c('v-row',[_c('v-text-field',{attrs:{\"append-icon\":_vm.passwordShow ? 'mdi-eye' : 'mdi-eye-off',\"type\":_vm.passwordShow ? 'text' : 'password',\"name\":\"password\",\"label\":\"Password\",\"required\":\"\"},on:{\"click:append\":function($event){_vm.passwordShow = !_vm.passwordShow}},model:{value:(_vm.auth.userPassword),callback:function ($$v) {_vm.$set(_vm.auth, \"userPassword\", $$v)},expression:\"auth.userPassword\"}})],1),_c('v-row',{staticClass:\"mt-1\"},[_c('v-checkbox',{staticClass:\"fc-auth\",attrs:{\"label\":\"Keep me logged in\",\"color\":\"#5bc1c1\",\"ripple\":false},model:{value:(_vm.auth.isUserKeepLogin),callback:function ($$v) {_vm.$set(_vm.auth, \"isUserKeepLogin\", $$v)},expression:\"auth.isUserKeepLogin\"}})],1)],1)],1),_c('v-card-actions',{staticClass:\"d-block\"},[_c('v-btn',{staticClass:\"width-100 auth-btn h-3 rounded-sm pa-4\",attrs:{\"type\":\"submit\",\"form\":\"login-form\",\"dark\":\"\",\"elevation\":\"0\",\"loading\":_vm.isLoginLoading}},[_vm._v(\" Log In \")]),_c('span',{staticClass:\"auth-hint-label font-size-14 mt-8\"},[_vm._v(\" Forgot your password? \"),_c('router-link',{staticClass:\"text-decoration-none\",attrs:{\"to\":{ name: 'Forgot' }}},[_c('span',{staticClass:\"auth-hint-signup\"},[_vm._v(\"Reset your password\")])])],1),_c('span',{staticClass:\"auth-hint-label font-size-14 mt-2\"},[_vm._v(\" Don't have an account? \"),_c('router-link',{staticClass:\"text-decoration-none\",attrs:{\"to\":{ name: 'Register' }}},[_c('span',{staticClass:\"auth-hint-signup\"},[_vm._v(\"Sign Up\")])])],1),_c('span',{staticClass:\"auth-hint-label font-size-12 mt-8\",staticStyle:{\"max-width\":\"400px\"}},[_vm._v(\" This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply. \")])],1)],1)],1),_c('v-snackbar',{staticClass:\"custom-snackbar rounded-sm\",attrs:{\"timeout\":_vm.timeout,\"color\":\"error\"},model:{value:(_vm.showError),callback:function ($$v) {_vm.showError=$$v},expression:\"showError\"}},[_vm._v(\" \"+_vm._s(_vm.errorMsg)+\" \"),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.showError = false}}},[_vm._v(\"Close\")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"d-flex justify-center align-center full-height full-width\">\n    <v-form @submit.prevent=\"login\" id=\"login-form\">\n      <v-card class=\"pa-4 rounded-sm\" elevation=\"0\">\n        <v-card-title class=\"justify-center flex-direction-column\">\n          <v-img\n            class=\"shrink\"\n            position=\"center\"\n            contain\n            src=\"@/assets/png/logo.png\"\n            max-width=\"160\"\n          />\n\n          <span class=\"mt-8\">Log in to Qualle</span>\n        </v-card-title>\n        <v-card-text>\n          <v-col>\n            <v-row class=\"mt-4\">\n              <v-text-field\n                label=\"E-mail\"\n                type=\"text\"\n                required\n                :rules=\"[rules.email]\"\n                v-model.trim=\"auth.userEmail\"\n                :disabled=\"afterReserve\"\n              ></v-text-field>\n            </v-row>\n            <v-row>\n              <v-text-field\n                :append-icon=\"passwordShow ? 'mdi-eye' : 'mdi-eye-off'\"\n                :type=\"passwordShow ? 'text' : 'password'\"\n                name=\"password\"\n                label=\"Password\"\n                @click:append=\"passwordShow = !passwordShow\"\n                required\n                v-model=\"auth.userPassword\"\n              ></v-text-field>\n            </v-row>\n            <v-row class=\"mt-1\">\n              <v-checkbox\n                label=\"Keep me logged in\"\n                color=\"#5bc1c1\"\n                class=\"fc-auth\"\n                :ripple=\"false\"\n                v-model=\"auth.isUserKeepLogin\"\n              ></v-checkbox>\n            </v-row>\n          </v-col>\n        </v-card-text>\n        <v-card-actions class=\"d-block\">\n          <v-btn\n            class=\"width-100 auth-btn h-3 rounded-sm pa-4\"\n            type=\"submit\"\n            form=\"login-form\"\n            dark\n            elevation=\"0\"\n            :loading=\"isLoginLoading\"\n          >\n            Log In\n          </v-btn>\n\n          <span class=\"auth-hint-label font-size-14 mt-8\">\n            Forgot your password?\n\n            <router-link class=\"text-decoration-none\" :to=\"{ name: 'Forgot' }\">\n              <span class=\"auth-hint-signup\">Reset your password</span>\n            </router-link>\n          </span>\n\n          <span class=\"auth-hint-label font-size-14 mt-2\">\n            Don't have an account?\n            <router-link\n              class=\"text-decoration-none\"\n              :to=\"{ name: 'Register' }\"\n            >\n              <span class=\"auth-hint-signup\">Sign Up</span>\n            </router-link>\n          </span>\n\n          <span\n            class=\"auth-hint-label font-size-12 mt-8\"\n            style=\"max-width: 400px\"\n          >\n            This site is protected by reCAPTCHA and the Google Privacy Policy\n            and Terms of Service apply.\n          </span>\n        </v-card-actions>\n      </v-card>\n    </v-form>\n\n    <v-snackbar\n      class=\"custom-snackbar rounded-sm\"\n      v-model=\"showError\"\n      :timeout=\"timeout\"\n      color=\"error\"\n    >\n      {{ errorMsg }}\n      <v-btn text @click=\"showError = false\">Close</v-btn>\n    </v-snackbar>\n  </div>\n</template>\n\n<script>\nimport { mapGetters, mapActions } from 'vuex';\nimport firebase from 'firebase/app';\nimport 'firebase/auth';\n\nimport { emailRegex } from '@qualle-admin/qutil/dist/patterns';\n\nexport default {\n  name: 'Login',\n  data() {\n    return {\n      auth: {\n        userEmail: '',\n        userPassword: '',\n        isUserKeepLogin: false,\n      },\n      rules: {\n        email(value) {\n          return emailRegex.test(value) || 'Invalid e-mail';\n        },\n      },\n      passwordShow: false,\n      errorMsg: '',\n      showError: false,\n      timeout: 4000,\n      isLoginLoading: false,\n      afterReserve: false,\n    };\n  },\n  computed: {\n    ...mapGetters('auth', ['get_user', 'get_error']),\n    ...mapGetters('workspace', ['get_load_workspace_active']),\n  },\n  methods: {\n    ...mapActions('auth', ['login_action']),\n    async login() {\n      this.isLoginLoading = true;\n\n      await this.login_action({\n        email: this.auth.userEmail,\n        password: this.auth.userPassword,\n      });\n    },\n  },\n  async mounted() {\n    const user = firebase.auth().currentUser;\n\n    if (user) {\n      if (user.emailVerified) {\n        await user.reload();\n      }\n\n      if (!this.get_load_workspace_active) {\n        // this.$router.push('/dashboard').catch(() => {});\n      } else {\n        // do nothing\n      }\n    }\n    this.afterReserve = this.$route.query.type === 'reserve';\n    if (this.afterReserve) {\n      this.auth.userEmail = JSON.parse(\n        sessionStorage.getItem('selectedReservationData')\n      ).reqEmail;\n    }\n  },\n  watch: {\n    get_error(value) {\n      this.showError = true;\n      this.errorMsg = value;\n\n      this.isLoginLoading = false;\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n@import '@/assets/scss/common.scss';\n@import '@/assets/scss/auth.scss';\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=88ba3b64&scoped=true\"\nimport script from \"./Login.vue?vue&type=script&lang=js\"\nexport * from \"./Login.vue?vue&type=script&lang=js\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=88ba3b64&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"88ba3b64\",\n  null\n  \n)\n\nexport default component.exports","// Styles\nimport './VCheckbox.sass'\nimport '../../styles/components/_selection-controls.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\n\n/* @vue/component */\nexport default Selectable.extend({\n  name: 'v-checkbox',\n\n  props: {\n    indeterminate: Boolean,\n    indeterminateIcon: {\n      type: String,\n      default: '$checkboxIndeterminate',\n    },\n    offIcon: {\n      type: String,\n      default: '$checkboxOff',\n    },\n    onIcon: {\n      type: String,\n      default: '$checkboxOn',\n    },\n  },\n\n  data () {\n    return {\n      inputIndeterminate: this.indeterminate,\n    }\n  },\n\n  computed: {\n    classes (): object {\n      return {\n        ...VInput.options.computed.classes.call(this),\n        'v-input--selection-controls': true,\n        'v-input--checkbox': true,\n        'v-input--indeterminate': this.inputIndeterminate,\n      }\n    },\n    computedIcon (): string {\n      if (this.inputIndeterminate) {\n        return this.indeterminateIcon\n      } else if (this.isActive) {\n        return this.onIcon\n      } else {\n        return this.offIcon\n      }\n    },\n    // Do not return undefined if disabled,\n    // according to spec, should still show\n    // a color when disabled and active\n    validationState (): string | undefined {\n      if (this.isDisabled && !this.inputIndeterminate) return undefined\n      if (this.hasError && this.shouldValidate) return 'error'\n      if (this.hasSuccess) return 'success'\n      if (this.hasColor !== null) return this.computedColor\n      return undefined\n    },\n  },\n\n  watch: {\n    indeterminate (val) {\n      // https://github.com/vuetifyjs/vuetify/issues/8270\n      this.$nextTick(() => (this.inputIndeterminate = val))\n    },\n    inputIndeterminate (val) {\n      this.$emit('update:indeterminate', val)\n    },\n    isActive () {\n      if (!this.indeterminate) return\n      this.inputIndeterminate = false\n    },\n  },\n\n  methods: {\n    genCheckbox () {\n      const { title, ...checkboxAttrs } = this.attrs$\n      return this.$createElement('div', {\n        staticClass: 'v-input--selection-controls__input',\n      }, [\n        this.$createElement(VIcon, this.setTextColor(this.validationState, {\n          props: {\n            dense: this.dense,\n            dark: this.dark,\n            light: this.light,\n          },\n        }), this.computedIcon),\n        this.genInput('checkbox', {\n          ...checkboxAttrs,\n          'aria-checked': this.inputIndeterminate\n            ? 'mixed'\n            : this.isActive.toString(),\n        }),\n        this.genRipple(this.setTextColor(this.rippleState)),\n      ])\n    },\n    genDefaultSlot () {\n      return [\n        this.genCheckbox(),\n        this.genLabel(),\n      ]\n    },\n  },\n})\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterComplete.vue?vue&type=style&index=0&id=5a3abace&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Forgot.vue?vue&type=style&index=0&id=c809b3e8&prod&lang=scss&scoped=true\"","import Vue from 'vue'\n\nexport default Vue.extend({\n  name: 'transitionable',\n\n  props: {\n    mode: String,\n    origin: String,\n    transition: String,\n  },\n})\n"],"sourceRoot":""}