{"version":3,"file":"js/app.2d72c130.js","mappings":"gQAAIA,G,SAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,cAAc,CAACE,YAAY,gCAAgC,CAACF,EAAG,OAAO,CAACG,YAAYL,EAAIM,GAAG,CAAC,CAACC,IAAI,QAAQC,GAAG,WAAW,MAAO,CAACR,EAAIS,GAAG,0BAA0B,EAAEC,OAAM,GAAM,CAACH,IAAI,WAAWC,GAAG,WAAW,MAAO,CAACR,EAAIS,GAAG,qCAAqCP,EAAG,MAAMF,EAAIS,GAAG,qCAAqC,EAAEC,OAAM,GAAM,CAACH,IAAI,UAAUC,GAAG,WAAW,MAAO,CAACN,EAAG,SAAS,CAACE,YAAY,4BAA4BO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIa,QAAQC,KAAK,CAACC,KAAM,YAAY,IAAI,CAACf,EAAIS,GAAG,iBAAiBP,EAAG,SAAS,CAACE,YAAY,4BAA4BO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIa,QAAQC,KAAK,CAACC,KAAM,aAAa,IAAI,CAACf,EAAIS,GAAG,sBAAsB,EAAEC,OAAM,QAAW,EAC1vB,GACIM,EAAkB,GCYtB,GACAD,KAAA,OACAE,WAAA,CACA,KAAAC,IAAA,iCAEAC,OAAAA,GACA,KAAAN,QAAAC,KAAA,CAAAC,KAAA,YACA,GCrBmP,I,WCQ/OK,GAAY,OACd,EACArB,EACAiB,GACA,EACA,KACA,WACA,MAIF,EAAeI,EAAiB,Q,4CCZhC,MAAMC,EAAgB,SAEtBC,EAAAA,WAAIC,IAAIC,EAAAA,IAER,MAAMC,EAA6B,CACjC,CACEC,KAAM,IACNX,KAAM,OACNK,UAAWO,GAEb,CACED,KAAM,SACNX,KAAM,QACNK,UAAWA,IACT,iCAEJ,CACEM,KAAM,SACNX,KAAM,QACNK,UAAWA,IACT,gCAEJ,CACEM,KAAM,QACNX,KAAM,OACNK,UAAWA,IACT,gCAEJ,CACEM,KAAM,gBACNX,KAAM,eACNK,UAAWA,IACT,iCAEJ,CACEL,KAAM,WACNW,KAAM,aACNN,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,kCAGX,CACEd,KAAM,uBACNW,KAAM,uBACNN,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,kCAGX,CACEd,KAAM,mBACNW,KAAM,sBACNN,UAAWA,IACT,yDAGFQ,KAAM,CACJC,MAAO,iCAGX,CACEd,KAAM,yBACNW,KAAM,6BACNN,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,gDAGX,CACEd,KAAM,0BACNW,KAAM,8BACNI,YAAaA,CAACC,EAAIC,EAAMC,KACjBC,EAAAA,EAAMC,MAAMC,cAAcC,UAG7BJ,IAFAA,EAAK,a,EAKTb,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,yDAGX,CACEd,KAAM,2BACNW,KAAM,+BACNN,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,2CAGX,CACEd,KAAM,qBACNW,KAAM,yBACNI,YAAaA,CAACC,EAAIC,EAAMC,KACjBC,EAAAA,EAAMC,MAAMC,cAAcC,UAG7BJ,IAFAA,EAAK,a,EAKTb,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,sDAGX,CACEd,KAAM,mCACNW,KAAM,kCACNI,YAAaA,CAACC,EAAIC,EAAMC,KACjBC,EAAAA,EAAMC,MAAMC,cAAcC,UAG7BJ,IAFAA,EAAK,a,EAKTb,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,sDAGX,CACEd,KAAM,kBACNW,KAAM,qBACNN,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,sDAGX,CACEd,KAAM,yBACNW,KAAM,4BACNI,YAAaA,CAACC,EAAIC,EAAMC,KACjBC,EAAAA,EAAMC,MAAMC,cAAcC,UAG7BJ,IAFAA,EAAK,a,EAKTb,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,mDAGX,CACEd,KAAM,iBACNW,KAAM,mBACNN,UAAWA,IACT,+BAGFQ,KAAM,CACJC,MAAO,sDAGX,CACEd,KAAM,gBACNW,KAAM,oBACNN,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,8CAGX,CACEd,KAAM,2BACNW,KAAM,4BACNN,UAAWA,IACT,yDAGFQ,KAAM,CACJC,MAAO,0DAGX,CACEd,KAAM,8BACNW,KAAM,6BACNN,UAAWA,IACT,kEAGFQ,KAAM,CACJC,MAAO,kDAGX,CACEd,KAAM,qBACNW,KAAM,oDACNN,UAAWA,IACT,6EAGFQ,KAAM,CACJC,MAAO,2CAGX,CACEd,KAAM,8BACNW,KAAM,8CACNN,UAAWA,IACT,yDAGFQ,KAAM,CACJC,MAAO,2CAGX,CACEd,KAAM,0BACNW,KAAM,0DACNN,UAAWA,IACT,6EAGFQ,KAAM,CACJC,MAAO,2CAGX,CACEd,KAAM,mBACNW,KAAM,qBACNN,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,mCAGX,CACEd,KAAM,4BACNW,KAAM,+CACNN,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,8CAGX,CACEd,KAAM,yBACNW,KAAM,6CACNN,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,8CAGX,CACEd,KAAM,0BACNW,KAAM,yCACNN,UAAWA,IACT,+BAGFQ,KAAM,CACJC,MAAO,8CAGX,CACEd,KAAM,+BACNW,KAAM,kDACNN,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,8CAGX,CACEd,KAAM,+BACNW,KAAM,kDACNN,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,8CAGX,CAGEd,KAAM,iCACNW,KAAM,0BACNY,OAAO,EAOPR,YAAaA,CAACC,EAAIC,EAAMC,KACjBC,EAAAA,EAAMK,QAAQC,MAAMC,iBAAiBC,OACrCT,IAD6CA,EAAK,aAC5C,EAEbb,UAAWA,IACT,yDAGFQ,KAAM,CACJC,MAAO,8BAGX,CACEd,KAAM,eACNW,KAAM,4CACNiB,MAAO,CAAC,6BAA8B,sCACtCL,OAAO,EACPR,YAAaA,CAACC,EAAIC,EAAMC,KACjBC,EAAAA,EAAMK,QAAQC,MAAMC,iBAAiBC,OACrCT,IAD6CA,EAAK,aAC5C,EAEbb,UAAWA,IACT,yDAGFQ,KAAM,CACJC,MAAO,8BAGX,CACEd,KAAM,sBACNW,KAAM,+CACNiB,MAAO,CAAC,8BACRL,OAAO,EACPR,YAAaA,CAACC,EAAIC,EAAMC,KACjBC,EAAAA,EAAMK,QAAQC,MAAMC,iBAAiBC,OACrCT,IAD6CA,EAAK,aAC5C,EAEbb,UAAWA,IACT,yDAGFQ,KAAM,CACJC,MAAO,8BAGX,CACEd,KAAM,iBACNW,KAAM,0BACNI,YAAaA,CAACC,EAAIC,EAAMC,KACjBC,EAAAA,EAAMK,QAAQC,MAAMC,iBAAiBC,QAAWX,EAAGa,OAAOC,QAE1DZ,IADHA,EAAK,aACI,EAEbb,UAAWA,IACT,yDAGFQ,KAAM,CACJC,MAAO,uCAGX,CACEd,KAAM,YACNW,KAAM,wBACNN,UAAWA,IACT,gCAGFkB,MAAO,CACLQ,OAAQ,QAEVlB,KAAM,CACJC,MAAO,qCAGX,CACEd,KAAM,YACNW,KAAM,wBACNN,UAAWA,IACT,gCAGFkB,MAAO,CACLQ,OAAQ,QAEVlB,KAAM,CACJC,MAAO,qCAGX,CACEd,KAAM,aACNW,KAAM,yBACNN,UAAWA,IACT,gCAGFkB,MAAO,CACLQ,OAAQ,SAEVlB,KAAM,CACJC,MAAO,sCAGX,CACEd,KAAM,eACNW,KAAM,2BACNN,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,8CAGX,CACEd,KAAM,WACNW,KAAM,YACNN,UAAWA,IACT,gCACFQ,KAAM,CACJC,MAAO,yCAGX,CACEd,KAAM,gBACNW,KAAM,kBACNN,UAAWA,IACT,4EAGFQ,KAAM,CACJC,MAAO,0CAGX,CACEd,KAAM,eACNW,KAAM,0BACNN,UAAWA,IACT,4EAGFQ,KAAM,CACJC,MAAO,0CAGX,CACEd,KAAM,kBACNW,KAAM,2BACNN,UAAWA,IACT,4EAGFQ,KAAM,CACJC,MAAO,0CAGX,CACEd,KAAM,YACNW,KAAM,cACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,wDAGFQ,KAAM,CACJC,MAAO,+BAGX,CACEd,KAAM,QACNW,KAAM,SACNN,UAAWA,IACT,yDACFQ,KAAM,CACJC,MAAO,8BAIX,CACEd,KAAM,iBACNW,KAAM,0BACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,wDAGX,CACEd,KAAM,yBACNW,KAAM,yCACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,yDAGFQ,KAAM,CACJC,MAAO,wDAGX,CACEd,KAAM,iBACNW,KAAM,sCACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MACE,sEAGN,CACEd,KAAM,kBACNW,KAAM,iCACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MACE,sEAGN,CACEd,KAAM,wBACNW,KAAM,wCACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MACE,sEAGN,CACEd,KAAM,oBACNW,KAAM,mCACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,yDAGFQ,KAAM,CACJC,MAAO,0DAGX,CACEd,KAAM,2BACNW,KAAM,2CACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,mEAGFQ,KAAM,CACJC,MAAO,0DAGX,CACEd,KAAM,kBACNW,KAAM,iCACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,wDAGFQ,KAAM,CACJC,MAAO,uDAGX,CACEd,KAAM,kBACNW,KAAM,eACNN,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,+BAGX,CACEd,KAAM,cACNW,KAAM,+BACNN,UAAWA,IACT,wDACFQ,KAAM,CACJC,MAAO,+BAGX,CACEd,KAAM,wBACNW,KAAM,mBACNN,UAAWA,IACT,yDAGFQ,KAAM,CACJC,MAAO,+BAGX,CACEd,KAAM,QACNW,KAAM,8BACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,qDAGX,CACEd,KAAM,mBACNW,KAAM,4BACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,mEAGFQ,KAAM,CACJC,MAAO,kDAGX,CACEd,KAAM,kBACNW,KAAM,2BACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,0GAGFQ,KAAM,CACJC,MAAO,qDAGX,CACEd,KAAM,mBACNW,KAAM,4BACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,iDAGX,CACEd,KAAM,yBACNW,KAAM,wDACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,0GAGFQ,KAAM,CACJC,MAAO,oDAKX,CACEd,KAAM,gBACNW,KAAM,0BACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,0GAGFQ,KAAM,CACJC,MAAO,mDAGX,CACEd,KAAM,kBACNW,KAAM,2BACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,yDAGFQ,KAAM,CACJC,MAAO,kDAGX,CACEd,KAAM,2BACNW,KAAM,iCACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,0GAGFQ,KAAM,CACJC,MAAO,oDAGX,CACEd,KAAM,qBACNW,KAAM,uBACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,mEAGFQ,KAAM,CACJC,MAAO,qDAGX,CACEd,KAAM,wBACNW,KAAM,6CACNiB,MAAO,CAAC,kDACRb,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,sFAGFQ,KAAM,CACJC,MAAO,uDAGX,CACEd,KAAM,wBACNW,KAAM,uCACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,6EAGFQ,KAAM,CACJC,MAAO,uDAGX,CACEd,KAAM,+BACNW,KAAM,0CACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,mEAGFQ,KAAM,CACJC,MAAO,yDAGX,CACEd,KAAM,uBACNW,KAAM,yBACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,0GAGFQ,KAAM,CACJC,MAAO,uDAGX,CACEd,KAAM,gBACNW,KAAM,yBACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,kEAGFQ,KAAM,CACJC,MAAO,8CAGX,CACEd,KAAM,kBACNW,KAAM,2BACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,mEAGFQ,KAAM,CACJC,MAAO,iDAGX,CACEd,KAAM,UACNW,KAAM,8BACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,yDAGFQ,KAAM,CACJC,MAAO,2DAGX,CACEd,KAAM,qBACNW,KAAM,+BACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,mEAGFQ,KAAM,CACJC,MAAO,qDAGX,CACEd,KAAM,sBACNW,KAAM,gCACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,kEAGFQ,KAAM,CACJC,MAAO,uDAGX,CACEd,KAAM,yBACNW,KAAM,oCACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,yDAGFQ,KAAM,CACJC,MAAO,qDAGX,CACEd,KAAM,eACNW,KAAM,wBACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,mEAGFQ,KAAM,CACJC,MAAO,8CAGX,CACEd,KAAM,+BACNW,KAAM,0CACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,mEAGFQ,KAAM,CACJC,MAAO,qDAGX,CACEd,KAAM,gBACNW,KAAM,uBACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,mEAGFQ,KAAM,CACJC,MAAO,8CAGX,CACEd,KAAM,kBACNW,KAAM,4BACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,6EAGFQ,KAAM,CACJC,MAAO,kDAGX,CACEd,KAAM,sBACNW,KAAM,qCACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,+CAGX,CACEd,KAAM,QACNW,KAAM,yBACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,+BAGFQ,KAAM,CACJC,MAAO,uDAGX,CACEd,KAAM,oBACNW,KAAM,gBACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,6CAGX,CACEd,KAAM,0BACNW,KAAM,iCACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,gCAGFQ,KAAM,CACJC,MAAO,6CAKX,CACEd,KAAM,WACNW,KAAM,SACNI,YAAaiB,MAAOhB,EAAIC,EAAMC,KAC5B,MAAMe,QAAiBC,EAAAA,EAAAA,GAAqBlB,EAAGL,KAAMQ,EAAAA,GACjDc,GACFf,G,EAGJb,UAAWA,IACT,yDAGF8B,SAAU,CACR,CACExB,KAAM,WACNN,UAAWA,IACT,+BAGF8B,SAAU,CACR,CACEnC,KAAM,mBACNW,KAAM,GACNI,YAAaA,CAACC,EAAIC,EAAMC,IAASA,EAAK,yBAExC,CACElB,KAAM,eACNW,KAAM,OACNN,UAAWA,IACT,gCAIJ,CACEL,KAAM,gBACNW,KAAM,QACNN,UAAWA,IACT,4DAMR,CACEL,KAAM,mBACNW,KAAM,8CACNN,UAAWA,IACT,gCAGFkB,MAAQa,IACN,MAAMC,EAAcC,OAAOC,SAASH,EAAMP,OAAOQ,YAAa,IACxDG,EAAWF,OAAOC,SAASH,EAAMP,OAAOW,SAAU,IAClDC,EAAYL,EAAMP,OAAOY,UAE/B,OAAIH,OAAOI,MAAML,IAAgBC,OAAOI,MAAMF,GACrC,CAAEH,YAAa,EAAGG,SAAU,EAAGC,aAE/B,CAAEJ,cAAaG,WAAUC,Y,GAItC,CACEzC,KAAM,oBACNW,KAAM,kBACNN,UAAWA,IACT,iCAIJ,CACEL,KAAM,iBACNW,KAAM,gBACNN,UAAWA,IACT,yDAIJ,CACEL,KAAM,kBACNW,KAAM,iBACNN,UAAWA,IACT,0DAIJ,CACEL,KAAM,mBACNW,KAAM,WACNN,UAAWA,IACT,mCASJsC,EAAS,IAAIlC,EAAAA,GAAU,CAC3BmC,KAAM,UACNlC,WAGmBmC,SAAS/B,MAC9B6B,EAAOG,YAAWd,MAAOhB,EAAIC,EAAMC,KAEjC,GADA6B,OAAOC,SAAS,EAAG,GACd7B,EAAAA,EAAMC,MAAM6B,OAKf/B,QALuB,CACvB,MAAMgC,QAAeC,EAAAA,SACfhC,EAAAA,EAAMiC,OAAO,YAAaF,EAAOG,SACvCnC,G,KAMJyB,EAAOW,WAAU,CAACtC,EAAIC,KACpBV,EAAAA,WAAAA,UAAa,KACX,IACEsC,SAAS/B,MAAQE,GAAIH,MAAMC,OAASR,C,CACpC,MACA,IAEF,IAGJ,O,mCC/vCA,MAAMiD,EAAgB,CACpBC,OAAQ,CAAC,OACTC,QAAS,CACP,8BAAMC,GACJ,MAAMP,QAAYjE,KAAKiE,MACjBQ,QAA0BR,EAAIO,2BACpCxE,KAAK0E,OAAOR,OAAO,yBAA0BO,EAC/C,EACA,yBAAME,GACJ,MAAMV,QAAYjE,KAAKiE,MACjBW,QAAsBX,EAAIU,sBAChC3E,KAAK0E,OAAOR,OAAO,0BAA2BU,EAChD,EACA,2BAAMC,GACJ,MAAMZ,QAAYjE,KAAKiE,MACjBa,QAAoBb,EAAIY,wBAC9B7E,KAAK0E,OAAOR,OAAO,oBAAqBY,EAAYC,cACpD/E,KAAK0E,OAAOR,OAAO,oBAAqBY,EAAYE,cACpDhF,KAAK0E,OAAOR,OAAO,oBAAqBY,EAAYE,aACtD,EACA,0BAAMC,GACJ,MAAMhB,QAAYjE,KAAKiE,MACjBa,QAAoBb,EAAIgB,uBAC9BjF,KAAK0E,OAAOR,OAAO,uBAAwBY,EAC7C,EACAI,aAAAA,GACE,IACE,OAA6D,MAAtDlF,KAAK0E,OAAOxC,MAAMiD,SAASJ,aAAaK,WAA2E,MAAtDpF,KAAK0E,OAAOxC,MAAMiD,SAASJ,aAAaK,SAC9G,CAAE,MACA,OAAO,CACT,CACD,IAGL,K,wJChCA,MAAMC,EAAmBA,CAACC,EAAKC,EAAa5C,KAC1C,IAAI6C,EAAO7B,SAAS8B,cAAc,QAClCD,EAAKE,OAAS,OACdF,EAAK3C,OAASyC,EACd,IAAIK,EAAYhC,SAAS8B,cAAc,SACvCE,EAAUC,MAAMC,QAAU,OAC1BF,EAAUG,MAAQP,EAClBI,EAAU7E,KAAO,eACjB0E,EAAKO,YAAYJ,GACbhD,GACFqD,OAAOC,QAAQtD,GAAQuD,SAAQ,EAAE5F,EAAKwF,GAAQK,KAC5C,IAAIC,EAAQzC,SAAS8B,cAAc,SACnCW,EAAMC,aAAa,OAAQ,UAC3BD,EAAMC,aAAa,OAAQ/F,GAC3B8F,EAAMC,aAAa,QAASP,GAC5BN,EAAKO,YAAYK,EAAM,IAG3BzC,SAAS2C,KAAKP,YAAYP,GAC1BA,EAAKe,SACL5C,SAAS2C,KAAKE,YAAYhB,EAAK,EAG3BiB,EAA0BA,CAACnB,EAAK3C,KACpC,GAAIA,EAAQ,CACV,IAAI+D,EAAW,IACfV,OAAOC,QAAQtD,GAAQuD,SAAQ,EAAE5F,EAAKwF,GAAQK,KAC5Cb,EAAM,GAAGA,IAAMoB,IAAWpG,KAAOwF,IACjCY,EAAW,GAAG,GAElB,CACA7C,OAAO8C,SAASC,KAAOtB,CAAG,EAGtBuB,EAAoB,CACxBvC,OAAQ,CAAC,OACTC,QAAS,CACPuC,aAAAA,GACE,MAAM/C,EAAS/D,KAAK0E,OAAOxC,MAAM6B,OAC3BgD,EAAW/G,KAAK0E,OAAOxC,MAAMiD,SAC7B6B,EAAiC,MAAvBD,EAAS3B,UACzB,GAAI4B,EAAS,CACX,MAAMrE,EAASoB,EAAOkD,sCACtBjH,KAAKkH,iBAAiBvE,EACxB,KAAO,CACL,MAAMwE,EAAcpD,EAAOqD,sBACrBzE,EAASoB,EAAOsD,kCACtBrH,KAAKsH,YAAYH,EAAaxE,EAChC,CACF,EACA2E,WAAAA,CAAYH,EAAaxE,GACvB,MAAMoB,EAAS/D,KAAK0E,OAAOxC,MAAM6B,OAC3BuB,EAAM,GAAGvB,EAAOwD,WAAWJ,IACjCV,EAAwBnB,EAAK3C,EAC/B,EACAuE,gBAAAA,CAAiBvE,GACf,MAAMoB,EAAS/D,KAAK0E,OAAOxC,MAAM6B,OAC3ByD,EAAQC,aAAaC,QAAQ,gBACnC,GAAIF,EAAO,CACT,MAAMG,EAAuB,GAAG5D,EAAO6D,gBAAgB7D,EAAO8D,4BAC9DxC,EAAiBsC,EAAsBH,EAAO7E,EAChD,CACF,EACAmF,iCAAAA,CAAkCnF,GAChC,MAAMoB,EAAS/D,KAAK0E,OAAOxC,MAAM6B,OAC3ByD,EAAQC,aAAaC,QAAQ,gBACnC,GAAIF,EAAO,CACT,MAAMG,EAAuB,GAAG5D,EAAOgE,mBAAmBhE,EAAOiE,0BACjE3C,EAAiBsC,EAAsBH,EAAO7E,EAChD,CACF,EACAsF,UAAAA,GACE,MAAMT,EAAQC,aAAaC,QAAQ,gBACnC,IAAKF,EACH,OAAO,EAET,MAAMU,GAAWC,EAAAA,EAAAA,IAASX,GAC1B,QAASU,EAASE,UACpB,EACA,aAAMC,CAAQC,GAAS,GACrB,IACE,GAAIA,EACFb,aAAac,QACbvI,KAAKY,QAAQC,KAAK,CAAEC,KAAM,aACrB,CACL,IACE,MAAMmD,QAAYjE,KAAKiE,YACjBA,EAAIuE,QACZ,CAAE,MAAOC,GACPC,QAAQC,MAAMF,EAAIG,QACpB,CACA,MAAM7E,EAAS/D,KAAK0E,OAAOxC,MAAM6B,OACjC0D,aAAac,QACb1E,OAAO8C,SAASC,KAAO7C,EAAO8E,eAAeC,IAC/C,CACF,CAAE,MAAOC,GACPL,QAAQC,MAAMI,EAChB,CACF,IAGJ,K,uICjGA,IAAI9E,EAEA+E,EADAC,EAAS,GAETC,GAAoB,EACxB,MAAMC,EAAgB,KAChBC,EAAuB,IACvBC,EAAsC,GAEtCC,EAAiB,CACrB,eAAgB,oBAGlB,SAASC,EAAMC,GACb,OAAO,IAAIC,SAAQC,GAAWC,WAAWD,EAASF,IACpD,CAEA1G,eAAe8G,IACb,IAAIC,EAAgB5H,EAAAA,EAAMK,QAAQyB,OAElC,OAAQ8F,QACAN,EAAM,KACZM,EAAgB5H,EAAAA,EAAMK,QAAQyB,OAGhC,OAAO8F,CACT,CAGO,MAAMC,EAAiBhH,MAAOC,GAAW,KAC9C,MAAM8G,QAAsBD,IAEtBG,EAAkBlG,OAAO8C,UAC5BoD,EAAgBnD,KAAKoD,SAAS,YAAcD,EAAgBnD,KAAKoD,SAAS,iBAE3EjH,GAAW,IAGbyF,EAAAA,EAAAA,IAAOqB,EAAchB,eAAeC,KAAM/F,GAC1CiG,EAA6B,IAAI,EAG7BiB,EAAuBA,KAC3BhI,EAAAA,EAAMiC,OAAO,2BAA2B,EAAK,EAGlCgG,EAAc/D,IAAAA,SAAW2D,EAAgBX,GACzCgB,EAAgBhE,IAAAA,SAAW8D,EAAsBb,GAE9D,MACEzF,SAASyG,iBAAiB,WAAWtH,UACnC,MAAMyC,EAAckC,aAAaC,QAAQ,gBACrCnC,IAAgBtD,EAAAA,EAAMC,MAAMmI,oBAC9BF,IACAD,UACMI,I,IAIV3G,SAASyG,iBAAiB,SAAStH,UACjC,MAAMyC,EAAckC,aAAaC,QAAQ,gBACrCnC,IAAgBtD,EAAAA,EAAMC,MAAMmI,oBAC9BF,IACAD,UACMI,I,GAGX,EAlBD,GAoBA,MAAMC,EAAqBzH,UACzB,MAAMyC,EAAckC,aAAaC,QAAQ,gBACnC8C,EAAe/C,aAAaC,QAAQ,iBAE1C,IAAK8C,IAAiBjF,EAGpB,OAFAuE,SACApB,QAAQC,MAAM,oDAIhB,MAAMrD,EAAM,GAAG2D,wCACf,OAAOwB,MAAMnF,EAAK,CAChBoF,QAAS,IACJpB,KACAkB,EAAe,CAAE,aAAgBA,GAAiB,QAClDjF,EAAc,CAAE,YAAeA,GAAgB,MAEpDG,OAAQ,SAEPiF,KAAKC,GACLD,MAAK7H,UACJ,MAAM0E,QAAcqD,EAASC,OACvBC,EAAO,IAAIC,KACjBD,EAAKE,WAAWF,EAAKG,aAAe7B,GACpC5B,aAAa0D,QAAQ,gBAAiB3D,GACtCC,aAAa0D,QAAQ,2BAA4BJ,EAAKK,UAAUC,YAChErC,EAA6B+B,QACvBO,GAAoB,IAE3BC,OAAMzI,gBACCgH,IACNpB,QAAQC,MAAM,+BAAgCA,EAAM,GACpD,EAGO2C,EAAqBxI,UAChC,MAAM0H,EAAe/C,aAAaC,QAAQ,iBACpCpC,EAAM,GAAG2D,oCACf,OAAOwB,MAAMnF,EAAK,CAChBoF,QAAS,IACJpB,KACAkB,EAAe,CAAE,aAAgBA,GAAiB,MAEvD9E,OAAQ,SAEPiF,KAAKC,GACLD,MAAK7H,UACJ,MAAM0E,QAAcqD,EAASC,OAC7BrD,aAAa0D,QAAQ,eAAgB3D,GACrC0C,IACAC,GAAe,IAEhBoB,OAAMzI,UAEiB,iBAAlB6F,EAAMC,cACF2B,UAGAT,GAAe,E,GAEvB,EAGAQ,EAAuBxH,UAC3B,MAAM0H,EAAe/C,aAAaC,QAAQ,iBAC1C,GAAI8C,EAAc,CAChB,IAAIgB,GAAU,EACd,MAAMjG,EAAckC,aAAaC,QAAQ,gBAEzC,GAAInC,EAAa,CACf,MAAMkG,GAAetD,EAAAA,EAAAA,IAAS5C,GAC9BiG,GAAUE,EAAAA,EAAAA,IAAeD,E,CAGtBvC,QAQGyC,IAPDpG,IAAeiG,IAClBtC,GAAoB,QACdoC,IACNpC,GAAoB,GAOpBF,EAA6B,IAAIgC,YAC7BT,G,GAKNK,EAAeC,IACnB,GAAIA,EAASe,QAAU,KAAOf,EAASe,OAAS,IAC9C,OAAOf,EAEJ,GAAwB,MAApBA,EAASe,OAAgB,CAChC,MAAMjD,EAAQ,IAAIkD,MAAMhB,EAASiB,YAEjC,MADAnD,EAAMC,QAAU,eACVD,C,CACD,CACL,MAAMA,EAAQ,IAAIkD,MAAMhB,EAASiB,YAEjC,MADAnD,EAAMC,QAAUiC,EACVlC,C,GAIJoD,EAAaA,CAACrB,EAASpE,EAAOhB,KAClC,IAAI0G,EAAiB,IAChBtB,GAGCpE,GAAQA,aAAgB2F,WAC5BD,EAAiB,IACZA,EACH,eAAgB,qBAIpB,MAAMzG,EAAckC,aAAaC,QAAQ,gBACnC8C,EAAe/C,aAAaC,QAAQ,iBAiB1C,OAdKsE,EAAeE,eAAiB3G,IACnCyG,EAAiB,IACZA,EACH,cAAiB,UAAUzG,MAI3BD,IAAQ,GAAG2D,sCACb+C,EAAiB,IACZA,KACAxB,EAAe,CAAE,aAAgBA,GAAiB,OAIlDwB,CAAc,EAGjBL,EAAO7I,UACX,MAAMyG,EAASC,GAAO,IAAIC,SAAQC,GAAWC,WAAWD,EAASF,KAEjE,MAAON,QACCK,EAAM,I,EAIV4C,EAAgBrJ,UACfmB,GAAQgF,IACXhF,QAAYmI,EAAAA,GACZnD,EAAShF,EAAIE,QAAQkI,KAGvB,MAAM9G,EAAckC,aAAaC,QAAQ,gBAEnC4E,GADe7E,aAAaC,QAAQ,iBACMD,aAAaC,QAAQ,6BACjE4E,IACFtD,EAA6B,IAAIgC,KAAK3H,SAASiJ,KAG5CpD,QAaGyC,KAZFrG,IAAQ,GAAG2D,qCAA4C3D,IAAQ,GAAG2D,8CAC9DqB,IAGNpB,GAAoB,EAElB3D,IACF4E,IACAD,K,EAQAqC,EAAOzJ,MACXwC,EACAgB,EACAoE,WAGMyB,EAAc7G,GAEpB,MAAMkH,EAAU/B,MAAMnF,EAAK,CACzBoF,QAAS,IACJqB,EAAWrB,EAASpE,EAAMhB,IAE/BI,OAAQ,OACRY,KAAMA,GAAQmG,KAAKC,UAAU,CAAC,KAGhC,OAAOF,EACJ7B,KAAKC,GACLD,MAAK7H,UACJ,GAAIwC,IAAQ,GAAG2D,oCAA0C,CACvD,MAAM0D,EAAiB9B,EAAS+B,QAChCnF,aAAa0D,QAAQ,qBAAsBwB,EAAe7B,QAC1DX,IACAD,G,CAGF,OAAOW,CAAQ,IAEhBU,OAAMzI,UACL,GAAIwC,IAAQ,GAAG2D,oCAA0C,CACvD,MAAM1D,EAAckC,aAAaC,QAAQ,gBACzC,GAAKnC,QAKGgF,QALU,OACYX,IAC5BE,G,OAMFpB,QAAQC,MAAM,iBAAkBA,GAElC,MAAMA,CAAK,IAEZkE,SAAQ,KACHvH,IAAQ,GAAG2D,sCACbC,GAAoB,E,GAEtB,EAGA4D,EAAMhK,MACVwC,EACAoF,WAEMyB,EAAc7G,GAEpB,MAAMkH,EAAU/B,MAAMnF,EAAK,CACzBoF,QAAS,IACJqB,EAAWrB,IAEhBhF,OAAQ,QAGV,OAAO8G,EACJ7B,KAAKC,GACLW,OAAO5C,IACND,QAAQC,MAAM,iBAAkBA,EAAM,GACtC,EAGAoE,EAAUjK,MACdwC,EACAoF,WAEMyB,EAAc7G,GAEpB,MAAMkH,EAAU/B,MAAMnF,EAAK,CACzBoF,QAAS,IACJqB,EAAWrB,IAEhBhF,OAAQ,WAGV,OAAO8G,EACJ7B,KAAKC,GACLW,OAAO5C,IACND,QAAQC,MAAM,iBAAkBA,EAAM,GACtC,EAGAqE,EAAQlK,MACZwC,EACAgB,EACAoE,WAEMyB,EAAc7G,GAEpB,MAAMkH,EAAU/B,MAAMnF,EAAK,CACzBoF,QAAS,IACJqB,EAAWrB,GACd,eAAgB,+BAElBhF,OAAQ,QACRY,KAAMA,GAAQmG,KAAKC,UAAU,CAAC,KAGhC,OAAOF,EACJ7B,KAAKC,GACLW,OAAO5C,IACND,QAAQC,MAAM,iBAAkBA,EAAM,GACtC,EAGAsE,EAAMnK,MACVwC,EACAgB,EACAoE,WAEMyB,EAAc7G,GAEpB,MAAMkH,EAAU/B,MAAMnF,EAAK,CACzBoF,QAAS,IACJqB,EAAWrB,EAASpE,IAEzBZ,OAAQ,MACRY,KAAMA,GAAQmG,KAAKC,UAAU,CAAC,KAGhC,OAAOF,EACJ7B,KAAKC,GACLW,OAAO5C,IACND,QAAQC,MAAM,iBAAkBA,EAAM,GACtC,EAGAuE,EAAU,CACdX,OACAO,MACAE,QACAC,MACAF,WAGF,M,qEC1YA,IAAIjN,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,SAASF,EAAIoN,GAAGpN,EAAIqN,GAAG,CAAC,EAAE,SAASrN,EAAIsN,QAAO,GAAOtN,EAAIuN,YAAY,CAACvN,EAAIwN,GAAG,YAAY,EAC/J,EACIxM,EAAkB,G,WCDlByM,EAAS,CAAC,EAKVrM,GAAY,OACdqM,EACA1N,EACAiB,GACA,EACA,KACA,KACA,MAIF,EAAeI,EAAiB,O,gNCjBhC,MAAMsM,EAAmB,eAIZC,EAAiC/K,GACrCqD,OAAO2H,KAAKhL,GAChBiL,QAAQC,QACcC,IAAdnL,EAAOkL,IAAkC,OAAdlL,EAAOkL,KAE1CE,KAAKF,GAAM,GAAGA,KAAKlL,EAAOkL,OAC1BG,KAAK,KAGH,SAASC,EAA+B9J,GAC7C,OAAOrB,eAAqCoL,GAC1C,OAAOhB,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,sBAAuBI,KAAKC,UAAUwB,IAAYvD,MAAMwD,GAAMA,EAAEC,QACjG,CACF,CAEO,SAASC,EAA+BlK,GAC7C,OAAOrB,iBACL,OAAOoK,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,8BAA8B1B,MAAMwD,GAAMA,EAAEC,QAC5E,CACF,CAEO,SAASE,EAAyBnK,GACvC,OAAOrB,iBACL,OAAOoK,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,wBAAwB1B,MAAMwD,GAAMA,EAAEC,QACtE,CACF,CAEO,SAASG,EAAyBpK,GACvC,OAAOrB,eAA+BsC,EAAWoJ,EAAYC,EAAeC,GAC1EhG,QAAQiG,OAAOvJ,EAAW,yBAC1B,MAAMwJ,EAAYlB,EAA8B,CAC9Cc,WAAYA,EACZC,cAAeA,QAAiBX,EAChCY,oBAAqBA,QAAuBZ,IAExCe,EAAM3B,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,8BAAgCjH,EAAY,IAAMwJ,GACrF,IACE,MAAME,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,MAAMY,QAAaF,EAAIV,OACvB,OAAOY,CACT,CAAE,MAAOvG,GACP,MAAMA,CACR,CACF,CACF,CAEO,SAASwG,EAAqB9K,GACnC,OAAOrB,eAA2BoM,GAChC,MAAML,EAAM3B,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,+BAAiC6C,EAAe,YACnF,IACE,MAAMJ,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIhE,OAElB,MAAMkE,QAAaF,EAAIhE,OACvB,OAAOkE,CACT,CAAE,MAAOvG,GACP,MAAMA,CACR,CACF,CACF,CAEO,SAAS0G,EAAwBhL,GACtC,OAAOrB,eAA+BkM,GACpC,MAAMH,EAAM3B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,4BAA6BI,KAAKC,UAAUsC,IAChF,IACE,MAAMF,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,MAAMY,QAAaF,EAAIV,OACvB,OAAOY,CACT,CAAE,MAAOvG,GACP,MAAMA,CACR,CACF,CACF,CAEO,SAAS2G,EAAwBjL,GACtC,OAAOrB,iBACL,MAAM+L,EAAM3B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,uCACpC,IACE,MAAMyC,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,MAAMY,QAAaF,EAAIhE,OACjBtD,EAAQwH,EAEd,OADAvH,aAAa0D,QAAQ,eAAgB3D,GAC9BwH,CACT,CAAE,MAAOvG,GAEP,MADAhB,aAAa4H,WAAW,gBAClB5G,CACR,CACF,CACF,CAMmBhB,aAAaC,QAAQ,iBAA4BD,aAAaC,QAAQ,gBASlF,SAAS4H,EAAuBnL,GACrC,OAAO,SAAwBlC,EAAOmM,GAAO,EAAMmB,OAAwBzB,GACzE,MAAM0B,EAAUD,GAAyBtN,EAAMK,QAAQmN,6BACvD,OAAOvC,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,oBAAqBI,KAAKC,UAAU8C,IAAU7E,MAAMwD,GAAOC,EAAOD,EAAEC,OAASD,GAC9G,CACF,CAEO,SAASuB,EAAmBvL,GACjC,OAAOrB,uBACaoK,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,8BAC5C,CACF,CAEO,SAASsD,EAAgCxL,GAC9C,OAAO,SAAiCqL,EAASpB,GAAO,GACtD,OAAOlB,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,8BAA+BI,KAAKC,UAAU8C,IAAU7E,MAAMwD,GAAOC,EAAOD,EAAEC,OAASD,GACxH,CACF,CAEO,SAASyB,EAAkBzL,GAChC,OAAOrB,eAA4B+M,EAAIzB,GAAO,GAC5C,OAAOlB,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,gBAAgBwD,KAAMlF,MAAMwD,GAAOC,EAAOD,EAAEC,OAASD,GACrF,CACF,CAEO,SAAS2B,EAAuB3L,GACrC,OAAOrB,eAAiC+M,EAAIzB,GAAO,GACjD,OAAOlB,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,gBAAgBwD,gBAAiBlF,MAAMwD,GAAOC,EAAOD,EAAEC,OAASD,GAChG,CACF,CAEO,SAAS4B,EAAoC5L,EAASqL,GAC3D,OAAO,SAA2CvN,EAAOmM,GAAO,GAC9D,MAAM9I,EAAM,IAAI0K,IAAI,GAAG7L,EAAQkI,kDAAkDmD,EAAQ,GAAGS,kBAC5F,OAAO/C,EAAAA,GAAQX,KAAKjH,EAAKmH,KAAKC,UAAU8C,IAAU7E,MAAMwD,GAAOC,EAAOD,EAAEC,OAASD,GACnF,CACF,CAEO,SAAS+B,EAA0B/L,GACxC,OAAOrB,eAAoCkM,EAAMmB,EAAOhN,GACtD,MAAM0L,EAAM3B,EAAAA,GAAQD,IAAI,GAAG9I,EAAQkI,sBAAwB8D,EAAQ,cAAgBhN,EAAc,oBAAqBsJ,KAAKC,UAAUsC,IACrI,IACE,MAAMF,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,MAAMY,QAAaF,EAAIhE,OACvB,OAAOkE,CACT,CAAE,MAAOvG,GACP,MAAMA,CACR,CACF,CACF,CAEO,SAAS2H,EAA6BjM,GAC3C,OAAOrB,eAAmCqN,EAAOhN,GAC/C,MAAM0L,EAAM3B,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,sBAAwB8D,EAAQ,cAAgBhN,EAAc,qBACjG,IACE,MAAM2L,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,MAAMY,QAAaF,EAAIV,OACvB,OAAOY,CACT,CAAE,MAAOvG,GACP,MAAMA,CACR,CACF,CACF,CAEO,SAAS4H,EAAqBlM,GACnC,OAAOrB,eAA+BqN,EAAOG,EAAUtB,GACrD,MAAMuB,EAAW,IAAItE,SACrB+C,EAAK9I,SAAQ,CAACsK,EAAGC,IAAMF,EAASG,OAAO,QAAS1B,EAAKyB,MAErD,MAAM5B,EAAM3B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,sBAAwB8D,EAAQ,mBAAqBG,EAAUC,GACnG,IACE,MAAMzB,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,MAAMY,QAAaF,EAAIhE,OACvB,OAAOkE,CACT,CAAE,MAAOvG,GACP,MAAMA,CACR,CACF,CACF,CAEO,SAASkI,EAA2BxM,GACzC,OAAOrB,eAAwCqN,EAAOG,GACpD,MAAMzB,EAAM3B,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,sBAAsB8D,mCAAyCG,GAClG,IACE,MAAMxB,QAAYD,EACZG,QAAaF,EAAIV,OACvB,OAAOY,CACT,CAAE,MAAOvG,GACP,MAAMA,CACR,CACF,CACF,CAEO,SAASmI,EAAyBzM,GACvC,OAAOrB,eAAmCwN,GACxC,MAAMzB,EAAM3B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,8CAAgDiE,GACpF,IACE,MAAMxB,QAAYD,EACZG,QAAaF,EAAIhE,OACvB,OAAOkE,CACT,CAAE,MAAOvG,GACP,MAAMA,CACR,CACF,CACF,CAEO,SAASoI,EAAgC1M,GAC9C,OAAOrB,eAA0CyC,GAC/C,MAAMuL,EAAgB,CACpBC,cAAe,UAAUxL,KAGrBsJ,EAAMpE,MAAMtG,EAAQ6M,iBAAkB,CAC1CtL,OAAQ,MACRgF,QAASoG,IAGX,IACE,MAAMhC,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,MAAMY,QAAaF,EAAIV,OACvB,OAAOY,CACT,CAAE,MAAOvG,GACP,MAAMA,CACR,CACF,CACF,CAEO,SAASwI,EAA0B9M,GACxC,OAAOrB,eAAoCqN,EAAOG,GAChD,IAAIzB,EACWA,EAAXsB,EAAQ,EAASjD,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,sBAAsB8D,KAASG,oBAChEpD,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,kBAAkB8D,KAASG,oBAC7D,IACE,MAAMxB,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,OAAOU,EAAIhE,MACb,CAAE,MAAOrC,GACP,MAAMA,CACR,CACF,CACF,CAEO,SAASyI,EAAe/M,GAC7B,OAAOrB,eAAyBqO,EAAO5L,GACrC,MAAMgL,EAAW,IAAItE,SACrBkF,EAAMjL,SAAQ,CAACsK,EAAGC,IAAMF,EAASG,OAAO,YAAaS,EAAMV,MAE3D,MAAMK,EAAgB,CACpBC,cAAe,UAAUxL,KAIrBsJ,EAAMpE,MAAMtG,EAAQiN,aAAc,CACtC1L,OAAQ,OACRgF,QAASoG,EACTxK,KAAMiK,IAGR,IACE,MAAMzB,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,MAAMY,QAAaF,EAAIV,OACvB,OAAOY,CACT,CAAE,MAAOvG,GACP,MAAMA,CACR,CACF,CACF,CAEO,SAAS4I,EAAgBlN,GAC9B,OAAOrB,eAA0BwO,GAC/B,MAAMzC,EAAM3B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,gCAAiCI,KAAKC,UAAU4E,IACpF,IACE,MAAMxC,QAAYD,EAClB,GAAKC,EAAIC,GAGP,OAAOD,EAFP,YAAYA,EAAIV,MAIpB,CAAE,MAAO3F,GACP,MAAMA,CACR,CACF,CACF,CAEO,SAAS8I,EAAapN,GAC3B,OAAOrB,UACL,MAAM+L,EAAM3B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,gCAAiCI,KAAKC,UAAUsC,IAEpF,IACE,MAAMF,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,OAAOU,EAAIV,MACb,CAAE,MAAO3F,GACP,MAAMA,CACR,EAEJ,CAEO,SAAS+I,EAAkBrN,GAChC,OAAOrB,UACL,MAAM+L,EAAM3B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,4CAA6CI,KAAKC,UAAUsC,IAEhG,IACE,MAAMF,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,OAAOU,EAAIV,MACb,CAAE,MAAO3F,GACP,MAAMA,CACR,EAEJ,CAEO,SAASgJ,EAActN,GAC5B,OAAOrB,UACL,MAAM+L,EAAM3B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,kCAAmCI,KAAKC,UAAUsC,IACtF,IACE,MAAMF,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,OAAOU,EAAIV,MACb,CAAE,MAAO3F,GACP,MAAMA,CACR,EAEJ,CAEO,SAASiJ,EAAiBvN,GAC/B,OAAOrB,UACL,MAAM+L,EAAM3B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,yCAA0CI,KAAKC,UAAUsC,IAE7F,IACE,MAAMF,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,OAAOU,EAAIV,MACb,CAAE,MAAO3F,GACP,MAAMA,CACR,EAEJ,CAEO,SAASkJ,EAAsBxN,GACpC,OAAOrB,MAAOkM,EAAMzJ,KAClB,MAAMsJ,EAAM3B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,0CAA2CI,KAAKC,UAAUsC,GAAO,CAAE+B,cAAe,UAAUxL,MAEhI,IACE,MAAMuJ,QAAYD,EAClB,IAAKC,EAAIC,GACP,YAAYD,EAAIV,OAElB,OAAOU,EAAIV,MACb,CAAE,MAAO3F,GACP,MAAMA,CACR,EAEJ,CAEO,SAASmJ,EAAqBzN,GACnC,OAAOrB,MAAOkM,EAAMzJ,KAClB,MAAMsJ,EAAM3B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,yCAA0CI,KAAKC,UAAUsC,GAAO,CAAE+B,cAAe,UAAUxL,MAEzHuJ,QAAYD,EAEZ/D,QAAagE,EAAIhE,OAEvB,IACE,MAAMkE,EAAOvC,KAAKoF,MAAM/G,GACxB,OAAOkE,CACT,CAAE,MAAOrG,GACP,OAAOmC,CACT,EAEJ,CAEO,SAASgH,EAAqB3N,GACnC,OAAOrB,UACL,MAAMgM,QAAY5B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,iCAAiC0F,cAErEjH,QAAagE,EAAIhE,OAEvB,IACE,MAAMkE,EAAOvC,KAAKoF,MAAM/G,GACxB,OAAOkE,CACT,CAAE,MAAOrG,GACP,OAAOmC,CACT,EAEJ,CAEO,SAASkH,EAAO7N,GACrB,OAAOrB,UACL,MAAM+L,EAAM3B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,+BAAgCI,KAAKC,UAAUsC,IAE7EF,QAAYD,EAEZ/D,QAAagE,EAAIhE,OAEvB,IACE,MAAMkE,EAAOvC,KAAKoF,MAAM/G,GACxB,OAAOkE,CACT,CAAE,MAAOrG,GACP,OAAOmC,CACT,EAEJ,CAEO,SAASmH,EAAW9N,GACzB,OAAOrB,UACL,MAAM+L,EAAM3B,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,gCAAiCI,KAAKC,UAAUsC,IAE9EF,QAAYD,EAEZ/D,QAAagE,EAAIhE,OAEvB,IACE,MAAMkE,EAAOvC,KAAKoF,MAAM/G,GACxB,OAAOkE,CACT,CAAE,MAAOrG,GACP,OAAOmC,CACT,EAEJ,CAEO,SAASoH,EAA2B/N,GACzC,OAAO,WACL,OAAO+I,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,kBAAkB1B,MAAMwD,GAAMA,EAAEC,QAChE,CACF,CACO,SAAS+D,EAA0BhO,GACxC,OAAO,WACL,OAAO+I,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,yBAAyB1B,MAAMwD,GAAMA,EAAEC,QACvE,CACF,CACO,SAASgE,EAAsBjO,GACpC,OAAO,SAA0BkO,GAC/B,OAAOnF,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,uBAAwBI,KAAKC,UAAU2F,IAAc1H,MAAMwD,GACjFA,EAAEY,GAAKZ,EAAEC,OAAS,MAE7B,CACF,CACO,SAASkE,EAAyBnO,GACvC,OAAO,SAA6BkO,GAClC,OAAOnF,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,yBAA0BI,KAAKC,UAAU2F,IAAc1H,MAAMwD,GACnFA,EAAEY,GAAKZ,EAAEC,OAAS,MAE7B,CACF,CACO,SAASmE,EAAyBpO,GACvC,OAAO,WACL,OAAO+I,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,yBAAyB1B,MAAMwD,GAAMA,EAAEC,QACvE,CACF,CACO,SAASoE,EAA8BrO,GAC5C,OAAO,WACL,OAAO+I,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,6BAA6B1B,MAAMwD,GAAMA,EAAEC,QAC3E,CACF,CAEO,SAASqE,EAAyBtO,GACvC,OAAO,SAA6BkO,GAClC,OAAOnF,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,oBAAqBI,KAAKC,UAAU2F,IAAc1H,MAAMwD,GAC9EA,EAAEY,GAAKZ,EAAEC,OAAS,MAE7B,CACF,CAEO,SAASsE,EAAoCvO,GAClD,OAAO,SAAwCvB,GAC7C,OAAOsK,EAAAA,GAAQJ,IAAI,GAAG3I,EAAQkI,6BAA6BzJ,KAAW+H,MAAMwD,GAAMA,EAAEC,QACtF,CACF,CAEO,SAASuE,EAAgCxO,GAC9C,OAAO,SAAoCkO,GACzC,OAAOnF,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,4BAA6BI,KAAKC,UAAU2F,IAAc1H,MAAMwD,GACtFA,EAAEY,GAAKZ,EAAEC,OAAS,MAE7B,CACF,CAEO,SAASwE,EAA2BzO,GACzC,OAAO,SAA+BkO,GACpC,OAAOnF,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,8BAA+BI,KAAKC,UAAU2F,IAAc1H,MAAMwD,GACxFA,EAAEY,GAAKZ,EAAEC,OAAS,MAE7B,CACF,CAEO,SAASyE,EAAkC1O,GAChD,OAAO,SAAsCkO,GAC3C,OAAOnF,EAAAA,GAAQX,KAAK,GAAGpI,EAAQkI,sCAAuCI,KAAKC,UAAU2F,IAAc1H,MAAMwD,GAChGA,EAAEY,GAAKZ,EAAEC,OAAS,MAE7B,CACF,CAEO,SAAS0E,EAAS3O,GAEvB,OADAuE,QAAQiG,OAAOxK,EAAQkI,IAAK,0CACrB,CACL0G,mBAAoB9E,EAA+B9J,GACnD6O,WAAY1D,EAAuBnL,GACnC8O,oBAAqBtD,EAAgCxL,GACrD+O,mBAAoB7E,EAA+BlK,GACnDgP,aAAc7E,EAAyBnK,GACvCiP,+BAAgCrD,EAAoC5L,GACpEkP,aAAc9E,EAAyBpK,GACvCR,SAAUsL,EAAqB9K,GAC/BoB,YAAa6J,EAAwBjL,GACrCqE,OAAQkH,EAAmBvL,GAC3BmP,oBAAqBnE,EAAwBhL,GAC7CoP,qBAAsBrD,EAA0B/L,GAChDqP,wBAAyBpD,EAA6BjM,GACtDsP,YAAapD,EAAqBlM,GAClCuP,qBAAsB9C,EAAyBzM,GAC/CwP,mBAAoB9C,EAAgC1M,GACpDyP,iBAAkBjD,EAA2BxM,GAC7C0P,eAAgB/D,EAAuB3L,GACvC2P,UAAWlE,EAAkBzL,GAC7BoN,aAAcA,EAAapN,GAC3BqN,kBAAmBA,EAAkBrN,GACrCuN,iBAAkBA,EAAiBvN,GACnCwN,sBAAuBA,EAAsBxN,GAC7C2N,qBAAsBA,EAAqB3N,GAC3C6N,OAAQA,EAAO7N,GACf8N,WAAYA,EAAW9N,GACvBU,sBAAuBqN,EAA2B/N,GAClDc,qBAAsBkN,EAA0BhO,GAChDK,yBAA0BgO,EAA8BrO,GACxD4P,iBAAkB3B,EAAsBjO,GACxC6P,oBAAqB1B,EAAyBnO,GAC9CQ,oBAAqB4N,EAAyBpO,GAC9C8P,oBAAqBxB,EAAyBtO,GAC9C+P,+BAAgCxB,EAAoCvO,GACpEgQ,2BAA4BxB,EAAgCxO,GAC5DiQ,sBAAuBxB,EAA2BzO,GAClDkQ,6BAA8BxB,EAAkC1O,GAChEmQ,qBAAsBrD,EAA0B9M,GAChDoQ,UAAWrD,EAAe/M,GAC1BqQ,WAAYnD,EAAgBlN,GAC5BsN,cAAeA,EAActN,GAC7ByN,qBAAsBA,EAAqBzN,GAC3CA,UAEJ,CAEOrB,eAAe2R,IACpB,aAAahK,MAAMgD,GAChB9C,MAAMwD,GAAMA,EAAEC,SACdzD,MAAMwD,GAAM2E,EAAS3E,IAC1B,CAEA,KAAesG,G,2UC7kBR,MAAMC,EAAuB5O,GAC3BA,GAAS6O,EAAaC,SAAW9O,GAAS6O,EAAaE,MAAQ/O,GAAS6O,EAAaG,SAAWhP,GAAS6O,EAAaI,gBAGlHC,EAAuBlP,GAC3BA,GAAS6O,EAAaM,KAAOnP,GAAS6O,EAAaO,UAAYpP,GAAS6O,EAAaQ,gBAGjFC,EAA4BtP,GAChCA,GAAS6O,EAAaU,WAGlBV,EAAe,CAC1BC,QAAS,EACTC,KAAM,EACNC,QAAS,EACTG,IAAK,EACLC,SAAU,EACVC,gBAAiB,EACjBJ,gBAAiB,EACjBM,WAAY,GAGDC,EAAa,CACxBC,MAAO,EACPC,wBAAyB,EACzBC,uBAAwB,EACxBC,MAAO,EACPC,WAAY,EACZC,qBAAsB,EACtBC,6BAA8B,GAC9BC,6BAA8B,GAC9BC,wBAAyB,GACzBC,wBAAyB,IAGd5T,EAAY,CACvB6T,MAAO,QACPC,WAAY,aACZC,OAAQ,SACRC,SAAU,WACVtB,QAAS,UACTuB,qBAAsB,uBACtBC,OAAQ,UAEGC,EAAa,CACxBC,WAAY,CAACpU,EAAU+T,OAAQ/T,EAAU6T,MAAO7T,EAAU0S,QAAS1S,EAAUiU,sBAC7EI,WAAY,CAACrU,EAAU+T,OAAQ/T,EAAU8T,WAAY9T,EAAUgU,SAAUhU,EAAUiU,uBAE/E,SAAUK,EAAiBC,GAC/B,MAAI,CAAC,EAAG,GAAG3M,SAAS2M,GAAmBC,OAC7BD,EAAkBE,oBAErBF,EAAkBG,gBAAgBlJ,QAAOmJ,GAA6B,GAAvBA,EAAGC,mBAAuB,IAAIC,aACtF,C,wBCxDA,IAAIlJ,EAAM,CACT,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,KACX,aAAc,KACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,KACX,aAAc,KACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,KACR,UAAW,KACX,OAAQ,IACR,UAAW,IACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,WAAY,KACZ,cAAe,KACf,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,WAAY,MACZ,cAAe,MACf,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,YAAa,KACb,eAAgB,KAChB,UAAW,MACX,OAAQ,KACR,UAAW,KACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,QAAS,MACT,WAAY,MACZ,OAAQ,MACR,UAAW,MACX,QAAS,MACT,WAAY,MACZ,QAAS,MACT,aAAc,MACd,gBAAiB,MACjB,WAAY,MACZ,UAAW,MACX,aAAc,MACd,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,UAAW,MACX,OAAQ,MACR,YAAa,MACb,eAAgB,MAChB,UAAW,MACX,OAAQ,MACR,UAAW,MACX,aAAc,MACd,gBAAiB,MACjB,OAAQ,MACR,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,KACX,aAAc,KACd,UAAW,MACX,aAAc,MACd,UAAW,MACX,aAAc,OAIf,SAASmJ,EAAerI,GACvB,IAAIgB,EAAKsH,EAAsBtI,GAC/B,OAAOuI,EAAoBvH,EAC5B,CACA,SAASsH,EAAsBtI,GAC9B,IAAIuI,EAAoBC,EAAEtJ,EAAKc,GAAM,CACpC,IAAI2B,EAAI,IAAI3E,MAAM,uBAAyBgD,EAAM,KAEjD,MADA2B,EAAE8G,KAAO,mBACH9G,CACP,CACA,OAAOzC,EAAIc,EACZ,CACAqI,EAAevJ,KAAO,WACrB,OAAO3H,OAAO2H,KAAKI,EACpB,EACAmJ,EAAexN,QAAUyN,EACzBI,EAAOC,QAAUN,EACjBA,EAAerH,GAAK,K,kpyBCzMb,SAAS4H,GAAQC,EAAY,KAAMC,GACxC,OAAGD,GACME,GAAMF,IAAaE,GAAMF,GAAWC,IAGpCC,GAAMD,EAEjB,CAIA,MAAMC,GAAQ,CACZC,UAAWA,EACXC,IAAKA,EACLC,aAAcA,EACdC,SAAUA,EACVC,SAAUA,EACVC,YAAaA,EACbC,OAAQA,EACRC,MAAOA,EACPC,WAAYA,EACZC,UAAWA,EACXC,cAAeA,EACfC,UAAWA,EACXC,QAASA,EACTC,SAAUA,EACVC,WAAYA,EACZC,MAAOA,EACPC,SAAUA,EACVC,OAAM,EACNC,eAAc,EACdC,SAAQ,EACRC,MAAOA,EACPC,WAAYA,EACZC,UAAWA,EACXC,WAAYA,EACZC,qBAAsBA,EACtBC,MAAOA,EACPC,eAAgBA,EAChBC,wBAAyBA,EACzBC,gBAAiBA,EACjBC,YAAaA,EACbC,MAAOA,EACPC,MAAOA,EACPC,OAAQA,EACRC,UAAWA,EACXC,OAAQA,EACRC,aAAcA,EACdC,QAASA,EACTC,gBAAiBA,EACjBC,OAAQA,EACRC,eAAc,EACdC,WAAYA,EACZC,UAAWA,EACXC,kBAAmBA,EACnBC,QAASA,EACTC,WAAYA,EACZC,SAAUA,EACVC,UAAWA,EACXC,OAAQA,EACRC,UAAWA,EACXC,UAAWA,EACXC,SAAUA,EACVC,gBAAiBA,GACjBC,OAAQA,GACRC,UAAWA,GACXC,OAAQA,GACRC,OAAQA,GACRC,QAASA,GACTC,UAAWA,GACXC,gBAAiBA,GACjBC,WAAYA,GACZC,YAAaA,GACbC,KAAMA,GACNC,IAAKA,GACLC,cAAeA,GACfC,IAAKA,GACLC,YAAaA,GACbC,MAAOA,GACPC,KAAMA,GACNC,QAASA,GACTC,gBAAiBA,GACjBC,OAAQA,GACRC,YAAaA,GACbC,mBAAoBA,GACpBC,WAAYA,GACZC,WAAYA,GACZC,eAAgBA,GAChBC,YAAaA,GACbC,YAAaA,GACbC,gBAAiBA,GACjBC,MAAOA,GACPC,OAAQA,GACRC,OAAQA,GACRC,WAAYA,GACZC,YAAaA,GACbC,gBAAiBA,GACjBC,SAAUA,GACVC,QAASA,GACTC,OAAQA,GACRC,QAASA,GACTC,QAAS,CACPtC,gBAAiBuC,KAIrB,S,8HCxMIzd,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMsd,YAAY,OAAOvd,EAAG,MAAM,CAACwd,MAAM,CAAEC,MAAO3d,EAAI4d,WAAYC,MAAM,CAAC,GAAK,QAAQ,CAAC3d,EAAG,YAAYA,EAAG,MAAM,CAACE,YAAY,aAAa,CAAEJ,EAAI8d,mBAAoB,CAAC5d,EAAG,0BAA0B,CAACA,EAAG,cAAc,CAAC2d,MAAM,CAAC,sBAAsB7d,EAAI+d,mBAAmB,cAAc/d,EAAIge,YAAYrd,GAAG,CAAC,oBAAoB,SAASC,GAAQZ,EAAIge,WAAWpd,CAAM,EAAE,qBAAqB,SAASA,GAAQZ,EAAIge,WAAWpd,CAAM,OAAO,GAAGV,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,UAAU,CAAC2d,MAAM,CAAC,GAAK,uBAAuB,UAAU,GAAG,uBAAuB,GAAG,cAAc,IAAIld,GAAG,CAAC,GAAKX,EAAIie,UAAUC,MAAM,CAACnY,MAAO/F,EAAIkK,qBAAsBiU,SAAS,SAAUC,GAAMpe,EAAIkK,qBAAqBkU,CAAG,EAAEC,WAAW,yBAAyB,CAACne,EAAG,IAAI,CAACF,EAAIS,GAAG,mEAAmET,EAAIse,GAAGte,EAAIue,UAAU,2DAA2D,GAAGre,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,UAAU,CAAC2d,MAAM,CAAC,GAAK,YAAY,KAAO,KAAK,WAAa,GAAG,uBAAuB,GAAG,cAAc,GAAG,cAAc,IAAIK,MAAM,CAACnY,MAAO/F,EAAIwe,WAAYL,SAAS,SAAUC,GAAMpe,EAAIwe,WAAWJ,CAAG,EAAEC,WAAW,eAAe,CAACne,EAAG,MAAM,CAACue,SAAS,CAAC,UAAYze,EAAIse,GAAGte,EAAI2E,OAAOxC,MAAMuc,eAAexe,EAAG,MAAM,CAACA,EAAG,SAAS,CAACwd,MAAM,CAAC1d,EAAI2e,kBAAmB,mBAAmBhe,GAAG,CAAC,MAAQX,EAAI4e,kBAAkB,CAAC5e,EAAIS,GAAG,mBAAmB,IAAI,EACj6C,EACIO,EAAkB,G,4CCFlBjB,G,SAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMsd,YAAY,OAAOvd,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,cAAc,CAAC2d,MAAM,CAAC,GAAK,MAAM,CAAC3d,EAAG,MAAM,CAAC2d,MAAM,CAAC,IAAM,MAAM,IAAMgB,EAAQ,YAAmC3e,EAAG,cAAc,CAACE,YAAY,QAAQyd,MAAM,CAAC,GAAK,cAAc,CAAC7d,EAAIS,GAAG,cAAcP,EAAG,cAAc,CAACE,YAAY,QAAQyd,MAAM,CAAC,GAAK,cAAc,CAAC7d,EAAIS,GAAG,cAAcP,EAAG,cAAc,CAACE,YAAY,QAAQyd,MAAM,CAAC,GAAK,0BAA0B,CAAC7d,EAAIS,GAAG,0BAA0BP,EAAG,cAAc,CAACE,YAAY,QAAQyd,MAAM,CAAC,GAAK,oBAAoB,CAAC7d,EAAIS,GAAG,oBAAoBP,EAAG,cAAc,CAACE,YAAY,cAAcyd,MAAM,CAAC,GAAK,YAAY,CAAC7d,EAAIS,GAAG,YAAYP,EAAG,cAAc,CAACE,YAAY,eAAeyd,MAAM,CAAC,GAAK,aAAa,CAAC7d,EAAIS,GAAG,gBAAgBP,EAAG,cAAc,CAACE,YAAY,eAAeyd,MAAM,CAAC,GAAK,aAAa,CAAC7d,EAAIS,GAAG,cAAc,EACh4B,GACIO,EAAkB,GCatB,EAAAM,EAAAA,WAAAwd,OAAA,CACA/d,KAAA,WChByR,I,WCOrRK,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIF,EAAeA,EAAiB,QClB5BrB,G,SAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMsd,YAAY,OAAOvd,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAAEJ,EAAI+e,KAAM7e,EAAG,MAAM,CAACE,YAAY,mCAAmCyd,MAAM,CAAC,IAAM,aAAe7d,EAAI+e,QAAQ7e,EAAG,MAAM,CAACE,YAAY,eAAeyd,MAAM,CAAC,IAAM,MAAM,IAAMgB,EAAQ,MAAgCle,GAAG,CAAC,MAAQX,EAAIgf,kBAAoBhf,EAAIif,oBAA8mDjf,EAAIkf,KAA7lD,CAAChf,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAAEJ,EAAIgH,SAAU9G,EAAG,WAAW,CAACE,YAAY,OAAOyd,MAAM,CAAC,KAAO7d,EAAImf,wBAAwB,KAAO,CAAC,YAAa,WAAWxe,GAAG,CAAC,MAAQye,IAAMpf,EAAIqf,0BAA0Brf,EAAIkf,KAAMlf,EAAIsf,kBAAmBpf,EAAG,SAAS,CAACE,YAAY,sBAAsBO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIa,QAAQC,KAAK,CAAEC,KAAM,aAAc,IAAI,CAACf,EAAIS,GAAG,wBAAwBT,EAAIkf,KAAKhf,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,MAAM,CAACwd,MAAM,CAAC,gBAAiB1d,EAAI2e,oBAAoB,CAAC3e,EAAIS,GAAG,oCAAqCT,EAAIuf,WAAavf,EAAIgH,SAAU9G,EAAG,IAAI,CAACwd,MAAM1d,EAAI2e,kBAAkBd,MAAM,CAAC,KAAO,wBAAwB,CAAC7d,EAAIS,GAAG,kBAAmBT,EAAIuf,UAAYvf,EAAIgH,SAAU9G,EAAG,IAAI,CAACE,YAAY,qBAAqByd,MAAM,CAAC,KAAO,wBAAwB,CAAC7d,EAAIS,GAAG,kBAAmBT,EAAIwf,eAAgBtf,EAAG,IAAI,CAACwd,MAAM1d,EAAI2e,kBAAkBd,MAAM,CAAC,KAAO,UAAY7d,EAAIyf,iCAAiC,CAACzf,EAAIS,GAAGT,EAAIse,GAAGte,EAAIyf,mCAAmCzf,EAAIkf,OAAQlf,EAAIuf,WAAavf,EAAIgH,SAAU9G,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACJ,EAAIS,GAAG,kCAAmCT,EAAIuf,UAAYvf,EAAIgH,UAA8GhH,EAAIwf,eAAxGtf,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACJ,EAAIS,GAAG,qDAA6KT,EAAIkf,QAAQ,GAAIlf,EAAIsf,kBAAmBpf,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACF,EAAG,IAAI,CAACE,YAAY,4BAA4BO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIa,QAAQC,KAAK,CAAEC,KAAM,aAAc,IAAI,CAACf,EAAIS,GAAG,wBAAwBT,EAAIkf,OAAgB,IAC/hE,GACIle,EAAkB,G,4CCwFtB,EAAAM,EAAAA,WAAAwd,OAAA,CACA/d,KAAA,WACA2e,OAAA,CAAA5Y,EAAAA,EAAAxC,EAAAA,GACArD,WAAA,CACA0e,SAAAA,EAAAA,GAEAxe,OAAAA,GAAA,EACA8N,KAAAA,KAAA,CACA4I,MAAAA,EAAAA,IAEA+H,SAAA,KACAC,EAAAA,EAAAA,IAAA,4CACAd,IAAAA,GACA,YAAApa,OAAAxC,MAAA2d,SAAAC,UACA,EACA/Y,QAAAA,GACA,YAAAgZ,OAAAte,KAAAuI,SAAA,QACA,EACAkV,uBAAAA,GACA,YAAAha,gBACA,qBAEA,kBAEA,EACAqa,cAAAA,GACA,YAAA7a,OAAAxC,MAAAyU,iBACA,EACA6I,8BAAAA,GACA,YAAA9a,OAAAxC,MAAAyU,kBAAAqJ,eACA,EACAV,QAAAA,GACA,YAAA5a,OAAAxC,MAAAkD,YAAA,KAAAma,gBAGA,mCAAAvV,SAAA,KAAAtF,OAAAxC,MAAAkD,UACA,EACA4Z,mBAAAA,GACA,YAAAe,OAAApd,OAAA4c,gBAAA,eAAAQ,OAAAjf,IACA,EACAue,iBAAAA,GACA,YAAAtY,aAEA,KAAArC,OAAAxC,MAAAyU,oBACA,KAAAjS,OAAAxC,MAAAyU,kBAAAvR,cAGA,KAAAV,OAAApC,QAAA2d,gBACA,KAAAvb,OAAApC,QAAAid,iBACA,KAAAW,aAEA,EACAA,UAAAA,GACA,gBAAA9d,SACA,GAEAmC,QAAA,CACAwa,cAAAA,GAEA,KAAAhb,QACA,KAAAA,OAAA8E,gBACA,KAAA9E,OAAA8E,eAAAC,OAEAnF,SAAAgD,SAAAC,KAAA,KAAA7C,OAAA8E,eAAAC,KAEA,EACAsW,oBAAAA,GACA,KAAAla,gBACA,KAAAgC,mBAEA,KAAAY,mCAEA,KClKqP,ICQjP,GAAY,OACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIF,EAAe,EAAiB,Q,WCnB5BhI,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,SAASF,EAAIoN,GAAGpN,EAAIqN,GAAG,CAAC,EAAE,SAASrN,EAAIsN,QAAO,GAAOtN,EAAIuN,YAAY,CAACvN,EAAIwN,GAAG,YAAY,EAC/J,EACIxM,EAAkB,GCDlByM,EAAS,CAAC,EAKV,GAAY,OACdA,EACA,EACA,GACA,EACA,KACA,KACA,MAIF,EAAe,EAAiB,Q,4TCf5B2S,EAAc,CACjBC,OAAQ,2CACRC,QAAS,gBACT3c,KAAM,OACN4c,YAAY,EACZC,aAAc,SACdC,SAAU,OACVC,WAAY,SACZC,cAAe,OACfC,cAAc,EACdC,oBAAqB,GACrBC,YAAY,EACZnD,MAAO,OACPmC,SAAU,CACTiB,WAAY,QACZC,cAAe,OACfC,gBAAiB,OACjBC,SAAU,OACVC,cAAe,OACfC,gBAAiB,UACjBC,WAAY,OACZC,YAAa,UACbC,iBAAkB,UAClBC,YAAY,EACZC,aAAa,GAEd1W,KAAM,CACLlJ,MAAO,2CACP6f,MAAO,mRACPC,OAAQ,UACRC,eAAgB,8BAChBC,OAAQ,iBACRC,eAAgB,iBAChBC,SAAU,WACVC,WAAY,iBACZC,eAAgB,6BAChBC,qBAAsB,wNACtBC,YAAa,6CACbC,kBAAmB,kHACnBC,gBAAiB,+CACfC,sBAAuB,uIAE1BC,UAAW,CACVC,YAAa,yEACbzhB,KAAM,iBACNwE,IAAK,2CACLkd,QAAS,cAEVC,iBAAkB,CAAC,gBAAiB,aAAc,oBAAqB,cAAe,cAAe,uBAAwB,mCAAoC,0BAA2B,sBAAuB,SAAU,kBAAmB,WAAY,uCACzPC,gBAAiB,CACnB,CACC5hB,KAAM,YACN6hB,MAAO,oBACPJ,YAAa,mTACbK,QAAS,CAAC,MAAO,OAAQ,aAAc,WACrCC,kBAAkB,EACpBC,SAAW,YAEJ,SAAUC,GAAK,SAASvS,IAAIuS,EAAIC,QAAQD,EAAIC,OAAOC,EAAE,CAAC,IAAIC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEL,EAAEM,EAAE1f,OAAO2f,EAAE7f,SAAS8f,EAAEF,EAAE5c,SAAS+c,EAAE,SAASC,EAAE,oBAAoBC,EAAE,2BAA2BC,EAAE,aAAa,qBAAqBX,EAAE,iBAAiBC,EAAE,cAAcC,EAAE,OAAOC,EAAE,iBAAiBC,EAAEP,EAAIjiB,MAAM,eAAeiiB,EAAIjiB,MAAMyiB,EAAEF,MAAME,EAAEF,GAAGC,GAAGL,EAAEM,EAAED,IAAI,SAASQ,GAAG,IAAIC,GAAE,EAAGC,GAAE,EAAGC,EAAE,CAACC,YAAW,EAAGC,MAAM,GAAGC,GAAG,IAAIC,QAAQ,EAAEtgB,OAAO+f,GAAG,SAASQ,EAAE9T,EAAE6S,GAAG,IAAIJ,EAAE,CAAC,EAAEsB,EAAE,UAAU,SAASC,EAAEhU,GAAU,OAAPA,EAAE,GAAGA,EAAS,IAAIA,EAAE/N,OAAO,IAAI+N,EAAEA,CAAC,CAAC,OAAOyS,EAAEY,EAAE,MAAMU,EAAErB,KAAKD,EAAEY,EAAE,QAAQU,EAAEtB,EAAE,qBAAqBQ,GAAGA,EAAEgB,UAAU,YAAYxB,EAAE,0BAA0B,uBAAuBgB,EAAEG,IAAIH,EAAEI,SAAS,CAACK,MAAMH,EAAE,IAAIvZ,MAAM2Z,iBAAiB,IAAIH,EAAE,EAAED,EAAEK,eAAe,IAAIJ,EAAED,EAAEM,cAAc,IAAIL,EAAED,EAAEO,eAAe,IAAIN,EAAED,EAAEQ,iBAAiB,IAAIP,EAAED,EAAES,iBAAiB,KAAKT,EAAEU,qBAAqB,KAAKC,QAAQ,GAAGC,MAAM,EAAE,GAAG,IAAIC,KAAK5U,EAAE1P,KAAK,iCAAiC0P,EAAE6U,QAAQ,KAAK,IAAI,IAAIhC,EAAEiC,WAAW,IAAIC,KAAKtC,EAAEjU,KAAK,CAACwW,SAAS,CAACC,IAAI,IAAIA,SAAI3X,EAAU4X,IAAI,IAAIC,oBAAe7X,EAAU,CAAC,IAAImV,EAAEsB,EAAElB,EAAEmB,EAAEoB,GAAG,EAAEC,EAAE,EAAEC,EAAE,CAAC,uBAAuB,gCAAgC,2BAA2B,iCAAiC,4BAA4B,iCAAiC,4BAA4B,0BAA0BzO,EAAEyM,EAAExe,KAAKyd,EAAIgD,IAAI5X,EAAE,WAAW,OAAO6X,EAAE3O,EAAE,KAAK,EAAE,SAAS2O,EAAEC,EAAE5C,GAAG,IAAIJ,EAAEiD,eAAejD,GAAGA,EAAEkD,WAAW,IAAIC,eAAeC,QAAQ,UAAUpD,EAAEoD,QAAQ,eAAeJ,EAAEI,QAAQ,UAAUJ,EAAEA,EAAEZ,QAAQ,0BAAyB,SAAS7U,EAAE6S,EAAEJ,GAAG,OAAOI,EAAE,OAAOJ,CAAC,MAAI,IAAKF,EAAIuD,GAAG,IAAI,IAAI9V,EAAE,EAAEA,EAAEsV,EAAErjB,OAAO+N,IAAI,GAAG,EAAEyV,EAAEI,QAAQP,EAAEtV,IAAI,CAACoV,EAAEpV,EAAE,KAAK,CAAC,IAAIyS,EAAEsB,EAAE,SAAS/T,GAAG,IAAIgU,EAAEnB,EAAEJ,EAAEsB,EAAElN,EAAElJ,EAAE6X,EAAEO,EAAEC,EAAEC,EAAExC,EAAEE,MAAM,GAAGH,IAAI,GAAG4B,GAAGC,EAAE,EAAEC,EAAErjB,QAAQ+hB,GAAGoB,EAAEC,EAAE,GAAGC,EAAErjB,OAAOoL,EAAEoY,EAAEZ,QAAQ,6BAA4B,SAAS7U,EAAE6S,EAAEJ,EAAEsB,GAAG,OAAOlB,EAAEyC,EAAEtB,GAAGD,CAAC,KAAIsB,GAAG,IAAI9B,EAAEC,GAAE,EAAGgC,EAAEC,GAAE,IAAKlD,EAAI2D,MAAMH,GAAGlD,EAAE,WAAW,IAAI7S,EAAE6S,EAAE,CAAC,EAAEJ,EAAEa,EAAE6C,iBAAiB,GAAG1D,EAAE,IAAI,IAAIsB,EAAEtB,EAAE2D,MAAM,KAAKpC,EAAE,EAAEA,EAAED,EAAE9hB,OAAO+hB,IAAI,CAAC,IAAInN,EAAEkN,EAAEC,GAAGoC,MAAM,KAAK,IAAIvP,EAAE5U,SAAS4gB,EAAEhM,EAAE,GAAG6L,MAAM7L,EAAE,GAAG,CAAC,OAAOgM,EAAEM,KAAKnT,GAAGyS,EAAEI,EAAEwD,gBAAgBxD,EAAE1c,SAAS,KAAK0c,EAAEM,GAAG,YAAYnT,EAAEA,EAAE,IAAI,IAAI,OAAOyS,GAAG,8BAA8BI,CAAC,CAA9Q,IAAmRyD,oBAAoBhD,EAAEiD,oBAAoB,GAAG1D,GAAGA,GAAGA,EAAEA,EAAEM,KAAK,MAAMN,EAAE8B,OAAO,GAAG9B,EAAE8B,MAAM,GAAG,GAAG9B,GAAGA,EAAE,YAAYS,EAAEkD,YAAY3D,EAAES,EAAEmD,yBAAyB5D,GAAGJ,EAAE,IAAIpiB,MAAM0jB,EAAE,2FAA2FlN,EAAE2O,EAAEQ,EAAEnD,GAAGoD,GAAGtY,EAAEmW,EAAEiC,EAAE,cAAcvX,MAAMkY,SAAS,gBAAgBT,EAAEjB,SAAS2B,WAAW,CAAC,CAACC,SAAS,gBAAgBxe,QAAQ2b,EAAEc,QAAQ,MAAM,KAAKgC,cAAa,EAAGC,MAAM/C,EAAE,6BAA6BlN,EAAE,kGAAkGoM,GAAGA,EAAEgB,UAAU,aAAa,eAAe+B,EAAEe,YAAY,KAAKpZ,IAAI8U,EAAEpiB,MAAM4lB,EAAET,EAAEzB,EAAElB,GAAGmD,GAAGnP,EAAEiN,EAAEiC,EAAE,YAAYvX,MAAMkY,SAAS,eAAe/Y,EAAEqY,EAAEhB,UAAU5c,QAAQ,+BAA+B,6FAA6F6d,EAAE,KAAKpB,QAAQ,MAAM,IAAI,IAAIlX,EAAEqZ,WAAW,CAACC,SAASlD,GAAGlN,IAAI2O,EAAE/C,EAAEsD,EAAElD,EAAE5W,QAAQ+Z,EAAEjD,EAAE9Y,SAASsY,EAAI2E,OAAOlB,EAAED,EAAE,CAAC7gB,OAAO0d,EAAE9c,KAAKmG,KAAKC,UAAUsZ,GAAGtiB,KAAK,SAASikB,kBAAkBlB,EAAE,IAAIkB,gBAAgBC,KAAKxE,EAAEmD,GAAGE,EAAEoB,iBAAiB,eAAe,oBAAoBpB,EAAEqB,KAAKrb,KAAKC,UAAUsZ,QAAQ,EAAExB,EAAE,SAAShU,EAAE6S,GAAGW,GAAGra,YAAW,YAAY0Z,GAAGY,EAAE8D,MAAMxD,GAAG,GAAE,KAAKR,GAAE,CAAE,EAAElW,EAAE,SAAS2C,GAAG,IAAIyS,EAAEO,EAAE/d,cAAcie,GAAMT,EAAE8C,IAAIvV,EAAE6S,IAAIJ,EAAE+E,UAAU3E,GAAGJ,EAAE5c,aAAa,eAAeid,GAA5D9S,EAA+DuS,EAAII,GAAI,OAAO3S,GAAG,KAAKA,GAAG,aAAayS,EAAEE,KAAKF,EAAEE,GAAG3S,GAAGyS,EAAEgF,OAAOzD,EAAEvB,EAAEiF,QAAQ3D,EAAEtB,EAAEkF,mBAAmB,SAAS3X,EAAE6S,GAAG,WAAWJ,EAAEmF,YAAY,aAAanF,EAAEmF,YAAY5D,EAAE,EAAEnB,EAAE,EAAEN,EAAIsF,IAAItF,EAAIsF,GAAG,EAAE7E,EAAE8E,qBAAqB,QAAQ,GAAGviB,YAAYkd,GAAGtZ,YAAW,WAAW6Z,EAAE8E,qBAAqB5E,GAAG,GAAG6E,WAAWxiB,YAAYkd,EAAE,GAAEF,EAAIsF,IAAI,GAAGpF,CAAC,EAAEpV,EAAEoY,EAAE,CAAClD,EAAIyF,MAAMvF,EAAE5L,EAAEoR,MAAM,gEAAgE,IAAIxF,EAAExgB,QAAQwjB,EAAE,GAAGyC,OAAOzF,EAAE,GAAG,mBAAmBsB,EAAE,IAAImE,OAAOzF,EAAE,IAAIwD,EAAE5iB,OAAO4G,MAAM4Y,EAAE,SAAS7S,GAAG,IAAIA,EAAEmY,MAAMnY,EAAEmY,IAAIpE,KAAK/T,EAAEmY,IAAIpE,GAAGqE,KAAK,MAAM/c,MAAM,+BAA+B,IAAIwX,EAAE7S,EAAEmY,IAAIpE,GAAGyD,WAAW,KAAKhC,EAAE3O,EAAE4L,EAAE,GAAGzS,EAAEmY,IAAIpE,GAAGqE,KAAKvF,EAAE,EAAEoD,IAAI1D,EAAI2E,OAAOjB,EAAER,EAAE,CAACvgB,OAAO,MAAMhC,KAAK,SAASiH,MAAK,SAAS6F,GAAG,OAAOA,EAAEpC,OAAO,UAAS,WAAW,MAAM,CAAC,CAAC,GAAE,IAAGzD,KAAK0Y,GAAG,SAASlV,GAAGwZ,kBAAkBnD,EAAE,IAAImD,gBAAgBC,KAAK,MAAM3B,GAAGzB,EAAE2D,mBAAmB,WAAW,GAAG3D,EAAE4D,aAAaT,eAAekB,KAAK,GAAG,MAAMrE,EAAE5Y,OAAO,IAAIyX,EAAE5W,KAAKoF,MAAM2S,EAAEsE,cAAc,CAAC,MAAMtY,GAAGrC,GAAG,MAAMA,GAAG,EAAEqW,EAAEsD,SAASzQ,GAAGlJ,IAAI,IAAI8V,EAAE8E,OAAOvF,EAAEuF,MAAM,CAAC,MAAMtY,GAAG,CAAC,SAASD,EAAEA,GAAG,KAAKA,EAAE/N,SAAS,SAAS4gB,GAAGY,EAAEZ,GAAG,WAAW,IAAI7S,EAAEwY,UAAUjF,GAAGE,EAAEE,MAAMtjB,MAAK,WAAWojB,EAAEZ,GAAG4F,MAAMhF,EAAEzT,EAAE,GAAE,CAAC,CAAzF,CAA2FA,EAAE0Y,MAAM,CAAC,IAAI3C,EAAEC,EAAEC,EAAE,QAAQR,EAAE,YAAYpY,EAAE,aAAgB2C,EAAE,CAACiW,EAAE,QAAQA,EAAE,WAAWA,EAAE,YAAYA,EAAE,QAAQA,EAAE,iBAAiBA,EAAE,SAASA,EAAE,sBAAsB,QAAQR,EAAE,OAAOA,EAAE,QAAQpY,EAAE,OAAOA,EAAE,0BAA0B,8BAA8B,gCAAgC,UAAUoW,EAAEkF,cAAc,CAACC,QAAQ,EAAEC,YAAY,EAAEC,QAAQ,EAAEzd,MAAM,EAAE0d,SAAS,GAAvT9C,GAA2T3C,EAAE0F,iBAAiB,CAAC,GAAGC,8BAA8B,CAAC,EAAG,OAAM,IAAK3F,EAAEF,KAAI,IAAK6C,EAAE7C,KAAKpT,EAAE,CAAC,KAAK+V,EAAE,aAAaC,EAAEjD,EAAEgD,GAAGhD,EAAEgD,GAAG,SAAS/V,EAAE6S,EAAEJ,EAAEsB,EAAEC,GAAG,IAAInN,EAAEmP,GAAGA,EAAEhW,EAAE6S,EAAEJ,EAAEsB,EAAEC,GAAG,OAAM,IAAKnN,GAAG4M,EAAE,IAAIsC,GAAG,CAAC3d,QAAQ4H,EAAElL,IAAI+d,EAAEqG,WAAWzG,EAAE0G,aAAapF,EAAE5b,MAAM6b,EAAEoF,IAAIrG,EAAEsG,QAAQxS,CAAC,EAAEyM,EAAEgG,2BAA0B,GAAI7F,CAAC,CAA/wJ,CAAixJlB,EAAIA,MAAMQ,EAAED,GAAGL,GAAGkB,OAAO,IAAIlB,EAAEkB,MAAM1hB,QAAQwgB,EAAEkB,MAAMtjB,KAAK2P,GAAGyS,EAAE8G,cAAc,CAAC,IAAIvZ,GAAI,CAA5qK,CAA+qK,CAC/qKuV,IAAK,yDACL/C,OAAQ,SAAUgH,GAChB,IAAIC,EAAwBC,IAC1BA,EAAS3E,KAAK,iBAAmBxhB,EAAAA,GAAAA,CAA+B,EAElEimB,EAAIG,wBAAwBF,EAC9B,EACAG,YAAa,YACbrH,IAAK,CACH4D,iBAAkB5iB,EAAAA,GAAAA,EAClBsmB,yBAAyB,EACzBC,2BAA2B,EAC3BC,yCAAyC,EACzCC,aAAc,cACdC,qBAAqB,EACrBC,kBAAkB,EAClBC,wBAAwB,EACxBC,sBAAuB,EACvBC,wBAAyB,CAAE,YAIpC,EACGC,SAAU,YAEN,SAAU/H,GAAK,SAASvS,IAAIuS,EAAIC,QAAQD,EAAIC,OAAOC,EAAE,CAAC,IAAIC,EAAEC,EAAEC,EAAEC,EAAEC,EAAEL,EAAEM,EAAE1f,OAAO2f,EAAE7f,SAAS8f,EAAEF,EAAE5c,SAAS+c,EAAE,SAASC,EAAE,oBAAoBC,EAAE,2BAA2BC,EAAE,aAAa,qBAAqBX,EAAE,iBAAiBC,EAAE,cAAcC,EAAE,OAAOC,EAAE,iBAAiBC,EAAEP,EAAIjiB,MAAM,eAAeiiB,EAAIjiB,MAAMyiB,EAAEF,MAAME,EAAEF,GAAGC,GAAGL,EAAEM,EAAED,IAAI,SAASQ,GAAG,IAAIC,GAAE,EAAGC,GAAE,EAAGC,EAAE,CAACC,YAAW,EAAGC,MAAM,GAAGC,GAAG,IAAIC,QAAQ,EAAEtgB,OAAO+f,GAAG,SAASQ,EAAE9T,EAAE6S,GAAG,IAAIJ,EAAE,CAAC,EAAEsB,EAAE,UAAU,SAASC,EAAEhU,GAAU,OAAPA,EAAE,GAAGA,EAAS,IAAIA,EAAE/N,OAAO,IAAI+N,EAAEA,CAAC,CAAC,OAAOyS,EAAEY,EAAE,MAAMU,EAAErB,KAAKD,EAAEY,EAAE,QAAQU,EAAEtB,EAAE,qBAAqBQ,GAAGA,EAAEgB,UAAU,YAAYxB,EAAE,0BAA0B,uBAAuBgB,EAAEG,IAAIH,EAAEI,SAAS,CAACK,MAAMH,EAAE,IAAIvZ,MAAM2Z,iBAAiB,IAAIH,EAAE,EAAED,EAAEK,eAAe,IAAIJ,EAAED,EAAEM,cAAc,IAAIL,EAAED,EAAEO,eAAe,IAAIN,EAAED,EAAEQ,iBAAiB,IAAIP,EAAED,EAAES,iBAAiB,KAAKT,EAAEU,qBAAqB,KAAKC,QAAQ,GAAGC,MAAM,EAAE,GAAG,IAAIC,KAAK5U,EAAE1P,KAAK,iCAAiC0P,EAAE6U,QAAQ,KAAK,IAAI,IAAIhC,EAAEiC,WAAW,IAAIC,KAAKtC,EAAEjU,KAAK,CAACwW,SAAS,CAACC,IAAI,IAAIA,SAAI3X,EAAU4X,IAAI,IAAIC,oBAAe7X,EAAU,CAAC,IAAImV,EAAEsB,EAAElB,EAAEmB,EAAEoB,GAAG,EAAEC,EAAE,EAAEC,EAAE,CAAC,uBAAuB,gCAAgC,2BAA2B,iCAAiC,4BAA4B,iCAAiC,4BAA4B,0BAA0BzO,EAAEyM,EAAExe,KAAKyd,EAAIgD,IAAI5X,EAAE,WAAW,OAAO6X,EAAE3O,EAAE,KAAK,EAAE,SAAS2O,EAAEC,EAAE5C,GAAG,IAAIJ,EAAEiD,eAAejD,GAAGA,EAAEkD,WAAW,IAAIC,eAAeC,QAAQ,UAAUpD,EAAEoD,QAAQ,eAAeJ,EAAEI,QAAQ,UAAUJ,EAAEA,EAAEZ,QAAQ,0BAAyB,SAAS7U,EAAE6S,EAAEJ,GAAG,OAAOI,EAAE,OAAOJ,CAAC,MAAI,IAAKF,EAAIuD,GAAG,IAAI,IAAI9V,EAAE,EAAEA,EAAEsV,EAAErjB,OAAO+N,IAAI,GAAG,EAAEyV,EAAEI,QAAQP,EAAEtV,IAAI,CAACoV,EAAEpV,EAAE,KAAK,CAAC,IAAIyS,EAAEsB,EAAE,SAAS/T,GAAG,IAAIgU,EAAEnB,EAAEJ,EAAEsB,EAAElN,EAAElJ,EAAE6X,EAAEO,EAAEC,EAAEC,EAAExC,EAAEE,MAAM,GAAGH,IAAI,GAAG4B,GAAGC,EAAE,EAAEC,EAAErjB,QAAQ+hB,GAAGoB,EAAEC,EAAE,GAAGC,EAAErjB,OAAOoL,EAAEoY,EAAEZ,QAAQ,6BAA4B,SAAS7U,EAAE6S,EAAEJ,EAAEsB,GAAG,OAAOlB,EAAEyC,EAAEtB,GAAGD,CAAC,KAAIsB,GAAG,IAAI9B,EAAEC,GAAE,EAAGgC,EAAEC,GAAE,IAAKlD,EAAI2D,MAAMH,GAAGlD,EAAE,WAAW,IAAI7S,EAAE6S,EAAE,CAAC,EAAEJ,EAAEa,EAAE6C,iBAAiB,GAAG1D,EAAE,IAAI,IAAIsB,EAAEtB,EAAE2D,MAAM,KAAKpC,EAAE,EAAEA,EAAED,EAAE9hB,OAAO+hB,IAAI,CAAC,IAAInN,EAAEkN,EAAEC,GAAGoC,MAAM,KAAK,IAAIvP,EAAE5U,SAAS4gB,EAAEhM,EAAE,GAAG6L,MAAM7L,EAAE,GAAG,CAAC,OAAOgM,EAAEM,KAAKnT,GAAGyS,EAAEI,EAAEwD,gBAAgBxD,EAAE1c,SAAS,KAAK0c,EAAEM,GAAG,YAAYnT,EAAEA,EAAE,IAAI,IAAI,OAAOyS,GAAG,8BAA8BI,CAAC,CAA9Q,IAAmRyD,oBAAoBhD,EAAEiD,oBAAoB,GAAG1D,GAAGA,GAAGA,EAAEA,EAAEM,KAAK,MAAMN,EAAE8B,OAAO,GAAG9B,EAAE8B,MAAM,GAAG,GAAG9B,GAAGA,EAAE,YAAYS,EAAEkD,YAAY3D,EAAES,EAAEmD,yBAAyB5D,GAAGJ,EAAE,IAAIpiB,MAAM0jB,EAAE,2FAA2FlN,EAAE2O,EAAEQ,EAAEnD,GAAGoD,GAAGtY,EAAEmW,EAAEiC,EAAE,cAAcvX,MAAMkY,SAAS,gBAAgBT,EAAEjB,SAAS2B,WAAW,CAAC,CAACC,SAAS,gBAAgBxe,QAAQ2b,EAAEc,QAAQ,MAAM,KAAKgC,cAAa,EAAGC,MAAM/C,EAAE,6BAA6BlN,EAAE,kGAAkGoM,GAAGA,EAAEgB,UAAU,aAAa,eAAe+B,EAAEe,YAAY,KAAKpZ,IAAI8U,EAAEpiB,MAAM4lB,EAAET,EAAEzB,EAAElB,GAAGmD,GAAGnP,EAAEiN,EAAEiC,EAAE,YAAYvX,MAAMkY,SAAS,eAAe/Y,EAAEqY,EAAEhB,UAAU5c,QAAQ,+BAA+B,6FAA6F6d,EAAE,KAAKpB,QAAQ,MAAM,IAAI,IAAIlX,EAAEqZ,WAAW,CAACC,SAASlD,GAAGlN,IAAI2O,EAAE/C,EAAEsD,EAAElD,EAAE5W,QAAQ+Z,EAAEjD,EAAE9Y,SAASsY,EAAI2E,OAAOlB,EAAED,EAAE,CAAC7gB,OAAO0d,EAAE9c,KAAKmG,KAAKC,UAAUsZ,GAAGtiB,KAAK,SAASikB,kBAAkBlB,EAAE,IAAIkB,gBAAgBC,KAAKxE,EAAEmD,GAAGE,EAAEoB,iBAAiB,eAAe,oBAAoBpB,EAAEqB,KAAKrb,KAAKC,UAAUsZ,QAAQ,EAAExB,EAAE,SAAShU,EAAE6S,GAAGW,GAAGra,YAAW,YAAY0Z,GAAGY,EAAE8D,MAAMxD,GAAG,GAAE,KAAKR,GAAE,CAAE,EAAElW,EAAE,SAAS2C,GAAG,IAAIyS,EAAEO,EAAE/d,cAAcie,GAAMT,EAAE8C,IAAIvV,EAAE6S,IAAIJ,EAAE+E,UAAU3E,GAAGJ,EAAE5c,aAAa,eAAeid,GAA5D9S,EAA+DuS,EAAII,GAAI,OAAO3S,GAAG,KAAKA,GAAG,aAAayS,EAAEE,KAAKF,EAAEE,GAAG3S,GAAGyS,EAAEgF,OAAOzD,EAAEvB,EAAEiF,QAAQ3D,EAAEtB,EAAEkF,mBAAmB,SAAS3X,EAAE6S,GAAG,WAAWJ,EAAEmF,YAAY,aAAanF,EAAEmF,YAAY5D,EAAE,EAAEnB,EAAE,EAAEN,EAAIsF,IAAItF,EAAIsF,GAAG,EAAE7E,EAAE8E,qBAAqB,QAAQ,GAAGviB,YAAYkd,GAAGtZ,YAAW,WAAW6Z,EAAE8E,qBAAqB5E,GAAG,GAAG6E,WAAWxiB,YAAYkd,EAAE,GAAEF,EAAIsF,IAAI,GAAGpF,CAAC,EAAEpV,EAAEoY,EAAE,CAAClD,EAAIyF,MAAMvF,EAAE5L,EAAEoR,MAAM,gEAAgE,IAAIxF,EAAExgB,QAAQwjB,EAAE,GAAGyC,OAAOzF,EAAE,GAAG,mBAAmBsB,EAAE,IAAImE,OAAOzF,EAAE,IAAIwD,EAAE5iB,OAAO4G,MAAM4Y,EAAE,SAAS7S,GAAG,IAAIA,EAAEmY,MAAMnY,EAAEmY,IAAIpE,KAAK/T,EAAEmY,IAAIpE,GAAGqE,KAAK,MAAM/c,MAAM,+BAA+B,IAAIwX,EAAE7S,EAAEmY,IAAIpE,GAAGyD,WAAW,KAAKhC,EAAE3O,EAAE4L,EAAE,GAAGzS,EAAEmY,IAAIpE,GAAGqE,KAAKvF,EAAE,EAAEoD,IAAI1D,EAAI2E,OAAOjB,EAAER,EAAE,CAACvgB,OAAO,MAAMhC,KAAK,SAASiH,MAAK,SAAS6F,GAAG,OAAOA,EAAEpC,OAAO,UAAS,WAAW,MAAM,CAAC,CAAC,GAAE,IAAGzD,KAAK0Y,GAAG,SAASlV,GAAGwZ,kBAAkBnD,EAAE,IAAImD,gBAAgBC,KAAK,MAAM3B,GAAGzB,EAAE2D,mBAAmB,WAAW,GAAG3D,EAAE4D,aAAaT,eAAekB,KAAK,GAAG,MAAMrE,EAAE5Y,OAAO,IAAIyX,EAAE5W,KAAKoF,MAAM2S,EAAEsE,cAAc,CAAC,MAAMtY,GAAGrC,GAAG,MAAMA,GAAG,EAAEqW,EAAEsD,SAASzQ,GAAGlJ,IAAI,IAAI8V,EAAE8E,OAAOvF,EAAEuF,MAAM,CAAC,MAAMtY,GAAG,CAAC,SAASD,EAAEA,GAAG,KAAKA,EAAE/N,SAAS,SAAS4gB,GAAGY,EAAEZ,GAAG,WAAW,IAAI7S,EAAEwY,UAAUjF,GAAGE,EAAEE,MAAMtjB,MAAK,WAAWojB,EAAEZ,GAAG4F,MAAMhF,EAAEzT,EAAE,GAAE,CAAC,CAAzF,CAA2FA,EAAE0Y,MAAM,CAAC,IAAI3C,EAAEC,EAAEC,EAAE,QAAQR,EAAE,YAAYpY,EAAE,aAAgB2C,EAAE,CAACiW,EAAE,QAAQA,EAAE,WAAWA,EAAE,YAAYA,EAAE,QAAQA,EAAE,iBAAiBA,EAAE,SAASA,EAAE,sBAAsB,QAAQR,EAAE,OAAOA,EAAE,QAAQpY,EAAE,OAAOA,EAAE,0BAA0B,8BAA8B,gCAAgC,UAAUoW,EAAEkF,cAAc,CAACC,QAAQ,EAAEC,YAAY,EAAEC,QAAQ,EAAEzd,MAAM,EAAE0d,SAAS,GAAvT9C,GAA2T3C,EAAE0F,iBAAiB,CAAC,GAAGC,8BAA8B,CAAC,EAAG,OAAM,IAAK3F,EAAEF,KAAI,IAAK6C,EAAE7C,KAAKpT,EAAE,CAAC,KAAK+V,EAAE,aAAaC,EAAEjD,EAAEgD,GAAGhD,EAAEgD,GAAG,SAAS/V,EAAE6S,EAAEJ,EAAEsB,EAAEC,GAAG,IAAInN,EAAEmP,GAAGA,EAAEhW,EAAE6S,EAAEJ,EAAEsB,EAAEC,GAAG,OAAM,IAAKnN,GAAG4M,EAAE,IAAIsC,GAAG,CAAC3d,QAAQ4H,EAAElL,IAAI+d,EAAEqG,WAAWzG,EAAE0G,aAAapF,EAAE5b,MAAM6b,EAAEoF,IAAIrG,EAAEsG,QAAQxS,CAAC,EAAEyM,EAAEgG,2BAA0B,GAAI7F,CAAC,CAA/wJ,CAAixJlB,EAAIA,MAAMQ,EAAED,GAAGL,GAAGkB,OAAO,IAAIlB,EAAEkB,MAAM1hB,QAAQwgB,EAAEkB,MAAMtjB,KAAK2P,GAAGyS,EAAE8G,cAAc,CAAC,IAAIvZ,GAAI,CAA5qK,CAA+qK,CAC/qKuV,IAAK,yDACLqE,YAAa,YACbrH,IAAK,CACH4D,iBAAkB5iB,EAAAA,GAAAA,EAClB0mB,qBAAqB,EACrBC,kBAAkB,IAI1B,KAIJ,I,0CCnEArpB,EAAAA,WAAAC,IAAAypB,EAAAA,KACA1pB,EAAAA,WAAAC,IAAA0pB,EAAAA,IACA3pB,EAAAA,WAAAF,UAAA,UAAA8pB,EAAAA,GACA5pB,EAAAA,WAAAF,UAAA,WAAA8pB,EAAAA,GAYA5pB,EAAAA,WAAA6pB,UAAAC,QAAApC,IACA1nB,EAAAA,WAAAF,UAAA,UAAA8pB,EAAAA,GACA5pB,EAAAA,WAAAF,UAAA,WAAAiqB,GACA/pB,EAAAA,WAAAF,UAAA,cAAAkqB,EAAAA,GACAhqB,EAAAA,WAAAF,UAAA,wBAAAmqB,EAAAA,GACA,MAAAjqB,EAAAA,WAAAwd,OAAA,CACA7d,WAAA,CACA,SAAAuqB,EACA,WAAAC,GAEAC,QAAA,CACAxnB,GAAAA,GACA,OAAAA,EAAAA,EACA,GAEA+K,KAAAA,KAAA,CACA2O,WAAA,EACAG,mBAAA,GACAC,YAAA,EACAO,SAAA,GACAoN,iBAAA,IAEAxqB,OAAAA,GAIA,MAAAyqB,EAAA9nB,OACA8nB,IAAAA,EAAAC,SACAD,EAAAC,OAAAjlB,SAAAC,KAAA+kB,EAAAhlB,SAAAC,KAEA,EACAilB,MAAA,CACAlO,UAAA,CACAmO,WAAA,EACAC,OAAAA,CAAAzH,GACA,MAAA0H,EAAA,KAAAC,QAAAC,IAAAC,UACAH,EAAA1H,EAAA,gBAAA8H,KAAAJ,EAAA,QACA,GAEA/hB,oBAAAA,CAAAoiB,EAAAC,GACAD,EACA,KAAAE,iBAEA,KAAAjO,SAAA,EAEA,GAEAqB,SAAA,KACAC,EAAAA,EAAAA,IAAA,4CACA3V,qBAAA,CACA6C,GAAAA,GACA,YAAApI,OAAAxC,MAAAmI,iBACA,EACAmiB,GAAAA,CAAAH,GACA,OAAAA,CACA,GAEA9N,WAAA,CACAzR,GAAAA,GACA,YAAApI,OAAAxC,MAAAuqB,aACA,EACAD,GAAAA,CAAAH,GACA,OAAAA,CACA,IAGA9nB,QAAA,CACAmoB,aAAAA,CAAApnB,GAEA,IADA,IAAAqnB,EAAAhpB,SAAA2kB,qBAAA,UACA/D,EAAAoI,EAAAlqB,OAAA8hB,KACA,GAAAoI,EAAApI,GAAAwB,KAAAzgB,EAAA,SAEA,QACA,EACA,cAAA0Y,GACA,MAAAha,QAAAC,EAAAA,GACAgF,EAAAjF,EAAAG,QAAAkI,UACAa,EAAAA,GAAAX,KAAA,GAAAtD,qCACA,KAAAvE,OAAAR,OAAA,8BACA,KAAAwnB,iBAAA,CACA,EACA,qBAAA/M,GACA,KAAAja,OAAAR,OAAA,2BACA,KAAAQ,OAAAR,OAAA,yBACA,EACAqoB,cAAAA,GACA,KAAAjO,SAAA,SAAAoN,gBACA/hB,YAAA,KACA,KAAA2U,UAAA,EACA,KAAAiO,gBAAA,GACA,KACA,SAAAjO,UAAA,KAAAoN,gBAMA,KAAAA,iBAAA,GAJA,KAAAhnB,OAAAR,OAAA,+BACA4F,EAAAA,EAAAA,MAKA,GAEA8iB,OAAAA,GACA,IAAAC,GAAA,KAAAH,cAAA,gEACA,GAAAG,EAAA,CACA,IAAArf,EAAA7J,SAAA8B,cAAA,UACA+H,EAAA4c,YAAA,YACA5c,EAAAuY,IAAA,+DACApiB,SAAA2C,KAAAP,YAAAyH,GACAA,EAAAya,OAAA,WACApkB,OAAAipB,cAAAC,KAAAC,EACA,C,CAEA,IChK4Q,ICQxQ,GAAY,OACd,EACAltB,EACAiB,GACA,EACA,KACA,KACA,MAIF,EAAe,EAAiB,Q,qBCZhCM,EAAAA,WAAI0C,OAAOkpB,eAAgB,EAE3B,IAAI5rB,EAAAA,WAAI,CACNoC,OAAM,IACNxB,MAAK,IACLirB,YAAAA,GACAltB,KAAK0E,OAAOR,OAAO,kBACpB,EACCpE,OAAQmkB,GAAKA,EAAEkJ,KACdC,OAAO,O,wQCdV,MAAM/jB,EAAsC,GACrC,SAASb,EAAO6kB,EAAatqB,GAAW,GAC7CuqB,IACAC,IACAC,IACIzqB,IACFY,SAASgD,SAASC,KAAOymB,EAE7B,CAWA,SAASC,IACP7lB,aAAa4H,WAAW,gBAC1B,CAEA,SAASke,IACP9lB,aAAa4H,WAAW,2BAC1B,CAEA,SAASme,IACP/lB,aAAa4H,WAAW,eAC1B,CAUO,SAASoe,EAAgBjjB,GAC9B/C,aAAa0D,QAAQ,gBAAiBX,GACtC/C,aAAa0D,QAAQ,2BAA4BuiB,IAAmCtiB,UAAUC,WAChG,CAEA,SAASqiB,IACP,MAAM3iB,EAAO,IAAIC,KAEjB,OADAD,EAAKE,WAAWF,EAAKG,aAAe7B,GAC7B0B,CACT,CAEA,SAAS4iB,EAAuBC,GAC9B,MAAMpmB,EAAQomB,EACd,IAAKpmB,EAAMqmB,IACT,OAAO,KAET,MAAM9iB,EAAO,IAAIC,KAAK,GAEtB,OADAD,EAAK+iB,cAActmB,EAAMqmB,IAAM,IACxB9iB,CACT,CAEO,SAASW,EAAelE,GAC7B,MAAMumB,EAAiBJ,EAAuBnmB,GAE9C,IAAIwmB,EAAM,IAAIhjB,KACVijB,EAAgBjjB,KAAKkjB,IAAIF,EAAIrJ,iBAAiBqJ,EAAIpJ,cAAeoJ,EAAInJ,aACrEmJ,EAAIlJ,cAAekJ,EAAIjJ,gBAAiBiJ,EAAIhJ,gBAAiBgJ,EAAI/I,sBAErE,OAAO8I,EAAiBE,CAC1B,CAEO,SAAS9lB,EAASX,GACvB,IAAI2mB,EAAY3mB,EAAMof,MAAM,KAAK,GAC7BwH,EAASD,EAAU9I,QAAQ,KAAM,KAAKA,QAAQ,KAAM,KACpDgJ,EAAcC,mBAAmBC,KAAKH,GAAQxH,MAAM,IAAI7Y,KAAI,SAASwY,GACrE,MAAO,KAAO,KAAOA,EAAEiI,WAAW,GAAGnjB,SAAS,KAAK8Z,OAAO,EAC9D,IAAGnX,KAAK,KAER,OAAOvB,KAAKoF,MAAMwc,EACpB,C,qEChFA,IAAIvuB,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,SAAS,CAACE,YAAY,aAAasd,MAAM1d,EAAI6W,KAAKgH,MAAM,CAAC,SAAW7d,EAAI0uB,UAAU/tB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAI2uB,MAAM,QAAQ,IAAI,CAAC3uB,EAAIS,GAAG,IAAIT,EAAIse,GAAGte,EAAI+K,MAAM,KAAM/K,EAAI4uB,KAAM1uB,EAAG,MAAM,CAACE,YAAY,kBAAkByd,MAAM,CAAC,IAAM7d,EAAI4uB,QAAQ5uB,EAAIkf,MACpU,EACIle,EAAkB,GAOtB,GACAD,KAAA,WACAuB,MAAA,CACAssB,KAAA,CACA/X,KAAAgY,QAEA9jB,KAAA,CACA8L,KAAAgY,OACAC,UAAA,GAEAjY,KAAA,CACAA,KAAAkY,MACAC,QAAAA,IAAA,YACAC,UAAAC,GAAA,qGAAAC,MAAA/gB,GAAA8gB,EAAA5I,QAAAlY,IAAA,KAEAsgB,SAAA,CACAM,QAAAA,KAAA,KCzB+Q,I,WCQ3Q5tB,GAAY,OACd,EACArB,EACAiB,GACA,EACA,KACA,KACA,MAIF,EAAeI,EAAiB,O,mJCnBhC,IAAIrB,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACkvB,WAAW,CAAC,CAACruB,KAAK,OAAOsuB,QAAQ,SAAStpB,MAAO/F,EAAIsvB,WAAYjR,WAAW,eAAeje,YAAY,eAAe,CAACF,EAAG,MAAM,CAACE,YAAY,eAAeF,EAAG,MAAM,CAACE,YAAY,eAAeF,EAAG,MAAM,CAACE,YAAY,gBACpS,EACIY,EAAkB,GCOtB,GACAsB,MAAA,CACAitB,QAAA,CACA1Y,KAAA2Y,UAGA5P,SAAA,CACA0P,UAAAA,GACA,YAAAC,SAAA,KAAA5qB,OAAAxC,MAAAmtB,UACA,IClByP,I,WCQrPluB,GAAY,OACd,EACArB,EACAiB,GACA,EACA,KACA,WACA,MAIF,EAAeI,EAAiB,O,+QC0BhCE,EAAAA,WAAIC,IAAIkuB,EAAAA,IAED,MAAMttB,EAA+B,CAC1CutB,wBAAoB3hB,EACpB4hB,iBAAkB,CAAC,EACnBC,WAAY,CACV,CACEC,aAAS9hB,EACThN,UAAMgN,EACN+B,IAAIggB,EAAAA,EAAAA,KACJxU,QAAS,CACP,CACEyU,SAAKhiB,EACLiiB,YAAQjiB,EACRhN,UAAMgN,EACNkiB,aAASliB,EACT+B,IAAIggB,EAAAA,EAAAA,KACJI,KAAM,CAAC,EACPC,uBAAuB,IAG3B9qB,eAAW0I,EACXqiB,uBAAmBriB,GAErB,CACE8hB,aAAS9hB,EACThN,UAAMgN,EACN+B,IAAIggB,EAAAA,EAAAA,KACJxU,QAAS,CACP,CACEyU,SAAKhiB,EACLiiB,YAAQjiB,EACRhN,UAAMgN,EACNkiB,aAASliB,EACT+B,IAAIggB,EAAAA,EAAAA,KACJI,KAAM,CAAC,EACPC,uBAAuB,IAG3B9qB,eAAW0I,EACXqiB,uBAAmBriB,KAMZxL,EAAkD,CAC7DqtB,WAAaztB,GAAiCA,EAAMytB,WACpDF,mBAAqBvtB,GAAiCA,EAAMutB,mBAC5DC,iBAAmBxtB,GACR8D,OAAO2H,KAAKzL,EAAMwtB,kBAAkBjtB,OAASP,EAAMwtB,iBAAmBxtB,EAAMytB,WAAW,GAElGS,sBAAwBluB,GAAiCA,EAAMytB,WAAWU,WAAUvV,GAAaA,EAAUjL,KAAO3N,EAAMutB,qBACxHa,gBAAkBpuB,GAAiCA,EAAMytB,WAAWltB,QAGzD8tB,EAAiD,CAE5D,WAAaruB,EAA8BiB,GACzC,MAAMusB,EAAmBxtB,EAAMytB,WAAWa,MAAK1V,GACtCA,EAAUjL,KAAO1M,IAGrBusB,GACHA,EAAiBrU,QAAQxa,KAAK,CAC5BivB,SAAKhiB,EACLiiB,YAAQjiB,EACRhN,UAAMgN,EACNkiB,aAASliB,EACT+B,IAAKggB,EAAAA,EAAAA,KACLI,KAAM,CAAC,EACPC,uBAAuB,GAG7B,EAEA,cAAgBhuB,EAA8B8M,GAC5C,IAAI0gB,EAAmBxtB,EAAMytB,WAAWa,MAAK1V,GACpCA,EAAUjL,KAAO3N,EAAMutB,qBAG3BC,GACHA,EAAiBrU,QAAQoV,OAAOzhB,EAAK0hB,YAAa,EAEtD,EAEA,cAAgBxuB,EAA8B8M,GAC5C,IAAI0gB,EAAmBxtB,EAAMytB,WAAWa,MAAK1V,GACpCA,EAAUjL,KAAO3N,EAAMutB,qBAG3BC,IACHA,EAAiBrU,QAAQrM,EAAK0hB,aAAaZ,IAAM9gB,EAAK2hB,WAAWb,IACjEJ,EAAiBrU,QAAQrM,EAAK0hB,aAAaX,OAAS/gB,EAAK2hB,WAAWZ,OACpEL,EAAiBrU,QAAQrM,EAAK0hB,aAAa5vB,KAAOkO,EAAK2hB,WAAW7vB,KAClE4uB,EAAiBrU,QAAQrM,EAAK0hB,aAAaV,QAAUhhB,EAAK2hB,WAAWX,QAEzE,EAGA,cAAgB9tB,EAA8BiB,GAC5CjB,EAAMytB,WAAW9uB,KAAK,CACpB+uB,QAAS,GACT9uB,KAAM,GACN+O,GAAI1M,EACJkY,QAAS,GACTjW,eAAW0I,EACXqiB,uBAAmBriB,GAEvB,EAEA,iBAAmB5L,EAA8BiB,GAC/CjB,EAAMytB,WAAaztB,EAAMytB,WAAW/hB,QAAOkN,GAClCA,EAAUjL,KAAO1M,GAE5B,EAEA,iBAAmBjB,EAA8B8M,GAC/C,IAAI0gB,EAAmBxtB,EAAMytB,WAAWa,MAAK1V,GACpCA,EAAUjL,KAAO3N,EAAMutB,qBAG1BC,IACqB,qBAAd1gB,EAAKlO,OACd4uB,EAAiB5uB,KAAOkO,EAAKlO,MAEH,qBAAjBkO,EAAK4gB,UAChBF,EAAiBE,QAAU5gB,EAAK4gB,SAGpC,EAEA,iBAAmB1tB,EAA8BiB,GAC/CjB,EAAMutB,mBAAqBtsB,EAE3B,IAAIusB,EAAmBxtB,EAAMytB,WAAWa,MAAK1V,GAAaA,EAAUjL,KAAO1M,IAErEusB,IACJxtB,EAAMwtB,iBAAmBA,EAE7B,EAEA,WAAaxtB,GACXA,EAAMutB,wBAAqB3hB,EAC3B5L,EAAMwtB,iBAAmB,CAAC,EAC1BxtB,EAAMytB,WAAa,CACjB,CACEC,aAAS9hB,EACThN,UAAMgN,EACN+B,IAAIggB,EAAAA,EAAAA,KACJxU,QAAS,CACP,CACEyU,SAAKhiB,EACLiiB,YAAQjiB,EACRhN,UAAMgN,EACNkiB,aAASliB,EACT+B,IAAIggB,EAAAA,EAAAA,KACJI,KAAM,CAAC,EACPC,uBAAuB,IAG3B9qB,eAAW0I,EACXqiB,uBAAmBriB,GAErB,CACE8hB,aAAS9hB,EACThN,UAAMgN,EACN+B,IAAIggB,EAAAA,EAAAA,KACJxU,QAAS,CACP,CACEyU,SAAKhiB,EACLiiB,YAAQjiB,EACRhN,UAAMgN,EACNkiB,aAASliB,EACT+B,IAAIggB,EAAAA,EAAAA,KACJI,KAAM,CAAC,EACPC,uBAAuB,IAG3B9qB,eAAW0I,EACXqiB,uBAAmBriB,GAGzB,EAEA,mCAAsC5L,EAA8B8M,GAClE,GAAKA,EAAK7L,YAEH,CACL,IAAIusB,EAAmBxtB,EAAMytB,WAAWa,MAAK1V,GAAaA,EAAUjL,KAAOb,EAAK7L,cAC1EusB,IACJA,EAAiBrU,QAAQrM,EAAK4hB,OAAOX,KAAOjqB,OAAO6qB,OAAOnB,EAAiBrU,QAAQrM,EAAK4hB,OAAOX,KAAMjhB,EAAKQ,S,MAJ5GtN,EAAMytB,WAAW,GAAGtU,QAAQ,GAAG4U,KAAOjqB,OAAO6qB,OAAO3uB,EAAMytB,WAAW,GAAGtU,QAAQ,GAAG4U,KAAMjhB,EAAKQ,QAOlG,EAEA,yBAA4BtN,EAA8B8M,GACxD,IAAI0gB,EAAmBxtB,EAAMytB,WAAWa,MAAK1V,GAAaA,EAAUjL,KAAOb,EAAK7L,cAE1EusB,IACJA,EAAiBtqB,UAAY4J,EAAKlJ,MAEtC,EAEA,kCAAqC5D,EAA8B8M,GACjE,IAAI0gB,EAAmBxtB,EAAMytB,WAAWa,MAAK1V,GAAaA,EAAUjL,KAAOb,EAAK7L,cAEhF2tB,EAAS5uB,MAAM6uB,aAAaZ,kBAAoBnhB,EAAKlJ,MAC/C4pB,IACJA,EAAiBS,kBAAoBnhB,EAAKlJ,MAE9C,EACA,8BAAiC5D,EAA8B8M,GAC7D,IAAI0gB,EAAmBxtB,EAAMytB,WAAWa,MAAK1V,GAAaA,EAAUjL,KAAOb,EAAK7L,cAE1EusB,IACJA,EAAiBrU,QAAQrM,EAAK4hB,OAAOV,uBAAwB,EAEjE,GAGWc,EAAkD,CAE7DC,eAAAA,EAAgB,OAAC/sB,GAASf,GACxBe,EAAO,aAAcf,EACvB,EAEA+tB,kBAAAA,EAAmB,OAAChtB,GAAS8K,GAC3B9K,EAAO,gBAAiB8K,EAC1B,EAEAmiB,kBAAAA,EAAmB,OAACjtB,GAAS8K,GAC3B9K,EAAO,gBAAiB8K,EAC1B,EAGAoiB,kBAAAA,EAAmB,OAACltB,GAASmtB,GAC3B,IAAIluB,GAAc0sB,EAAAA,EAAAA,KAClB3rB,EAAO,gBAAiBf,GACpBkuB,GACFntB,EAAO,mBAAoBf,GAE7Be,EAAO,aAAcf,EAEvB,EACAmuB,qBAAAA,EAAsB,OAACptB,EAAM,MAAEhC,GAAQiB,GACrCe,EAAO,mBAAoBf,GAC3Be,EAAO,mBAAoBhC,EAAMytB,WAAW,GAAG9f,GACjD,EACA0hB,qBAAAA,EAAsB,OAACrtB,GAAS8K,GAC9B9K,EAAO,mBAAoB8K,EAC7B,EACAwiB,qBAAAA,EAAsB,OAACttB,GAASf,GAC9Be,EAAO,mBAAoBf,EAC7B,EACAsuB,oBAAAA,EAAqB,OAACvtB,IACpBA,EAAO,aACT,EACAwtB,wBAAAA,EAAyB,OAACxtB,GAAS8K,GACjC9K,EAAO,qCAAsC8K,EAC/C,EACA2iB,0BAAAA,EAA2B,OAACztB,GAAS8K,GACnC9K,EAAO,gCAAiC8K,EAC1C,GAGW4iB,EAAmB,CAC9B1vB,QACAI,UACA0uB,UACAT,a,kCC7IFlvB,EAAAA,WAAIC,IAAIkuB,EAAAA,IAED,MAAMttB,EAAuB,CAClC2vB,cAAU/jB,EACVgkB,eAAgB,CACdC,kBAAcjkB,EACdkkB,gBAAYlkB,EACZmkB,wBAAoBnkB,GAEtBuN,QAAS,GACT6W,aAAc,KACd3vB,MAAO,CACL4vB,YAAa,GACbC,kBAAmB,GACnBC,kBAAmB,GACnBC,oBAAqB,GACrBC,qBAAsB,EACtBC,4BAA6B,GAC7BC,gBAAiB,GACjBjwB,iBAAkB,GAClBkwB,gBAAiB,KACjBC,iBAAkB,KAClBC,4BAA6B,KAC7BC,wBAAyB,GACzBC,kCAAkC,GAEpC/B,aAAc,CACZnuB,QAAS,EACTwC,UAAW,EACX2tB,kBAAmB,GACnBhF,eAAgB,GAChBiF,aAAc,GACdrD,WAAY,GACZsD,eAAgB,GAChBC,WAAY,KACZjc,cAAe,KACfkc,YAAa,KACbC,uBAAwB,KACxBC,YAAa,KACbC,aAAc,EACdtB,gBAAYlkB,EACZylB,gBAAgB,EAChBC,gBAAgB,EAChBC,kBAAmB,EACnBC,sBAAuB,EACvBC,iBAAkB,EAClBC,qBAAsB,EACtBC,gBAAiB,EACjBC,kBAAmB,EACnBC,QAAS,GACT5D,kBAAmB,KACnB6D,mBAAoB,MAEtBC,yBAA0B,EAC1BC,oBAAoB,EACpBC,SAAU,MAIC7xB,EAA0C,CACrD6xB,SAAWjyB,GAAyBA,EAAMiyB,SAC1CtC,SAAW3vB,GAAyBA,EAAM2vB,SAC1CxW,QAAUnZ,GAAyBA,EAAMmZ,QACzC2W,WAAa9vB,GAAyBA,EAAM4vB,eAAeE,WAC3DD,aAAe7vB,GAAyBA,EAAM4vB,eAAeC,aAC7DE,mBAAqB/vB,GAAyBA,EAAM4vB,eAAeG,mBACnEmC,cAAgBlyB,GAAyBA,EAAMmZ,QAAQ5Y,OACvDF,MAAQL,GAAyBA,EAAMK,MAEvC8xB,kBAAoBnyB,GAAyBA,EAAMK,MAAMC,iBACzDuuB,aAAe7uB,GAAyBA,EAAM6uB,aAC9CuD,qBAAuBpyB,GAAyBA,EAAM+xB,yBAA2B,EACjFxkB,6BAA+BvN,GAAyBqyB,EAAgBryB,EAAM6uB,cAC9EyD,gBAAkBtyB,GAAyBA,EAAMK,MAAM4vB,YACvDsC,uBAAyBvyB,GAAyBA,EAAMK,MAAM8vB,kBAAkB5vB,OAChFiyB,0BAA4BxyB,GACnBA,EAAMK,MAAM8vB,kBAAkBtkB,KAAI4mB,IAChC,IACFzyB,EAAM6uB,aACTZ,kBAAmBwE,EAAMpxB,UACzB6B,UAAWuvB,EAAM9kB,GACjB8f,WAAYztB,EAAM6uB,aAAapB,WAAW5hB,KAAI,CAAC+M,EAAW8V,KACjD,IACF9V,EACH8Z,WAAY,IACP9Z,EAAU8Z,WACbb,QAAS7xB,EAAMK,MAAMC,iBAAiBouB,GAAOiE,cAAc,GAAGC,aAAalnB,QAAOyJ,GAAKA,EAAE0d,aAAeJ,EAAMpxB,WAAa8T,EAAEjS,YAAcuvB,EAAM9kB,KAAI9B,KAAIinB,IAAM,CAAEC,SAAUD,EAAGC,SAAUnvB,MAAOkvB,EAAGlvB,WAEpMovB,cAAepa,EAAUoa,cAAcnnB,KAAI,CAACqN,EAAQmJ,KAC3C,IACFnJ,EACH2Y,QAAS7xB,EAAMK,MAAMC,iBAAiBouB,GAAOiE,cAActQ,EAAI,GAAGuQ,aAAalnB,QAAOyJ,GAAKA,EAAE0d,aAAeJ,EAAMpxB,WAAa8T,EAAEjS,YAAcuvB,EAAM9kB,KAAI9B,KAAIinB,IAAM,CAAEC,SAAUD,EAAGC,SAAUnvB,MAAOkvB,EAAGlvB,sBAQpNouB,mBAAqBhyB,GAAyBA,EAAMgyB,mBACpDiB,oBAAsBjzB,GACpBA,EAAMK,MAAM6vB,kBAAkBgD,SAAQC,GAAMA,EAAGC,YAAYvnB,KAAIwnB,GAAMA,EAAG1lB,KAAIjC,QAAOiC,GAAMA,EAAK,OAGrF0gB,EAAyC,CAGpDiF,qBAAAA,CAAuBtzB,EAAO8M,GAC5B9M,EAAM6uB,aAAa3rB,UAAY4J,EAAK5J,UACpClD,EAAM6uB,aAAaZ,kBAAoBnhB,EAAK+lB,UAC9C,EACAU,YAAAA,CAAavzB,EAAO4D,GAClB5D,EAAM6uB,aAAa3rB,UAAYU,CACjC,EACA4vB,oBAAAA,CAAqBxzB,EAAO4D,GAC1B5D,EAAM6uB,aAAaZ,kBAAoBrqB,CACzC,EAEA,qBAAuB5D,IAChBA,EAAMmZ,QAAQ5Y,QAAUP,EAAMiyB,SACjCjyB,EAAMmZ,QAAQxa,KAAK,CACjBivB,IAAK5tB,EAAMiyB,SAASrE,IACpBC,OAAQ7tB,EAAMiyB,SAASwB,YAAc,EAAI,EACzC70B,KAAMoB,EAAMiyB,SAASyB,UACrB5F,QAAS,KACTngB,IAAKggB,EAAAA,EAAAA,KACLI,KAAM,CAAC,EACP4F,iBAAiB,EACjBC,mBAAoB,KACpB5F,uBAAuB,IAIzBhuB,EAAMmZ,QAAQxa,KAAK,CACjBivB,SAAKhiB,EACLiiB,YAAQjiB,EACRhN,UAAMgN,EACNkiB,aAASliB,EACT+B,IAAKggB,EAAAA,EAAAA,KACLI,KAAM,CAAC,EACP4F,iBAAiB,EACjBC,mBAAoB,KACpB5F,uBAAuB,GAE7B,EAEA,wBAA0BhuB,EAAsB0uB,GAC9C1uB,EAAMmZ,QAAQoV,OAAOG,EAAO,EAC9B,EAEA,wBAA0B1uB,EAAsB8M,GAC9C9M,EAAMmZ,QAAQrM,EAAK0hB,aAAaZ,IAAM9gB,EAAK2hB,WAAWb,IACtD5tB,EAAMmZ,QAAQrM,EAAK0hB,aAAaX,OAAS/gB,EAAK2hB,WAAWZ,OACzD7tB,EAAMmZ,QAAQrM,EAAK0hB,aAAa5vB,KAAOkO,EAAK2hB,WAAW7vB,KACvDoB,EAAMmZ,QAAQrM,EAAK0hB,aAAaV,QAAUhhB,EAAK2hB,WAAWX,OAC5D,EAEA,uBAAyB9tB,EAAsB2vB,GAC7C3vB,EAAM2vB,SAAWA,CACnB,EAEA,yBAA2B3vB,GACzBA,EAAM2vB,cAAW/jB,CACnB,EAEA,oCAAuC5L,EAAsBkxB,GAC3DlxB,EAAM6uB,aAAaqC,uBAAyBA,CAC9C,EAEA,8BAAiClxB,EAAsB6vB,GACrD7vB,EAAM4vB,eAAeC,aAAeA,EACpC7vB,EAAM6uB,aAAayC,eAAiBzB,CACtC,EACA,0BAA6B7vB,EAAsBgxB,GACjDhxB,EAAM6uB,aAAamC,WAAaA,CAClC,EACA,2BAA8BhxB,EAAsBixB,GAClDjxB,EAAM6uB,aAAaoC,YAAcA,CACnC,EACA,+BAAkCjxB,EAAsB+wB,GACtD/wB,EAAM6uB,aAAakC,eAAiBA,CACtC,EAEA,mCAAsC/wB,EAAsB+vB,GAC1D/vB,EAAM4vB,eAAeG,mBAAqBA,EAC1C/vB,EAAM6uB,aAAawC,eAAiBtB,CACtC,EAEA,yBAA4B/vB,EAAsB8vB,GAChD9vB,EAAM4vB,eAAeE,WAAaA,EAClC9vB,EAAM6uB,aAAauC,aAAetB,EAAWsB,aAAetB,EAAWsB,aAAe,KACtFpxB,EAAM6uB,aAAaiB,WAAaA,EAAWzP,WAC7C,EAEA,2BAA8BrgB,GAC5BA,EAAM4vB,eAAeE,gBAAalkB,EAClC5L,EAAM6uB,aAAauC,kBAAexlB,EAClC5L,EAAM6uB,aAAaiB,gBAAalkB,CAClC,EAEA,WAAc5L,GACZA,EAAM2vB,cAAW/jB,EAEjB5L,EAAM4vB,eAAeC,kBAAejkB,EACpC5L,EAAM4vB,eAAeE,gBAAalkB,EAClC5L,EAAM4vB,eAAeG,wBAAqBnkB,EAE1C5L,EAAMmZ,QAAU,GAEhBnZ,EAAMK,MAAM4vB,YAAc,GAC1BjwB,EAAMK,MAAM6vB,kBAAoB,GAChClwB,EAAMK,MAAM8vB,kBAAoB,GAChCnwB,EAAMK,MAAM+vB,oBAAsB,GAClCpwB,EAAMK,MAAMgwB,qBAAuB,EACnCrwB,EAAMK,MAAMiwB,4BAA8B,GAC1CtwB,EAAMK,MAAMkwB,gBAAkB,GAC9BvwB,EAAMK,MAAMC,iBAAmB,GAE/BN,EAAM6uB,aAAanuB,QAAU,EAC7BV,EAAM6uB,aAAa3rB,UAAY,EAC/BlD,EAAM6uB,aAAagC,mBAAoB,IAAI/nB,MAAO+qB,cAAc5Q,MAAM,EAAG,IACzEjjB,EAAM6uB,aAAaiC,aAAe,GAClC9wB,EAAM6uB,aAAapB,WAAa,GAChCztB,EAAM6uB,aAAamC,WAAa,KAChChxB,EAAM6uB,aAAaoC,YAAc,KACjCjxB,EAAM6uB,aAAakC,eAAiB,GACpC/wB,EAAM6uB,aAAaqC,uBAAyB,KAC5ClxB,EAAM6uB,aAAauC,aAAe,EAClCpxB,EAAM6uB,aAAaiB,gBAAalkB,EAChC5L,EAAM6uB,aAAawC,gBAAiB,EACpCrxB,EAAM6uB,aAAayC,gBAAiB,EACpCtxB,EAAM6uB,aAAa0C,kBAAoB,EACvCvxB,EAAM6uB,aAAa2C,sBAAwB,EAC3CxxB,EAAM6uB,aAAa4C,iBAAmB,EACtCzxB,EAAM6uB,aAAa6C,qBAAuB,EAC1C1xB,EAAM6uB,aAAa8C,gBAAkB,EACrC3xB,EAAM6uB,aAAa+C,kBAAoB,EACvC5xB,EAAM6uB,aAAagD,QAAU,GAC7B7xB,EAAM6uB,aAAaZ,kBAAoB,KACvCjuB,EAAM6uB,aAAaiD,mBAAqB,KAExC9xB,EAAM+xB,yBAA2B,EACjC/xB,EAAMgyB,oBAAqB,EAC3BhyB,EAAMiyB,SAAW,IACnB,EAEA,eAAkBjyB,GAAsB,MAAEK,EAAK,kBAAEyzB,IAE/C,SAASC,EAAYC,EAAYC,GAC/B,OAAOD,EACJtoB,QAAOonB,GAAMA,EAAG5vB,YAAclD,EAAM6uB,aAAa3rB,WAAa4vB,EAAGD,aAAe7yB,EAAM6uB,aAAaZ,oBACnGpiB,KAAIinB,GAAMgB,EAAkBhsB,SAASgrB,EAAGC,WAAakB,EAAW3F,MAAKnZ,GAAKA,EAAE4d,UAAYD,EAAGC,YAAc,CAACA,SAAUD,EAAGC,SAAUnvB,MAAOkvB,EAAGlvB,QAChJ,CALA5D,EAAMK,MAAQA,EAOdL,EAAM6uB,aAAasC,YAAc9wB,EAAM8wB,YACvCnxB,EAAM6uB,aAAagD,QAAUkC,EAAY1zB,EAAM6zB,aAAcl0B,EAAM6uB,aAAagD,SAChF7xB,EAAMK,MAAMC,iBAAiB0D,SAAQ,CAAC4U,EAAW8V,KAC/C,MAAMyF,EAAiB,CAACn0B,EAAM6uB,aAAapB,WAAWiB,GAAOgE,cAAe1yB,EAAM6uB,aAAapB,WAAWiB,GAAOsE,eACjHpa,EAAU+Z,cAAc3uB,SAAQ,CAACkV,EAAQmJ,KACvC8R,EAAe9R,GAAGwP,QAAUkC,EAAY7a,EAAO0Z,aAAcuB,EAAe9R,GAAGwP,QAAQ,GACvF,GAEN,EAEA,uBAA0B7xB,EAAsB8M,GAC9C9M,EAAMmZ,QAAQrM,EAAK4hB,OAAOX,KAAOjqB,OAAO6qB,OAAO3uB,EAAMmZ,QAAQrM,EAAK4hB,OAAOX,KAAMjhB,EAAKQ,QACtF,EAEA,yBAA4BtN,EAAsBsN,GAChD,MAAM8mB,EAAep0B,EAAMmZ,QAAQzN,QAAOwN,GACjCA,EAAOvL,KAAOL,EAAQlM,WAE/BgzB,EAAa,GAAG,sBAAwB9mB,EAAQsmB,kBAClD,EACA,wBAA2B5zB,EAAsB0uB,GAC/C1uB,EAAMmZ,QAAQuV,GAAOV,uBAAwB,CAC/C,EAEA,8BAAiChuB,EAAsB8M,GACrD9M,EAAMK,MAAMC,iBAAiB0D,SAAQ4U,IACnCA,EAAU+Z,cAAc3uB,SAAQqwB,IAC9B,MAAMC,EAAcD,EAAazB,aAAatE,MAAKiG,GAAUA,EAAOxB,WAAajmB,EAAKimB,UAAYwB,EAAOrxB,YAAc4J,EAAK5J,WAAaqxB,EAAO1B,aAAe/lB,EAAKmhB,oBAChKqG,IACFA,EAAY1wB,MAAQkJ,EAAKlJ,OAGtBkJ,EAAKmhB,mBACRoG,EAAazB,aAAa5uB,SAAQuwB,IAC5BA,EAAOxB,WAAajmB,EAAKimB,WAC3BwB,EAAO3wB,MAAQkJ,EAAKlJ,M,MAI1B,IAGJ5D,EAAM6uB,aAAapB,WAAWzpB,SAAQ4U,IACpC,MAAM8Z,EAAa9Z,EAAU8Z,WAAWb,QAAQvD,MAAKiG,GAAUA,EAAOxB,WAAajmB,EAAKimB,UAAY/yB,EAAM6uB,aAAa3rB,YAAc4J,EAAK5J,aAAc4J,EAAKmhB,mBAAoBnhB,EAAKmhB,oBAAsBjuB,EAAM6uB,aAAaZ,qBAE3NyE,IACFA,EAAW9uB,MAAQkJ,EAAKlJ,M,IAI5B5D,EAAM6uB,aAAapB,WAAWzpB,SAAQ4U,IACpCA,EAAUoa,cAAchvB,SAAQqwB,IAC9B,MAAMnb,EAASmb,EAAaxC,QAAQvD,MAAKiG,GAAUA,EAAOxB,WAAajmB,EAAKimB,UAAY/yB,EAAM6uB,aAAa3rB,YAAc4J,EAAK5J,aAAc4J,EAAKmhB,mBAAoBnhB,EAAKmhB,oBAAsBjuB,EAAM6uB,aAAaZ,qBAC/M/U,IACFA,EAAOtV,MAAQkJ,EAAKlJ,M,GAEtB,GAEN,EACA,oCAAuC5D,EAAsB8M,GAC3D9M,EAAMK,MAAMC,iBAAiBwM,EAAK0nB,gBAAgB7B,cAAc3uB,SAAQqwB,IACtE,MAAMC,EAAcD,EAAazB,aAAatE,MAAKiG,GAAUA,EAAOxB,WAAajmB,EAAKimB,UAAYwB,EAAOrxB,YAAc4J,EAAK5J,WAAaqxB,EAAO1B,aAAe/lB,EAAKmhB,oBAChKqG,IACFA,EAAY1wB,MAAQkJ,EAAKlJ,M,IAI7B,MAAM8uB,EAAa1yB,EAAM6uB,aAAapB,WAAW3gB,EAAK0nB,gBAAgB9B,WAAWb,QAC5EvD,MAAKiG,GAAUA,EAAOxB,WAAajmB,EAAKimB,UAAY/yB,EAAM6uB,aAAa3rB,YAAc4J,EAAK5J,WAAa4J,EAAKmhB,oBAAsBjuB,EAAM6uB,aAAaZ,oBAEtJyE,IACFA,EAAW9uB,MAAQkJ,EAAKlJ,OAG1B5D,EAAM6uB,aAAapB,WAAW3gB,EAAK0nB,gBAAgBxB,cAAchvB,SAAQqwB,IACvE,MAAMC,EAAcD,EAAaxC,QAAQvD,MAAKiG,GAAUA,EAAOxB,WAAajmB,EAAKimB,UAAY/yB,EAAM6uB,aAAa3rB,YAAc4J,EAAK5J,WAAa4J,EAAKmhB,oBAAsBjuB,EAAM6uB,aAAaZ,oBAC1LqG,IACFA,EAAY1wB,MAAQkJ,EAAKlJ,M,GAI/B,EACA,+BAAkC5D,EAAsB8M,GACtD,MAAM2nB,EAAkB/E,EAAiB1vB,MAAMytB,WAAWa,MAAKvM,GAAKA,EAAEpU,KAAOb,EAAK7L,cAClF,GAAIwzB,EAAiB,CACnB,MAAMC,EAAoBhF,EAAiB1vB,MAAMytB,WAAWtJ,QAAQsQ,GAEpEz0B,EAAMK,MAAMC,iBAAiBo0B,GAAmB/B,cAAc3uB,SAAQ,CAACkV,EAAQmJ,KACjE,IAANA,EACFriB,EAAM6uB,aAAapB,WAAWiH,GAAmBhC,WAAWb,QAAU3Y,EAAO0Z,aAAalnB,QAAOonB,GAAMA,EAAG5vB,YAAclD,EAAM6uB,aAAa3rB,WAAa4vB,EAAGD,aAAe7yB,EAAM6uB,aAAaZ,oBAAmBpiB,KAAIinB,IAAM,CAAEC,SAAUD,EAAGC,SAAUnvB,MAAOkvB,EAAGlvB,UAEzP5D,EAAM6uB,aAAapB,WAAWiH,GAAmB1B,cAAczyB,SACjEP,EAAM6uB,aAAapB,WAAWiH,GAAmB1B,cAAc3Q,EAAI,GAAGwP,QAAU3Y,EAAO0Z,aAAalnB,QAAOonB,GAAMA,EAAG5vB,YAAclD,EAAM6uB,aAAa3rB,WAAa4vB,EAAGD,aAAe7yB,EAAM6uB,aAAaZ,oBAAmBpiB,KAAIinB,IAAM,CAAEC,SAAUD,EAAGC,SAAUnvB,MAAOkvB,EAAGlvB,U,IAMnR,EACA,6CAAgD5D,EAAsB8M,GACpE,MAAMwnB,EAAct0B,EAAMK,MAAMC,iBAAiBwM,EAAK0nB,gBAAgB7B,cAAc7lB,EAAK0hB,aAAaoE,aACnFtE,MAAKiG,GAAUA,EAAOxB,WAAajmB,EAAKimB,UAAYwB,EAAOrxB,YAAc4J,EAAK5J,WAAaqxB,EAAO1B,aAAe/lB,EAAKmhB,oBAKzI,GAJIqG,IACFA,EAAY1wB,MAAQkJ,EAAKlJ,OAGF,IAArBkJ,EAAK0hB,YAAmB,CAC1B,MAAMkE,EAAa1yB,EAAM6uB,aAAapB,WAAW3gB,EAAK0nB,gBAAgB9B,WAAWb,QAC9DvD,MAAKiG,GAAUA,EAAOxB,WAAajmB,EAAKimB,UAAY/yB,EAAM6uB,aAAa3rB,YAAc4J,EAAK5J,WAAa4J,EAAKmhB,oBAAsBjuB,EAAM6uB,aAAaZ,oBACpKyE,IACFA,EAAW9uB,MAAQkJ,EAAKlJ,M,KAErB,CACL,MAAMsV,EAASlZ,EAAM6uB,aAAapB,WAAW3gB,EAAK0nB,gBAAgBxB,cAAclmB,EAAK0hB,YAAc,GAAGqD,QACzFvD,MAAKiG,GAAUA,EAAOxB,WAAajmB,EAAKimB,UAAY/yB,EAAM6uB,aAAa3rB,YAAc4J,EAAK5J,WAAa4J,EAAKmhB,oBAAsBjuB,EAAM6uB,aAAaZ,oBAC9J/U,IACJA,EAAOtV,MAAQkJ,EAAKlJ,M,CAGxB,EACA,8CAAiD5D,EAAsB8M,GACrE,MAAMwnB,EAAct0B,EAAMK,MAAMC,iBAAiB,GAAGqyB,cAAc7lB,EAAK0hB,aAAaoE,aACjEtE,MAAKiG,GAAUA,EAAOxB,WAAajmB,EAAKimB,UAAYwB,EAAOrxB,YAAc4J,EAAK5J,aAAc4J,EAAKmhB,mBAAoBsG,EAAO1B,aAAe/lB,EAAKmhB,qBAanK,GAZIqG,IACFA,EAAY1wB,MAAQkJ,EAAKlJ,OAGtBkJ,EAAKmhB,mBACRjuB,EAAMK,MAAMC,iBAAiB,GAAGqyB,cAAc7lB,EAAK0hB,aAAaoE,aAAa5uB,SAAQuwB,IAC/EA,EAAOxB,WAAajmB,EAAKimB,WAC3BwB,EAAO3wB,MAAQkJ,EAAKlJ,M,IAKD,IAArBkJ,EAAK0hB,YAAmB,CAC1B,MAAMkE,EAAa1yB,EAAM6uB,aAAapB,WAAW,GAAGiF,WAAWb,QACxDvD,MAAKiG,GAAUA,EAAOxB,WAAajmB,EAAKimB,UAAY/yB,EAAM6uB,aAAa3rB,YAAc4J,EAAK5J,aAAc4J,EAAKmhB,mBAAoBnhB,EAAKmhB,oBAAsBjuB,EAAM6uB,aAAaZ,qBAClLyE,IACJA,EAAW9uB,MAAQkJ,EAAKlJ,M,KAEnB,CACL,MAAMsV,EAASlZ,EAAM6uB,aAAapB,WAAW,GAAGuF,cAAclmB,EAAK0hB,YAAc,GAAGqD,QAC7EvD,MAAKiG,GAAUA,EAAOxB,WAAajmB,EAAKimB,UAAY/yB,EAAM6uB,aAAa3rB,YAAc4J,EAAK5J,aAAc4J,EAAKmhB,mBAAoBnhB,EAAKmhB,oBAAsBjuB,EAAM6uB,aAAaZ,qBAClL/U,IACJA,EAAOtV,MAAQkJ,EAAKlJ,M,CAGxB,EACA,gCAAmC5D,EAAsBytB,GACvDztB,EAAM6uB,aAAapB,WAAaA,EAChCztB,EAAM6uB,aAAaiC,aAAerD,EAAW,GAAGkC,QAClD,EAEA,+BAAkC3vB,GAChCA,EAAMK,MAAMC,iBAAiB0D,SAAQ,CAAC4U,EAAW8V,KAC/C9V,EAAU+Z,cAAc3uB,SAAQ,CAACkV,EAAQmJ,KAC7B,IAANA,EACFriB,EAAM6uB,aAAapB,WAAWiB,GAAOgE,WAAWb,QAAU3Y,EAAO0Z,aAAalnB,QAAOonB,GAAMA,EAAG5vB,YAAclD,EAAM6uB,aAAa3rB,WAAa4vB,EAAGD,aAAe7yB,EAAM6uB,aAAaZ,oBAAmBpiB,KAAIinB,IAAM,CAAEC,SAAUD,EAAGC,SAAUnvB,MAAOkvB,EAAGlvB,UAE7O5D,EAAM6uB,aAAapB,WAAWiB,GAAOsE,cAAczyB,SACrDP,EAAM6uB,aAAapB,WAAWiB,GAAOsE,cAAc3Q,EAAI,GAAGwP,QAAU3Y,EAAO0Z,aAAalnB,QAAOonB,GAAMA,EAAG5vB,YAAclD,EAAM6uB,aAAa3rB,WAAa4vB,EAAGD,aAAe7yB,EAAM6uB,aAAaZ,oBAAmBpiB,KAAIinB,IAAM,CAAEC,SAAUD,EAAGC,SAAUnvB,MAAOkvB,EAAGlvB,U,GAG/P,GAEN,EAEA,yBAA4B5D,EAAsBytB,GAChDztB,EAAMK,MAAMkwB,gBAAgBvsB,SAAQ,CAAC4U,EAAW8V,KAC9C9V,EAAU+b,aAAa3wB,SAAQ,CAAC4wB,EAAavS,KAC3C,MAAMnJ,EAAS0b,EAAYC,YAAYvG,MAAKwG,GAAcA,EAAW5xB,YAAclD,EAAM6uB,aAAa3rB,WAAa4xB,EAAWjC,aAAe7yB,EAAM6uB,aAAaZ,oBAE5J/U,IACFA,EAAOqY,kBAAoB9D,EAAWiB,GAAOvV,QAAQkJ,GAAGkP,kBACxDrY,EAAOsY,sBAAwB/D,EAAWiB,GAAOvV,QAAQkJ,GAAGmP,sBAC5DtY,EAAOuY,iBAAmBhE,EAAWiB,GAAOvV,QAAQkJ,GAAGoP,iBACvDvY,EAAOwY,qBAAuBjE,EAAWiB,GAAOvV,QAAQkJ,GAAGqP,qBAC3DxY,EAAOyY,gBAAkBlE,EAAWiB,GAAOvV,QAAQkJ,GAAGsP,gBACtDzY,EAAO0Y,kBAAoBnE,EAAWiB,GAAOvV,QAAQkJ,GAAGuP,kB,GAE1D,IAGJ5xB,EAAMK,MAAMC,iBAAiB0D,SAAQ,CAAC4U,EAAW8V,KAC/C9V,EAAU+Z,cAAc3uB,SAAQ,CAACkV,EAAQmJ,KAC7B,IAANA,EACFriB,EAAM6uB,aAAapB,WAAWiB,GAAOgE,WAAWb,QAAUpE,EAAWiB,GAAOvV,QAAQkJ,GAAGwP,QAAQhmB,KAAIinB,IAAM,CAAEC,SAAUD,EAAGnlB,GAAI/J,MAAOkvB,EAAGlvB,UAElI5D,EAAM6uB,aAAapB,WAAWiB,GAAOsE,cAAczyB,SACrDP,EAAM6uB,aAAapB,WAAWiB,GAAOsE,cAAc3Q,EAAI,GAAGwP,QAAUpE,EAAWiB,GAAOvV,QAAQkJ,GAAGwP,QAAQhmB,KAAIinB,IAAM,CAAEC,SAAUD,EAAGnlB,GAAI/J,MAAOkvB,EAAGlvB,U,GAGpJ,GAEN,EACA,kCAAqC5D,EAAsB8M,GACzD9M,EAAMK,MAAMkwB,gBAAgBvsB,SAAQ,CAAC4U,EAAW8V,KAC9C9V,EAAU+b,aAAa3wB,SAAQ,CAAC4wB,EAAavS,KAC3CuS,EAAYC,YAAY/nB,EAAK4hB,OAAO6C,kBAAoBzkB,EAAK2gB,WAAWiB,GAAOvV,QAAQkJ,GAAGkP,kBAC1FqD,EAAYC,YAAY/nB,EAAK4hB,OAAO8C,sBAAwB1kB,EAAK2gB,WAAWiB,GAAOvV,QAAQkJ,GAAGmP,sBAC9FoD,EAAYC,YAAY/nB,EAAK4hB,OAAO+C,iBAAmB3kB,EAAK2gB,WAAWiB,GAAOvV,QAAQkJ,GAAGoP,iBACzFmD,EAAYC,YAAY/nB,EAAK4hB,OAAOgD,qBAAuB5kB,EAAK2gB,WAAWiB,GAAOvV,QAAQkJ,GAAGqP,qBAC7FkD,EAAYC,YAAY/nB,EAAK4hB,OAAOiD,gBAAkB7kB,EAAK2gB,WAAWiB,GAAOvV,QAAQkJ,GAAGsP,gBACxFiD,EAAYC,YAAY/nB,EAAK4hB,OAAOkD,kBAAoB9kB,EAAK2gB,WAAWiB,GAAOvV,QAAQkJ,GAAGuP,iBAAiB,GAC3G,GAEN,EACA,0BAA6B5xB,GAC3BA,EAAM+xB,0BAA4B,CACpC,EACA,0BAA6B/xB,GAC3BA,EAAM+xB,0BAA4B,CACpC,EACA,6BAAgC/xB,GAAsB,YAACwuB,EAAW,eAAEgG,EAAc,kBAAEV,IAGlF,IAAInB,EAEFA,EADkB,IAAhBnE,EACcxuB,EAAM6uB,aAAapB,WAAW+G,GAAgB9B,WAAWb,QAAQnmB,QAAOsV,GAAK8S,EAAkB9G,MAAK+H,GAAOA,IAAQ/T,EAAE+R,aAErH/yB,EAAM6uB,aAAapB,WAAW+G,GAAgBxB,cAAcxE,EAAc,GAAGqD,QAAQnmB,QAAOsV,GAAK8S,EAAkB9G,MAAK+H,GAAOA,IAAQ/T,EAAE+R,aAG3J/yB,EAAM6uB,aAAapB,WAAW+G,GAAgB9B,WAAWb,QAAQnmB,QAAOsV,GAAK8S,EAAkB9G,MAAK+H,GAAOA,IAAQ/T,EAAE+R,aAAW/uB,SAAQmR,IACtI,MAAMof,EAAS5B,EAAcrE,MAAKiG,GAAUA,EAAOxB,WAAa5d,EAAE4d,WAE9DwB,IACFpf,EAAEvR,MAAQ2wB,EAAO3wB,M,IAIrB5D,EAAM6uB,aAAapB,WAAW+G,GAAgBxB,cAAchvB,SAAQkV,IAClEA,EAAO2Y,QAAQnmB,QAAOsV,GAAK8S,EAAkB9G,MAAK+H,GAAOA,IAAQ/T,EAAE+R,aAAW/uB,SAAQmR,IACpF,MAAMof,EAAS5B,EAAcrE,MAAKiG,GAAUA,EAAOxB,WAAa5d,EAAE4d,WAC9DwB,IACFpf,EAAEvR,MAAQ2wB,EAAO3wB,M,GAEnB,GAEN,EACA,8BAAiC5D,GAAsB,eAACw0B,EAAc,kBAAEV,IACtE,MAAMtG,EAAmBkC,EAAiB1vB,MAAMytB,WAAW+G,GAE3D,IAAK,IAAI9F,EAAQ,EAAGA,EAAQgB,EAAiB1vB,MAAMytB,WAAWltB,OAAQmuB,IACpE,GAAIA,GAAS8F,EAAgB,CAC3B,MAAM5b,EAAY8W,EAAiB1vB,MAAMytB,WAAWiB,GACpD9V,EAAUqV,kBAAoBT,EAAiBS,iB,CAInD,MAAM0E,EAAgB3yB,EAAM6uB,aAAapB,WAAW+G,GAAgB9B,WAAWb,QAAQnmB,QAAOsV,GAAK8S,EAAkB9G,MAAK+H,GAAOA,IAAQ/T,EAAE+R,aAC3I/yB,EAAM6uB,aAAapB,WAAaztB,EAAM6uB,aAAapB,WAAW5hB,KAAI,CAAC+M,EAAWyJ,IACxEA,GAAKmS,EACA,IACF5b,EACH8Z,WAAY,IACP9Z,EAAU8Z,WACbb,QAASjZ,EAAU8Z,WAAWb,QAAQhmB,KAAIsJ,IACtC,MAAMof,EAAS5B,EAAcrE,MAAKtN,GAAKA,EAAE+R,WAAa5d,EAAE4d,WACxD,OAAIwB,EACK,CACLxB,SAAUwB,EAAOxB,SACjBnvB,MAAO2wB,EAAO3wB,OAGX,CACLmvB,SAAU5d,EAAE4d,SACZnvB,MAAOuR,EAAEvR,MACV,KAGPovB,cAAepa,EAAUoa,cAAcnnB,KAAI,CAACmpB,EAAcrT,KAAM,IAC3DqT,EACHnD,QAASmD,EAAanD,QAAQhmB,KAAIsJ,IAChC,MAAMof,EAAS5B,EAAcrE,MAAKtN,GAAKA,EAAE+R,WAAa5d,EAAE4d,WACtD,OAAIwB,EACK,CACLxB,SAAUwB,EAAOxB,SACjBnvB,MAAO2wB,EAAO3wB,OAGb,CACLmvB,SAAU5d,EAAE4d,SACZnvB,MAAOuR,EAAEvR,MACV,SAOFgV,GAEX,EACA,2BAA8B5Y,GAAsB,eAACw0B,IACnD,GAAIx0B,EAAMgwB,aAAc,CACtB,MAAM,WAACvC,KAAeuC,GAAgBhwB,EAAMgwB,aAC5ChwB,EAAM6uB,aAAe/qB,OAAO6qB,OAAO,CAAC,EAAG3uB,EAAM6uB,aAAcmB,GAC3DhwB,EAAM6uB,aAAapB,WAAaA,EAAW5hB,KAAI,CAAC+M,EAAWyJ,IACrDA,GAAKmS,EACA,IACF5b,EACH8Z,WAAY,IACP9Z,EAAU8Z,WACbb,QAASjZ,EAAU8Z,WAAWb,QAAQhmB,KAAIsJ,IAC/B,CACL4d,SAAU5d,EAAE4d,SACZnvB,MAAOuR,EAAEvR,WAIjBovB,cAAepa,EAAUoa,cAAcnnB,KAAI,CAACmpB,EAAcrT,KAAM,IAC3DqT,EACHnD,QAASmD,EAAanD,QAAQhmB,KAAIsJ,IACzB,CACL4d,SAAU5d,EAAE4d,SACZnvB,MAAOuR,EAAEvR,eAOZ5D,EAAM6uB,aAAapB,WAAWpL,I,CAG3C,EACA,kBAAqBriB,EAAsBsN,GAGzCtN,EAAM6uB,aAAanuB,QAAU4M,EAAQK,GACrC3N,EAAM6uB,aAAa3rB,UAAYoK,EAAQpK,UACvClD,EAAM6uB,aAAagC,kBAAoBvjB,EAAQujB,kBAC/C7wB,EAAM6uB,aAAahD,eAAiBve,EAAQue,eAC5C7rB,EAAM6uB,aAAaiC,aAAexjB,EAAQwjB,aAC1C9wB,EAAM6uB,aAAapB,WAAangB,EAAQmgB,WACxCztB,EAAM6uB,aAAamC,WAAa1jB,EAAQ0jB,WACxChxB,EAAM6uB,aAAa9Z,cAAgBzH,EAAQyH,cAC3C/U,EAAM6uB,aAAaoC,YAAc3jB,EAAQ2jB,YACzCjxB,EAAM6uB,aAAakC,eAAiBzjB,EAAQyjB,eAC5C/wB,EAAM6uB,aAAaqC,uBAAyB5jB,EAAQ4jB,uBACpDlxB,EAAM6uB,aAAauC,aAAe9jB,EAAQ8jB,aAC1CpxB,EAAM6uB,aAAaiB,WAAaxiB,EAAQwiB,WACxC9vB,EAAM6uB,aAAawC,eAAiB/jB,EAAQ+jB,eAC5CrxB,EAAM6uB,aAAayC,eAAiBhkB,EAAQgkB,eAC5CtxB,EAAM6uB,aAAa0C,kBAAoBjkB,EAAQikB,kBAC/CvxB,EAAM6uB,aAAa2C,sBAAwBlkB,EAAQkkB,sBACnDxxB,EAAM6uB,aAAa4C,iBAAmBnkB,EAAQmkB,iBAC9CzxB,EAAM6uB,aAAa6C,qBAAuBpkB,EAAQokB,qBAClD1xB,EAAM6uB,aAAa8C,gBAAkBrkB,EAAQqkB,gBAC7C3xB,EAAM6uB,aAAa+C,kBAAoBtkB,EAAQskB,kBAC/C5xB,EAAM6uB,aAAagD,QAAUvkB,EAAQukB,QACrC7xB,EAAM6uB,aAAaZ,kBAAoB3gB,EAAQ2gB,kBAC/CjuB,EAAM6uB,aAAaiD,mBAAqBxkB,EAAQwkB,kBAClD,EAEA,gBAAmB9xB,EAAsBsN,GACvCtN,EAAMmZ,QAAU,GAGhBnZ,EAAM6uB,aAAanuB,QAAU4M,EAAQK,GACrC3N,EAAM6uB,aAAahD,eAAiBve,EAAQue,eAC5C7rB,EAAM6uB,aAAa3rB,UAAYoK,EAAQpK,UACvClD,EAAM6uB,aAAagC,kBAAoBvjB,EAAQujB,kBAC/C7wB,EAAM6uB,aAAaiC,aAAexjB,EAAQwjB,aAC1C9wB,EAAM6uB,aAAapB,WAAangB,EAAQmgB,WACxCztB,EAAM6uB,aAAamC,WAAa1jB,EAAQ0jB,WACxChxB,EAAM6uB,aAAa9Z,cAAgBzH,EAAQyH,cAC3C/U,EAAM6uB,aAAaoC,YAAc3jB,EAAQ2jB,YACzCjxB,EAAM6uB,aAAakC,eAAiBzjB,EAAQyjB,eAC5C/wB,EAAM6uB,aAAaqC,uBAAyB5jB,EAAQ4jB,uBACpDlxB,EAAM6uB,aAAauC,aAAe9jB,EAAQ8jB,aAC1CpxB,EAAM6uB,aAAaiB,WAAaxiB,EAAQwiB,WACxC9vB,EAAM6uB,aAAawC,eAAiB/jB,EAAQ+jB,eAC5CrxB,EAAM6uB,aAAayC,eAAiBhkB,EAAQgkB,eAC5CtxB,EAAM6uB,aAAa0C,kBAAoBjkB,EAAQikB,kBAC/CvxB,EAAM6uB,aAAa2C,sBAAwBlkB,EAAQkkB,sBACnDxxB,EAAM6uB,aAAa4C,iBAAmBnkB,EAAQmkB,iBAC9CzxB,EAAM6uB,aAAa6C,qBAAuBpkB,EAAQokB,qBAClD1xB,EAAM6uB,aAAa8C,gBAAkBrkB,EAAQqkB,gBAC7C3xB,EAAM6uB,aAAa+C,kBAAoBtkB,EAAQskB,kBAC/C5xB,EAAM6uB,aAAagD,QAAUvkB,EAAQukB,QACrC7xB,EAAM6uB,aAAaiD,mBAAqBxkB,EAAQwkB,mBAEhD,MAAMmD,EAA6B3nB,EAAQmgB,WAAW,GAAGiF,WAAWzE,kBACpEjuB,EAAM6uB,aAAaZ,kBAAoBgH,EAEvCl1B,EAAMC,MAAMkD,UAAYoK,EAAQpK,UAChCnD,EAAMC,MAAMiuB,kBAAoBgH,EAE5B3nB,EAAQmgB,WAAWltB,OAAS,GAC9BR,EAAMC,MAAMgD,eAAgB,EAC5B0sB,EAAiB1vB,MAAMytB,WAAa,GACpCngB,EAAQmgB,WAAWzpB,SAAQ,CAAC4U,EAAW8V,KACrCgB,EAAiB1vB,MAAMytB,WAAW9uB,KAAK,CACrCgP,GAAIiL,EAAU8Z,WAAW/kB,GAAK,GAC9BsgB,kBAAmBrV,EAAU8Z,WAAWzE,kBACxCP,QAAS9U,EAAU+W,SACnB/wB,KAAMga,EAAUha,KAChBua,QAAS,GACTjW,UAAWoK,EAAQpK,YAGrBwsB,EAAiB1vB,MAAMytB,WAAWiB,GAAOvV,QAAQxa,KAAK,CACpDivB,IAAKtgB,EAAQmgB,WAAWiB,GAAOgE,WAAW9E,IAC1ChvB,KAAM0O,EAAQmgB,WAAWiB,GAAOgE,WAAWwC,WAC3CpH,QAASxgB,EAAQmgB,WAAWiB,GAAOgE,WAAWyC,cAC9CtH,OAAQvgB,EAAQmgB,WAAWiB,GAAOgE,WAAWe,YAC7CzF,uBAAuB,IAGzBpV,EAAUoa,cAAchvB,SAAQkV,IAC9BwW,EAAiB1vB,MAAMytB,WAAWiB,GAAOvV,QAAQxa,KAAK,CACpDivB,IAAK1U,EAAO0U,IACZhvB,KAAMsa,EAAOgc,WACbpH,QAAS5U,EAAOic,cAChBtH,OAAQ3U,EAAOua,YACfzF,uBAAuB,GACvB,GACF,MAGJhuB,EAAMmZ,QAAU,GAChBpZ,EAAMC,MAAMgD,eAAgB,EAC5BhD,EAAM2vB,SAAWriB,EAAQmgB,WAAW,GAAGkC,SACvC3vB,EAAMmZ,QAAQxa,KAAK,CACjBivB,IAAKtgB,EAAQmgB,WAAW,GAAGiF,WAAW9E,IACtChvB,KAAM0O,EAAQmgB,WAAW,GAAGiF,WAAWwC,WACvCpH,QAASxgB,EAAQmgB,WAAW,GAAGiF,WAAWyC,cAC1CtH,OAAQvgB,EAAQmgB,WAAW,GAAGiF,WAAWe,YACzCE,iBAAiB,EACjBC,mBAAoB,EACpB5F,uBAAuB,IAGzB1gB,EAAQmgB,WAAW,GAAGuF,cAAchvB,SAAQkV,IAC1ClZ,EAAMmZ,QAAQxa,KAAK,CACjBivB,IAAK1U,EAAO0U,IACZhvB,KAAMsa,EAAOgc,WACbpH,QAAS5U,EAAOic,cAChBtH,OAAQ3U,EAAOua,YACfE,iBAAiB,EACjBC,mBAAoB,EACpB5F,uBAAuB,GACvB,IAGR,EACA,wBAA0BhuB,GACxBA,EAAM6uB,aAAapB,WAAWzpB,SAAQ4U,IACpCA,EAAU8Z,WAAWzE,uBAAoBriB,EACzCgN,EAAUoa,cAAchvB,SAAQkV,IAC9BA,EAAO+U,uBAAoBriB,CAAS,GACpC,GAEN,EAEA,qBAAwB5L,EAAsBK,GAC5CL,EAAMK,MAAQA,EAEd,MAAMy0B,EAAaz0B,EAAMkwB,gBAAgB,GAAGoE,aAAa,GAAGE,YAAYvG,MAAK8G,GAAMA,EAAG7D,oBAAsBvxB,EAAM6uB,aAAapB,WAAW,GAAGiF,WAAWnB,mBAAqB6D,EAAGlyB,YAAclD,EAAM6uB,aAAa3rB,YAEjNnD,EAAMC,MAAMiuB,kBAAoB6G,EAAaA,EAAWjC,WAAaxyB,EAAMkwB,gBAAgB,GAAGoE,aAAa,GAAGE,YAAY,GAAGhC,WAC7H7yB,EAAM6uB,aAAaZ,kBAAoB6G,EAAaA,EAAWjC,WAAaxyB,EAAMkwB,gBAAgB,GAAGoE,aAAa,GAAGE,YAAY,GAAGhC,UACtI,EAEA,0BAA6B7yB,EAAsBq1B,GACjDr1B,EAAMgyB,mBAAqBqD,CAC7B,EAEA,sBAAyBr1B,EAAsB6I,GAC7C7I,EAAM6uB,aAAagC,kBAAoBhoB,EACvC7I,EAAM6uB,aAAahD,eAAiByJ,IAAOzsB,GAAM+M,IAAI,GAAI,QAAQ2f,OAAO,aAC1E,EAEA,yBAA4Bv1B,EAAsB8xB,GAChD9xB,EAAM6uB,aAAaiD,mBAAqBA,CAC1C,EAEA,gBAAmB9xB,EAAsB8M,GAiBvC,GAfA9M,EAAMK,MAAMC,iBAAmBN,EAAMK,MAAMC,iBAAiBuL,KAAI,CAAC2pB,EAAiBnT,KAAM,CACtFsQ,cAAe6C,EAAgB7C,cAAc9mB,KAAI,CAACwoB,EAAc1S,KAAM,IACjE0S,EACHzB,aAAc,IACTyB,EAAazB,aAAalnB,QAAOyJ,KAAOA,EAAE0d,aAAe/lB,EAAKmhB,mBAAqB9Y,EAAEjS,YAAc4J,EAAK5J,gBACxG4J,EAAK2gB,WAAWpL,GAAGlJ,QAAQwI,GAAGkQ,QAAQhmB,KAAIsJ,IAAK,CAChDjS,UAAW4J,EAAK5J,UAChB2vB,WAAY/lB,EAAKmhB,kBACjB8E,SAAU5d,EAAExH,GACZ/J,MAAOuR,EAAEvR,mBAMb7D,EAAMC,MAAMgD,cAEdhD,EAAM6uB,aAAapB,WAAaztB,EAAM6uB,aAAapB,WAAW5hB,KAAI,CAAC+M,EAAWyJ,KAC5E,MAAM4L,OAA+EriB,IAA3D8jB,EAAiB1vB,MAAMytB,WAAWpL,GAAG4L,kBAAkCyB,EAAiB1vB,MAAMytB,WAAWpL,GAAG4L,kBAAoBluB,EAAMC,MAAMiuB,kBAChK/qB,OAA+D0I,IAAnD8jB,EAAiB1vB,MAAMytB,WAAWpL,GAAGnf,UAA0BwsB,EAAiB1vB,MAAMytB,WAAWpL,GAAGnf,UAAYnD,EAAMC,MAAMkD,UAC9I,MAAO,IACF0V,EACH8Z,WAAY,IACP9Z,EAAU8Z,WACbb,QAAS3uB,IAAc4J,EAAK5J,WAAa+qB,IAAsBnhB,EAAKmhB,kBAAoBnhB,EAAK2gB,WAAWpL,GAAGlJ,QAAQ,GAAG0Y,QAAQhmB,KAAIsJ,IAAK,CACrI4d,SAAU5d,EAAExH,GACZ/J,MAAOuR,EAAEvR,UACLgV,EAAU8Z,WAAWb,SAE7BmB,cAAepa,EAAUoa,cAAcnnB,KAAI,CAACmpB,EAAcrT,KAAM,IAC3DqT,EACHnD,QAAS3uB,IAAc4J,EAAK5J,WAAa+qB,IAAsBnhB,EAAKmhB,kBAAoBnhB,EAAK2gB,WAAWpL,GAAGlJ,QAAQwI,EAAI,GAAGkQ,QAAQhmB,KAAIsJ,IAAK,CACzI4d,SAAU5d,EAAExH,GACZ/J,MAAOuR,EAAEvR,UACLoxB,EAAanD,YAEtB,QAGA,CAEH,MAAM5D,EAAoBluB,EAAMC,MAAMiuB,kBAChC/qB,EAAYnD,EAAMC,MAAMkD,UAE1BA,IAAc4J,EAAK5J,WAAa+qB,IAAsBnhB,EAAKmhB,oBAC7DjuB,EAAM6uB,aAAapB,WAAaztB,EAAM6uB,aAAapB,WAAW5hB,KAAI,CAAC+M,EAAWyJ,KACrE,IACFzJ,EACH8Z,WAAY,IACP9Z,EAAU8Z,WACbb,QAAS/kB,EAAK2gB,WAAWpL,GAAGlJ,QAAQ,GAAG0Y,QAAQhmB,KAAIsJ,IAAK,CACtD4d,SAAU5d,EAAExH,GACZ/J,MAAOuR,EAAEvR,WAGbovB,cAAepa,EAAUoa,cAAcnnB,KAAI,CAACmpB,EAAcrT,KAAM,IAC3DqT,EACHnD,QAAS/kB,EAAK2gB,WAAWpL,GAAGlJ,QAAQwI,EAAI,GAAGkQ,QAAQhmB,KAAIsJ,IAAK,CAC1D4d,SAAU5d,EAAExH,GACZ/J,MAAOuR,EAAEvR,kB,CAOvB,EAEA,kBAAqB5D,GACnBA,EAAMgwB,aAAelsB,OAAO6qB,OAAO,CAAC,EAAG3uB,EAAM6uB,cAC7C7uB,EAAMgwB,aAAavC,WAAaztB,EAAM6uB,aAAapB,WAAW5hB,KAAI,CAAC+M,EAAWyJ,KACnE,IACFzJ,EACH8Z,WAAY,IACP9Z,EAAU8Z,WACbb,QAASjZ,EAAU8Z,WAAWb,QAAQhmB,KAAIsJ,IAC/B,CACL4d,SAAU5d,EAAE4d,SACZnvB,MAAOuR,EAAEvR,WAIjBovB,cAAepa,EAAUoa,cAAcnnB,KAAI,CAACmpB,EAAcrT,KAAM,IAC3DqT,EACHnD,QAASmD,EAAanD,QAAQhmB,KAAIsJ,IACzB,CACL4d,SAAU5d,EAAE4d,SACZnvB,MAAOuR,EAAEvR,iBAOvB,EAEA,oBAAuB5D,EAAsBiyB,GAC3CjyB,EAAM6uB,aAAayC,eAAiBW,EAASpC,aAC7C7vB,EAAM6uB,aAAawC,eAAiBY,EAASZ,eAC7CrxB,EAAMiyB,SAAWA,EACjBjyB,EAAM4vB,eAAeC,aAAeoC,EAASpC,YAC/C,EAEA,8BAAiC7vB,EAAsBy1B,GACrDz1B,EAAMK,MAAMmwB,gBAAkBiF,EAAUjF,gBACxCxwB,EAAMK,MAAMowB,iBAAmBgF,EAAUhF,iBACzCzwB,EAAMK,MAAMqwB,4BAA8B+E,EAAUC,mBACpD11B,EAAM6uB,aAAasC,YAAcsE,EAAUtE,WAC7C,EAEA,mBAAsBnxB,EAAO8zB,GAC3B,IAAK,MAAMlb,KAAa5Y,EAAM6uB,aAAapB,WAAY,CACrD,MAAMtU,EAAU,CAACP,EAAU8Z,cAAe9Z,EAAUoa,eAC9C2C,EAAWxc,EAAQgV,WAAUrM,GAAKA,EAAE+P,QAAQ7E,MAAK7X,GAAmB,MAAdA,EAAE4d,UAA+B,OAAX5d,EAAEvR,UACpF,IAAiB,GAAb+xB,EAAgB,SACpB,MAAMC,EAASC,KAAKC,OAAO3c,EAAQzN,QAAO,CAACzH,EAAGoe,IAAMA,GAAKsT,IAAU9pB,KAAIiW,GAAKA,EAAE8L,OACxEmI,EAAc5c,EAAQgV,WAAU,CAACrM,EAAGO,IAAMP,EAAE8L,KAAOgI,GAAUvT,GAAKsT,IACxE,IAAK,MAAMK,KAAQ7c,EAAQwc,GAAU9D,QAAS,CAC5C,IAAKiC,EAAkBhsB,SAASkuB,EAAKjD,UAAW,SAChD,MAAMlP,EAAM1K,EAAQ4c,GAAalE,QAAQvD,MAAKnZ,GAAKA,EAAE4d,UAAYiD,EAAKjD,gBAC1DnnB,IAARiY,IACFmS,EAAKpyB,MAAQigB,GAAKjgB,M,EAI1B,GAGWkrB,EAA0C,CACrDmH,gBAAAA,EAAiB,OAACj0B,GAAS8K,GACzB9K,EAAO,sBAAuB8K,EAChC,EAEAopB,uBAAAA,EAAwB,OAACl0B,IACvBA,EAAO,uBACT,EAEAm0B,0BAAAA,EAA2B,OAACn0B,GAAS0sB,GACnC1sB,EAAO,0BAA2B0sB,EACpC,EAEA0H,0BAAAA,EAA2B,OAACp0B,GAAS8K,GACnC9K,EAAO,0BAA2B8K,EACpC,EAEAupB,mBAAAA,EAAoB,OAACr0B,GAAS2tB,GAC5B3tB,EAAO,yBAA0B2tB,EACnC,EAEA2G,qBAAAA,EAAsB,OAACt0B,IACrBA,EAAO,2BACT,EAEAu0B,qBAAAA,EAAsB,OAACv0B,GAAS8tB,GAC9B9tB,EAAO,2BAA4B8tB,EACrC,EAEA0G,yBAAAA,EAA0B,OAACx0B,GAAS6tB,GAClC7tB,EAAO,gCAAiC6tB,EAC1C,EAEA4G,6BAAAA,EAA8B,OAACz0B,GAAS+tB,GACtC/tB,EAAO,qCAAsC+tB,EAC/C,EAEA2G,uBAAAA,EAAwB,OAAC10B,IACvBA,EAAO,6BACT,EAEA20B,iBAAAA,EAAkB,OAAC30B,IACjBA,EAAO,aACT,EAEA40B,aAAAA,EAAc,OAAC50B,GAAS8K,GACtB9K,EAAO,yBAA0B8K,EACnC,EAEAkhB,qBAAAA,EAAsB,OAAChsB,GAAS0sB,GAC9B1sB,EAAO,0BAA2B0sB,EACpC,EACA,8BAAMmI,EAAyB,OAAE70B,EAAM,SAAE80B,EAAQ,MAAE92B,EAAK,QAAEI,IACxD,MAAM22B,GAAQ,IAAIjuB,MAAO+qB,cAAc5Q,MAAM,EAAG,IAC5C8T,EAAQ/2B,EAAM6uB,aAAagC,oBAC7B7uB,EAAO,2BACPA,EAAO,wBAAyB+0B,GAChC/0B,EAAO,6BAA6B,GACpCA,EAAO,mCACD80B,EAAS,kBAAmB12B,EAAQ6yB,qBAC1CjxB,EAAO,qBAAsB5B,EAAQ6yB,qBACrCjxB,EAAO,6BACPA,EAAO,6BAA6B,GAExC,EACAg1B,sBAAAA,EAAuB,OAAEh1B,GAAU8K,GAWjC,IAV0B,IAAtBA,EAAK0hB,cAA+C,IAAzB1hB,EAAK0nB,eAClCxyB,EAAO,sCAAuC8K,IACf,IAAtBA,EAAK0hB,cAA+C,IAAzB1hB,EAAK0nB,eACzCxyB,EAAO,+CAAgD8K,IACxB,IAAtBA,EAAK0hB,cAA+C,IAAzB1hB,EAAK0nB,eACzCxyB,EAAO,gDAAiD8K,IACzB,IAAtBA,EAAK0hB,cAA+C,IAAzB1hB,EAAK0nB,gBACzCxyB,EAAO,gCAAiC8K,IAGhB,IAAtBA,EAAK0hB,aAAsB1hB,EAAKmqB,OAAQ,CAC1C,MAAMC,EAAU,IACXpqB,EACH0hB,YAAa1hB,EAAKqqB,iBAEY,IAA5BD,EAAQ1C,eACVxyB,EAAO,+CAAgDk1B,IAClB,IAA5BA,EAAQ1C,gBACjBxyB,EAAO,gDAAiDk1B,E,CAG9D,EACA,yBAAME,EAAoB,OAAEp1B,EAAM,SAAE80B,EAAQ,MAAE92B,GAAS8M,GACrD,MAAMuqB,EAAYr3B,EAAMK,MAAMswB,wBAAwBrC,MAAKjK,GACzDA,EAAE0O,UAAYjmB,EAAKimB,UACnB1O,EAAEzgB,OAASkJ,EAAKlJ,OACfygB,EAAEoO,OAAS3lB,EAAKmhB,oBACnB,GAAIoJ,EACF,IAAK,MAAMC,KAAUD,EAAUE,QAAS,CACtC,IAAIC,EAA+B,GAKnC,GAJoC,MAAhCF,EAAOG,wBACTD,EAA+BE,EAAqB5qB,EAAMwqB,EAAOvE,UAAU5pB,YAGzC,MAAhCmuB,EAAOG,uBAAiCH,EAAOG,uBAAyBD,EAC1E,IAAK,MAAM5zB,KAAS0zB,EAAOK,OACrB/zB,EAAMg0B,UACRd,EAAS,yBAA0B,IAAKhqB,EAAMimB,SAAUuE,EAAOvE,SAAUnvB,MAAOA,EAAMA,O,CAUhG,GAJAkzB,EAAS,yBAA0BhqB,SAE7BgqB,EAAS,4BAEVhqB,EAAKmhB,kBAAV,CAmCAjsB,EAAO,6BACP,IACE,MAAM61B,EAAY93B,EAAMK,QAAQmN,8BAE1B,WAAEkgB,KAAeqK,eAAsB/1B,EAAAA,IAAKgP,oBAAoB8mB,GACtE71B,EAAO,2BAA4ByrB,GAEnC,MAAMgI,EAAY,CAChBjF,gBAAiBsH,EAAKtH,gBACtBC,iBAAkBqH,EAAKrH,iBACvBiF,mBAAoBoC,EAAKpH,4BACzBS,YAAa2G,EAAK3G,aAEpBnvB,EAAO,gCAAiCyzB,GAExC,MAAMsC,EAAc,CAClBtK,WAAYA,EACZvqB,UAAW4J,EAAK5J,UAChB+qB,kBAAmBnhB,EAAKmhB,mBAE1BjsB,EAAO,kBAAmB+1B,E,CAE5B,MACEx2B,EAAAA,EAAO5C,KAAK,CAACC,KAAM,S,CACpB,QAECoD,EAAO,4B,MA7DT,CACEA,EAAO,6BAA6B,GACpC,IAAK,MAAM0sB,KAAS3uB,EAAMK,QAAQoyB,0BAA2B,CAC3DxwB,EAAO,6BACP,IACE,MAAM61B,EAAY93B,EAAMK,QAAQoyB,0BAA0B9D,IACpD,WAAEjB,KAAeqK,eAAsB/1B,EAAAA,IAAKgP,oBAAoB8mB,GAChEG,EAAQ,CAAEvK,WAAYA,EAAYiB,MAAOA,GAC/C1sB,EAAO,oCAAqCg2B,GAE5C,MAAMvC,EAAY,CAChBjF,gBAAiBsH,EAAKtH,gBACtBC,iBAAkBqH,EAAKrH,iBACvBiF,mBAAoBoC,EAAKpH,4BACzBS,YAAa2G,EAAK3G,aAEpBnvB,EAAO,gCAAiCyzB,GACxC,MAAMsC,EAAc,CAClBtK,WAAYA,EACZvqB,UAAW20B,EAAU30B,UACrB+qB,kBAAmB4J,EAAU5J,mBAE/BjsB,EAAO,kBAAmB+1B,E,CAE5B,MACEx2B,EAAAA,EAAO5C,KAAK,CAACC,KAAM,S,CACpB,QAECoD,EAAO,4B,EAGXA,EAAO,6BAA6B,E,CAgCxC,EAEAi2B,2BAAAA,EAA4B,OAACj2B,GAASyrB,GACpCzrB,EAAO,kCAAmCyrB,EAC5C,EAEA,qBAAMyK,EAAgB,OAACl2B,GAAS8xB,EAAoB,IAClD,IACE,MAAMzzB,cAAqB0B,EAAAA,IAAK+O,WAAWhT,MAG3C,OAFAkE,EAAO,iBAAkB,CAAE3B,QAAOyzB,sBAClC9xB,EAAO,qBACA3B,C,CAET,MAAMiO,GACJ9H,QAAQC,MAAM6H,GAEd/M,EAAAA,EAAO5C,KAAK,CAACC,KAAM,S,CAEvB,EAEA,oBAAMu5B,EAAe,OAACn2B,GAAS2L,GAC7B,IACE,MAAMtN,cAAqB0B,EAAAA,IAAK4P,eAAehE,GACzC8f,cAA0B1rB,EAAAA,IAAK6P,UAAUjE,GAE/C3L,EAAO,kBAAmByrB,GAC1BzrB,EAAO,uBAAwB3B,GAC/B2B,EAAO,oB,CAET,MACET,EAAAA,EAAO5C,KAAK,CAACC,KAAM,S,CAEvB,EACA,+BAAMw5B,EAA0B,OAACp2B,IAAS,eAACwyB,EAAc,kBAAEV,IACzD9xB,EAAO,gCAAiC,CAACwyB,iBAAgBV,sBACzD9xB,EAAO,qBAEPA,EAAO,6BACP,IACE,MAAM,WAAEyrB,KAAeqK,eAAsB/1B,EAAAA,IAAKgP,oBAAoBhR,EAAMK,QAAQmN,8BACpFvL,EAAO,2BAA4ByrB,GACnC,MAAMgI,EAAY,CAChBjF,gBAAiBsH,EAAKtH,gBACtBC,iBAAkBqH,EAAKrH,iBACvBiF,mBAAoBoC,EAAKpH,4BACzBS,YAAa2G,EAAK3G,aAEpBnvB,EAAO,gCAAiCyzB,E,CAE1C,MACEl0B,EAAAA,EAAO5C,KAAK,CAACC,KAAM,S,CACpB,QAECoD,EAAO,4B,CAEX,EACA,8BAAMq2B,EAAyB,OAACr2B,IAAS,YAACwsB,EAAW,eAAEgG,EAAc,kBAAEV,IACrE9xB,EAAO,+BAAgC,CAACwsB,cAAagG,iBAAgBV,sBACrE9xB,EAAO,qBAEPA,EAAO,6BACP,IACE,MAAM,WAAEyrB,KAAeqK,eAAsB/1B,EAAAA,IAAKgP,oBAAoBhR,EAAMK,QAAQmN,8BACpFvL,EAAO,2BAA4ByrB,GAEnC,MAAMgI,EAAY,CAChBjF,gBAAiBsH,EAAKtH,gBACtBC,iBAAkBqH,EAAKrH,iBACvBiF,mBAAoBoC,EAAKpH,4BACzBS,YAAa2G,EAAK3G,aAEpBnvB,EAAO,gCAAiCyzB,E,CAE1C,MACEl0B,EAAAA,EAAO5C,KAAK,CAACC,KAAM,S,CACpB,QAECoD,EAAO,4B,CAEX,EACA,6BAAMs2B,EAAwB,OAACt2B,IAAS,eAACwyB,IACvCxyB,EAAO,6BAA8B,CAACwyB,mBAEtCxyB,EAAO,6BACP,IACE,MAAM,WAAEyrB,KAAeqK,eAAsB/1B,EAAAA,IAAKgP,oBAAoBhR,EAAMK,QAAQmN,8BACpFvL,EAAO,2BAA4ByrB,GAEnC,MAAMgI,EAAY,CAChBjF,gBAAiBsH,EAAKtH,gBACtBC,iBAAkBqH,EAAKrH,iBACvBiF,mBAAoBoC,EAAKpH,4BACzBS,YAAa2G,EAAK3G,aAEpBnvB,EAAO,gCAAiCyzB,E,CAE1C,MACEl0B,EAAAA,EAAO5C,KAAK,CAACC,KAAM,S,CACpB,QAECoD,EAAO,4B,CAEX,GAUI,SACGqwB,EAAgBxD,GACvB,MAAO,IACFA,EACHpB,WAAYoB,EAAapB,WAAW5hB,KAAIkW,IAAK,IACxCA,EACH2Q,WAAY,IACP3Q,EAAE2Q,WACL/kB,QAAI/B,GAENonB,cAAejR,EAAEiR,cAAcnnB,KAAI0sB,IAAM,IACpCA,EACH5qB,QAAI/B,UAIZ,CAEA,SAAS8rB,EAAqB5qB,EAAuB0rB,GACnD,OAA0B,IAAtB1rB,EAAK0hB,cAA+C,IAAzB1hB,EAAK0nB,eAC3BiE,EAAkC3rB,EAAK0nB,eAAgBgE,EAAe1rB,EAAK5J,UAAW4J,EAAKmhB,oBACnE,IAAtBnhB,EAAK0hB,cAA+C,IAAzB1hB,EAAK0nB,eAClCkE,EAA0C5rB,EAAK0nB,eAAgB1nB,EAAK0hB,YAAagK,EAAe1rB,EAAK5J,UAAW4J,EAAKmhB,oBAC7F,IAAtBnhB,EAAK0hB,cAA+C,IAAzB1hB,EAAK0nB,eAClCmE,EAA2C7rB,EAAK0hB,YAAagK,EAAe1rB,EAAK5J,UAAW4J,EAAKmhB,oBACzE,IAAtBnhB,EAAK0hB,cAA+C,IAAzB1hB,EAAK0nB,eAElCiE,EAAkC,EAAGD,EAAe1rB,EAAK5J,UAAW4J,EAAKmhB,mBAE3E,EACT,CAEA,SAASwK,EAAkCjE,EAAgBzB,EAAU7vB,EAAW+qB,GAC9E,MAAM2K,EAAmB54B,EAAM6uB,aAAapB,WAAW+G,GAAgB9B,WAAWb,QAC/EvD,MAAKiG,GAAUA,EAAOxB,WAAaA,GAAY/yB,EAAM6uB,aAAa3rB,YAAcA,GAAa+qB,IAAsBjuB,EAAM6uB,aAAaZ,oBACzI,OAAI2K,EACKA,EAAiBh1B,MAEnB,EACT,CAEA,SAAS80B,EAA0ClE,EAAgBhG,EAAauE,EAAU7vB,EAAW+qB,GACnG,MAAMqG,EAAct0B,EAAMK,MAAMC,iBAAiBk0B,GAAgB7B,cAAcnE,GAAaoE,aACzFtE,MAAKiG,GAAUA,EAAOxB,WAAaA,GAAYwB,EAAOrxB,YAAcA,GAAaqxB,EAAO1B,aAAe5E,IAC1G,OAAIqG,EACKA,EAAY1wB,MAEd,EACT,CAEA,SAAS+0B,EAA2CnK,EAAauE,EAAU7vB,EAAW+qB,GACpF,MAAMqG,EAAct0B,EAAMK,MAAMC,iBAAiB,GAAGqyB,cAAcnE,GAAaoE,aAC5EtE,MAAKiG,GAAUA,EAAOxB,WAAaA,GAAYwB,EAAOrxB,YAAcA,KAAc+qB,GAAoBsG,EAAO1B,aAAe5E,KAC/H,OAAIqG,EACKA,EAAY1wB,MAEd,EACT,CAEO,MAAMgrB,EAAW,CACtB5uB,MAAK,EACLI,QAAO,EACP0uB,QAAO,EACPT,UAASA,G,eCz2CXlvB,EAAAA,WAAIC,IAAIkuB,EAAAA,IAED,MAAMuL,EAAO,CAChB74B,MAAO,CACHqD,YAAakC,aAAaC,QAAQ,iBAAmB,GACrD8C,aAAc/C,aAAaC,QAAQ,kBAAoB,GACvDkE,OAAQ,IAEZtJ,QAAS,CACLiD,YAAarD,GAASA,EAAMqD,YAC5BiF,aAActI,GAASA,EAAMsI,aAC7BwwB,gBAAiB94B,KAAWA,EAAMqD,YAClCqG,OAAQ1J,GAASA,EAAM0J,QAE3B2kB,UAAW,CACP0K,cAAAA,CAAe/4B,EAAOsF,GAClBtF,EAAMqD,YAAciC,EACpBtF,EAAM0J,OAAS,SACnB,EACAjD,KAAAA,CAAMzG,GACFA,EAAM0J,OAAS,OACnB,GAEJolB,QAAS,CACLkK,MAAAA,EAAO,OAAEh3B,EAAM,SAAE80B,IACbvxB,aAAa4H,WAAW,iBACxB5H,aAAa4H,WAAW,eAC5B,IC7BKnN,EAAQ,CACnBi5B,kBAAmB,GACnBC,qBAAsB,GACtBC,YAAY,EACZC,qBAAqB,EACrBC,cAAe,GACfC,UAAW,CAAC,EAAG,EAAG,EAAG,IAGVjL,EAAY,CACvBkL,uBAAAA,CAAyBv5B,EAAOw5B,GAC9Bx5B,EAAMk5B,qBAAuBM,CAC/B,EACAC,8BAAAA,CAAgCz5B,GAC9BA,EAAMo5B,qBAAuBp5B,EAAMo5B,mBACrC,EACAM,gBAAAA,GACE15B,EAAMm5B,YAAcn5B,EAAMm5B,UAC5B,EACAQ,gBAAAA,GACE35B,EAAMm5B,YAAa,CACrB,EAGAS,qBAAAA,CAAuB55B,GAAO,kBAAE65B,EAAmBC,wBAAyBC,IAC1E,MAAMC,EAAkBh6B,EAAMi5B,kBAAkBvtB,QAAOuuB,GAC9CA,EAASJ,oBAAsBA,IAEpCG,GAAoBA,EAAgB,GAIxCA,EAAgB,GAAGD,SAAWA,EAH5BvzB,QAAQ0zB,KAAK,gCAIjB,EACAC,4BAAAA,CAA8Bn6B,EAAOw5B,GACnCx5B,EAAMi5B,kBAAoBO,CAC5B,EACAY,qBAAAA,CAAsBp6B,EAAOs5B,GAC3Bt5B,EAAMs5B,UAAYA,CACpB,GAGWxK,EAAU,CACrB,yCAAMuL,EAAoC,OAACr4B,GAASsL,GAClD,mBAAoBvL,EAAAA,IAAKmP,+BAA+BpT,KAAMwP,EAChE,GAGWlN,EAAU,CACrB64B,kBAAmBj5B,GAASA,EAAMi5B,kBAClCG,oBAAqBp5B,GAASA,EAAMo5B,oBACpCD,WAAYn5B,GAASA,EAAMm5B,WAC3BmB,UAAWA,CAACt6B,EAAOI,EAASm6B,IACrBn6B,EAAQ4V,aAAgB5V,EAAQ4V,YAAYyX,WAAW,GAGrDrtB,EAAQ4V,YAAYyX,WAAW,GAAG+M,mBAFhC,GAIXnB,cAAeA,CAACr5B,EAAOI,EAASm6B,IAAcA,EAAU14B,QAAU04B,EAAU14B,OAAOw3B,cACnFC,UAAWA,CAACt5B,EAAOI,EAASm6B,IAAcv6B,EAAMs5B,UAChDmB,eAAAA,CAAgBz6B,EAAOI,EAASm6B,GAC9B,MAAME,EAAkB,CAAC,EACzB,OAAKr6B,EAAQi5B,eAGbj5B,EAAQi5B,cAAcxtB,KAAIyY,GAAKA,EAAE1gB,QAAOiI,KAAIyC,IAC1C,MAAM6K,EAAU/Y,EAAQk6B,UAAU5uB,QAAOoW,GAAKA,EAAE4Y,eAAiBpsB,IAC7D6K,EAAQ5Y,SACVk6B,EAAgBnsB,GAAK6K,E,IAGlBshB,GAREA,CASX,EACAE,gBAAAA,CAAiB36B,EAAOI,EAASm6B,GAC/B,OAAOn6B,EAAQi5B,cAAcxtB,KAAIyC,IACxB,CACLmS,MAAOnS,EAAEmS,MACTma,MAAM,EACNC,OAAQvsB,EAAE1K,MACV+J,GAAIW,EAAE1K,MACNtE,OAAQ,CAAC,yBACTw7B,SAAU16B,EAAQq6B,gBAAgBnsB,EAAE1K,QAAU,CAACrD,OAAQ,IAAIA,WAE5DmL,QAAO4C,GAAKA,EAAEwsB,QAAU,GAC7B,EACAC,aAAcA,CAAC/6B,EAAOiE,EAAGs2B,IAAcA,EAAU14B,OAAOm5B,4BAA4BC,WACpFC,SAAUA,CAACl7B,EAAOiE,EAAGs2B,IAAcA,EAAU14B,OAAOm5B,4BAA4BG,KAGrEC,EAAqB,CAChCp7B,MAAK,EACLI,QAAO,EACP0uB,QAAO,EACPT,UAASA,GC9FEruB,EAAQ,CACnBq7B,qBAAsB,GACtBC,eAAgB,IAGHl7B,EAAU,CACrBi7B,qBAAsBr7B,GAASA,EAAMq7B,qBACrCC,eAAgBt7B,GAASA,EAAMs7B,gBAGpBjN,EAAY,CACvBkN,uBAAAA,CAAyBv7B,EAAO8M,GAC9B9M,EAAMq7B,qBAAuBvuB,CAC/B,EACA0uB,iBAAAA,CAAmBx7B,EAAO8M,GACxB9M,EAAMs7B,eAAiBxuB,CACzB,GAGWgiB,EAAU,CACrB2M,6BAAAA,EAA8B,OAACz5B,GAAS8K,GACtC9K,EAAO,0BAA2B8K,EACpC,EACA4uB,uBAAAA,EAAwB,OAAC15B,GAAS8K,GAChC9K,EAAO,oBAAqB8K,EAC9B,GAGW6uB,EAAe,CAC1B37B,MAAK,EACLI,QAAO,EACP0uB,QAAO,EACPT,UAASA,GCjCAruB,EAAQ,CACnB47B,QAAS,GACTC,WAAY,CAAC,EACbC,aAAc,CAAC,EACfC,YAAY,EACZ74B,UAAW,EACX84B,UAAW,CAAC,EACZn5B,aAAc,CAAC,EACfC,aAAc,CAAC,EACfm5B,eAAgB,CAAC,EACjBC,aAAc,CAAC,EACfx7B,QAAS,KACTy7B,kBAAmB,GACnBC,2BAA4B,GAGjBh8B,EAAU,CACrBqyB,MAAOzyB,GAASA,EAAMyyB,MACtB5vB,aAAc7C,GAASA,EAAM6C,aAC7Bi5B,aAAc97B,GAASA,EAAM87B,aAC7BD,WAAY77B,GAASA,EAAM67B,WAC3BE,WAAY/7B,GAASA,EAAM+7B,WAC3Br7B,QAASV,GAASA,EAAMU,QACxBw7B,aAAcl8B,GAASA,EAAMk8B,aAC7BG,iBAAkBr8B,GAASA,EAAMkD,UACjCo5B,kBAAmBt8B,GAASA,EAAMg8B,UAClCA,UAAWh8B,GAASA,EAAMg8B,UAC1Bl5B,aAAc9C,GAASA,EAAM8C,aAC7Bq5B,kBAAmBn8B,GAASA,EAAMm8B,kBAClCP,QAAS57B,GAASA,EAAM47B,QACxBQ,0BAA2Bp8B,GAASA,EAAMo8B,2BAG/B/N,EAAY,CACvBkO,iBAAAA,CAAkBv8B,EAAOsN,GACvBtN,EAAM87B,aAAexuB,CACvB,EACAkvB,eAAAA,CAAgBx8B,EAAOq1B,GACrBr1B,EAAM+7B,WAAa1G,CACrB,EACAoH,YAAAA,CAAaz8B,EAAO2N,GAClB3N,EAAMU,QAAUiN,CAClB,EACA+uB,iBAAAA,CAAkB18B,EAAOsN,GACvBtN,EAAMk8B,aAAe5uB,CACvB,EACAqvB,sBAAAA,CAAuB38B,EAAOsN,GAC5BtN,EAAMg8B,UAAY1uB,CACpB,EACAsvB,oCAAAA,CAAqC58B,GAAO,YAACiB,EAAW,SAAEG,EAAQ,UAAE8B,EAAS,kBAAE+qB,EAAiB,QAAE3gB,IAChGtN,EAAMg8B,UAAU17B,iBAAiBW,GAAa0xB,cAAcvxB,GAAUwxB,aAAe,IAChF5yB,EAAMg8B,UAAU17B,iBAAiBW,GAAa0xB,cAAcvxB,GAC5DwxB,aAAalnB,QAAOsV,GAAKA,EAAE9d,YAAcA,GAAa8d,EAAE6R,aAAe5E,OACvE3gB,EAEP,EACAuvB,mCAAAA,CAAoC78B,GAAO,YAACiB,EAAW,SAAEG,EAAQ,UAAE8B,EAAS,kBAAE+qB,EAAiB,QAAE3gB,IAC/F,MAAMsnB,EAAc50B,EAAMg8B,UAAUzL,gBAAgBtvB,GAAa0zB,aAAavzB,GAAUyzB,YAAYvG,MAAKjK,GAAKA,EAAEnhB,YAAcA,GAAamhB,EAAEwO,aAAe5E,IAC5J2G,EAAYrD,kBAAoBjkB,EAAQikB,kBACxCqD,EAAYpD,sBAAwBlkB,EAAQkkB,sBAC5CoD,EAAYhD,kBAAoBtkB,EAAQskB,kBACxCgD,EAAYnD,iBAAmBnkB,EAAQmkB,iBACvCmD,EAAYlD,qBAAuBpkB,EAAQokB,qBAC3CkD,EAAYjD,gBAAkBrkB,EAAQqkB,eACxC,EAEAmL,2CAAAA,CAA4C98B,GAAO,YAACiB,EAAW,kBAAEgtB,EAAiB,oBAAE8O,IAClF,MAAMnkB,EAAY5Y,EAAM8C,aAAa2qB,WAAWxsB,GAChD2X,EAAUia,WAAa5E,EACvB8O,EAAoB/4B,SAAQ,CAACg5B,EAAStO,KACpC,GAAY,GAATA,EAAY,CACb,MAAMgE,EAAa9Z,EAAU8Z,WAAWb,QAAQvD,MAAKnZ,GAAmB,IAAdA,EAAE4d,WAC5DL,EAAW9uB,MAAQo5B,EAEnBpkB,EAAUia,WAAa5E,C,KAEpB,CACH,MAAM+G,EAAepc,EAAUoa,cAActE,EAAQ,GAAGmD,QAAQvD,MAAKnZ,GAAmB,IAAdA,EAAE4d,WAC5EiC,EAAapxB,MAAQo5B,C,IAM3B,EACAC,iCAAAA,CAAkCj9B,GAAO,UAAEkD,EAAS,kBAAE+qB,EAAiB,QAAE4D,IACvE7xB,EAAMi8B,eAAe/4B,UAAYA,EACjClD,EAAMi8B,eAAehO,kBAAoBA,EACzCjuB,EAAMi8B,eAAepK,QAAUA,CACjC,EACAqL,iBAAAA,CAAkBl9B,EAAOsN,GACvBtN,EAAM6C,aAAeyK,CACvB,EACA6vB,iBAAAA,CAAkBn9B,EAAOsN,GACvBtN,EAAM8C,aAAewK,EACrBtN,EAAM8C,aAAaI,UAAYoK,EAAQpK,UACvClD,EAAMkD,UAAYoK,EAAQpK,UAC1B,IAAI,IAAImf,EAAE,EAAGA,EAAE/U,EAAQmgB,WAAWltB,OAAQ8hB,IACxCriB,EAAM8C,aAAa2qB,WAAWpL,GAAGwQ,WAAavlB,EAAQmgB,WAAWpL,GAAGqQ,WAAWzE,kBAC/EjuB,EAAM8C,aAAa2qB,WAAWpL,GAAGphB,YAAcohB,CAEnD,EACA+a,oBAAAA,CAAqBp9B,EAAOsN,GAC1BtN,EAAM47B,QAAUtuB,CAClB,EACA+vB,sBAAAA,CAAuBr9B,EAAOsN,GAC5BtN,EAAM67B,WAAavuB,CACrB,EACAgwB,uBAAAA,CAAwBt9B,EAAOsN,GAC7BtN,EAAMm8B,kBAAoB7uB,CAC5B,EACAiwB,gCAAAA,CAAiCv9B,EAAOsN,GACtCtN,EAAMo8B,0BAA4B9uB,CACpC,EACAkwB,aAAAA,CAAcx9B,EAAOsN,GACnBtN,EAAM8C,aAAa0tB,gBAAkBljB,EAAQkjB,gBAC7CxwB,EAAMg8B,UAAUyB,uBAAyBnwB,EAAQmwB,sBACnD,GAGW3O,EAAU,CACrB4O,mBAAAA,EAAoB,OAAC17B,GAASsL,GAC5BtL,EAAO,yBAA0BsL,GACjCtL,EAAO,mBAAmB,EAC5B,EACA27B,+BAAAA,EAAgC,OAAC37B,GAASsL,GACxCtL,EAAO,uCAAwCsL,GAC/CtL,EAAO,mBAAmB,EAC5B,EACA47B,8BAAAA,EAA+B,OAAC57B,GAASsL,GACvCtL,EAAO,sCAAuCsL,GAC9CtL,EAAO,mBAAmB,EAC5B,EACA67B,qCAAAA,EAAsC,OAAC77B,GAASsL,GAC9CtL,EAAO,8CAA+CsL,GACtDtL,EAAO,mBAAmB,EAC5B,EACA87B,6BAAAA,EAA8B,OAAC97B,GAASsL,GACtCtL,EAAO,oCAAqCsL,GAC5CtL,EAAO,mBAAmB,EAC5B,GAIWiB,EAAW,CACtBjD,MAAK,EACLI,QAAO,EACPiuB,UAAS,EACTS,QAAOA,GClIT3vB,EAAAA,WAAIC,IAAIkuB,EAAAA,IAER,UAAmBA,EAAAA,GAAAA,MAAW,CAC5BttB,MAAO,CACL+9B,SAAU,CACR5N,kBAAmB,IAErB/uB,UAAW,EACX8B,eAAW0I,EACXqiB,uBAAmBriB,EACnB3K,iBAAa2K,EACb6hB,WAAY,GACZuQ,kBAAmB,EACnBn8B,OAAQ,KACR5B,cAAe,CACbg+B,aAAc,GACd/9B,UAAW,KACXg+B,oBAAqB,KACrBC,sBAAuB,KACvBC,gBAAiB,KACjBC,gBAAiB,IAEnBC,oBAAqB,EACrBztB,mBAAoB,CAClB3N,UAAW,KACX+sB,YAAa,KACbsO,mBAAoB,KACpBC,YAAa,KACb3L,WAAY,KACZ4L,sBAAuB,KACvBC,OAAQ,KACRt6B,KAAM,KACNu6B,OAAQ,KACR37B,eAAe,EACf47B,UAAU,EACVC,UAAU,EACVC,SAAS,EACTC,aAAc,GACdC,mBAAoB,IAEtBh8B,eAAe,EACf47B,UAAU,EACVC,UAAU,EACVC,SAAS,EACTG,yBAA0B,CAAC,EAC3BxqB,kBAAmB,KACnByqB,4BAA6B,CAAC,EAC9BC,QAAS,CACPC,YAAa,GACbC,aAAc,GACdC,aAAc,GAEhBC,kBAAmB,GACnBvpB,YAAa,KACbwpB,qBAAiB5zB,EACjB6zB,oBAAgB7zB,EAChB8zB,WAAO9zB,EACP+zB,uBAAwB,GACxBC,WAAY,CAAC,EACbC,WAAY,GACZ1S,YAAY,EACZ2S,mBAAel0B,EACfzD,mBAAmB,EACnBoiB,eAAe,EACfhO,WAAY,KACZwjB,gBAAgB,EAChBpkB,oBAAoB,EACpBgC,SAAU,CACRnB,kBAAmB,KACnBoB,WAAY,OAGhBxd,QAAS,CACP++B,QAAUn/B,GAAUA,EAAMm/B,QAC1Bt9B,OAAS7B,GAAUA,EAAM6B,OACzB3B,UAAYF,GAAUA,EAAMC,cAAcC,UAC1C8/B,uBAAyBhgC,GAAUA,EAAM6Q,mBAAmBof,YAC5DjtB,cAAgBhD,GAAUA,EAAMgD,cAChC47B,SAAW5+B,GAAUA,EAAM4+B,SAC3BC,SAAW7+B,GAAUA,EAAM6+B,SAC3BC,QAAU9+B,GAAUA,EAAM8+B,QAC1B57B,UAAYlD,GAAUA,EAAM6Q,mBAAmB3N,UAC/C8S,YAAchW,GAAUA,EAAMgW,YAC9B2pB,uBAAyB3/B,GAAUA,EAAM2/B,uBACzCH,gBAAkBx/B,GAAUA,EAAMw/B,gBAClCC,eAAiBz/B,GAAUA,EAAMy/B,eACjCtS,WAAantB,GAAUA,EAAMmtB,WAC7BhlB,kBAAoBnI,GAAUA,EAAMmI,kBACpCoiB,cAAgBvqB,GAAUA,EAAMuqB,cAChChO,WAAavc,GAAUA,EAAMuc,WAC7BwjB,eAAiB//B,GAAUA,EAAM+/B,eACjCE,cAAgBjgC,IACbA,EAAM6B,QAAU,CAAEo+B,cAAe,KAAMA,cAC1C7+B,SAAWpB,GAAUA,EAAMoB,SAC3BH,YAAcjB,GAAUA,EAAMiB,YAC9B0a,mBAAqB3b,GAAUA,EAAM2b,mBACrClH,kBAAoBzU,GAAUA,EAAMyU,kBACpCyrB,qBAAAA,CAAsBlgC,GACpB,MAAMi8B,EAAiB,CACrBkE,OAAQ,CAAC,GAEX,IAAItO,EAAU,KAQd,OAPI7xB,EAAMgW,YACR6b,EAAU7xB,EAAM6B,OAAOu+B,eAAepgC,EAAMgW,YAAY9S,WAC/ClD,EAAMyU,oBACfod,EACE7xB,EAAM6B,OAAOu+B,eAAepgC,EAAMyU,kBAAkBvR,YAGzC,MAAX2uB,EAAwBoK,EACrB,IAAKA,KAAmBpK,EACjC,EACA9T,YAAAA,CAAa/d,GACX,SACE8D,OAAO2H,KAAKzL,EAAMi/B,0BAA0B1+B,SAC5CP,EAAMyU,kBAEV,EACA4I,cAAAA,CAAerd,EAAOI,GACpB,QAAKJ,EAAMgW,eACPhW,EAAMyU,iBAEZ,EACA4rB,yBAAAA,CAA0BrgC,EAAOI,GAC/B,IAAKJ,EAAMgW,YAAa,OAAO,EAC/B,MAAM9S,EAAYlD,EAAMgW,YAAY9S,UACpC,OAAqB,MAAdA,GAAqB9C,EAAQid,cACtC,EACAijB,mBAAAA,CAAoBtgC,EAAOI,GACzB,IAAKJ,EAAMgW,YAAa,OAAO,EAC/B,MAAM9S,EAAYlD,EAAMgW,YAAY9S,UACpC,MAAO,CAAC,IAAK,IAAK,KAAK4E,SAAS5E,IAAc9C,EAAQid,cACxD,EACAkjB,cAAAA,CAAevgC,GACb,MAAMkD,EAAYlD,EAAMgW,aAAa9S,UACrC,OAAqB,MAAdA,CACT,EACAs9B,sBAAAA,CAAuBxgC,GACrB,OAAOA,EAAMk/B,4BAA4B9rB,EAAAA,GAAWC,MACtD,EACAotB,iCAAAA,CAAkCzgC,EAAOI,GACvC,MAAO,CAAC,EAAG,GAAG0H,SAAS1H,EAAQqU,mBAAmBC,KACpD,EACAgsB,mCAAAA,CAAoC1gC,EAAOI,GACzC,MAAO,CAAC,EAAG,GAAG0H,SAAS1H,EAAQqU,mBAAmBC,KACpD,EACAisB,qBAAAA,CAAsB3gC,EAAOI,GAC3B,GAAIA,EAAQsgC,oCAAqC,OAAO,EACxD,MAAMjO,EAAQryB,EAAQogC,uBAChBI,EAAQxgC,EAAQ8/B,sBAAsBU,MACtCC,EAAQzgC,EAAQ8/B,sBAAsBW,MAC5C,IAAKD,IAAUC,EAAO,OAAO,EAC7B,MAAMC,EACJ9gC,EAAMk/B,4BAA4B9rB,EAAAA,GAAWM,sBAC/C,GAAIotB,IAA0BA,EAAwB,EAAG,CACvD,MAAMC,EACJ/gC,EAAMgW,YAAYyX,WAAW,GAAG+M,mBAAmB9uB,QAChDs1B,IACE,CAAC,KAAMvuB,EAAAA,GAAaU,YAAYrL,SAASk5B,EAAGC,sBAC/C1gC,OACJ,GAAIugC,GAAyBC,EAAe,OAAO,C,KAC9C,CACL,MAAMG,EACJlhC,EAAMgW,YAAYyX,WAAW,GAAG+M,mBAAmB9uB,QAAQs1B,IACzDluB,EAAAA,EAAAA,IAAoBkuB,EAAGC,sBACvB1gC,OACJ,GAAIqgC,GAASM,GAAe,EAAG,OAAO,EACtC,GAAIL,GAASK,GAAe,EAAG,OAAO,C,CAExC,OAAO7sB,EAAAA,GAAWE,WAAWzM,SAAS2qB,IAAmB,MAATA,CAClD,EACA0O,qBAAAA,CAAsBnhC,EAAOI,GAC3B,GAAIA,EAAQsgC,oCAAqC,OAAO,EACxD,MAAMjO,EAAQryB,EAAQogC,uBAChBI,EAAQxgC,EAAQ8/B,sBAAsBU,MACtCC,EAAQzgC,EAAQ8/B,sBAAsBW,MAC5C,IAAKD,IAAUC,EAAO,OAAO,EAC7B,GACE7gC,EAAMgW,YAAYyX,WAAW,GAAG+M,mBAAmBxN,MAAMgU,IACvDxuB,EAAAA,EAAAA,IAAoBwuB,EAAGC,sBAGzB,OAAO,EACT,MAAMH,EACJ9gC,EAAMk/B,4BAA4B9rB,EAAAA,GAAWM,sBAC/C,GAAIotB,IAA0BA,EAAwB,EAAG,CACvD,MAAMC,EACJ/gC,EAAMgW,YAAYyX,WAAW,GAAG+M,mBAAmB9uB,QAChDs1B,IACE,CAAC,KAAMvuB,EAAAA,GAAaU,YAAYrL,SAASk5B,EAAGC,sBAC/C1gC,OACJ,GAAIugC,GAAyBC,EAAe,OAAO,C,CAErD,OAAO1sB,EAAAA,GAAWC,WAAWxM,SAAS2qB,IAAmB,MAATA,CAClD,EACA2O,wBAAAA,CAAyBphC,EAAOI,GAC9B,GAAIA,EAAQsgC,oCAAqC,OAAO,EACxD,MAAMjO,EAAQryB,EAAQogC,uBAChBI,EAAQxgC,EAAQ8/B,sBAAsBU,MACtCC,EAAQzgC,EAAQ8/B,sBAAsBW,MAE1C7gC,EAAMk/B,4BAA4B9rB,EAAAA,GAAWM,sBAC/C,SAAKktB,IAAUC,IACRpO,GAASvyB,EAAAA,GAAUkU,MAC5B,EACAitB,yBAAAA,CAA0BrhC,EAAOI,GAC/B,OACGA,EAAQ8/B,sBAAsBU,QAC9BxgC,EAAQ8/B,sBAAsBW,KAEnC,EACArkB,kBAAoBxc,GAAUA,EAAM2d,SAASnB,kBAC7C8kB,2BAAAA,CAA4BthC,EAAOI,GACjC,OAAIA,EAAQmhC,0BAETvhC,EAAMgW,aAAayX,YAChByF,SAASnR,GAAMA,EAAEyY,sBACjBxN,MAAMgU,GAA2B,GAApBA,EAAGtG,eAA0C,GAApBsG,EAAGtG,oBAI7Ct6B,EAAQkgC,qBACRlgC,EAAQigC,2BACRjgC,EAAQmgC,iBAGHngC,EAAQid,gBACjB,EACAmkB,qBAAAA,CAAsBxhC,EAAOI,GAC3B,MAAMqhC,EAAS,CAAC,GACVtoB,EAAU/Y,EAAQ4V,YAAYyX,WAAWyF,SAC5ClS,GAAMA,EAAEwZ,qBAUX,OAPIrhB,EAAQ6T,MAAMhM,GAAsB,GAAhBA,EAAE0gB,cACxBD,EAAO9iC,KAAK,GAEVwa,EAAQ6T,MAAMhM,GAAsB,GAAhBA,EAAE0gB,cACxBD,EAAO9iC,KAAK,GAGP8iC,CACT,GAEFpT,UAAW,CACTsT,UAAAA,CAAW3hC,GACTA,EAAMoB,UAAY,EAClBpB,EAAMkD,eAAY0I,EAClB5L,EAAMiuB,uBAAoBriB,EAC1B5L,EAAMiB,iBAAc2K,EACpB5L,EAAMytB,WAAa,EACrB,EACAmU,SAAAA,CAAU5hC,EAAO6B,GACf7B,EAAM6B,OAASA,CACjB,EACAggC,cAAAA,CAAe7hC,EAAOT,GACpBS,EAAMC,cAAcg+B,aAAe1+B,CACrC,EACAuiC,YAAAA,CAAa9hC,EAAO0U,GAClB1U,EAAMC,cAAcC,UAAYwU,CAClC,EACAqtB,2BAAAA,CAA4B/hC,EAAOgiC,GACjChiC,EAAMC,cAAci+B,oBAAsB8D,CAC5C,EACAC,wBAAAA,CAAyBjiC,EAAOgiC,GAC9BhiC,EAAMC,cAAck+B,sBAAwB6D,CAC9C,EACAE,kBAAAA,CAAmBliC,EAAOmiC,GACxBniC,EAAMC,cAAcm+B,gBAAkB+D,CACxC,EACAC,kBAAAA,CAAmBpiC,EAAO6xB,GACxB7xB,EAAMC,cAAco+B,gBAAkBxM,CACxC,EACAyB,qBAAAA,CAAsBtzB,EAAO8M,GAC3B9M,EAAM6Q,mBAAqB/D,EAC3B9M,EAAMkD,UAAY4J,EAAK5J,UACvBlD,EAAMiuB,kBAAoBnhB,EAAK+lB,WAC/B7yB,EAAMgD,cAAgB8J,EAAK9J,cAC3BhD,EAAM4+B,SAAW9xB,EAAK8xB,SACtB5+B,EAAM6+B,SAAW/xB,EAAK+xB,SACtB7+B,EAAM8+B,QAAUhyB,EAAKgyB,OAGvB,EACAuD,WAAAA,CAAYriC,EAAO4D,GACjB5D,EAAMoB,SAAWwC,CACnB,EACA2vB,YAAAA,CAAavzB,EAAO4D,GAClB5D,EAAMkD,UAAYU,CAEpB,EACA4vB,oBAAAA,CAAqBxzB,EAAO4D,GAC1B5D,EAAMiuB,kBAAoBrqB,CAE5B,EACA0mB,GAAAA,CAAItqB,EAAOsiC,GACT,GAAIA,EAAI/hC,OAAQ,CACd,MAAOnC,EAAKwF,GAAS0+B,EACrBtiC,EAAM5B,GAAOwF,C,KACR,CACL,MAAM,IAAExF,EAAG,MAAEwF,GAAU0+B,EACvBtiC,EAAM5B,GAAOwF,C,CAEjB,EACA2+B,kBAAAA,CAAmBviC,EAAO8M,GACxB,MAAM01B,EAAc11B,EAAKlO,KACnB6jC,EAAc31B,EAAK41B,UACrBD,EACGziC,EAAMu/B,kBAAkBz3B,SAAS06B,IACpCxiC,EAAMu/B,kBAAkB5gC,KAAK6jC,GAG3BxiC,EAAMu/B,kBAAkBz3B,SAAS06B,KACnCxiC,EAAMu/B,kBAAoBv/B,EAAMu/B,kBAAkB7zB,QAC/CC,GAAMA,IAAM62B,IAIrB,EACAG,cAAAA,CAAe3iC,EAAO8M,GACpB,MAAMuzB,IAA4BvzB,IACX,MAAnBA,EAAK5J,WAA+C,GAA1B4J,EAAK2gB,WAAWltB,QAE9C,IAAIqiC,GAA+B,EAChC5iC,EAAMyU,mBAAqB3H,GAA2B,OAAnBA,EAAK5J,YACzC0/B,GAA+B,GAGjC5iC,EAAMgW,YAAclJ,EACpB9M,EAAMkD,UAAY4J,EAAOA,EAAK5J,UAAYlD,EAAMkD,UAChDlD,EAAMgD,gBAAgB8J,IACC,MAAnBA,EAAK5J,WAAqB4J,EAAK2gB,WAAWltB,OAAS,GAEvDP,EAAM4+B,WAAW9xB,GAA0B,MAAnBA,EAAK5J,UAC7BlD,EAAM6+B,WAAW/xB,IACb,CAAC,IAAK,IAAK,IAAK,KAAKhF,SAASgF,EAAK5J,YACnCm9B,GACAuC,GAEJ5iC,EAAM8+B,UAAUhyB,IACO,MAAnBA,EAAK5J,WAAwC,MAAnB4J,EAAK5J,UAErC,EACA2/B,0BAAAA,CAA2B7iC,EAAO8M,GAChC9M,EAAMgW,YAAY8sB,eAAiBh2B,CACrC,EACAi2B,uBAAAA,CAAwB/iC,EAAO8M,GACH,OAAtB9M,EAAMgW,cACRhW,EAAMgW,YAAYgtB,UAAYl2B,EAElC,EACAm2B,yBAAAA,CAA0BjjC,EAAO8M,GACL,OAAtB9M,EAAMgW,aACR7W,EAAAA,WAAAA,IAAQa,EAAMgW,YAAa,6BAA8BlJ,EAE7D,EACAo2B,6BAAAA,CAA8BljC,EAAO8M,GACT,OAAtB9M,EAAMgW,cACRhW,EAAMgW,YAAYmtB,gBAAkBr2B,EAExC,EACAs2B,2BAAAA,CAA4BpjC,EAAO8M,GACP,OAAtB9M,EAAMgW,cACRhW,EAAMgW,YAAYqtB,cAAgBv2B,EAEtC,EACAw2B,oBAAAA,CAAqBtjC,EAAOkZ,GAC1B,MAAMwV,EACJ1uB,EAAMgW,YAAYyX,WAAW,GAAG+M,mBAAmBrM,WAChDrM,GAAMA,EAAEnU,IAAMuL,EAAOvL,MAEZ,GAAV+gB,EACFvvB,EAAAA,WAAAA,IACEa,EAAMgW,YAAYyX,WAAW,GAAG+M,mBAChC9L,EACAxV,GAGFlZ,EAAMgW,YAAYyX,WAAW,GAAG+M,mBAAmB77B,KAAKua,EAE5D,EACAqqB,uBAAAA,CAAwBvjC,EAAOoB,GAC7B,MAAMstB,EACJ1uB,EAAMgW,YAAYyX,WAAW,GAAG+M,mBAAmBrM,WAChDrM,GAAMA,EAAEnU,IAAMvM,IAEnBpB,EAAMgW,YAAYyX,WAAW,GAAG+M,mBAAmBjM,OAAOG,EAAO,EACnE,EACA8U,oBAAAA,CAAqBxjC,EAAO8M,GAC1B,GAAI9M,EAAMgW,YACR,GAAIlJ,EAAK7L,YAAa,CACpB,MAAMuzB,EAAiBx0B,EAAMgW,YAAYyX,WAAWU,WACjDpM,GAAMA,EAAEpU,KAAOb,EAAK7L,cAEjButB,EAAcxuB,EAAMgW,YAAYyX,WACpC+G,GACAgG,mBAAmBrM,WAAWrM,GAAMA,EAAEnU,KAAOb,EAAK1L,WAEpDjC,EAAAA,WAAAA,IACEa,EAAMgW,YAAYyX,WAAW+G,GAAgBgG,mBAC7ChM,EACA,IACKxuB,EAAMgW,YAAYyX,WAAW+G,GAC7BgG,mBAAmBhM,MACnB1hB,EAAKQ,S,KAGP,CACL,MAAMkhB,EACJxuB,EAAMgW,YAAYyX,WAAW,GAAG+M,mBAAmBrM,WAChDrM,GAAMA,EAAEnU,KAAOb,EAAK1L,WAGzBjC,EAAAA,WAAAA,IACEa,EAAMgW,YAAYyX,WAAW,GAAG+M,mBAChChM,EACA,IACKxuB,EAAMgW,YAAYyX,WAAW,GAAG+M,mBACjChM,MAEC1hB,EAAKQ,S,CAKlB,EACAm2B,kBAAAA,CAAmBzjC,EAAO8M,GACxB9M,EAAMw/B,gBAAkB1yB,CAC1B,EACA42B,iBAAAA,CAAkB1jC,EAAO8M,GACvB9M,EAAMy/B,eAAiB3yB,CACzB,EACA62B,qBAAAA,CAAsB3jC,EAAO4jC,GAC3B5jC,EAAMi/B,yBAA2B,CAAC,EAClC,IAAK,MAAM4E,KAAMD,EAAoB,CACnC,MAAM31B,GAAQuG,EAAAA,EAAAA,IAAiBqvB,GAC3B51B,GACF9O,EAAAA,WAAAA,IAAQa,EAAMi/B,yBAA0BhxB,EAAO41B,E,CAGrD,EACAC,oBAAAA,CAAqB9jC,EAAO8M,GAC1B9M,EAAMyU,kBAAoB3H,CAC5B,EACAi3B,8BAAAA,CAA+B/jC,EAAO8M,GACpC9M,EAAMk/B,4BAA8Bp7B,OAAOkgC,YACzCl3B,EAAKjB,KAAKF,GAAM,CAACA,EAAEs4B,gBAAiBt4B,EAAE/H,SAE1C,EACAsgC,uBAAAA,CAAwBlkC,EAAO8M,GAC7B,GAAI9M,EAAMgW,YACR,GAAIlJ,EAAK7L,YAAa,CACpB,MAAMuzB,EAAiBx0B,EAAMgW,YAAYyX,WAAWU,WACjDpM,GAAMA,EAAEpU,KAAOb,EAAK7L,cAEHjB,EAAMgW,YAAYyX,WACpC+G,GACAgG,mBAAmBrM,WAAWrM,GAAMA,EAAEnU,KAAOb,EAAK1L,WAEpDpB,EAAMgW,YAAYyX,WAAa,IAC1BztB,EAAMgW,YAAYyX,WAAWxK,MAAM,EAAGuR,GACzC,IACKx0B,EAAMgW,YAAYyX,WAAW+G,MAC7B1nB,EAAKQ,YAEPtN,EAAMgW,YAAYyX,WAAWxK,MAAMuR,EAAiB,G,MAGzDr1B,EAAAA,WAAAA,IAAQa,EAAMgW,YAAYyX,WAAY,EAAG,IACpCztB,EAAMgW,YAAYyX,WAAW,MAC7B3gB,EAAKQ,SAIhB,EACA62B,eAAAA,CAAgBnkC,EAAO8M,GACjB9M,EAAMgW,aAAehW,EAAMgW,YAAYouB,eACzCpkC,EAAMgW,YAAYouB,aAAe,IAC5BpkC,EAAMgW,YAAYouB,gBAClBt3B,GAGT,EACAu3B,aAAAA,CAAcrkC,EAAO8M,GACnB9M,EAAM4/B,WAAa9yB,CACrB,EACAw3B,oBAAAA,CAAqBtkC,EAAO8M,GAC1B9M,EAAM6/B,WAAa/yB,CACrB,EACAy3B,qBAAAA,CAAsBvkC,EAAO2b,GAC3B3b,EAAM2b,mBAAqBA,CAC7B,EAEA6oB,yBAAAA,CAA0BxkC,EAAOsN,GAC/B,MAAM8mB,EACJp0B,EAAMgW,YAAYyX,WAAW,GAAG+M,mBAAmBlM,MAChDpV,GAAWA,EAAOvL,KAAOL,EAAQlM,WAGlCgzB,IACFA,EAAaT,gBAAkBrmB,EAAQ+nB,QAE3C,EACAoP,4BAAAA,CAA6BzkC,EAAO8M,GAClC9M,EAAM2/B,uBAAyB7yB,CACjC,EACA6sB,gBAAAA,CAAiB35B,GACfA,EAAMgW,YAAc,KACpBhW,EAAMu/B,kBAAoB,EAC5B,EACAmF,UAAAA,CAAW1kC,EAAO2kC,GAChB3kC,EAAMmtB,WAAawX,CACrB,EACAC,uBAAAA,CAAwB5kC,EAAOmI,GAC7BnI,EAAMmI,kBAAoBA,CAC5B,EACA08B,mBAAAA,CAAoB7kC,EAAOuqB,GACzBvqB,EAAMuqB,cAAgBA,CACxB,EACAua,eAAAA,CAAgB9kC,EAAOuc,GACrBvc,EAAMuc,WAAaA,CACrB,EACAwoB,oBAAAA,CAAqB/kC,EAAO+/B,GAC1B//B,EAAM+/B,eAAiBA,CACzB,EACAiF,0BAAAA,CAA2BhlC,EAAOilC,GAChCjlC,EAAMgW,YAAYivB,WAAaA,CACjC,EACAC,eAAAA,CAAgBllC,GAEd,GAAIuF,aAAaC,QAAQ,aAAc,CAErC,MAAM2/B,EAAW56B,KAAKoF,MAAMpK,aAAaC,QAAQ,cAAgB,IACjE,GAAI2/B,EAAU,CACZ,MACEzV,iBAAkB0V,EAClBxW,SAAUyW,EACVxM,KAAMyM,EACN3J,aAAc1qB,EACdmqB,mBAAoBmK,KACjBC,GACDL,EAKJ,GAJArhC,OAAO6qB,OAAO3uB,EAAOwlC,GAEjBJ,GACFthC,OAAO6qB,OAAOe,EAAiB1vB,MAAOolC,GACpCC,EAAU,CACZ,MAAM,eAAEzV,EAAc,MAAEvvB,EAAK,aAAEwuB,KAAiB4W,GAC9CJ,EACFvhC,OAAO6qB,OAAOC,EAAS5uB,MAAOylC,GAC9B3hC,OAAO6qB,OAAOC,EAAS5uB,MAAM4vB,eAAgBA,GAC7C9rB,OAAO6qB,OAAOC,EAAS5uB,MAAMK,MAAOA,GACpCyD,OAAO6qB,OAAOC,EAAS5uB,MAAM6uB,aAAcA,E,CAEzCyW,GAAMxhC,OAAO6qB,OAAOkK,EAAK74B,MAAOslC,GAChCr0B,GAAcnN,OAAO6qB,OAAOgN,EAAa37B,MAAOiR,GAChDs0B,GACFzhC,OAAO6qB,OAAOyM,EAAmBp7B,MAAOulC,GAE1ChgC,aAAa4H,WAAW,Y,EAG9B,EACAu4B,YAAAA,CAAa1lC,GAAO,kBAAEwc,EAAiB,WAAEoB,IACvC5d,EAAM2d,SAASnB,kBAAoBA,EACnCxc,EAAM2d,SAASC,WAAaA,CAC9B,EACA+nB,8BAAAA,CAA+B3lC,EAAO8M,GACpC9M,EAAMgW,YAAY4vB,iBAAmB94B,CACvC,GAEFgiB,QAAS,CACP+W,cAAAA,EAAe,SAAE/O,IACfA,EAAS,qBACTA,EAAS,uBACX,EACAgP,wBAAAA,EAAyB,OAAE9jC,GAAU8K,GACnC9K,EAAO,qBAAsB8K,EAC/B,EACAi5B,oBAAAA,EAAqB,OAAE/jC,GAAU8K,GAC/B9K,EAAO,iBAAkB8K,EAC3B,EACAm2B,yBAAAA,EAA0B,OAAEjhC,GAAU8K,GACpC9K,EAAO,4BAA6B8K,EACtC,EACAo2B,6BAAAA,EAA8B,OAAElhC,GAAU8K,GACxC9K,EAAO,gCAAiC8K,EAC1C,EACAs2B,2BAAAA,EAA4B,OAAEphC,GAAU8K,GACtC9K,EAAO,8BAA+B8K,EACxC,EACAk5B,wBAAAA,EAAyB,OAAEhkC,GAAU8K,GACnC9K,EAAO,qBAAsB8K,EAC/B,EACAm5B,uBAAAA,EAAwB,OAAEjkC,GAAU8K,GAClC9K,EAAO,oBAAqB8K,EAC9B,EACAo5B,sBAAAA,EAAuB,OAAElkC,GAAU8K,GACjC9K,EAAO,mBAAoB8K,EAC7B,EACA02B,oBAAAA,EAAqB,OAAExhC,GAAU8K,GAC/B9K,EAAO,uBAAwB8K,EACjC,EACAo3B,uBAAAA,EAAwB,OAAEliC,GAAU8K,GAClC9K,EAAO,0BAA2B8K,EACpC,EACAq5B,wBAAAA,EAAyB,OAAEnkC,GAAU8K,GACnC9K,EAAO,4BAA6B8K,EACtC,EACAs5B,yBAAAA,EAA0B,OAAEpkC,GAAU8K,GACpC9K,EAAO,+BAAgC8K,EACzC,EACAq3B,eAAAA,EAAgB,OAAEniC,GAAU8K,GAC1B9K,EAAO,kBAAmB8K,EAC5B,EACAu5B,0BAAAA,EAA2B,OAAErkC,GAAU4B,GACrC5B,EAAO,uBAAwB4B,GAC/B5B,EAAO,iCACT,EACAqiC,aAAAA,EAAc,OAAEriC,GAAU4B,GACxB5B,EAAO,gBAAiB4B,EAC1B,EACA0gC,oBAAAA,EAAqB,OAAEtiC,GAAU4B,GAC/B5B,EAAO,uBAAwB4B,EACjC,EACA2gC,qBAAAA,EAAsB,OAAEviC,GAAU4B,GAChC5B,EAAO,wBAAyB4B,EAClC,EACA0iC,SAAAA,EAAU,OAAEtkC,GAAU2iC,GACpB3iC,EAAO,aAAc2iC,EACvB,EACA4B,oBAAAA,EAAqB,OAAEvkC,GAAU2iC,GAC/B3iC,EAAO,0BAA2B2iC,EACpC,EACA6B,gBAAAA,EAAiB,OAAExkC,GAAU2iC,GAC3B3iC,EAAO,sBAAuB2iC,EAChC,EACA8B,aAAAA,EAAc,OAAEzkC,GAAU8K,GACxB9K,EAAO,kBAAmB8K,EAC5B,EACA45B,iBAAAA,EAAkB,OAAE1kC,GAAU2iC,GAC5B3iC,EAAO,uBAAwB2iC,EACjC,EACAgB,8BAAAA,EAA+B,OAAE3jC,GAAU8K,GACzC9K,EAAO,iCAAkC8K,EAC3C,GAEF65B,QAAS,CACPjX,iBAAgB,EAChBd,SAAQ,EACRiK,KAAI,EACJ8C,aAAY,EACZP,mBAAkB,EAClBn4B,SAAQA,I,qEC/pBZ,IAAIrF,EAAS,WAAkB,IAAIC,EAAIC,KAAQD,EAAIG,MAAMD,GAAUF,EAAIG,MAAMsd,YAAY,OAAOzd,EAAI+oC,GAAG,EACvG,EACI/nC,EAAkB,CAAC,WAAY,IAAIhB,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMsd,YAAY,OAAOvd,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,eAAeF,EAAG,MAAM,CAACE,YAAY,eAAeF,EAAG,MAAM,CAACE,YAAY,kBAChP,G,WCUA,EAAAkB,EAAAA,WAAAwd,OAAA,CACA,GCdwP,I,WCQpP1d,GAAY,OACd,EACArB,EACAiB,GACA,EACA,KACA,WACA,MAIF,EAAeI,EAAiB,O,kRCjBzB,MAAM6B,EAAuBF,MAAOimC,EAAW9mC,KACpD,MAAMsD,EAAckC,aAAaC,QAAQ,gBACnC8C,EAAe/C,aAAaC,QAAQ,iBAE1C,OAAI8C,GACGjF,SAEG6G,EAAAA,GACH7G,YAAYiF,GACZG,MAAK7H,UACJb,EAAMiC,OAAO,iBAAkB4K,GAC/BrH,aAAa0D,QAAQ,eAAgB2D,EAAI,IAE1CvD,OAAO9C,IACNugC,EAAgBD,EAAW9mC,EAAM,IAGhC8mC,UAGDC,EAAgBD,EAAW9mC,GAC1B,KACT,EAGWgnC,EAAiBnmC,MAAOiB,EAAQglC,EAAW9mC,KACtD,MAAMorB,EAActpB,EAAOmlC,mBACrBC,EAAWplC,EAAOwD,SAClB6hC,EAAUrlC,EAAOslC,YACjBC,EAAMvlC,EAAOwlC,QACnB,IAAIC,EACAlkC,EAGFkkC,EADET,EACiBU,mBAAmB,wBAAwBV,KAE3CU,mBAAmB,aAItCnkC,EADEgkC,EACI,GAAGH,IAAW9b,gBAA0Bmc,aAA4BJ,SAAeE,IAEnF,GAAGH,IAAW9b,gBAA0Bmc,aAA4BJ,IAG5E,MAAM7jC,EAAckC,aAAaC,QAAQ,gBACnC8C,EAAe/C,aAAaC,QAAQ,iBAE1C,OAAI8C,GACGjF,SACG6G,EAAAA,GACH7G,YAAYiF,GACZG,MAAK7H,UACJb,EAAMiC,OAAO,iBAAkB4K,GAC/BrH,aAAa0D,QAAQ,eAAgB2D,EAAI,IAE1CvD,OAAO9C,GACCnD,IAIN,eAGFA,CAAG,EAGN0jC,EAAkBlmC,MAAOimC,EAAW9mC,KACxC,IAAI4H,EAAgB5H,EAAMK,QAAQyB,OAElC,OAAQ8F,QACAN,EAAM,KACZM,EAAgB5H,EAAMK,QAAQyB,OAGhC0D,aAAa0D,QAAQ,YAAasB,KAAKC,UAAUzK,EAAMC,QAEvD,IAAIoD,QAAY2jC,EAAep/B,EAAek/B,EAAW9mC,GACzD0B,SAASgD,SAASC,KAAOtB,CAAG,EAG9B,SAASiE,EAAMC,GACb,OAAO,IAAIC,SAASC,GAAYC,WAAWD,EAASF,IACtD,C,8iBCpFIkgC,EAA2B,CAAC,EAGhC,SAAStyB,EAAoBuyB,GAE5B,IAAIC,EAAeF,EAAyBC,GAC5C,QAAqB77B,IAAjB87B,EACH,OAAOA,EAAapyB,QAGrB,IAAID,EAASmyB,EAAyBC,GAAY,CACjD95B,GAAI85B,EACJE,QAAQ,EACRryB,QAAS,CAAC,GAUX,OANAsyB,EAAoBH,GAAUvd,KAAK7U,EAAOC,QAASD,EAAQA,EAAOC,QAASJ,GAG3EG,EAAOsyB,QAAS,EAGTtyB,EAAOC,OACf,CAGAJ,EAAoB4M,EAAI8lB,E,WC5BxB,IAAIC,EAAW,GACf3yB,EAAoBoM,EAAI,SAASwmB,EAAQC,EAAU1pC,EAAI2pC,GACtD,IAAGD,EAAH,CAMA,IAAIE,EAAeC,IACnB,IAAS7lB,EAAI,EAAGA,EAAIwlB,EAAStnC,OAAQ8hB,IAAK,CACrC0lB,EAAWF,EAASxlB,GAAG,GACvBhkB,EAAKwpC,EAASxlB,GAAG,GACjB2lB,EAAWH,EAASxlB,GAAG,GAE3B,IAJA,IAGI8lB,GAAY,EACPxmB,EAAI,EAAGA,EAAIomB,EAASxnC,OAAQohB,MACpB,EAAXqmB,GAAsBC,GAAgBD,IAAalkC,OAAO2H,KAAKyJ,EAAoBoM,GAAG8mB,OAAM,SAAShqC,GAAO,OAAO8W,EAAoBoM,EAAEljB,GAAK2pC,EAASpmB,GAAK,IAChKomB,EAASxZ,OAAO5M,IAAK,IAErBwmB,GAAY,EACTH,EAAWC,IAAcA,EAAeD,IAG7C,GAAGG,EAAW,CACbN,EAAStZ,OAAOlM,IAAK,GACrB,IAAIpW,EAAI5N,SACEuN,IAANK,IAAiB67B,EAAS77B,EAC/B,CACD,CACA,OAAO67B,CArBP,CAJCE,EAAWA,GAAY,EACvB,IAAI,IAAI3lB,EAAIwlB,EAAStnC,OAAQ8hB,EAAI,GAAKwlB,EAASxlB,EAAI,GAAG,GAAK2lB,EAAU3lB,IAAKwlB,EAASxlB,GAAKwlB,EAASxlB,EAAI,GACrGwlB,EAASxlB,GAAK,CAAC0lB,EAAU1pC,EAAI2pC,EAwB/B,C,eC5BA9yB,EAAoB6L,EAAI,SAAS1L,GAChC,IAAIgzB,EAAShzB,GAAUA,EAAOizB,WAC7B,WAAa,OAAOjzB,EAAO,UAAY,EACvC,WAAa,OAAOA,CAAQ,EAE7B,OADAH,EAAoB6O,EAAEskB,EAAQ,CAAE/lB,EAAG+lB,IAC5BA,CACR,C,eCNAnzB,EAAoB6O,EAAI,SAASzO,EAASizB,GACzC,IAAI,IAAInqC,KAAOmqC,EACXrzB,EAAoBC,EAAEozB,EAAYnqC,KAAS8W,EAAoBC,EAAEG,EAASlX,IAC5E0F,OAAO0kC,eAAelzB,EAASlX,EAAK,CAAEqqC,YAAY,EAAM79B,IAAK29B,EAAWnqC,IAG3E,C,eCPA8W,EAAoB2M,EAAI,CAAC,EAGzB3M,EAAoB5G,EAAI,SAASo6B,GAChC,OAAOnhC,QAAQohC,IAAI7kC,OAAO2H,KAAKyJ,EAAoB2M,GAAG+mB,QAAO,SAASC,EAAUzqC,GAE/E,OADA8W,EAAoB2M,EAAEzjB,GAAKsqC,EAASG,GAC7BA,CACR,GAAG,IACJ,C,eCPA3zB,EAAoBoP,EAAI,SAASokB,GAEhC,MAAO,OAAS,CAAC,IAAM,cAAc,IAAM,kBAAkB,IAAM,wBAAwB,IAAM,kBAAkB,IAAM,sBAAsB,IAAM,kBAAkB,KAAO,oBAAoB,KAAO,oBAAoB,KAAO,gBAAgB,KAAO,qBAAqB,KAAO,mBAAmB,KAAO,YAAY,KAAO,UAAU,KAAO,gBAAgB,KAAO,aAAa,KAAO,wBAAwB,KAAO,yBAAyB,KAAO,oCAAoC,KAAO,iBAAiB,KAAO,qBAAqB,KAAO,uCAAuC,KAAO,uBAAuB,KAAO,sBAAsB,KAAO,WAAW,KAAO,UAAU,KAAO,iBAAiB,KAAO,0BAA0B,KAAO,+BAA+B,KAAO,kBAAkB,KAAO,kBAAkB,KAAO,oCAAoC,KAAO,kCAAkC,KAAO,oBAAoB,KAAO,WAAW,KAAO,iBAAiB,KAAO,MAAM,KAAO,kBAAkB,KAAO,qBAAqB,KAAO,kBAAkB,KAAO,eAAe,KAAO,uBAAuB,KAAO,mBAAmB,KAAO,WAAW,KAAO,8BAA8B,KAAO,oBAAoB,KAAO,oBAAoB,KAAO,QAAQ,KAAO,wBAAwB,KAAO,gBAAgB,KAAO,QAAQ,KAAO,uCAAuC,KAAO,YAAY,KAAO,iBAAiB,KAAO,wBAAwB,KAAO,kBAAkB,KAAO,6BAA6B,KAAO,kBAAkB,KAAO,QAAQ,KAAO,yBAAyB,KAAO,sBAAsB,KAAO,mBAAmB,KAAO,yBAAyB,KAAO,aAAa,KAAO,eAAe,KAAO,kBAAkB,KAAO,gBAAgB,KAAO,cAAc,KAAO,uBAAuB,KAAO,iBAAiB,KAAO,4BAA4BA,IAAYA,GAAW,IAAM,CAAC,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,YAAYA,GAAW,KACr5G,C,eCHAxzB,EAAoB4zB,SAAW,SAASJ,GAEvC,MAAO,QAAU,CAAC,IAAM,cAAc,IAAM,kBAAkB,IAAM,wBAAwB,IAAM,kBAAkB,IAAM,sBAAsB,KAAO,oBAAoB,KAAO,oBAAoB,KAAO,gBAAgB,KAAO,qBAAqB,KAAO,mBAAmB,KAAO,YAAY,KAAO,UAAU,KAAO,aAAa,KAAO,wBAAwB,KAAO,yBAAyB,KAAO,oCAAoC,KAAO,iBAAiB,KAAO,qBAAqB,KAAO,uCAAuC,KAAO,uBAAuB,KAAO,sBAAsB,KAAO,UAAU,KAAO,iBAAiB,KAAO,+BAA+B,KAAO,kBAAkB,KAAO,oCAAoC,KAAO,kCAAkC,KAAO,oBAAoB,KAAO,WAAW,KAAO,iBAAiB,KAAO,kBAAkB,KAAO,qBAAqB,KAAO,kBAAkB,KAAO,eAAe,KAAO,uBAAuB,KAAO,mBAAmB,KAAO,WAAW,KAAO,8BAA8B,KAAO,oBAAoB,KAAO,oBAAoB,KAAO,QAAQ,KAAO,wBAAwB,KAAO,gBAAgB,KAAO,uCAAuC,KAAO,YAAY,KAAO,iBAAiB,KAAO,wBAAwB,KAAO,kBAAkB,KAAO,6BAA6B,KAAO,kBAAkB,KAAO,QAAQ,KAAO,yBAAyB,KAAO,uBAAuB,KAAO,sBAAsB,KAAO,mBAAmB,KAAO,yBAAyB,KAAO,aAAa,KAAO,eAAe,KAAO,kBAAkB,KAAO,gBAAgB,KAAO,cAAc,KAAO,uBAAuB,KAAO,iBAAiB,KAAO,4BAA4BA,IAAYA,GAAW,IAAM,CAAC,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,IAAM,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,WAAW,KAAO,YAAYA,GAAW,MAC7+F,C,eCJAxzB,EAAoB0M,EAAI,WACvB,GAA0B,kBAAfmnB,WAAyB,OAAOA,WAC3C,IACC,OAAOjrC,MAAQ,IAAIkrC,SAAS,cAAb,EAChB,CAAE,MAAO16B,GACR,GAAsB,kBAAX3M,OAAqB,OAAOA,MACxC,CACA,CAPuB,E,eCAxBuT,EAAoBC,EAAI,SAASmtB,EAAK2G,GAAQ,OAAOnlC,OAAOklB,UAAUkgB,eAAehf,KAAKoY,EAAK2G,EAAO,C,eCAtG,IAAIE,EAAa,CAAC,EACdC,EAAoB,OAExBl0B,EAAoBqP,EAAI,SAASnhB,EAAKw3B,EAAMx8B,EAAKsqC,GAChD,GAAGS,EAAW/lC,GAAQ+lC,EAAW/lC,GAAKzE,KAAKi8B,OAA3C,CACA,IAAItvB,EAAQ+9B,EACZ,QAAWz9B,IAARxN,EAEF,IADA,IAAIqsB,EAAUhpB,SAAS2kB,qBAAqB,UACpC/D,EAAI,EAAGA,EAAIoI,EAAQlqB,OAAQ8hB,IAAK,CACvC,IAAIyB,EAAI2G,EAAQpI,GAChB,GAAGyB,EAAEwlB,aAAa,QAAUlmC,GAAO0gB,EAAEwlB,aAAa,iBAAmBF,EAAoBhrC,EAAK,CAAEkN,EAASwY,EAAG,KAAO,CACpH,CAEGxY,IACH+9B,GAAa,EACb/9B,EAAS7J,SAAS8B,cAAc,UAEhC+H,EAAOi+B,QAAU,QACjBj+B,EAAOk+B,QAAU,IACbt0B,EAAoBu0B,IACvBn+B,EAAOnH,aAAa,QAAS+Q,EAAoBu0B,IAElDn+B,EAAOnH,aAAa,eAAgBilC,EAAoBhrC,GAExDkN,EAAOuY,IAAMzgB,GAEd+lC,EAAW/lC,GAAO,CAACw3B,GACnB,IAAI8O,EAAmB,SAASC,EAAMhiB,GAErCrc,EAAO0a,QAAU1a,EAAOya,OAAS,KACjC6jB,aAAaJ,GACb,IAAIK,EAAUV,EAAW/lC,GAIzB,UAHO+lC,EAAW/lC,GAClBkI,EAAO+a,YAAc/a,EAAO+a,WAAW/hB,YAAYgH,GACnDu+B,GAAWA,EAAQ7lC,SAAQ,SAAS3F,GAAM,OAAOA,EAAGspB,EAAQ,IACzDgiB,EAAM,OAAOA,EAAKhiB,EACtB,EACI6hB,EAAU/hC,WAAWiiC,EAAiBI,KAAK,UAAMl+B,EAAW,CAAE8I,KAAM,UAAWq1B,OAAQz+B,IAAW,MACtGA,EAAO0a,QAAU0jB,EAAiBI,KAAK,KAAMx+B,EAAO0a,SACpD1a,EAAOya,OAAS2jB,EAAiBI,KAAK,KAAMx+B,EAAOya,QACnDsjB,GAAc5nC,SAASuoC,KAAKnmC,YAAYyH,EApCkB,CAqC3D,C,eCxCA4J,EAAoBjJ,EAAI,SAASqJ,GACX,qBAAX20B,QAA0BA,OAAOC,aAC1CpmC,OAAO0kC,eAAelzB,EAAS20B,OAAOC,YAAa,CAAEtmC,MAAO,WAE7DE,OAAO0kC,eAAelzB,EAAS,aAAc,CAAE1R,OAAO,GACvD,C,eCNAsR,EAAoBi1B,IAAM,SAAS90B,GAGlC,OAFAA,EAAO+0B,MAAQ,GACV/0B,EAAOtU,WAAUsU,EAAOtU,SAAW,IACjCsU,CACR,C,eCJAH,EAAoBvJ,EAAI,G,eCAxB,GAAwB,qBAAblK,SAAX,CACA,IAAI4oC,EAAmB,SAAS3B,EAAS4B,EAAUC,EAAQ/iC,EAASkY,GACnE,IAAI8qB,EAAU/oC,SAAS8B,cAAc,QAErCinC,EAAQC,IAAM,aACdD,EAAQ91B,KAAO,WACXQ,EAAoBu0B,KACvBe,EAAQE,MAAQx1B,EAAoBu0B,IAErC,IAAIkB,EAAiB,SAAShjB,GAG7B,GADA6iB,EAAQxkB,QAAUwkB,EAAQzkB,OAAS,KAChB,SAAf4B,EAAMjT,KACTlN,QACM,CACN,IAAIojC,EAAYjjB,GAASA,EAAMjT,KAC3Bm2B,EAAWljB,GAASA,EAAMoiB,QAAUpiB,EAAMoiB,OAAOrlC,MAAQ4lC,EACzD/jC,EAAM,IAAIoD,MAAM,qBAAuB++B,EAAU,cAAgBkC,EAAY,KAAOC,EAAW,KACnGtkC,EAAI3H,KAAO,iBACX2H,EAAI6O,KAAO,wBACX7O,EAAImO,KAAOk2B,EACXrkC,EAAI+D,QAAUugC,EACVL,EAAQnkB,YAAYmkB,EAAQnkB,WAAW/hB,YAAYkmC,GACvD9qB,EAAOnZ,EACR,CACD,EAUA,OATAikC,EAAQxkB,QAAUwkB,EAAQzkB,OAAS4kB,EACnCH,EAAQ9lC,KAAO4lC,EAGXC,EACHA,EAAOlkB,WAAWykB,aAAaN,EAASD,EAAOQ,aAE/CtpC,SAASuoC,KAAKnmC,YAAY2mC,GAEpBA,CACR,EACIQ,EAAiB,SAAStmC,EAAM4lC,GAEnC,IADA,IAAIW,EAAmBxpC,SAAS2kB,qBAAqB,QAC7C/D,EAAI,EAAGA,EAAI4oB,EAAiB1qC,OAAQ8hB,IAAK,CAChD,IAAI6oB,EAAMD,EAAiB5oB,GACvB8oB,EAAWD,EAAI5B,aAAa,cAAgB4B,EAAI5B,aAAa,QACjE,GAAe,eAAZ4B,EAAIT,MAAyBU,IAAazmC,GAAQymC,IAAab,GAAW,OAAOY,CACrF,CACA,IAAIE,EAAoB3pC,SAAS2kB,qBAAqB,SACtD,IAAQ/D,EAAI,EAAGA,EAAI+oB,EAAkB7qC,OAAQ8hB,IAAK,CAC7C6oB,EAAME,EAAkB/oB,GACxB8oB,EAAWD,EAAI5B,aAAa,aAChC,GAAG6B,IAAazmC,GAAQymC,IAAab,EAAU,OAAOY,CACvD,CACD,EACIG,EAAiB,SAAS3C,GAC7B,OAAO,IAAInhC,SAAQ,SAASC,EAASkY,GACpC,IAAIhb,EAAOwQ,EAAoB4zB,SAASJ,GACpC4B,EAAWp1B,EAAoBvJ,EAAIjH,EACvC,GAAGsmC,EAAetmC,EAAM4lC,GAAW,OAAO9iC,IAC1C6iC,EAAiB3B,EAAS4B,EAAU,KAAM9iC,EAASkY,EACpD,GACD,EAEI4rB,EAAqB,CACxB,KAAM,GAGPp2B,EAAoB2M,EAAE0pB,QAAU,SAAS7C,EAASG,GACjD,IAAI2C,EAAY,CAAC,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,IAAM,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,EAAE,KAAO,GAC7nBF,EAAmB5C,GAAUG,EAASlqC,KAAK2sC,EAAmB5C,IACzB,IAAhC4C,EAAmB5C,IAAkB8C,EAAU9C,IACtDG,EAASlqC,KAAK2sC,EAAmB5C,GAAW2C,EAAe3C,GAASjgC,MAAK,WACxE6iC,EAAmB5C,GAAW,CAC/B,IAAG,SAASp6B,GAEX,aADOg9B,EAAmB5C,GACpBp6B,CACP,IAEF,CA3E2C,C,eCK3C,IAAIm9B,EAAkB,CACrB,KAAM,GAGPv2B,EAAoB2M,EAAEF,EAAI,SAAS+mB,EAASG,GAE1C,IAAI6C,EAAqBx2B,EAAoBC,EAAEs2B,EAAiB/C,GAAW+C,EAAgB/C,QAAW98B,EACtG,GAA0B,IAAvB8/B,EAGF,GAAGA,EACF7C,EAASlqC,KAAK+sC,EAAmB,SAEjC,GAAG,MAAQhD,EAAS,CAEnB,IAAIiD,EAAU,IAAIpkC,SAAQ,SAASC,EAASkY,GAAUgsB,EAAqBD,EAAgB/C,GAAW,CAAClhC,EAASkY,EAAS,IACzHmpB,EAASlqC,KAAK+sC,EAAmB,GAAKC,GAGtC,IAAIvoC,EAAM8R,EAAoBvJ,EAAIuJ,EAAoBoP,EAAEokB,GAEpDjiC,EAAQ,IAAIkD,MACZiiC,EAAe,SAASjkB,GAC3B,GAAGzS,EAAoBC,EAAEs2B,EAAiB/C,KACzCgD,EAAqBD,EAAgB/C,GACX,IAAvBgD,IAA0BD,EAAgB/C,QAAW98B,GACrD8/B,GAAoB,CACtB,IAAId,EAAYjjB,IAAyB,SAAfA,EAAMjT,KAAkB,UAAYiT,EAAMjT,MAChEm3B,EAAUlkB,GAASA,EAAMoiB,QAAUpiB,EAAMoiB,OAAOlmB,IACpDpd,EAAMC,QAAU,iBAAmBgiC,EAAU,cAAgBkC,EAAY,KAAOiB,EAAU,IAC1FplC,EAAM7H,KAAO,iBACb6H,EAAMiO,KAAOk2B,EACbnkC,EAAM6D,QAAUuhC,EAChBH,EAAmB,GAAGjlC,EACvB,CAEF,EACAyO,EAAoBqP,EAAEnhB,EAAKwoC,EAAc,SAAWlD,EAASA,EAC9D,MAAO+C,EAAgB/C,GAAW,CAGtC,EAUAxzB,EAAoBoM,EAAEK,EAAI,SAAS+mB,GAAW,OAAoC,IAA7B+C,EAAgB/C,EAAgB,EAGrF,IAAIoD,EAAuB,SAASC,EAA4Bj/B,GAC/D,IAKI26B,EAAUiB,EALVX,EAAWj7B,EAAK,GAChBk/B,EAAcl/B,EAAK,GACnBm/B,EAAUn/B,EAAK,GAGIuV,EAAI,EAC3B,GAAG0lB,EAAS/a,MAAK,SAASrf,GAAM,OAA+B,IAAxB89B,EAAgB99B,EAAW,IAAI,CACrE,IAAI85B,KAAYuE,EACZ92B,EAAoBC,EAAE62B,EAAavE,KACrCvyB,EAAoB4M,EAAE2lB,GAAYuE,EAAYvE,IAGhD,GAAGwE,EAAS,IAAInE,EAASmE,EAAQ/2B,EAClC,CAEA,IADG62B,GAA4BA,EAA2Bj/B,GACrDuV,EAAI0lB,EAASxnC,OAAQ8hB,IACzBqmB,EAAUX,EAAS1lB,GAChBnN,EAAoBC,EAAEs2B,EAAiB/C,IAAY+C,EAAgB/C,IACrE+C,EAAgB/C,GAAS,KAE1B+C,EAAgB/C,GAAW,EAE5B,OAAOxzB,EAAoBoM,EAAEwmB,EAC9B,EAEIoE,EAAqBC,KAAK,mBAAqBA,KAAK,oBAAsB,GAC9ED,EAAmBloC,QAAQ8nC,EAAqBhC,KAAK,KAAM,IAC3DoC,EAAmBvtC,KAAOmtC,EAAqBhC,KAAK,KAAMoC,EAAmBvtC,KAAKmrC,KAAKoC,G,ICpFvF,IAAIE,EAAsBl3B,EAAoBoM,OAAE1V,EAAW,CAAC,MAAM,WAAa,OAAOsJ,EAAoB,MAAQ,IAClHk3B,EAAsBl3B,EAAoBoM,EAAE8qB,E","sources":["webpack://web/./src/views/Home.vue","webpack://web/src/views/Home.vue","webpack://web/./src/views/Home.vue?a787","webpack://web/./src/views/Home.vue?8611","webpack://web/./src/router/index.ts","webpack://web/./src/mixins/renewalsSetup.js","webpack://web/./src/mixins/loggedUserMethods.js","webpack://web/./src/api/fetch-middleware.ts","webpack://web/./src/components/Apply/SmartInput.vue","webpack://web/./src/components/Apply/SmartInput.vue?cc36","webpack://web/./src/api/index.js","webpack://web/./src/utils/onlineInvite.ts","webpack://web/./node_modules/moment/locale/ sync ^\\.\\/.*$","webpack://web/./src/utils/icons.js","webpack://web/./src/App.vue","webpack://web/./src/components/Menu.vue","webpack://web/src/components/Menu.vue","webpack://web/./src/components/Menu.vue?6410","webpack://web/./src/components/Menu.vue?2bc7","webpack://web/./src/components/Navbar.vue","webpack://web/src/components/Navbar.vue","webpack://web/./src/components/Navbar.vue?5547","webpack://web/./src/components/Navbar.vue?e7f9","webpack://web/./src/components/Apply/SmartButton.vue","webpack://web/./src/components/Apply/SmartButton.vue?9435","webpack://web/./src/common/cookie-civic.js","webpack://web/src/App.vue","webpack://web/./src/App.vue?0751","webpack://web/./src/App.vue?0e40","webpack://web/./src/main.ts","webpack://web/./src/utils/auth.js","webpack://web/../commonReausables/UIComponents/UIButton.vue","webpack://web/../commonReausables/UIComponents/UIButton.vue?19b7","webpack://web/../commonReausables/UIComponents/UIButton.vue?27ee","webpack://web/./src/components/LoaderDots.vue","webpack://web/src/components/LoaderDots.vue","webpack://web/./src/components/LoaderDots.vue?6c73","webpack://web/./src/components/LoaderDots.vue?478c","webpack://web/./src/store/MultifamilyQuote/index.ts","webpack://web/./src/store/GetQuote/index.ts","webpack://web/./src/store/Auth/auth.ts","webpack://web/./src/store/MedicalDeclaration/index.ts","webpack://web/./src/store/QuoteSumup/quote.ts","webpack://web/./src/store/Renewals/index.ts","webpack://web/./src/store/index.ts","webpack://web/./src/components/DotLoader.vue","webpack://web/src/components/DotLoader.vue","webpack://web/./src/components/DotLoader.vue?fbcb","webpack://web/./src/components/DotLoader.vue?7e73","webpack://web/./src/api/auth-redirect.js","webpack://web/webpack/bootstrap","webpack://web/webpack/runtime/chunk loaded","webpack://web/webpack/runtime/compat get default export","webpack://web/webpack/runtime/define property getters","webpack://web/webpack/runtime/ensure chunk","webpack://web/webpack/runtime/get javascript chunk filename","webpack://web/webpack/runtime/get mini-css chunk filename","webpack://web/webpack/runtime/global","webpack://web/webpack/runtime/hasOwnProperty shorthand","webpack://web/webpack/runtime/load script","webpack://web/webpack/runtime/make namespace object","webpack://web/webpack/runtime/node module decorator","webpack://web/webpack/runtime/publicPath","webpack://web/webpack/runtime/css loading","webpack://web/webpack/runtime/jsonp chunk loading","webpack://web/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-container',{staticClass:\"Home Container Container--mw\"},[_c('hero',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(\"With you at every step\")]},proxy:true},{key:\"subtitle\",fn:function(){return [_vm._v(\"Exceptional care. Expert service.\"),_c('br'),_vm._v(\"Health insurance tailored to you.\")]},proxy:true},{key:\"buttons\",fn:function(){return [_c('button',{staticClass:\"Button Button--red mt-mob\",on:{\"click\":function($event){return _vm.$router.push({name: 'GetQuote'})}}},[_vm._v(\"Get a quote\")]),_c('button',{staticClass:\"Button QuoteButton mt-mob\",on:{\"click\":function($event){return _vm.$router.push({name: 'MyProfile'})}}},[_vm._v(\"Retrieve a quote\")])]},proxy:true}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=5adcb198&scoped=true\"\nimport script from \"./Home.vue?vue&type=script&lang=js\"\nexport * from \"./Home.vue?vue&type=script&lang=js\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=5adcb198&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5adcb198\",\n null\n \n)\n\nexport default component.exports","import VueRouter, { RouteConfig } from \"vue-router\";\r\nimport Home from \"../views/Home.vue\";\r\nimport Vue from \"vue\";\r\nimport store from \"../store/index\";\r\nimport { checkAuthAndRedirect } from \"@/api/auth-redirect\";\r\nimport api from \"@/api\";\r\n\r\nconst DEFAULT_TITLE = \"WebBuy\";\r\n\r\nVue.use(VueRouter);\r\n\r\nconst routes: Array = [\r\n {\r\n path: \"/\",\r\n name: \"Home\",\r\n component: Home,\r\n },\r\n {\r\n path: \"/about\",\r\n name: \"About\",\r\n component: () =>\r\n import(/* webpackChunkName: \"about\" */ \"../views/About.vue\"),\r\n },\r\n {\r\n path: \"/error\",\r\n name: \"Error\",\r\n component: () =>\r\n import(/* webpackChunkName: \"get-quote\" */ \"../views/Error.vue\"),\r\n },\r\n {\r\n path: \"/info\",\r\n name: \"Info\",\r\n component: () =>\r\n import(/* webpackChunkName: \"get-quote\" */ \"../views/Info.vue\"),\r\n },\r\n {\r\n path: \"/unauthorised\",\r\n name: \"Unauthorized\",\r\n component: () =>\r\n import(/* webpackChunkName: \"get-quote\" */ \"../views/Unauthorized.vue\"),\r\n },\r\n {\r\n name: \"GetQuote\",\r\n path: \"/get-quote\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"get-quote\" */ \"../views/FindProduct/FindProduct.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Get Quote\",\r\n },\r\n },\r\n {\r\n name: \"GetQuoteHasInsurance\",\r\n path: \"/get-quote/insurance\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"insurance\" */ \"../views/GetQuote/HasInsurance.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Insurance\",\r\n },\r\n },\r\n {\r\n name: \"GetQuotePostcode\",\r\n path: \"/get-quote/postcode\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"postcode\" */ \"../views/GetQuote/Postcode.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Postcode\",\r\n },\r\n },\r\n {\r\n name: \"GetQuoteBusinessOption\",\r\n path: \"/get-quote/business-option\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"business-option\" */ \"../views/FindProduct/Business.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Find product - Business\",\r\n },\r\n },\r\n {\r\n name: \"GetQuoteTreatmentOption\",\r\n path: \"/get-quote/treatment-option\",\r\n beforeEnter: (to, from, next) => {\r\n if (!store.state.pageDecisions.coverType) {\r\n next(\"/get-quote\");\r\n } else {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"treatment-option\" */ \"../views/FindProduct/CoverLevel.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Find product - Treatment options\",\r\n },\r\n },\r\n {\r\n name: \"GetQuoteCostcoMembership\",\r\n path: \"/get-quote/costco-membership\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"get-quote-costco-membership\" */ \"../views/GetQuote/CostcoMembership.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Get Quote - Costco\",\r\n },\r\n },\r\n {\r\n name: \"GetQuoteCoverLevel\",\r\n path: \"/get-quote/cover-level\",\r\n beforeEnter: (to, from, next) => {\r\n if (!store.state.pageDecisions.coverType) {\r\n next(\"/get-quote\");\r\n } else {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"cover-level\" */ \"../views/FindProduct/PrivateTreatmentCoverLevel.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Find product - Level of cover\",\r\n },\r\n },\r\n {\r\n name: \"GetQuoteExtendedFamilyCoverLevel\",\r\n path: \"/get-quote/extended-cover-level\",\r\n beforeEnter: (to, from, next) => {\r\n if (!store.state.pageDecisions.coverType) {\r\n next(\"/get-quote\");\r\n } else {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"cover-level\" */ \"../views/FindProduct/ExtendedFamilyCoverLevel.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Find product - Level of cover\",\r\n },\r\n },\r\n {\r\n name: \"GetQuoteInclude\",\r\n path: \"/get-quote/include\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"Include\" */ \"../views/FindProduct/Include.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Find product - Level of cover\",\r\n },\r\n },\r\n {\r\n name: \"GetQuoteRecommendation\",\r\n path: \"/get-quote/recommendation\",\r\n beforeEnter: (to, from, next) => {\r\n if (!store.state.pageDecisions.coverType) {\r\n next(\"/get-quote\");\r\n } else {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"recommendation\" */ \"../views/FindProduct/Recommendation.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Find product - Get a quote\",\r\n },\r\n },\r\n {\r\n name: \"FlexibleHealth\",\r\n path: \"/flexible-health\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"flexible-health\" */ \"../views/FindProduct/FlexibleHealth.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Find product - Level of cover\",\r\n },\r\n },\r\n {\r\n name: \"MeAndMyFamily\",\r\n path: \"/me-and-my-family\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"me-and-my-family\" */ \"../views/FindProduct/MeAndMyFamily.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Find product - Family\",\r\n },\r\n },\r\n {\r\n name: \"GetQuoteMoreAboutMembers\",\r\n path: \"/get-quote/family-members\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"family-members\" */ \"../views/GetQuote/MoreAboutMembers.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Find product - Member information\",\r\n },\r\n },\r\n {\r\n name: \"GetQuoteMoreAboutOccupation\",\r\n path: \"/get-quote/your-occupation\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"occupation\" */ \"../views/GetQuote/OccupationSelector.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Find product - Occupation\",\r\n },\r\n },\r\n {\r\n name: \"TellAboutHousehold\",\r\n path: \"/get-quote/multi-family-plan/tell-about-household\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"tell-about-household\" */ \"../views/MultifamilyPlan/TellAboutHousehold.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Get Quote - Family\",\r\n },\r\n },\r\n {\r\n name: \"MultiFamilyMoreAboutMembers\",\r\n path: \"/get-quote/multi-family-plan/family-members\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"multi-family-members\" */ \"../views/MultifamilyPlan/MoreAboutMembers.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Get Quote - Family\",\r\n },\r\n },\r\n {\r\n name: \"TellAboutHouseholdStep2\",\r\n path: \"/get-quote/multi-family-plan/tell-about-household-step2\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"tell-about-household-step2\" */ \"../views/MultifamilyPlan/TellAboutHouseholdStep2.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Get Quote - Family\",\r\n },\r\n },\r\n {\r\n name: \"QuotePolicyStart\",\r\n path: \"/quote/policystart\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyPolicyStart\" */ \"../views/GetQuote/PolicyStartDate.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Start date\",\r\n },\r\n },\r\n {\r\n name: \"CalculateMultiFamilyQuote\",\r\n path: \"/get-quote/multi-family-plan/calculate-quote\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"multi-family-plan-calculate-quote\" */ \"../views/MultifamilyPlan/CalculateMultiFamilyQuote.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Get Quote - Calculate\",\r\n },\r\n },\r\n {\r\n name: \"CalculateNHSTopUpQuote\",\r\n path: \"/get-quote/nhs-top-up-plan/calculate-quote\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"nhs-top-up-plan-calculate-quote\" */ \"../views/NHSTopUp/CalculateNHSTopUpQuote.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Get Quote - Calculate\",\r\n },\r\n },\r\n {\r\n name: \"CalculateNHSDentalQuote\",\r\n path: \"/get-quote/providental/calculate-quote\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"nhs-top-up-dental-calculate-quote\" */ \"../views/NHSDental/CalculateNHSDentalQuote.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Get Quote - Calculate\",\r\n },\r\n },\r\n {\r\n name: \"CalculateFlexibleHealthQuote\",\r\n path: \"/get-quote/flexible-health-plan/calculate-quote\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"flexible-health-plan-calculate-quote\" */ \"../views/FlexibleHealth/CalculateFlexibleHealth.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Get Quote - Calculate\",\r\n },\r\n },\r\n {\r\n name: \"CalculateCompleteHealthQuote\",\r\n path: \"/get-quote/complete-health-plan/calculate-quote\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"complete-health-plan-calculate-quote\" */ \"../views/CompleteHealth/CalculateCompleteHealth.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Get Quote - Calculate\",\r\n },\r\n },\r\n {\r\n // AnaF 10/12/22 #98703 we need a different route because QuoteGeneral has 2 optional params and when you navigate the browser back button\r\n // we will end up with householdId = \"-1\" even though we previous route pushed was householdId = undefined and memberId = -1\r\n name: \"QuoteGeneralHouseholdUndefined\",\r\n path: \"/get-quote/h/:memberId?\",\r\n props: true,\r\n // props: (route) => {\r\n // if (route.params.memberId != undefined) {\r\n // const memberId = Number.parseInt(route.params.memberId, 10);\r\n // return { memberId }; AnaF it doesn't work, it is still being received as a string\r\n // }\r\n // },\r\n beforeEnter: (to, from, next) => {\r\n if (!store.getters.quote.householdOptions.length) next(\"/get-quote\");\r\n else next();\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"get-quote-general\" */ \"../views/GetQuote/QuoteGeneral.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Quote\",\r\n },\r\n },\r\n {\r\n name: \"QuoteGeneral\",\r\n path: \"/get-quote/quote/:householdId?/:memberId?\",\r\n alias: [\"/flexible-health/get-quote\", \"/multi-family/get-quote/:memberId?\"],\r\n props: true,\r\n beforeEnter: (to, from, next) => {\r\n if (!store.getters.quote.householdOptions.length) next(\"/get-quote\");\r\n else next();\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"get-quote-general\" */ \"../views/GetQuote/QuoteGeneral.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Quote\",\r\n },\r\n },\r\n {\r\n name: \"QuoteCompleteHealth\",\r\n path: \"/get-quote/quote-CH/:householdId?/:memberId?\",\r\n alias: [\"/complete-health/get-quote\"],\r\n props: true,\r\n beforeEnter: (to, from, next) => {\r\n if (!store.getters.quote.householdOptions.length) next(\"/get-quote\");\r\n else next();\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"get-quote-general\" */ \"../views/GetQuote/QuoteCompleteHealth.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Quote\",\r\n },\r\n },\r\n {\r\n name: \"GetQuoteReview\",\r\n path: \"/quote/review/:quoteId?\",\r\n beforeEnter: (to, from, next) => {\r\n if (!store.getters.quote.householdOptions.length && !to.params.quoteId)\r\n next(\"/get-quote\");\r\n else next();\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"quote-review\" */ \"../views/GetQuote/Review.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Quote - Review\",\r\n },\r\n },\r\n {\r\n name: \"SaveQuote\",\r\n path: \"/quote/save/:quoteId?\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"hdi\" */ \"../views/GetQuote/ProcessQuote.vue\"\r\n ),\r\n props: {\r\n action: \"save\",\r\n },\r\n meta: {\r\n title: \"WPA Quote & Apply - Quote - Save\",\r\n },\r\n },\r\n {\r\n name: \"SendQuote\",\r\n path: \"/quote/send/:quoteId?\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"hdi\" */ \"../views/GetQuote/ProcessQuote.vue\"\r\n ),\r\n props: {\r\n action: \"send\",\r\n },\r\n meta: {\r\n title: \"WPA Quote & Apply - Quote - Send\",\r\n },\r\n },\r\n {\r\n name: \"ApplyQuote\",\r\n path: \"/quote/apply/:quoteId?\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"hdi\" */ \"../views/GetQuote/ProcessQuote.vue\"\r\n ),\r\n props: {\r\n action: \"apply\",\r\n },\r\n meta: {\r\n title: \"WPA Quote & Apply - Quote - Apply\",\r\n },\r\n },\r\n {\r\n name: \"SaveProgress\",\r\n path: \"/get-quote/save-progress\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"save-progress\" */ \"../views/Login/SaveProgress.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Quote - Save progress\",\r\n },\r\n },\r\n {\r\n name: \"Callback\",\r\n path: \"/callback\",\r\n component: () =>\r\n import(/* webpackChunkName: \"callback\" */ \"../components/callback.vue\"),\r\n meta: {\r\n title: \"WPA Quote & Apply - Finalazing login\",\r\n },\r\n },\r\n {\r\n name: \"CreateAccount\",\r\n path: \"/create-account\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"create-account\" */ \"../views/Login/CreateAccount.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Create an account\",\r\n },\r\n },\r\n {\r\n name: \"EnterPinForm\",\r\n path: \"/create-account/confirm\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"create-account\" */ \"../views/Login/EnterPinForm.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Create an account\",\r\n },\r\n },\r\n {\r\n name: \"CredentialsForm\",\r\n path: \"/create-account/complete\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"create-account\" */ \"../views/Login/CredentialsForm.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Create an account\",\r\n },\r\n },\r\n {\r\n name: \"MyProfile\",\r\n path: \"/my-profile\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"my-profile\" */ \"../views/MyProfile/index.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - My WPA\",\r\n },\r\n },\r\n {\r\n name: \"Login\",\r\n path: \"/login\",\r\n component: () =>\r\n import(/* webpackChunkName: \"login\" */ \"../views/Login/Login.vue\"),\r\n meta: {\r\n title: \"WPA Quote & Apply - Login\",\r\n },\r\n },\r\n // Application pages - start\r\n {\r\n name: \"ApplyInsurance\",\r\n path: \"/apply/insurance/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyHasInsurance\" */ \"../views/Apply/HasInsurance.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Current insurance\",\r\n },\r\n },\r\n {\r\n name: \"CurrentHealthInsurance\",\r\n path: \"/apply/current-health-insurance/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"CurrentHealthInsurance\" */ \"../views/Apply/SwitchFlow/CurrentHealthInsurance.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Current insurance\",\r\n },\r\n },\r\n {\r\n name: \"HasCertificate\",\r\n path: \"/apply/insurance-certificate/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"HasCertificate\" */ \"../views/Apply/SwitchFlow/HasCertificate.vue\"\r\n ),\r\n meta: {\r\n title:\r\n \"WPA Quote & Apply - Application - Current insurance - Certificate\",\r\n },\r\n },\r\n {\r\n name: \"SameCertificate\",\r\n path: \"/apply/same-certificate/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"HasSameCertificate\" */ \"../views/Apply/SwitchFlow/HasSameCertificate.vue\"\r\n ),\r\n meta: {\r\n title:\r\n \"WPA Quote & Apply - Application - Current insurance - Certificate\",\r\n },\r\n },\r\n {\r\n name: \"SameCertificateUpload\",\r\n path: \"/apply/same-certificate-upload/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"SameCertificateUpload\" */ \"../views/Apply/SwitchFlow/SameCertificateUpload.vue\"\r\n ),\r\n meta: {\r\n title:\r\n \"WPA Quote & Apply - Application - Current insurance - Certificate\",\r\n },\r\n },\r\n {\r\n name: \"UnderwritingTerms\",\r\n path: \"/apply/underwriting-terms/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"UnderwritingTerms\" */ \"../views/Apply/SwitchFlow/UnderwritingTerms.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Underwritting terms\",\r\n },\r\n },\r\n {\r\n name: \"UnderwritingTermsMembers\",\r\n path: \"/apply/underwriting-terms-members/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"UnderwritingTermsMembers\" */ \"../views/Apply/SwitchFlow/UnderwritingTermsMembers.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Underwritting terms\",\r\n },\r\n },\r\n {\r\n name: \"DefermentPeriod\",\r\n path: \"/apply/deferment-period/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"DefermentPeriod\" */ \"../views/Apply/SwitchFlow/DefermentPeriod.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Deferment period\",\r\n },\r\n },\r\n {\r\n name: \"ApplyInviteHook\",\r\n path: \"/invite/hook\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyInviteHook\" */ \"../views/Apply/InviteHook.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Invite\",\r\n },\r\n },\r\n {\r\n name: \"ApplyInvite\",\r\n path: \"/invite/:membershipRequestId\",\r\n component: () =>\r\n import(/* webpackChunkName: \"ApplyInvite\" */ \"../views/Apply/Invite.vue\"),\r\n meta: {\r\n title: \"WPA Quote & Apply - Invite\",\r\n },\r\n },\r\n {\r\n name: \"ApplyInviteStaticLink\",\r\n path: \"/join/:productId\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyInviteStaticLink\" */ \"../views/Apply/InviteStaticLink.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Invite\",\r\n },\r\n },\r\n {\r\n name: \"Apply\",\r\n path: \"/apply/qualification/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyDoYouQualify\" */ \"../views/Apply/DoYouQualify.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Do you qualify\",\r\n },\r\n },\r\n {\r\n name: \"ApplyMultifamily\",\r\n path: \"/apply/multifamily/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyUWDescription\" */ \"../views/Apply/Multifamily/ApplyMultifamily.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Multifamily\",\r\n },\r\n },\r\n {\r\n name: \"ApplyDependants\",\r\n path: \"/apply/dependants/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"StepDependants\" */ \"../views/Apply/StepDependants/StepDependants.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Family members\",\r\n },\r\n },\r\n {\r\n name: \"ApplyPolicyStart\",\r\n path: \"/apply/policystart/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyPolicyStart\" */ \"../views/Apply/PolicyStart.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Start date\",\r\n },\r\n },\r\n {\r\n name: \"ApplyAboutFamilyMember\",\r\n path: \"/apply/dependants/details/:appid/:member/:householdId\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"StepDependants\" */ \"../views/Apply/StepDependants/DependantDetails.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Family member\",\r\n },\r\n },\r\n // Application pages - start\r\n // Apply - family member details\r\n {\r\n name: \"ApplyAboutYou\",\r\n path: \"/apply/about-you/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"StepDependants\" */ \"../views/Apply/StepPersonalDetails/AboutYou.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Policyholder\",\r\n },\r\n },\r\n {\r\n name: \"ApplyPolicyName\",\r\n path: \"/apply/policyname/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyPolicyName\" */ \"../views/Apply/PolicyName.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Policy name\",\r\n },\r\n },\r\n {\r\n name: \"ApplyFamilyMemberDetails\",\r\n path: \"/apply/dependants/about/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyPersonalDetails\" */ \"../views/Apply/AboutFamilyMember.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Family member\",\r\n },\r\n },\r\n {\r\n name: \"ApplyHealthDetails\",\r\n path: \"/apply/health/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyHealthDetails\" */ \"../views/Apply/StepHealthDetails/StepHealthDetails.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Health details\",\r\n },\r\n },\r\n {\r\n name: \"ApplyHealthCategories\",\r\n path: \"/apply/health-categories-uw/:uwStep/:appid\",\r\n alias: [\"/apply/health-categories/:appid/:hotfixMissing\"],\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyHealthCategories\" */ \"../views/Apply/StepHealthDetails/HealthDetailsCategoriesList.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Health questions\",\r\n },\r\n },\r\n {\r\n name: \"ApplySecondaryDetails\",\r\n path: \"/apply/health-details/:uwStep/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplySecondaryDetails\" */ \"../views/Apply/StepHealthDetails/SecondaryQuestionsList.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Health questions\",\r\n },\r\n },\r\n {\r\n name: \"ApplyInviteCertificateUpload\",\r\n path: \"/apply/invite-certificate-upload/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyInviteCertificateUpload\" */ \"../views/Apply/StepHealthDetails/InviteCertificateUpload.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Certificate upload\",\r\n },\r\n },\r\n {\r\n name: \"ApplyPersonalDetails\",\r\n path: \"/apply/personal/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyPersonalDetails\" */ \"../views/Apply/StepPersonalDetails/StepPersonalDetails.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Personal details\",\r\n },\r\n },\r\n {\r\n name: \"ApplyLocation\",\r\n path: \"/apply/location/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyLocation\" */ \"../views/Apply/StepPersonalDetails/Location.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Address\",\r\n },\r\n },\r\n {\r\n name: \"ApplyOccupation\",\r\n path: \"/apply/occupation/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyOccupation\" */ \"../views/Apply/StepPersonalDetails/Occupation.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Occupation\",\r\n },\r\n },\r\n {\r\n name: \"ApplyGP\",\r\n path: \"/apply/gp/:appid/:memberid?\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyGP\" */ \"../views/Apply/StepPersonalDetails/GP.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - General practitioner\",\r\n },\r\n },\r\n {\r\n name: \"ApplyUWDescription\",\r\n path: \"/apply/uw-description/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyUWDescription\" */ \"../views/Apply/StepHealthDetails/UWDescription.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Health details\",\r\n },\r\n },\r\n {\r\n name: \"ApplyHealthQuestion\",\r\n path: \"/apply/health-question/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyHealthQuestion\" */ \"../views/Apply/StepHealthDetails/HealthQuestion.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Health questions\",\r\n },\r\n },\r\n {\r\n name: \"ApplyUWDescriptionLink\",\r\n path: \"/apply/uw-description-link/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyUWDescriptionLink\" */ \"../views/Apply/StepHealthDetails/UWDescriptionLink.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Health details\",\r\n },\r\n },\r\n {\r\n name: \"ApplyPayment\",\r\n path: \"/apply/payment/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplyPayment\" */ \"../views/Apply/StepPayment/Payment.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Payment\",\r\n },\r\n },\r\n {\r\n name: \"ApplyMoratoriumUWDescription\",\r\n path: \"/apply/moratorium-uw-description/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n \"../views/Apply/StepHealthDetails/MoratoriumUWDescription.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Health details\",\r\n },\r\n },\r\n {\r\n name: \"SummaryReview\",\r\n path: \"/apply/review/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"SummaryReview\" */ \"../views/Apply/StepReview/SummaryReview.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Summary\",\r\n },\r\n },\r\n {\r\n name: \"DeclarationMain\",\r\n path: \"/apply/declaration/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"DeclarationMain\" */ \"../views/Apply/StepDeclaration/DeclarationMain.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Declaration\",\r\n },\r\n },\r\n {\r\n name: \"ApplicationComplete\",\r\n path: \"/apply/application-complete/:appid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"ApplicationComplete\" */ \"../views/Apply/StepComplete/ApplicationComplete.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Complete\",\r\n },\r\n },\r\n {\r\n name: \"HDdet\",\r\n path: \"/apply/hd/:catid/:qfid\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"hdi\" */ \"@/views/Apply/StepHealthDetails/HealthFlowFqs.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Health questions\",\r\n },\r\n },\r\n {\r\n name: \"SubmitApplication\",\r\n path: \"/apply/submit\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"submitapplication\" */ \"@/views/Apply/SubmitApplication/SubmitApplication.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Submit\",\r\n },\r\n },\r\n {\r\n name: \"SubmitMembershipRequest\",\r\n path: \"/apply/submitMembershipRequest\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"submitmembershiprequest\" */ \"@/views/Apply/SubmitApplication/SubmitMembershipRequest.vue\"\r\n ),\r\n meta: {\r\n title: \"WPA Quote & Apply - Application - Submit\",\r\n },\r\n },\r\n // Application pages - end\r\n // Renewal pages - start\r\n {\r\n name: \"Renewals\",\r\n path: \"/renew\",\r\n beforeEnter: async (to, from, next) => {\r\n const redirect = await checkAuthAndRedirect(to.path, store);\r\n if (redirect) {\r\n next();\r\n }\r\n },\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"renewals\" */ \"@/views/Renewals/Renewals.vue\"\r\n ),\r\n children: [\r\n {\r\n path: \"overview\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"renewaloverview\" */ \"@/views/Renewals/RenewalOverview.vue\"\r\n ),\r\n children: [\r\n {\r\n name: \"RenewalsOverview\",\r\n path: \"\",\r\n beforeEnter: (to, from, next) => next(\"/renew/overview/main\"),\r\n },\r\n {\r\n name: \"RenewalsMain\",\r\n path: \"main\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"renewaloverviewmain\" */ \"@/views/Renewals/RenewalOverviewMain.vue\"\r\n ),\r\n },\r\n {\r\n name: \"RenewalsCover\",\r\n path: \"cover\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"renewaloverviewcover\" */ \"@/views/Renewals/RenewalOverviewCover.vue\"\r\n ),\r\n },\r\n ],\r\n },\r\n {\r\n name: \"RenewalsBenefits\",\r\n path: \"benefits/:householdId/:memberId/:coverName?\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"cover\" */ \"@/views/Renewals/Covers/Cover.vue\"\r\n ),\r\n props: (route) => {\r\n const householdId = Number.parseInt(route.params.householdId, 10);\r\n const memberId = Number.parseInt(route.params.memberId, 10);\r\n const coverName = route.params.coverName;\r\n\r\n if (Number.isNaN(householdId) || Number.isNaN(memberId)) {\r\n return { householdId: 0, memberId: 0, coverName };\r\n } else {\r\n return { householdId, memberId, coverName };\r\n }\r\n },\r\n },\r\n {\r\n name: \"RenewalsDocuments\",\r\n path: \"policydocuments\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"policydocuments\" */ \"@/views/Renewals/PolicyDocuments.vue\"\r\n ),\r\n },\r\n {\r\n name: \"RenewalsQuotes\",\r\n path: \"renewalquotes\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"renewalquotes\" */ \"@/views/Renewals/RenewalQuotes.vue\"\r\n ),\r\n },\r\n {\r\n name: \"RenewalsConfirm\",\r\n path: \"confirmchanges\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"confirmchangestopolicy\" */ \"@/views/Renewals/ConfirmChangesToPolicy.vue\"\r\n ),\r\n },\r\n {\r\n name: \"RenewalsThankYou\",\r\n path: \"thankyou\",\r\n component: () =>\r\n import(\r\n /* webpackChunkName: \"renewalthankyou\" */ \"@/views/Renewals/RenewalThankYou.vue\"\r\n ),\r\n },\r\n ],\r\n },\r\n // Renewal pages - end\r\n];\r\n\r\nconst router = new VueRouter({\r\n mode: \"history\",\r\n routes,\r\n});\r\n\r\nconst initialTitle = document.title;\r\nrouter.beforeEach(async (to, from, next) => {\r\n window.scrollTo(0, 0);\r\n if (!store.state.config) {\r\n const apiObj = await api;\r\n await store.commit(\"setConfig\", apiObj.apiSpec);\r\n next();\r\n } else {\r\n next();\r\n }\r\n});\r\n\r\nrouter.afterEach((to, from) => {\r\n Vue.nextTick(() => {\r\n try {\r\n document.title = to?.meta?.title || DEFAULT_TITLE;\r\n } catch {\r\n // do nothing, it's only matter of app insights telemetry\r\n }\r\n });\r\n});\r\n\r\nexport default router;\r\n","const renewalsSetup = {\r\n inject: [\"api\"],\r\n methods: {\r\n async getLiteratureForCustomer() {\r\n const api = await this.api();\r\n const renewalLiterature = await api.getLiteratureForCustomer();\r\n this.$store.commit('SET_RENEWAL_LITERATURE', renewalLiterature)\r\n },\r\n async getQuotesForRenewal() {\r\n const api = await this.api();\r\n const renewalQuotes = await api.getQuotesForRenewal();\r\n this.$store.commit('SET_RENEWAL_QUOTES_LIST', renewalQuotes)\r\n },\r\n async getRenewalForCustomer() {\r\n const api = await this.api();\r\n const renewalData = await api.getRenewalForCustomer(); \r\n this.$store.commit('SET_CURRENT_QUOTE', renewalData.currentQuote);\r\n this.$store.commit('SET_RENEWAL_QUOTE', renewalData.renewalQuote);\r\n this.$store.commit('SET_DEFAULT_QUOTE', renewalData.renewalQuote); // for reset to default purposes\r\n },\r\n async getUpDownForCustomer() {\r\n const api = await this.api();\r\n const renewalData = await api.getUpDownForCustomer();\r\n this.$store.commit('SET_RENEWAL_UP_DOWNS', renewalData)\r\n },\r\n isMultiFamily() {\r\n try {\r\n return this.$store.state.Renewals.currentQuote.productId === 957 || this.$store.state.Renewals.currentQuote.productId === 951;\r\n } catch {\r\n return false;\r\n } \r\n }\r\n }\r\n}\r\nexport default renewalsSetup","import { parseJwt } from \"@/utils/auth\";\r\n\r\nconst redirectWithForm = (url, accessToken, params) => {\r\n var form = document.createElement(\"form\");\r\n form.method = \"POST\";\r\n form.action = url;\r\n var formField = document.createElement(\"input\");\r\n formField.style.display = \"none\";\r\n formField.value = accessToken;\r\n formField.name = \"access_token\";\r\n form.appendChild(formField);\r\n if (params) {\r\n Object.entries(params).forEach(([key, value], _) => {\r\n let input = document.createElement(\"input\");\r\n input.setAttribute(\"type\", \"hidden\");\r\n input.setAttribute(\"name\", key);\r\n input.setAttribute(\"value\", value);\r\n form.appendChild(input);\r\n });\r\n }\r\n document.body.appendChild(form);\r\n form.submit();\r\n document.body.removeChild(form);\r\n};\r\n\r\nconst redirectWithQueryString = (url, params) => {\r\n if (params) {\r\n let joinChar = \"?\";\r\n Object.entries(params).forEach(([key, value], _) => {\r\n url = `${url}${joinChar}${key}=${value}`;\r\n joinChar = \"&\";\r\n });\r\n }\r\n window.location.href = url;\r\n};\r\n\r\nconst loggedUserMethods = {\r\n inject: [\"api\"],\r\n methods: {\r\n sendUsMessage() {\r\n const config = this.$store.state.config;\r\n const renewals = this.$store.state.Renewals;\r\n const isGroup = renewals.productId === 957;\r\n if (isGroup) {\r\n const params = config.secureAreaGatewayEndpointEmailUsParam;\r\n this.accessSecureArea(params);\r\n } else {\r\n const relativeUrl = config.myWpaMessagesEndpoint;\r\n const params = config.myWpaMessagesEndpointEmailUsParam;\r\n this.accessMyWPA(relativeUrl, params);\r\n }\r\n },\r\n accessMyWPA(relativeUrl, params) {\r\n const config = this.$store.state.config;\r\n const url = `${config.myWpaUrl}${relativeUrl}`;\r\n redirectWithQueryString(url, params);\r\n },\r\n accessSecureArea(params) {\r\n const config = this.$store.state.config;\r\n const token = localStorage.getItem(\"ACCESS_TOKEN\");\r\n if (token) {\r\n const secureAreaGatewayUrl = `${config.secureAreaUrl}${config.secureAreaGatewayEndpoint}`;\r\n redirectWithForm(secureAreaGatewayUrl, token, params);\r\n }\r\n },\r\n accessNewSecureAreaPersonHomepage(params) {\r\n const config = this.$store.state.config;\r\n const token = localStorage.getItem(\"ACCESS_TOKEN\");\r\n if (token) {\r\n const secureAreaGatewayUrl = `${config.newSecureAreaUrl}${config.newSecureAreaPersonHome}`;\r\n redirectWithForm(secureAreaGatewayUrl, token, params);\r\n }\r\n },\r\n isCustomer() {\r\n const token = localStorage.getItem(\"ACCESS_TOKEN\");\r\n if (!token) {\r\n return false;\r\n }\r\n const userData = parseJwt(token);\r\n return !!userData.CustomerId;\r\n },\r\n async signOut(goHome = true) {\r\n try {\r\n if (goHome) {\r\n localStorage.clear();\r\n this.$router.push({ name: \"Home\" });\r\n } else {\r\n try {\r\n const api = await this.api();\r\n await api.logout();\r\n } catch (err) {\r\n console.error(err.message);\r\n }\r\n const config = this.$store.state.config;\r\n localStorage.clear();\r\n window.location.href = config.publicWebsites.main;\r\n }\r\n } catch (out_ex) {\r\n console.error(out_ex);\r\n }\r\n },\r\n },\r\n};\r\nexport default loggedUserMethods;\r\n","import 'whatwg-fetch'\r\nimport { parseJwt, isTokenExpired, logout } from '../utils/auth';\r\nimport { default as _api } from '@/api'\r\nimport store from '../store/index';\r\nimport _ from 'lodash';\r\n\r\nlet api;\r\nlet apiUrl = '';\r\nlet refreshTokenExpirationDate;\r\nlet isTokenRefreshing = false;\r\nconst logoutTimeout = 11 * 60000; // 11 min\r\nconst logoutWarningTimeout = 10 * 60000; // 10 min\r\nconst refreshTokenExpirationOffsetMinutes = 25;\r\n\r\nconst defaultHeaders = {\r\n 'Content-Type': 'application/json',\r\n};\r\n\r\nfunction sleep(ms) {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n}\r\n\r\nasync function getConfiguration() {\r\n let configuration = store.getters.config;\r\n\r\n while (!configuration) {\r\n await sleep(200);\r\n configuration = store.getters.config;\r\n }\r\n\r\n return configuration;\r\n}\r\n\r\n\r\nexport const logoutAndClear = async (redirect = true) => {\r\n const configuration = await getConfiguration();\r\n \r\n const currentLocation = window.location;\r\n if(currentLocation.href.includes(\"/invite\") || currentLocation.href.includes(\"/get-quote\"))\r\n {\r\n redirect = false;\r\n }\r\n \r\n logout(configuration.publicWebsites.main, redirect);\r\n refreshTokenExpirationDate = null;\r\n}\r\n\r\nconst displayLogoutWarning = () => {\r\n store.commit(\"SET_SHOW_LOGOUT_WARNING\", true);\r\n};\r\n\r\nexport const forceLogout = _.debounce(logoutAndClear, logoutTimeout);\r\nexport const logoutWarning = _.debounce(displayLogoutWarning, logoutWarningTimeout);\r\n\r\n(() => {\r\n document.addEventListener('keydown', async (event) => {\r\n const accessToken = localStorage.getItem(\"ACCESS_TOKEN\");\r\n if (accessToken && !store.state.showLogoutWarning) {\r\n logoutWarning();\r\n forceLogout();\r\n await checkAndRefreshToken();\r\n }\r\n });\r\n\r\n document.addEventListener('click', async (event) => {\r\n const accessToken = localStorage.getItem(\"ACCESS_TOKEN\");\r\n if (accessToken && !store.state.showLogoutWarning) {\r\n logoutWarning();\r\n forceLogout();\r\n await checkAndRefreshToken();\r\n }\r\n });\r\n})()\r\n\r\nconst getNewRefreshToken = async () => {\r\n const accessToken = localStorage.getItem(\"ACCESS_TOKEN\");\r\n const refreshToken = localStorage.getItem('REFRESH_TOKEN');\r\n\r\n if (!refreshToken || !accessToken) {\r\n logoutAndClear();\r\n console.error('refreshToken or accessToken missing, logging out');\r\n return;\r\n }\r\n\r\n const url = `${apiUrl}api/authorization/getNewRefreshToken`;\r\n return fetch(url, {\r\n headers: {\r\n ...defaultHeaders,\r\n ...refreshToken ? { 'RefreshToken': refreshToken } : null,\r\n ...accessToken ? { 'AccessToken': accessToken } : null,\r\n },\r\n method: 'POST',\r\n })\r\n .then(checkStatus)\r\n .then(async (response) => {\r\n const token = await response.text();\r\n const date = new Date();\r\n date.setMinutes(date.getMinutes() + refreshTokenExpirationOffsetMinutes);\r\n localStorage.setItem(\"REFRESH_TOKEN\", token);\r\n localStorage.setItem('REFRESH_TOKEN_EXPIRATION', date.getTime().toString());\r\n refreshTokenExpirationDate = date;\r\n await refreshAccessToken();\r\n })\r\n .catch(async (error) => {\r\n await logoutAndClear();\r\n console.error('get new refresh token failed', error);\r\n });\r\n};\r\n\r\nexport const refreshAccessToken = async () => {\r\n const refreshToken = localStorage.getItem('REFRESH_TOKEN');\r\n const url = `${apiUrl}api/authorization/getAccessToken`;\r\n return fetch(url, {\r\n headers: {\r\n ...defaultHeaders,\r\n ...refreshToken ? { 'RefreshToken': refreshToken } : null,\r\n },\r\n method: 'POST'\r\n })\r\n .then(checkStatus)\r\n .then(async (response) => {\r\n const token = await response.text();\r\n localStorage.setItem(\"ACCESS_TOKEN\", token);\r\n forceLogout();\r\n logoutWarning();\r\n })\r\n .catch(async (error) => {\r\n // if refresh fails try get new refresh token and refresh access token\r\n if (error.message === \"Unauthorized\") {\r\n await getNewRefreshToken();\r\n }\r\n else {\r\n await logoutAndClear(false);\r\n }\r\n });\r\n};\r\n\r\nconst checkAndRefreshToken = async () => {\r\n const refreshToken = localStorage.getItem('REFRESH_TOKEN');\r\n if (refreshToken) {\r\n let expired = false;\r\n const accessToken = localStorage.getItem(\"ACCESS_TOKEN\");\r\n\r\n if (accessToken) {\r\n const decodedToken = parseJwt(accessToken);\r\n expired = isTokenExpired(decodedToken);\r\n }\r\n\r\n if (!isTokenRefreshing) {\r\n if (!accessToken || expired) {\r\n isTokenRefreshing = true;\r\n await refreshAccessToken();\r\n isTokenRefreshing = false;\r\n }\r\n }\r\n else {\r\n await wait();\r\n }\r\n\r\n if (refreshTokenExpirationDate < new Date()) {\r\n await getNewRefreshToken();\r\n }\r\n }\r\n};\r\n\r\nconst checkStatus = (response) => {\r\n if (response.status >= 200 && response.status < 300) {\r\n return response;\r\n }\r\n else if (response.status === 401) {\r\n const error = new Error(response.statusText);\r\n error.message = \"Unauthorized\";\r\n throw error;\r\n } else {\r\n const error = new Error(response.statusText);\r\n error.message = response;\r\n throw error;\r\n }\r\n};\r\n\r\nconst getHeaders = (headers, body?, url?) => {\r\n let requestHeaders = {\r\n ...headers\r\n };\r\n\r\n if (!(body && body instanceof FormData)) {\r\n requestHeaders = {\r\n ...requestHeaders,\r\n 'Content-Type': 'application/json'\r\n };\r\n }\r\n\r\n const accessToken = localStorage.getItem(\"ACCESS_TOKEN\");\r\n const refreshToken = localStorage.getItem('REFRESH_TOKEN');\r\n\r\n // do not override authorization header if there is one already\r\n if (!requestHeaders.authorization && accessToken) {\r\n requestHeaders = {\r\n ...requestHeaders,\r\n 'Authorization': `Bearer ${accessToken}`\r\n };\r\n }\r\n\r\n if (url === `${apiUrl}api/authorization/getAccessToken`) {\r\n requestHeaders = {\r\n ...requestHeaders,\r\n ...refreshToken ? { 'RefreshToken': refreshToken } : null,\r\n };\r\n }\r\n\r\n return requestHeaders;\r\n};\r\n\r\nconst wait = async () => {\r\n const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));\r\n\r\n while (isTokenRefreshing) {\r\n await sleep(500);\r\n }\r\n};\r\n\r\nconst beforeRequest = async (url) => {\r\n if (!api || !apiUrl) {\r\n api = await _api;\r\n apiUrl = api.apiSpec.API;\r\n }\r\n\r\n const accessToken = localStorage.getItem(\"ACCESS_TOKEN\");\r\n const refreshToken = localStorage.getItem('REFRESH_TOKEN');\r\n const refreshTokenExpirationDateBeforeParsing = localStorage.getItem('REFRESH_TOKEN_EXPIRATION');\r\n if (refreshTokenExpirationDateBeforeParsing) {\r\n refreshTokenExpirationDate = new Date(parseInt(refreshTokenExpirationDateBeforeParsing));\r\n }\r\n\r\n if (!isTokenRefreshing) {\r\n if (url !== `${apiUrl}api/authorization/getAccessToken` && url !== `${apiUrl}api/authorization/getNewRefreshToken`) {\r\n await checkAndRefreshToken();\r\n }\r\n else {\r\n isTokenRefreshing = true;\r\n }\r\n if (accessToken) {\r\n logoutWarning();\r\n forceLogout();\r\n }\r\n }\r\n else {\r\n await wait();\r\n }\r\n};\r\n\r\nconst post = async (\r\n url,\r\n body?: Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string,\r\n headers?: object | null\r\n) => {\r\n \r\n await beforeRequest(url);\r\n\r\n const request = fetch(url, {\r\n headers: {\r\n ...getHeaders(headers, body, url)\r\n },\r\n method: 'POST',\r\n body: body || JSON.stringify({})\r\n });\r\n\r\n return request\r\n .then(checkStatus)\r\n .then(async response => {\r\n if (url === `${apiUrl}api/authorization/getAccessToken`) {\r\n const clonedResponse = response.clone();\r\n localStorage.setItem(\"ACCESS_TOKEN\", await clonedResponse.text())\r\n logoutWarning();\r\n forceLogout();\r\n }\r\n\r\n return response;\r\n })\r\n .catch(async (error) => {\r\n if (url === `${apiUrl}api/authorization/getAccessToken`) {\r\n const accessToken = localStorage.getItem(\"ACCESS_TOKEN\");\r\n if (!accessToken) {\r\n const configuration = await getConfiguration();\r\n logoutAndClear();\r\n }\r\n else\r\n await getNewRefreshToken();\r\n }\r\n else {\r\n console.error('request failed', error);\r\n }\r\n throw error;\r\n })\r\n .finally(() => {\r\n if (url === `${apiUrl}api/authorization/getAccessToken`) {\r\n isTokenRefreshing = false;\r\n }\r\n });\r\n};\r\n\r\nconst get = async (\r\n url,\r\n headers?: object | null\r\n) => {\r\n await beforeRequest(url);\r\n\r\n const request = fetch(url, {\r\n headers: {\r\n ...getHeaders(headers)\r\n },\r\n method: 'GET'\r\n });\r\n\r\n return request\r\n .then(checkStatus)\r\n .catch((error) => {\r\n console.error('request failed', error);\r\n });\r\n};\r\n\r\nconst delete_ = async (\r\n url,\r\n headers?: object | null\r\n) => {\r\n await beforeRequest(url);\r\n\r\n const request = fetch(url, {\r\n headers: {\r\n ...getHeaders(headers)\r\n },\r\n method: 'DELETE'\r\n });\r\n\r\n return request\r\n .then(checkStatus)\r\n .catch((error) => {\r\n console.error('request failed', error);\r\n });\r\n};\r\n\r\nconst patch = async (\r\n url,\r\n body?: Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string,\r\n headers?: object | null\r\n) => {\r\n await beforeRequest(url);\r\n\r\n const request = fetch(url, {\r\n headers: {\r\n ...getHeaders(headers),\r\n 'Content-Type': 'application/json-patch+json'\r\n },\r\n method: 'PATCH',\r\n body: body || JSON.stringify({})\r\n });\r\n\r\n return request\r\n .then(checkStatus)\r\n .catch((error) => {\r\n console.error('request failed', error);\r\n });\r\n};\r\n\r\nconst put = async (\r\n url,\r\n body?: Blob | BufferSource | FormData | URLSearchParams | ReadableStream | string,\r\n headers?: object | null\r\n) => {\r\n await beforeRequest(url);\r\n\r\n const request = fetch(url, {\r\n headers: {\r\n ...getHeaders(headers, body)\r\n },\r\n method: 'PUT',\r\n body: body || JSON.stringify({})\r\n });\r\n\r\n return request\r\n .then(checkStatus)\r\n .catch((error) => {\r\n console.error('request failed', error);\r\n });\r\n};\r\n\r\nconst apiCall = {\r\n post,\r\n get,\r\n patch,\r\n put,\r\n delete_\r\n};\r\n\r\nexport default apiCall;\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('button',_vm._g(_vm._b({},'button',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SmartInput.vue?vue&type=template&id=b5b69a5c\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","const CONFIG_FILE_PATH = \"/config.json\";\r\nimport apiCall from \"../api/fetch-middleware\";\r\nimport \"whatwg-fetch\";\r\n\r\nexport const passThroughOrMapToQueryParams = (params) => {\r\n return Object.keys(params)\r\n .filter((p) => {\r\n return params[p] !== undefined && params[p] !== null;\r\n })\r\n .map((p) => `${p}=${params[p]}`)\r\n .join(\"&\");\r\n};\r\n\r\nexport function buildRecommendedProductFetcher(apiSpec) {\r\n return async function GETRecommendedProduct(pageStack) {\r\n return apiCall.post(`${apiSpec.API}api/product/seek`, JSON.stringify(pageStack)).then((r) => r.json());\r\n };\r\n}\r\n\r\nexport function buildApplicationSummaryFetcher(apiSpec) {\r\n return async function GETApplicationSummary() {\r\n return apiCall.get(`${apiSpec.API}api/application/summary`).then((r) => r.json());\r\n };\r\n}\r\n\r\nexport function buildQuoteSummaryFetcher(apiSpec) {\r\n return async function GETQuoteSummary() {\r\n return apiCall.get(`${apiSpec.API}api/quote/summary`).then((r) => r.json());\r\n };\r\n}\r\n\r\nexport function buildDeclarationsFetcher(apiSpec) {\r\n return async function getDeclarations(productId, PageTypeId, ApplicationId, MembershipRequestId) {\r\n console.assert(productId, \"productId is required\");\r\n const urlParams = passThroughOrMapToQueryParams({\r\n PageTypeId: PageTypeId,\r\n ApplicationId: ApplicationId || undefined,\r\n MembershipRequestId: MembershipRequestId || undefined,\r\n });\r\n const req = apiCall.get(`${apiSpec.API}api/declaration/product/` + productId + `?` + urlParams);\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n const data = await res.json();\r\n return data;\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function buildDocumentFetcher(apiSpec) {\r\n return async function getDocument(documentName) {\r\n const req = apiCall.get(`${apiSpec.API}api/declaration/document/` + documentName + `/content`);\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.text();\r\n }\r\n const data = await res.text();\r\n return data;\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function buildDeclarationAnswers(apiSpec) {\r\n return async function postDeclaration(data) {\r\n const req = apiCall.post(`${apiSpec.API}api/declaration/create`, JSON.stringify(data));\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n const data = await res.json();\r\n return data;\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function buildAccessTokenFetcher(apiSpec) {\r\n return async function getAccessToken() {\r\n const req = apiCall.post(`${apiSpec.API}api/authorization/getAccessToken`);\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n const data = await res.text();\r\n const token = data;\r\n localStorage.setItem(\"ACCESS_TOKEN\", token);\r\n return data;\r\n } catch (err) {\r\n localStorage.removeItem(\"ACCESS_TOKEN\");\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nconst DEFAULT_HEADERS = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n Authorization: localStorage.getItem(\"ACCESS_TOKEN\") ? `Bearer ${localStorage.getItem(\"ACCESS_TOKEN\")}` : \"\",\r\n },\r\n};\r\n\r\nconst getMemberFromMultiFamily = (member) => {\r\n const { id, ...rest } = member;\r\n return rest;\r\n};\r\n\r\nexport function buildQuickQuoteFetcher(apiSpec) {\r\n return function postQuickQuote(store, json = true, overwriteQuotePayload = undefined) {\r\n const payload = overwriteQuotePayload || store.getters.quotePayloadWithoutMemberIds;\r\n return apiCall.post(`${apiSpec.API}api/quickquote`, JSON.stringify(payload)).then((r) => (json ? r.json() : r));\r\n };\r\n}\r\n\r\nexport function buildLogoutFetcher(apiSpec) {\r\n return async function logout() {\r\n const req = await apiCall.post(`${apiSpec.API}api/authorization/logout`);\r\n };\r\n}\r\n\r\nexport function buildQuickQuoteCustomiseFetcher(apiSpec) {\r\n return function postQuickQuoteCustomise(payload, json = true) {\r\n return apiCall.post(`${apiSpec.API}api/quickquote/customise`, JSON.stringify(payload)).then((r) => (json ? r.json() : r));\r\n };\r\n}\r\n\r\nexport function buildGetQuoteById(apiSpec) {\r\n return async function getQuoteById(id, json = true) {\r\n return apiCall.get(`${apiSpec.API}api/quote/${id}`).then((r) => (json ? r.json() : r));\r\n };\r\n}\r\n\r\nexport function buildGetQuickQuoteById(apiSpec) {\r\n return async function getQuickQuoteById(id, json = true) {\r\n return apiCall.get(`${apiSpec.API}api/quote/${id}/quickquote`).then((r) => (json ? r.json() : r));\r\n };\r\n}\r\n\r\nexport function buildMedicalDeclarationCategoryPost(apiSpec, payload) {\r\n return function getMedicalDeclarationCategoryPost(store, json = true) {\r\n const url = new URL(`${apiSpec.API}api/flow/medicaldeclaration/furtherQuestion/${payload[0].questionFlowId}`);\r\n return apiCall.post(url, JSON.stringify(payload)).then((r) => (json ? r.json() : r));\r\n };\r\n}\r\n\r\nexport function buildCurrentInsurancePost(apiSpec) {\r\n return async function currentInsurancePost(data, appId, householdId) {\r\n const req = apiCall.put(`${apiSpec.API}api/application/` + appId + `/household/` + householdId + `/currentInsurance`, JSON.stringify(data));\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n const data = await res.text();\r\n return data;\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function buildCurrentInsuranceFetcher(apiSpec) {\r\n return async function getCurrentInsurance(appId, householdId) {\r\n const req = apiCall.get(`${apiSpec.API}api/application/` + appId + `/household/` + householdId + `/currentInsurance`);\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n const data = await res.json();\r\n return data;\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function buildFilesUploadPost(apiSpec) {\r\n return async function postFilesUpload(appId, clientId, data) {\r\n const formData = new FormData();\r\n data.forEach((e, k) => formData.append(\"files\", data[k]));\r\n\r\n const req = apiCall.post(`${apiSpec.API}api/application/` + appId + `/files?clientId=` + clientId, formData);\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n const data = await res.text();\r\n return data;\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function buildUploaderExistingFiles(apiSpec) {\r\n return async function getUploaderExistingFiles(appId, clientId) {\r\n const req = apiCall.get(`${apiSpec.API}api/application/${appId}/upload/existingFiles?clientId=` + clientId);\r\n try {\r\n const res = await req;\r\n const data = await res.json();\r\n return data;\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function buildUploaderEnabledPost(apiSpec) {\r\n return async function postUploaderEnabled(clientId) {\r\n const req = apiCall.post(`${apiSpec.API}api/application/upload/enabled?clientId=` + clientId);\r\n try {\r\n const res = await req;\r\n const data = await res.text();\r\n return data;\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function buildUploaderFilesValidationGet(apiSpec) {\r\n return async function getUploaderFilesValidation(accessToken) {\r\n const requestHeader = {\r\n Authorization: `Bearer ${accessToken}`,\r\n };\r\n // apiCall is not used here because we don't call Webbuy API\r\n const req = fetch(apiSpec.validateFilesAPI, {\r\n method: \"GET\",\r\n headers: requestHeader,\r\n });\r\n\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n const data = await res.json();\r\n return data;\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function buildGetUploadAccessToken(apiSpec) {\r\n return async function getUploadAccessToken(appId, clientId) {\r\n let req;\r\n if (appId > 0) req = apiCall.get(`${apiSpec.API}api/application/${appId}/${clientId}/getAccessToken`);\r\n else req = apiCall.get(`${apiSpec.API}api/invite/${-appId}/${clientId}/getAccessToken`);\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n return res.text();\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function buildSendFiles(apiSpec) {\r\n return async function sendFiles(files, accessToken) {\r\n const formData = new FormData();\r\n files.forEach((e, k) => formData.append(\"FormFiles\", files[k]));\r\n\r\n const requestHeader = {\r\n Authorization: `Bearer ${accessToken}`,\r\n };\r\n\r\n // apiCall is not used here because we don't call Webbuy API\r\n const req = fetch(apiSpec.sendFilesAPI, {\r\n method: \"POST\",\r\n headers: requestHeader,\r\n body: formData,\r\n });\r\n\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n const data = await res.json();\r\n return data;\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function buildSaveUpload(apiSpec) {\r\n return async function saveUpload(uploadFileResponse) {\r\n const req = apiCall.post(`${apiSpec.API}api/application/saveUpload`, JSON.stringify(uploadFileResponse));\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n } else {\r\n return res;\r\n }\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function registerUser(apiSpec) {\r\n return async (data) => {\r\n const req = apiCall.post(`${apiSpec.API}api/authorization/register`, JSON.stringify(data));\r\n\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n return res.json();\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function registerFlexyUser(apiSpec) {\r\n return async (data) => {\r\n const req = apiCall.post(`${apiSpec.API}api/authorization/register/buycustomer`, JSON.stringify(data));\r\n\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n return res.json();\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function getWebSources(apiSpec) {\r\n return async (data) => {\r\n const req = apiCall.post(`${apiSpec.API}api/authorization/websources`, JSON.stringify(data));\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n return res.json();\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function registerCustomer(apiSpec) {\r\n return async (data) => {\r\n const req = apiCall.post(`${apiSpec.API}api/authorization/register/customer`, JSON.stringify(data));\r\n\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n return res.json();\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function registerUserAuthorize(apiSpec) {\r\n return async (data, accessToken) => {\r\n const req = apiCall.post(`${apiSpec.API}api/authorization/register/authorize`, JSON.stringify(data), { Authorization: `Bearer ${accessToken}` });\r\n\r\n try {\r\n const res = await req;\r\n if (!res.ok) {\r\n throw await res.json();\r\n }\r\n return res.json();\r\n } catch (err) {\r\n throw err;\r\n }\r\n };\r\n}\r\n\r\nexport function completeRegistration(apiSpec) {\r\n return async (data, accessToken) => {\r\n const req = apiCall.post(`${apiSpec.API}api/authorization/register/complete`, JSON.stringify(data), { Authorization: `Bearer ${accessToken}` });\r\n\r\n const res = await req;\r\n\r\n const text = await res.text();\r\n\r\n try {\r\n const data = JSON.parse(text);\r\n return data;\r\n } catch (error) {\r\n return text;\r\n }\r\n };\r\n}\r\n\r\nexport function resendActivationCode(apiSpec) {\r\n return async (registrationId) => {\r\n const res = await apiCall.post(`${apiSpec.API}api/authorization/register/${registrationId}/sendcode`);\r\n\r\n const text = await res.text();\r\n\r\n try {\r\n const data = JSON.parse(text);\r\n return data;\r\n } catch (error) {\r\n return text;\r\n }\r\n };\r\n}\r\n\r\nexport function getFPN(apiSpec) {\r\n return async (data) => {\r\n const req = apiCall.post(`${apiSpec.API}api/authorization/get-fpn`, JSON.stringify(data));\r\n\r\n const res = await req;\r\n\r\n const text = await res.text();\r\n\r\n try {\r\n const data = JSON.parse(text);\r\n return data;\r\n } catch (error) {\r\n return text;\r\n }\r\n };\r\n}\r\n\r\nexport function approveFPN(apiSpec) {\r\n return async (data) => {\r\n const req = apiCall.post(`${apiSpec.API}api/authorization/save-fpn`, JSON.stringify(data));\r\n\r\n const res = await req;\r\n\r\n const text = await res.text();\r\n\r\n try {\r\n const data = JSON.parse(text);\r\n return data;\r\n } catch (error) {\r\n return text;\r\n }\r\n };\r\n}\r\n\r\nexport function buildGetRenewalForCustomer(apiSpec) {\r\n return function getRenewalForCustomer() {\r\n return apiCall.get(`${apiSpec.API}api/renewal`).then((r) => r.json());\r\n };\r\n}\r\nexport function buildGetUpDownForCustomer(apiSpec) {\r\n return function getUpDownForCustomer() {\r\n return apiCall.get(`${apiSpec.API}api/renewal/upDown`).then((r) => r.json());\r\n };\r\n}\r\nexport function buildPostRenewalQuote(apiSpec) {\r\n return function postRenewalQuote(requestBody) {\r\n return apiCall.post(`${apiSpec.API}api/renewal/quote`, JSON.stringify(requestBody)).then((r) => {\r\n return r.ok ? r.json() : null;\r\n });\r\n };\r\n}\r\nexport function buildProcessRenewalQuote(apiSpec) {\r\n return function processRenewalQuote(requestBody) {\r\n return apiCall.post(`${apiSpec.API}api/renewal/process`, JSON.stringify(requestBody)).then((r) => {\r\n return r.ok ? r.json() : null;\r\n });\r\n };\r\n}\r\nexport function buildGetQuotesForRenewal(apiSpec) {\r\n return function getRenewalQuotes() {\r\n return apiCall.get(`${apiSpec.API}api/renewal/quotes`).then((r) => r.json());\r\n };\r\n}\r\nexport function buildGetLiteratureForCustomer(apiSpec) {\r\n return function getLiteratureForCustomer() {\r\n return apiCall.get(`${apiSpec.API}api/renewal/literature`).then((r) => r.json());\r\n };\r\n}\r\n\r\nexport function buildCalculateQuickQuote(apiSpec) {\r\n return function calculateQuickQuote(requestBody) {\r\n return apiCall.post(`${apiSpec.API}api/quickquote`, JSON.stringify(requestBody)).then((r) => {\r\n return r.ok ? r.json() : null;\r\n });\r\n };\r\n}\r\n\r\nexport function buildCalculateRenewalQuickQuoteById(apiSpec) {\r\n return function calculateRenewalQuickQuoteById(quoteId) {\r\n return apiCall.get(`${apiSpec.API}api/renewal/quickquote/${quoteId}`).then((r) => r.json());\r\n };\r\n}\r\n\r\nexport function buildCalculateRenewalQuickQuote(apiSpec) {\r\n return function calculateRenewalQuickQuote(requestBody) {\r\n return apiCall.post(`${apiSpec.API}api/renewal/quickquote`, JSON.stringify(requestBody)).then((r) => {\r\n return r.ok ? r.json() : null;\r\n });\r\n };\r\n}\r\n\r\nexport function buildRecalculateQuickQuote(apiSpec) {\r\n return function recalculateQuickQuote(requestBody) {\r\n return apiCall.post(`${apiSpec.API}api/quickquote/customise`, JSON.stringify(requestBody)).then((r) => {\r\n return r.ok ? r.json() : null;\r\n });\r\n };\r\n}\r\n\r\nexport function buildRecalculateRenewalQuickQuote(apiSpec) {\r\n return function recalculateRenewalQuickQuote(requestBody) {\r\n return apiCall.post(`${apiSpec.API}api/renewal/quickquote/customise`, JSON.stringify(requestBody)).then((r) => {\r\n return r.ok ? r.json() : null;\r\n });\r\n };\r\n}\r\n\r\nexport function buildApi(apiSpec) {\r\n console.assert(apiSpec.API, \"config's API parameter is not provided\");\r\n return {\r\n recommendedProduct: buildRecommendedProductFetcher(apiSpec),\r\n quickQuote: buildQuickQuoteFetcher(apiSpec),\r\n quickQuoteCustomise: buildQuickQuoteCustomiseFetcher(apiSpec),\r\n applicationSummary: buildApplicationSummaryFetcher(apiSpec),\r\n quoteSummary: buildQuoteSummaryFetcher(apiSpec),\r\n medicalDeclarationCategoryPost: buildMedicalDeclarationCategoryPost(apiSpec),\r\n declarations: buildDeclarationsFetcher(apiSpec),\r\n document: buildDocumentFetcher(apiSpec),\r\n accessToken: buildAccessTokenFetcher(apiSpec),\r\n logout: buildLogoutFetcher(apiSpec),\r\n declarationsAnswers: buildDeclarationAnswers(apiSpec),\r\n currentInsurancePost: buildCurrentInsurancePost(apiSpec),\r\n currentInsuranceFetcher: buildCurrentInsuranceFetcher(apiSpec),\r\n filesUpload: buildFilesUploadPost(apiSpec),\r\n checkUploaderEnabled: buildUploaderEnabledPost(apiSpec),\r\n getFilesValidation: buildUploaderFilesValidationGet(apiSpec),\r\n getExistingFiles: buildUploaderExistingFiles(apiSpec),\r\n quickquoteById: buildGetQuickQuoteById(apiSpec),\r\n quoteById: buildGetQuoteById(apiSpec),\r\n registerUser: registerUser(apiSpec),\r\n registerFlexyUser: registerFlexyUser(apiSpec),\r\n registerCustomer: registerCustomer(apiSpec),\r\n registerUserAuthorize: registerUserAuthorize(apiSpec),\r\n resendActivationCode: resendActivationCode(apiSpec),\r\n getFPN: getFPN(apiSpec),\r\n approveFPN: approveFPN(apiSpec),\r\n getRenewalForCustomer: buildGetRenewalForCustomer(apiSpec),\r\n getUpDownForCustomer: buildGetUpDownForCustomer(apiSpec),\r\n getLiteratureForCustomer: buildGetLiteratureForCustomer(apiSpec),\r\n postRenewalQuote: buildPostRenewalQuote(apiSpec),\r\n processRenewalQuote: buildProcessRenewalQuote(apiSpec),\r\n getQuotesForRenewal: buildGetQuotesForRenewal(apiSpec),\r\n calculateQuickQuote: buildCalculateQuickQuote(apiSpec),\r\n calculateRenewalQuickQuoteById: buildCalculateRenewalQuickQuoteById(apiSpec),\r\n calculateRenewalQuickQuote: buildCalculateRenewalQuickQuote(apiSpec),\r\n recalculateQuickQuote: buildRecalculateQuickQuote(apiSpec),\r\n recalculateRenewalQuickQuote: buildRecalculateRenewalQuickQuote(apiSpec),\r\n getUploadAccessToken: buildGetUploadAccessToken(apiSpec),\r\n sendFiles: buildSendFiles(apiSpec),\r\n saveUpload: buildSaveUpload(apiSpec),\r\n getWebSources: getWebSources(apiSpec),\r\n completeRegistration: completeRegistration(apiSpec),\r\n apiSpec,\r\n };\r\n}\r\n\r\nexport async function retrieveAndBuildApi() {\r\n return await fetch(CONFIG_FILE_PATH)\r\n .then((r) => r.json())\r\n .then((r) => buildApi(r));\r\n}\r\n\r\nexport default retrieveAndBuildApi();\r\n","import { lang } from \"moment\";\r\n\r\nexport const isAdultRelationship = (value :Number) => {\r\n return value == relationship.HUSBAND || value == relationship.WIFE || value == relationship.PARTNER || value == relationship.ADULT_DEPENDANT;\r\n}\r\n\r\nexport const isChildRelationship = (value :Number) => {\r\n return value == relationship.SON || value == relationship.DAUGHTER || value == relationship.CHILD_DEPENDANT;\r\n}\r\n\r\nexport const isSubscriberRelationship = (value :Number) => {\r\n return value == relationship.SUBSCRIBER;\r\n}\r\n\r\nexport const relationship = {\r\n HUSBAND: 0,\r\n WIFE: 1,\r\n PARTNER: 2,\r\n SON: 3,\r\n DAUGHTER: 4,\r\n CHILD_DEPENDANT: 5,\r\n ADULT_DEPENDANT: 6,\r\n SUBSCRIBER: 7\r\n}\r\n\r\nexport const paramTypes = {\r\n COVER: 1,\r\n SUBSCRIBER_UNDERWRITING: 2,\r\n DEPENDANT_UNDERWRITING: 3,\r\n EMAIL: 4,\r\n START_DATE: 5,\r\n NUMBER_OF_DEPENDANTS: 9,\r\n ADULT_DEPENDANT_UNDERWRITING: 10,\r\n CHILD_DEPENDANT_UNDERWRITING: 11,\r\n ADULT_DEPENDANT_OPTIONS: 12,\r\n CHILD_DEPENDANT_OPTIONS: 13,\r\n}\r\n\r\nexport const coverType = {\r\n JOINT: \"Joint\",\r\n ONE_PARENT: \"One Parent\",\r\n FAMILY: \"Family\",\r\n CHILDREN: \"Children\",\r\n PARTNER: \"Partner\",\r\n PARTNER_AND_CHILDREN: \"Partner And Children\",\r\n SINGLE: \"Single\"\r\n}\r\nexport const coverTypes = {\r\n WITH_ADULT: [coverType.FAMILY, coverType.JOINT, coverType.PARTNER, coverType.PARTNER_AND_CHILDREN],\r\n WITH_CHILD: [coverType.FAMILY, coverType.ONE_PARENT, coverType.CHILDREN, coverType.PARTNER_AND_CHILDREN]\r\n}\r\nexport function getApplicationId(membershipRequest) {\r\n if ([2, 4].includes(membershipRequest?.type)) {\r\n return -membershipRequest.membershipRequestId;\r\n }\r\n return membershipRequest.personalDetails.filter(pd => pd.invitePersonType != 1)[0]?.applicationId\r\n}\r\nexport const underwritingInviteStatus = {\r\n \"completed\":true,\r\n \"stages\":[\r\n {\"order\":110,\"name\":\"Submitted\",\"completed\":true},\r\n {\"order\":120,\"name\":\"Underwriting\",\"completed\":false},\r\n {\"order\":130,\"name\":\"Review\",\"completed\":false},\r\n {\"order\":140,\"name\":\"Completed\",\"completed\":false}\r\n ]\r\n};","var map = {\n\t\"./af\": 25177,\n\t\"./af.js\": 25177,\n\t\"./ar\": 61509,\n\t\"./ar-dz\": 41488,\n\t\"./ar-dz.js\": 41488,\n\t\"./ar-kw\": 58676,\n\t\"./ar-kw.js\": 58676,\n\t\"./ar-ly\": 42353,\n\t\"./ar-ly.js\": 42353,\n\t\"./ar-ma\": 24496,\n\t\"./ar-ma.js\": 24496,\n\t\"./ar-ps\": 6947,\n\t\"./ar-ps.js\": 6947,\n\t\"./ar-sa\": 82682,\n\t\"./ar-sa.js\": 82682,\n\t\"./ar-tn\": 89756,\n\t\"./ar-tn.js\": 89756,\n\t\"./ar.js\": 61509,\n\t\"./az\": 95533,\n\t\"./az.js\": 95533,\n\t\"./be\": 28959,\n\t\"./be.js\": 28959,\n\t\"./bg\": 47777,\n\t\"./bg.js\": 47777,\n\t\"./bm\": 54903,\n\t\"./bm.js\": 54903,\n\t\"./bn\": 61290,\n\t\"./bn-bd\": 17357,\n\t\"./bn-bd.js\": 17357,\n\t\"./bn.js\": 61290,\n\t\"./bo\": 31545,\n\t\"./bo.js\": 31545,\n\t\"./br\": 11470,\n\t\"./br.js\": 11470,\n\t\"./bs\": 44429,\n\t\"./bs.js\": 44429,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 56464,\n\t\"./cs.js\": 56464,\n\t\"./cv\": 73635,\n\t\"./cv.js\": 73635,\n\t\"./cy\": 64226,\n\t\"./cy.js\": 64226,\n\t\"./da\": 93601,\n\t\"./da.js\": 93601,\n\t\"./de\": 77853,\n\t\"./de-at\": 26111,\n\t\"./de-at.js\": 26111,\n\t\"./de-ch\": 54697,\n\t\"./de-ch.js\": 54697,\n\t\"./de.js\": 77853,\n\t\"./dv\": 60708,\n\t\"./dv.js\": 60708,\n\t\"./el\": 54691,\n\t\"./el.js\": 54691,\n\t\"./en-au\": 53872,\n\t\"./en-au.js\": 53872,\n\t\"./en-ca\": 28298,\n\t\"./en-ca.js\": 28298,\n\t\"./en-gb\": 56195,\n\t\"./en-gb.js\": 56195,\n\t\"./en-ie\": 66584,\n\t\"./en-ie.js\": 66584,\n\t\"./en-il\": 65543,\n\t\"./en-il.js\": 65543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 79402,\n\t\"./en-nz.js\": 79402,\n\t\"./en-sg\": 43004,\n\t\"./en-sg.js\": 43004,\n\t\"./eo\": 32934,\n\t\"./eo.js\": 32934,\n\t\"./es\": 97650,\n\t\"./es-do\": 20838,\n\t\"./es-do.js\": 20838,\n\t\"./es-mx\": 17730,\n\t\"./es-mx.js\": 17730,\n\t\"./es-us\": 56575,\n\t\"./es-us.js\": 56575,\n\t\"./es.js\": 97650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 90527,\n\t\"./fi.js\": 90527,\n\t\"./fil\": 95995,\n\t\"./fil.js\": 95995,\n\t\"./fo\": 52477,\n\t\"./fo.js\": 52477,\n\t\"./fr\": 85498,\n\t\"./fr-ca\": 26435,\n\t\"./fr-ca.js\": 26435,\n\t\"./fr-ch\": 37892,\n\t\"./fr-ch.js\": 37892,\n\t\"./fr.js\": 85498,\n\t\"./fy\": 37071,\n\t\"./fy.js\": 37071,\n\t\"./ga\": 41734,\n\t\"./ga.js\": 41734,\n\t\"./gd\": 70217,\n\t\"./gd.js\": 70217,\n\t\"./gl\": 77329,\n\t\"./gl.js\": 77329,\n\t\"./gom-deva\": 32124,\n\t\"./gom-deva.js\": 32124,\n\t\"./gom-latn\": 93383,\n\t\"./gom-latn.js\": 93383,\n\t\"./gu\": 95050,\n\t\"./gu.js\": 95050,\n\t\"./he\": 11713,\n\t\"./he.js\": 11713,\n\t\"./hi\": 43861,\n\t\"./hi.js\": 43861,\n\t\"./hr\": 26308,\n\t\"./hr.js\": 26308,\n\t\"./hu\": 90609,\n\t\"./hu.js\": 90609,\n\t\"./hy-am\": 17160,\n\t\"./hy-am.js\": 17160,\n\t\"./id\": 74063,\n\t\"./id.js\": 74063,\n\t\"./is\": 89374,\n\t\"./is.js\": 89374,\n\t\"./it\": 88383,\n\t\"./it-ch\": 21827,\n\t\"./it-ch.js\": 21827,\n\t\"./it.js\": 88383,\n\t\"./ja\": 23827,\n\t\"./ja.js\": 23827,\n\t\"./jv\": 89722,\n\t\"./jv.js\": 89722,\n\t\"./ka\": 41794,\n\t\"./ka.js\": 41794,\n\t\"./kk\": 27088,\n\t\"./kk.js\": 27088,\n\t\"./km\": 96870,\n\t\"./km.js\": 96870,\n\t\"./kn\": 84451,\n\t\"./kn.js\": 84451,\n\t\"./ko\": 63164,\n\t\"./ko.js\": 63164,\n\t\"./ku\": 98174,\n\t\"./ku-kmr\": 6181,\n\t\"./ku-kmr.js\": 6181,\n\t\"./ku.js\": 98174,\n\t\"./ky\": 78474,\n\t\"./ky.js\": 78474,\n\t\"./lb\": 79680,\n\t\"./lb.js\": 79680,\n\t\"./lo\": 15867,\n\t\"./lo.js\": 15867,\n\t\"./lt\": 45766,\n\t\"./lt.js\": 45766,\n\t\"./lv\": 69532,\n\t\"./lv.js\": 69532,\n\t\"./me\": 58076,\n\t\"./me.js\": 58076,\n\t\"./mi\": 41848,\n\t\"./mi.js\": 41848,\n\t\"./mk\": 30306,\n\t\"./mk.js\": 30306,\n\t\"./ml\": 73739,\n\t\"./ml.js\": 73739,\n\t\"./mn\": 99053,\n\t\"./mn.js\": 99053,\n\t\"./mr\": 86169,\n\t\"./mr.js\": 86169,\n\t\"./ms\": 73386,\n\t\"./ms-my\": 92297,\n\t\"./ms-my.js\": 92297,\n\t\"./ms.js\": 73386,\n\t\"./mt\": 77075,\n\t\"./mt.js\": 77075,\n\t\"./my\": 72264,\n\t\"./my.js\": 72264,\n\t\"./nb\": 22274,\n\t\"./nb.js\": 22274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 92572,\n\t\"./nl-be\": 43784,\n\t\"./nl-be.js\": 43784,\n\t\"./nl.js\": 92572,\n\t\"./nn\": 54566,\n\t\"./nn.js\": 54566,\n\t\"./oc-lnc\": 69330,\n\t\"./oc-lnc.js\": 69330,\n\t\"./pa-in\": 29849,\n\t\"./pa-in.js\": 29849,\n\t\"./pl\": 94418,\n\t\"./pl.js\": 94418,\n\t\"./pt\": 79834,\n\t\"./pt-br\": 48303,\n\t\"./pt-br.js\": 48303,\n\t\"./pt.js\": 79834,\n\t\"./ro\": 24457,\n\t\"./ro.js\": 24457,\n\t\"./ru\": 82271,\n\t\"./ru.js\": 82271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 33478,\n\t\"./se.js\": 33478,\n\t\"./si\": 17538,\n\t\"./si.js\": 17538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 46637,\n\t\"./sl.js\": 46637,\n\t\"./sq\": 64413,\n\t\"./sq.js\": 64413,\n\t\"./sr\": 45719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 45719,\n\t\"./ss\": 56000,\n\t\"./ss.js\": 56000,\n\t\"./sv\": 41011,\n\t\"./sv.js\": 41011,\n\t\"./sw\": 40748,\n\t\"./sw.js\": 40748,\n\t\"./ta\": 11025,\n\t\"./ta.js\": 11025,\n\t\"./te\": 11885,\n\t\"./te.js\": 11885,\n\t\"./tet\": 28861,\n\t\"./tet.js\": 28861,\n\t\"./tg\": 86571,\n\t\"./tg.js\": 86571,\n\t\"./th\": 55802,\n\t\"./th.js\": 55802,\n\t\"./tk\": 59527,\n\t\"./tk.js\": 59527,\n\t\"./tl-ph\": 29231,\n\t\"./tl-ph.js\": 29231,\n\t\"./tlh\": 31052,\n\t\"./tlh.js\": 31052,\n\t\"./tr\": 85096,\n\t\"./tr.js\": 85096,\n\t\"./tzl\": 79846,\n\t\"./tzl.js\": 79846,\n\t\"./tzm\": 81765,\n\t\"./tzm-latn\": 97711,\n\t\"./tzm-latn.js\": 97711,\n\t\"./tzm.js\": 81765,\n\t\"./ug-cn\": 48414,\n\t\"./ug-cn.js\": 48414,\n\t\"./uk\": 16618,\n\t\"./uk.js\": 16618,\n\t\"./ur\": 57777,\n\t\"./ur.js\": 57777,\n\t\"./uz\": 57609,\n\t\"./uz-latn\": 72475,\n\t\"./uz-latn.js\": 72475,\n\t\"./uz.js\": 57609,\n\t\"./vi\": 21135,\n\t\"./vi.js\": 21135,\n\t\"./x-pseudo\": 64051,\n\t\"./x-pseudo.js\": 64051,\n\t\"./yo\": 82218,\n\t\"./yo.js\": 82218,\n\t\"./zh-cn\": 52648,\n\t\"./zh-cn.js\": 52648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 31541,\n\t\"./zh-mo.js\": 31541,\n\t\"./zh-tw\": 50304,\n\t\"./zh-tw.js\": 50304\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 35358;","import AddFamily from \"@/assets/add-family-member-icon.svg\"\r\nimport add from \"@/assets/add.svg\"\r\nimport addHousehold from '@/assets/add-household.svg';\r\nimport addWhite from \"@/assets/e-add.svg\";\r\nimport appStore from \"@/assets/appstore.png\";\r\nimport application from \"@/assets/webapp.png\";\r\nimport arrow from \"@/assets/arrow.svg\";\r\nimport arrow2 from \"@/assets/arrow2.svg\";\r\nimport arrowRight from \"@/assets/arrow-right.svg\";\r\nimport blackUser from \"@/assets/black-user.svg\";\r\nimport blueLeftArrow from '@/assets/small-blue-left-arrow.svg'\r\nimport bluePhone from \"@/assets/blue-phone.svg\";\r\nimport bluePin from \"@/assets/blue-pin.svg\";\r\nimport bluePlus from '@/assets/blue-plus.svg';\r\nimport blueRemove from \"../assets/blue-remove.svg\";\r\nimport blueX from \"../assets/blue-x.svg\";\r\nimport calendar from \"@/assets/calendar-date-2.svg\";\r\nimport cardAm from \"@/assets/americanexpress-logo.svg\";\r\nimport cardMastercard from \"@/assets/Mastercard-logo.svg\";\r\nimport cardVisa from \"@/assets/Visa-logo.svg\";\r\nimport check from \"@/assets/Green tick white outline 1px.svg\";\r\nimport checkGray from \"@/assets/c-check.svg\";\r\nimport checkGray2 from '@/assets/check-gray.svg'\r\nimport checkGreen from \"@/assets/check.svg\";\r\nimport checkedDocumentation from '@/assets/checked-documentation-icon.svg';\r\nimport child from \"@/assets/child.svg\"\r\nimport circleCheckbox from '@/assets/circle-checkbox.svg';\r\nimport circleCheckboxUnchecked from '@/assets/circle-checkbox-unchecked.svg'\r\nimport circleDownGreen from '@/assets/circle-down-green.svg';\r\nimport circleUpRed from '@/assets/circle-up-red.svg';\r\nimport clock from \"@/assets/clock-time.svg\"\r\nimport close from \"@/assets/close.svg\";\r\nimport codeQr from \"@/assets/qr.png\";\r\nimport community from \"@/assets/community.svg\";\r\nimport couple from \"@/assets/couple.svg\";\r\nimport dataDownload from '@/assets/data-download-icon.svg';\r\nimport dotFull from '@/assets/dot.svg';\r\nimport family from \"@/assets/family.svg\";\r\nimport familyMultiple from '@/assets/family-multiple-people.svg';\r\nimport exclamationMark from '@/assets/exclamation-mark.png';\r\nimport googlePlay from \"@/assets/google-play.png\";\r\nimport greenTick from \"@/assets/green-tick.svg\";\r\nimport greenTickNoCircle from \"@/assets/green tick no circle.svg\";\r\nimport greyAdd from \"@/assets/grey-add.svg\";\r\nimport greyMember from \"@/assets/greyMember.svg\";\r\nimport greyTick from \"@/assets/grey-tick.svg\";\r\nimport handglass from \"@/assets/hand-glass.svg\"\r\nimport height from '@/assets/height.svg'\r\nimport hourglass from \"@/assets/hourglass.svg\";\r\nimport household from '@/assets/home.svg';\r\nimport infoIcon from \"@/assets/info-red.svg\"\r\nimport informationIcon from '@/assets/c-info.svg';\r\nimport informationIcon_Iceland from '@/assets/information_icon_iceland.png';\r\nimport iphone from '@/assets/iphone.svg';\r\nimport leftArrow from '@/assets/left-arrow.svg';\r\nimport loader from \"@/assets/loader.svg\";\r\nimport member from \"@/assets/member.svg\";\r\nimport members from \"@/assets/group.svg\";\r\nimport migration from \"@/assets/migration.svg\";\r\nimport multipleMembers from '@/assets/multipleMembers.svg';\r\nimport newsletter from \"@/assets/newsletter.svg\";\r\nimport notIncluded from '@/assets/not-included-icon.svg'\r\nimport pdf from \"@/assets/pdf-icon.svg\";\r\nimport pdf2 from \"@/assets/pdf2.svg\";\r\nimport personOutline from '@/assets/ic_person_outline.svg';\r\nimport pin from \"@/assets/pin.svg\";\r\nimport pinLocation from '@/assets/pinLocation.svg';\r\nimport plus from \"@/assets/plus.svg\";\r\nimport plus2 from \"@/assets/plus2.svg\";\r\nimport profile from '@/assets/person.svg';\r\nimport renewalDocument from '@/assets/renewal-document-icon.svg';\r\nimport search from \"@/assets/search.svg\";\r\nimport sendMessage from \"@/assets/send-message.svg\";\r\nimport smallBlueDownArrow from \"@/assets/small-blue-down-arrow.svg\";\r\nimport smallCheck from \"@/assets/d-check.svg\";\r\nimport smallChild from \"@/assets/small-child.svg\"\r\nimport smallDownArrow from \"@/assets/small-down-arrow.svg\";\r\nimport smallMember from \"@/assets/small-member.svg\"\r\nimport smallRemove from \"@/assets/i-remove.svg\";\r\nimport smallRightArrow from \"@/assets/small-right-arrow.svg\";\r\nimport trash from \"@/assets/trash.svg\";\r\nimport wallet from '@/assets/wallet-icon.svg';\r\nimport weight from '@/assets/weight.svg'\r\nimport whiteCheck from \"@/assets/f-check.svg\"\r\nimport whiteRemove from \"@/assets/white-remove.svg\"\r\nimport whiteRightArrow from '@/assets/small-right-arrow-white.svg'\r\nimport worldPin from \"@/assets/world-pin.svg\";\r\nimport wpaApp from \"@/assets/wpa-app.png\";\r\nimport wpaApp2 from \"@/assets/wpaApp2.svg\";\r\nimport wpaLogo from '@/assets/wpa-logo-svg.svg';\r\n\r\n// import dotHalf from '@/assets/dot-full.svg'; // TODO\r\n\r\n\r\nexport function getIcon(brandName = null, iconName){\r\n if(brandName){\r\n return icons[brandName] ? icons[brandName][iconName] || icons[iconName] : icons[iconName];\r\n }\r\n else{\r\n return icons[iconName];\r\n }\r\n}\r\n\r\n// import dotHalf from '@/assets/dot-full.svg'; // TODO\r\n\r\nconst icons = {\r\n AddFamily: AddFamily,\r\n add: add,\r\n addHousehold: addHousehold,\r\n addWhite: addWhite,\r\n appStore: appStore,\r\n application: application,\r\n arrow2: arrow2,\r\n arrow: arrow,\r\n arrowRight: arrowRight,\r\n blackUser: blackUser,\r\n blueLeftArrow: blueLeftArrow,\r\n bluePhone: bluePhone,\r\n bluePin: bluePin,\r\n bluePlus: bluePlus,\r\n blueRemove: blueRemove,\r\n blueX: blueX,\r\n calendar: calendar,\r\n cardAm,\r\n cardMastercard,\r\n cardVisa,\r\n check: check,\r\n checkGray2: checkGray2,\r\n checkGray: checkGray,\r\n checkGreen: checkGreen,\r\n checkedDocumentation: checkedDocumentation,\r\n child: child,\r\n circleCheckbox: circleCheckbox,\r\n circleCheckboxUnchecked: circleCheckboxUnchecked,\r\n circleDownGreen: circleDownGreen,\r\n circleUpRed: circleUpRed,\r\n clock: clock,\r\n close: close,\r\n codeQr: codeQr,\r\n community: community,\r\n couple: couple,\r\n dataDownload: dataDownload,\r\n dotFull: dotFull,\r\n exclamationMark: exclamationMark,\r\n family: family,\r\n familyMultiple,\r\n googlePlay: googlePlay,\r\n greenTick: greenTick,\r\n greenTickNoCircle: greenTickNoCircle,\r\n greyAdd: greyAdd,\r\n greyMember: greyMember,\r\n greyTick: greyTick,\r\n handglass: handglass,\r\n height: height,\r\n hourglass: hourglass,\r\n household: household,\r\n infoIcon: infoIcon,\r\n informationIcon: informationIcon,\r\n iphone: iphone,\r\n leftArrow: leftArrow,\r\n loader: loader,\r\n member: member,\r\n members: members,\r\n migration: migration,\r\n multipleMembers: multipleMembers,\r\n newsletter: newsletter,\r\n notIncluded: notIncluded,\r\n pdf2: pdf2,\r\n pdf: pdf,\r\n personOutline: personOutline,\r\n pin: pin,\r\n pinLocation: pinLocation,\r\n plus2: plus2,\r\n plus: plus,\r\n profile: profile,\r\n renewalDocument: renewalDocument,\r\n search: search,\r\n sendMessage: sendMessage,\r\n smallBlueDownArrow: smallBlueDownArrow,\r\n smallCheck: smallCheck,\r\n smallChild: smallChild,\r\n smallDownArrow: smallDownArrow,\r\n smallMember: smallMember,\r\n smallRemove: smallRemove,\r\n smallRightArrow: smallRightArrow,\r\n trash: trash,\r\n wallet: wallet,\r\n weight: weight,\r\n whiteCheck: whiteCheck,\r\n whiteRemove: whiteRemove,\r\n whiteRightArrow: whiteRightArrow,\r\n worldPin: worldPin,\r\n wpaApp2: wpaApp2,\r\n wpaApp: wpaApp,\r\n wpaLogo: wpaLogo,\r\n iceland: {\r\n informationIcon: informationIcon_Iceland\r\n },\r\n}\r\n\r\nexport default icons\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:{ theme: _vm.hifitheme },attrs:{\"id\":\"app\"}},[_c('t-navbar'),_c('div',{staticClass:\"Container\"},[(_vm.loadingApplication)?[_c('dot-loader-fullscreen')]:[_c('router-view',{attrs:{\"secondary-questions\":_vm.secondaryQuestions,\"only-navbar\":_vm.onlyNavbar},on:{\"update:onlyNavbar\":function($event){_vm.onlyNavbar=$event},\"update:only-navbar\":function($event){_vm.onlyNavbar=$event}}})]],2),_c('div',{staticClass:\"logout-warning\"},[_c('b-modal',{attrs:{\"id\":\"modal-logout-warning\",\"ok-only\":\"\",\"no-close-on-backdrop\":\"\",\"hide-header\":\"\"},on:{\"ok\":_vm.handleOk},model:{value:(_vm.displayLogoutWarning),callback:function ($$v) {_vm.displayLogoutWarning=$$v},expression:\"displayLogoutWarning\"}},[_c('p',[_vm._v(\"You have been inactive for 10 minutes and will be logged off in \"+_vm._s(_vm.timeLeft)+\" seconds. Please press OK if you wish to continue.\")])])],1),_c('div',{staticClass:\"fpn-approval\"},[_c('b-modal',{attrs:{\"id\":\"modal-fpn\",\"size\":\"lg\",\"scrollable\":\"\",\"no-close-on-backdrop\":\"\",\"hide-header\":\"\",\"hide-footer\":\"\"},model:{value:(_vm.displayFPN),callback:function ($$v) {_vm.displayFPN=$$v},expression:\"displayFPN\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$store.state.fpnContent)}}),_c('div',[_c('button',{class:[_vm.brandingClassName, 'fpn-approve-btn'],on:{\"click\":_vm.handleAcceptFPN}},[_vm._v(\"I ACCEPT\")])])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"Menu\"},[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('img',{attrs:{\"alt\":\"WPA\",\"src\":require(\"../assets/wpa-logo-svg.svg\")}})]),_c('router-link',{staticClass:\"arrow\",attrs:{\"to\":\"/personal\"}},[_vm._v(\"Personal\")]),_c('router-link',{staticClass:\"arrow\",attrs:{\"to\":\"/business\"}},[_vm._v(\"Business\")]),_c('router-link',{staticClass:\"arrow\",attrs:{\"to\":\"/healthcare-providers\"}},[_vm._v(\"Healthcare providers\")]),_c('router-link',{staticClass:\"arrow\",attrs:{\"to\":\"/intermediaries\"}},[_vm._v(\"Intermediaries\")]),_c('router-link',{staticClass:\"icon search\",attrs:{\"to\":\"/search\"}},[_vm._v(\"Search\")]),_c('router-link',{staticClass:\"icon contact\",attrs:{\"to\":\"/contact\"}},[_vm._v(\"Contact us\")]),_c('router-link',{staticClass:\"icon profile\",attrs:{\"to\":\"/sign-in\"}},[_vm._v(\"Sign in\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Menu.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Menu.vue?vue&type=template&id=e148e5ea&scoped=true\"\nimport script from \"./Menu.vue?vue&type=script&lang=ts\"\nexport * from \"./Menu.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e148e5ea\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"Navbar\"},[_c('div',{staticClass:\"Navbar__Container\"},[(_vm.logo)?_c('img',{staticClass:\"Navbar__logo Navbar__logo--brand\",attrs:{\"src\":'/img/logo/' + _vm.logo}}):_c('img',{staticClass:\"Navbar__Logo\",attrs:{\"alt\":\"WPA\",\"src\":require(\"../assets/wpa-logo-svg2.svg\")},on:{\"click\":_vm.redirectToHome}}),(!_vm.isOnlineInviteError)?[_c('div',{staticClass:\"Navbar__Quote\"},[(_vm.renewals)?_c('UIButton',{staticClass:\"mr-3\",attrs:{\"text\":_vm.getTextSecureAreaButton,\"type\":['secondary', 'narrow']},on:{\"click\":() => _vm.redirectToSecureArea()}}):_vm._e(),(_vm.showRetrieveQuote)?_c('button',{staticClass:\"Navbar__QuoteButton\",on:{\"click\":function($event){return _vm.$router.push({ name: 'MyProfile' })}}},[_vm._v(\" Retrieve a quote \")]):_vm._e(),_c('div',{staticClass:\"Navbar__Contact\"},[_c('div',{class:['Navbar__Phone', _vm.brandingClassName]},[_vm._v(\" If you need help contact us on \"),(_vm.isRetail && !_vm.renewals)?_c('a',{class:_vm.brandingClassName,attrs:{\"href\":'call://01823 625050'}},[_vm._v(\"01823 625050\")]):(_vm.isRetail && _vm.renewals)?_c('a',{staticClass:\"color-primary-blue\",attrs:{\"href\":\"call://01823 625230\"}},[_vm._v(\"01823 625230\")]):(_vm.isOnlineInvite)?_c('a',{class:_vm.brandingClassName,attrs:{\"href\":'call://' + _vm.getOnlineInviteTelephoneNumber}},[_vm._v(_vm._s(_vm.getOnlineInviteTelephoneNumber))]):_vm._e()]),(_vm.isRetail && !_vm.renewals)?_c('div',{staticClass:\"Navbar__Info\"},[_vm._v(\"Lines open Mon-Fri 9am - 5pm\")]):(_vm.isRetail && _vm.renewals)?_c('div',{staticClass:\"Navbar__Info\"},[_vm._v(\"Lines open Mon-Fri 8am - 7pm, Sat 9am - 12 noon\")]):(_vm.isOnlineInvite)?_c('div',{staticClass:\"Navbar__Info\"},[_vm._v(\"Lines open Mon-Fri 8am - 7pm, Sat 9am - 12 noon\")]):_vm._e()])],1),(_vm.showRetrieveQuote)?_c('div',{staticClass:\"Navbar__QuoteMobile\"},[_c('a',{staticClass:\"Navbar__QuoteMobileButton\",on:{\"click\":function($event){return _vm.$router.push({ name: 'MyProfile' })}}},[_vm._v(\"Retrieve a quote\")])]):_vm._e()]:_vm._e()],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Navbar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Navbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Navbar.vue?vue&type=template&id=26514d18&scoped=true\"\nimport script from \"./Navbar.vue?vue&type=script&lang=js\"\nexport * from \"./Navbar.vue?vue&type=script&lang=js\"\nimport style0 from \"./Navbar.vue?vue&type=style&index=0&id=26514d18&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"26514d18\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('button',_vm._g(_vm._b({},'button',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./SmartButton.vue?vue&type=template&id=b66e786c\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import config from \"../../public/config.json\";\r\n\r\nvar CookieCivic = {\r\n\tapiKey: \"8595816423d6dcc9e2c24b63ee5a52b7ace4364c\",\r\n\tproduct: \"PRO_MULTISITE\",\r\n\tmode: \"gdpr\",\r\n\tsubDomains: true,\r\n\tinitialState: \"notify\",\r\n\tposition: \"left\",\r\n\tcloseStyle: \"button\",\r\n\tsettingsStyle: \"link\",\r\n\trejectButton: true,\r\n\tconsentCookieExpiry: 90,\r\n\tlogConsent: true,\r\n\ttheme: \"dark\",\r\n\tbranding: {\r\n\t\tfontFamily: \"Inter\",\r\n\t\tfontSizeTitle: \"20px\",\r\n\t\tfontSizeHeaders: \"15px\",\r\n\t\tfontSize: \"15px\",\r\n\t\tfontSizeIntro: \"15px\",\r\n\t\tbackgroundColor: \"#0091EA\",\r\n\t\ttoggleText: \"#fff\",\r\n\t\ttoggleColor: \"#0091EA\",\r\n\t\ttoggleBackground: \"#3c3c3b\",\r\n\t\tremoveIcon: true,\r\n\t\tremoveAbout: true\r\n\t},\r\n\ttext: {\r\n\t\ttitle: \"This site uses cookies in order to work.\",\r\n\t\tintro: \"Some of these cookies are essential, while others help us to improve your experience by providing insights into how the site is being used. We won\\\"t set optional cookies unless you enable them. Using this tool will set a cookie on your device to remember your preferences.\",\r\n\t\taccept: \"I Agree\",\r\n\t\tacceptSettings: \"Accept Recommended Settings\",\r\n\t\treject: \"I Do Not Agree\",\r\n\t\trejectSettings: \"I Do Not Agree\",\r\n\t\tsettings: \"Settings\",\r\n\t\tcloseLabel: \"Save and close\",\r\n\t\tnecessaryTitle: \"Strictly necessary cookies\",\r\n\t\tnecessaryDescription: \"Necessary cookies enable core functionality such as security, network management and accessibility. You may disable these by changing your browser settings, but this may affect your ability to use the WPA website.\",\r\n\t\tnotifyTitle: \"Your choice regarding cookies on this site\",\r\n\t\tnotifyDescription: \"We use cookies to give you the best online experience. Please let us know if you agree to all of these cookies.\",\r\n\t\tthirdPartyTitle: \"Warning: Some cookies require your attention\",\r\n thirdPartyDescription: \"Consent for some third party cookies can not be automatically revoked. Please follow the link below if you want to opt out of them.\"\r\n\t},\r\n\tstatement: {\r\n\t\tdescription: \"For more detailed information about the cookies we use, please see our\",\r\n\t\tname: \"Privacy Policy\",\r\n\t\turl: \"https://www.wpa.org.uk/privacy-statement\",\r\n\t\tupdated: \"06/12/2019\"\r\n\t},\r\n\tnecessaryCookies: [\"CookieControl\", \"ClientVars\", \"ASP.NET_SessionId\", \"LoginCookie\", \"WPA.Session\", \"WPA.AntiForgeryToken\", \"WPA.AntiForgeryToken.CashBenefit\", \"WPA.Session.CashBenefit\", \"WPA.ClaimEntryPoint\", \"BNES_*\", \"BNI_persistence\", \"WPA.Auth\", \".AspNetCore.Antiforgery.hPKzgbBiGDA\"],\r\n optionalCookies: [\r\n\t\t{\r\n\t\t\tname: \"analytics\",\r\n\t\t\tlabel: \"Analytics cookies\",\r\n\t\t\tdescription: \"Analytical cookies, including Google Analytics, help us to improve our website by collecting and reporting information on how you use it. The cookies collect information in a way that does not directly identify an individual. For more information on how these cookies work, please see our Privacy Policy.\",\r\n\t\t\tcookies: [\"_ga\", \"_ga*\", \"ai_session\", \"ai_user\"],\r\n\t recommendedState: true,\r\n\t\t\tonAccept : function() {\r\n\t\t\t\t// ENABLE APPLICATION INSIGHTS\r\n !(function (cfg){function e(){cfg.onInit&&cfg.onInit(n)}var x,w,D,t,E,n,C=window,O=document,b=C.location,q=\"script\",I=\"ingestionendpoint\",L=\"disableExceptionTracking\",j=\"ai.device.\";\"instrumentationKey\"[x=\"toLowerCase\"](),w=\"crossOrigin\",D=\"POST\",t=\"appInsightsSDK\",E=cfg.name||\"appInsights\",(cfg.name||C[t])&&(C[t]=E),n=C[E]||function(g){var f=!1,m=!1,h={initialize:!0,queue:[],sv:\"8\",version:2,config:g};function v(e,t){var n={},i=\"Browser\";function a(e){e=\"\"+e;return 1===e.length?\"0\"+e:e}return n[j+\"id\"]=i[x](),n[j+\"type\"]=i,n[\"ai.operation.name\"]=b&&b.pathname||\"_unknown_\",n[\"ai.internal.sdkVersion\"]=\"javascript:snippet_\"+(h.sv||h.version),{time:(i=new Date).getUTCFullYear()+\"-\"+a(1+i.getUTCMonth())+\"-\"+a(i.getUTCDate())+\"T\"+a(i.getUTCHours())+\":\"+a(i.getUTCMinutes())+\":\"+a(i.getUTCSeconds())+\".\"+(i.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+\"Z\",iKey:e,name:\"Microsoft.ApplicationInsights.\"+e.replace(/-/g,\"\")+\".\"+t,sampleRate:100,tags:n,data:{baseData:{ver:2}},ver:undefined,seq:\"1\",aiDataContract:undefined}}var n,i,t,a,y=-1,T=0,S=[\"js.monitor.azure.com\",\"js.cdn.applicationinsights.io\",\"js.cdn.monitor.azure.com\",\"js0.cdn.applicationinsights.io\",\"js0.cdn.monitor.azure.com\",\"js2.cdn.applicationinsights.io\",\"js2.cdn.monitor.azure.com\",\"az416426.vo.msecnd.net\"],o=g.url||cfg.src,r=function(){return s(o,null)};function s(d,t){if((n=navigator)&&(~(n=(n.userAgent||\"\").toLowerCase()).indexOf(\"msie\")||~n.indexOf(\"trident/\"))&&~d.indexOf(\"ai.3\")&&(d=d.replace(/(\\/)(ai\\.3\\.)([^\\d]*)$/,function(e,t,n){return t+\"ai.2\"+n})),!1!==cfg.cr)for(var e=0;e {\r\n envelope.tags[\"ai.cloud.role\"] = config.applicationInsights.role\r\n }\r\n sdk.addTelemetryInitializer(telemetryInitializer)\r\n },\r\n crossOrigin: \"anonymous\",\r\n cfg: {\r\n connectionString: config.applicationInsights.connectionString,\r\n enableAutoRouteTracking: true,\r\n enableAjaxErrorStatusText: true,\r\n enableUnhandledPromiseRejectionTracking: true,\r\n cookieDomain: \".wpa.org.uk\",\r\n disableCookiesUsage: false,\r\n disableTelemetry: false,\r\n autoTrackPageVisitTime: true,\r\n loggingLevelTelemetry: 2,\r\n disablePageUnloadEvents: [ \"unload\" ]\r\n }\r\n });\r\n\t\t\t\t// END APPLICATION INSIGHTS\r\n\t\t\t},\r\n onRevoke: function() {\r\n\t\t\t\t// DISABLE APPLICATION INSIGHTS\r\n !(function (cfg){function e(){cfg.onInit&&cfg.onInit(n)}var x,w,D,t,E,n,C=window,O=document,b=C.location,q=\"script\",I=\"ingestionendpoint\",L=\"disableExceptionTracking\",j=\"ai.device.\";\"instrumentationKey\"[x=\"toLowerCase\"](),w=\"crossOrigin\",D=\"POST\",t=\"appInsightsSDK\",E=cfg.name||\"appInsights\",(cfg.name||C[t])&&(C[t]=E),n=C[E]||function(g){var f=!1,m=!1,h={initialize:!0,queue:[],sv:\"8\",version:2,config:g};function v(e,t){var n={},i=\"Browser\";function a(e){e=\"\"+e;return 1===e.length?\"0\"+e:e}return n[j+\"id\"]=i[x](),n[j+\"type\"]=i,n[\"ai.operation.name\"]=b&&b.pathname||\"_unknown_\",n[\"ai.internal.sdkVersion\"]=\"javascript:snippet_\"+(h.sv||h.version),{time:(i=new Date).getUTCFullYear()+\"-\"+a(1+i.getUTCMonth())+\"-\"+a(i.getUTCDate())+\"T\"+a(i.getUTCHours())+\":\"+a(i.getUTCMinutes())+\":\"+a(i.getUTCSeconds())+\".\"+(i.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+\"Z\",iKey:e,name:\"Microsoft.ApplicationInsights.\"+e.replace(/-/g,\"\")+\".\"+t,sampleRate:100,tags:n,data:{baseData:{ver:2}},ver:undefined,seq:\"1\",aiDataContract:undefined}}var n,i,t,a,y=-1,T=0,S=[\"js.monitor.azure.com\",\"js.cdn.applicationinsights.io\",\"js.cdn.monitor.azure.com\",\"js0.cdn.applicationinsights.io\",\"js0.cdn.monitor.azure.com\",\"js2.cdn.applicationinsights.io\",\"js2.cdn.monitor.azure.com\",\"az416426.vo.msecnd.net\"],o=g.url||cfg.src,r=function(){return s(o,null)};function s(d,t){if((n=navigator)&&(~(n=(n.userAgent||\"\").toLowerCase()).indexOf(\"msie\")||~n.indexOf(\"trident/\"))&&~d.indexOf(\"ai.3\")&&(d=d.replace(/(\\/)(ai\\.3\\.)([^\\d]*)$/,function(e,t,n){return t+\"ai.2\"+n})),!1!==cfg.cr)for(var e=0;e\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n

You have been inactive for 10 minutes and will be logged off in {{ timeLeft }} seconds. Please press OK if you wish to continue.

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=3bc4591e\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=3bc4591e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import 'bootstrap'\r\n\r\nimport App from './App.vue'\r\nimport Vue from 'vue'\r\nimport router from './router'\r\nimport store from './store'\r\n\r\nVue.config.productionTip = false\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n beforeCreate() {\r\n\t\tthis.$store.commit('initialiseStore');\r\n\t},\r\n render: h => h(App)\r\n}).$mount('#app')\r\n","import router from '../router'\r\n\r\nconst refreshTokenExpirationOffsetMinutes = 25;\r\nexport function logout(redirectUrl, redirect = true) {\r\n clearRefreshToken();\r\n clearRefreshTokenExpirationDate();\r\n clearAccessToken();\r\n if (redirect) {\r\n document.location.href = redirectUrl\r\n }\r\n}\r\n\r\nexport function getRefreshToken() {\r\n return localStorage.getItem('REFRESH_TOKEN');\r\n}\r\n\r\nexport function getRefreshTokenExpirationDate() {\r\n var date = localStorage.getItem('REFRESH_TOKEN_EXPIRATION')\r\n return date ? new Date(parseInt(date)) : null;\r\n}\r\n\r\nfunction clearRefreshToken() {\r\n localStorage.removeItem('REFRESH_TOKEN');\r\n}\r\n\r\nfunction clearRefreshTokenExpirationDate() {\r\n localStorage.removeItem('REFRESH_TOKEN_EXPIRATION');\r\n}\r\n\r\nfunction clearAccessToken() {\r\n localStorage.removeItem('ACCESS_TOKEN');\r\n}\r\n\r\nexport function getReturnUrlParameter(name) {\r\n return decodeURIComponent((new RegExp('[?|&|#]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [null, ''])[1].replace(/\\+/g, '%20')) || null;\r\n}\r\n\r\nexport function getTokenParameter(name) {\r\n return decodeURIComponent((new RegExp('[?|&|#]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.hash) || [null, ''])[1].replace(/\\+/g, '%20')) || null;\r\n }\r\n\r\nexport function setRefreshToken(refreshToken) {\r\n localStorage.setItem('REFRESH_TOKEN', refreshToken);\r\n localStorage.setItem('REFRESH_TOKEN_EXPIRATION', getNewRefreshTokenExpirationDate().getTime().toString());\r\n}\r\n\r\nfunction getNewRefreshTokenExpirationDate() {\r\n const date = new Date();\r\n date.setMinutes(date.getMinutes() + refreshTokenExpirationOffsetMinutes);\r\n return date;\r\n}\r\n\r\nfunction getTokenExpirationDate(encodedToken) {\r\n const token = encodedToken;\r\n if (!token.exp) {\r\n return null;\r\n }\r\n const date = new Date(0);\r\n date.setUTCSeconds(token.exp - 60); // 1 minute before token get expired\r\n return date;\r\n}\r\n\r\nexport function isTokenExpired(token) {\r\n const expirationDate = getTokenExpirationDate(token);\r\n\r\n var now = new Date();\r\n var utc_timestamp = Date.UTC(now.getUTCFullYear(),now.getUTCMonth(), now.getUTCDate(), \r\n now.getUTCHours(), now.getUTCMinutes(), now.getUTCSeconds(), now.getUTCMilliseconds())\r\n\r\n return expirationDate < utc_timestamp;\r\n}\r\n\r\nexport function parseJwt(token) {\r\n var base64Url = token.split('.')[1];\r\n var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\r\n var jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n }).join(''));\r\n\r\n return JSON.parse(jsonPayload);\r\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('button',{staticClass:\"ui__button\",class:_vm.type,attrs:{\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.$emit('click')}}},[_vm._v(\" \"+_vm._s(_vm.text)+\" \"),(_vm.icon)?_c('img',{staticClass:\"ui__button-icon\",attrs:{\"src\":_vm.icon}}):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../Web.MQL/node_modules/thread-loader/dist/cjs.js!../../Web.MQL/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../Web.MQL/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UIButton.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../Web.MQL/node_modules/thread-loader/dist/cjs.js!../../Web.MQL/node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../Web.MQL/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UIButton.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UIButton.vue?vue&type=template&id=4b30371a\"\nimport script from \"./UIButton.vue?vue&type=script&lang=js\"\nexport * from \"./UIButton.vue?vue&type=script&lang=js\"\nimport style0 from \"./UIButton.vue?vue&type=style&index=0&id=4b30371a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../Web.MQL/node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLoader),expression:\"showLoader\"}],staticClass:\"main-loader\"},[_c('div',{staticClass:\"dot-loader\"}),_c('div',{staticClass:\"dot-loader\"}),_c('div',{staticClass:\"dot-loader\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LoaderDots.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LoaderDots.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LoaderDots.vue?vue&type=template&id=a6d7134c&scoped=true\"\nimport script from \"./LoaderDots.vue?vue&type=script&lang=js\"\nexport * from \"./LoaderDots.vue?vue&type=script&lang=js\"\nimport style0 from \"./LoaderDots.vue?vue&type=style&index=0&id=a6d7134c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a6d7134c\",\n null\n \n)\n\nexport default component.exports","import Vuex, { ActionTree, GetterTree, MutationTree } from 'vuex'\r\n\r\nimport Vue from 'vue'\r\nimport { v4 as guid } from 'uuid';\r\nimport { GetQuote } from '../GetQuote';\r\n\r\ninterface MultifamilyQuoteState {\r\n currentHouseholdId: undefined | string;\r\n currentHousehold: HouseholdModel | any;\r\n households: HouseholdModel[];\r\n}\r\n\r\ninterface HouseholdModel {\r\n address: string | undefined;\r\n name: string | undefined;\r\n id: string;\r\n members: MemberData[];\r\n productId: number | undefined;\r\n productCoverLevel: string | undefined;\r\n}\r\n\r\ninterface UpdateHouseholdData {\r\n address: string;\r\n name: string;\r\n}\r\n\r\ninterface RemoveMemberData {\r\n memberIndex: number;\r\n}\r\n\r\ninterface UpdateMemberData {\r\n memberIndex: number;\r\n memberData: MemberData\r\n}\r\n\r\ninterface MemberData {\r\n age: any\r\n smoker: any;\r\n name: any;\r\n surname: any;\r\n id?: any;\r\n desc?: any;\r\n personalDetailsFilled: boolean,\r\n}\r\n\r\nVue.use(Vuex)\r\n\r\nexport const state: MultifamilyQuoteState = {\r\n currentHouseholdId: undefined,\r\n currentHousehold: {},\r\n households: [\r\n {\r\n address: undefined,\r\n name: undefined,\r\n id: guid(),\r\n members: [\r\n {\r\n age: undefined,\r\n smoker: undefined,\r\n name: undefined,\r\n surname: undefined,\r\n id: guid(),\r\n desc: {},\r\n personalDetailsFilled: false,\r\n },\r\n ],\r\n productId: undefined,\r\n productCoverLevel: undefined\r\n },\r\n {\r\n address: undefined,\r\n name: undefined,\r\n id: guid(),\r\n members: [\r\n {\r\n age: undefined,\r\n smoker: undefined,\r\n name: undefined,\r\n surname: undefined,\r\n id: guid(),\r\n desc: {},\r\n personalDetailsFilled: false,\r\n },\r\n ],\r\n productId: undefined,\r\n productCoverLevel: undefined\r\n }\r\n ]\r\n}\r\n\r\n\r\nexport const getters: GetterTree = {\r\n households: (state: MultifamilyQuoteState) => state.households,\r\n currentHouseholdId: (state: MultifamilyQuoteState) => state.currentHouseholdId,\r\n currentHousehold: (state: any) => {\r\n return !!Object.keys(state.currentHousehold).length ? state.currentHousehold : state.households[0];\r\n },\r\n currentHouseholdIndex: (state: MultifamilyQuoteState) => state.households.findIndex(household => household.id === state.currentHouseholdId),\r\n householdLength: (state: MultifamilyQuoteState) => state.households.length,\r\n}\r\n\r\nexport const mutations: MutationTree = {\r\n // MEMBER IN HOUSEHOLD MUTATIONS\r\n 'ADD_MEMBER'(state: MultifamilyQuoteState, householdId: string) {\r\n const currentHousehold = state.households.find(household => {\r\n return household.id === householdId\r\n });\r\n\r\n if(!!currentHousehold) {\r\n currentHousehold.members.push({\r\n age: undefined,\r\n smoker: undefined,\r\n name: undefined,\r\n surname: undefined,\r\n id: guid(),\r\n desc: {},\r\n personalDetailsFilled: false,\r\n })\r\n }\r\n },\r\n\r\n 'REMOVE_MEMBER'(state: MultifamilyQuoteState, data: RemoveMemberData) {\r\n let currentHousehold = state.households.find(household => {\r\n return household.id === state.currentHouseholdId\r\n });\r\n\r\n if(!!currentHousehold) {\r\n currentHousehold.members.splice(data.memberIndex, 1);\r\n }\r\n },\r\n\r\n 'UPDATE_MEMBER'(state: MultifamilyQuoteState, data: UpdateMemberData) {\r\n let currentHousehold = state.households.find(household => {\r\n return household.id === state.currentHouseholdId\r\n });\r\n\r\n if(!!currentHousehold) {\r\n currentHousehold.members[data.memberIndex].age = data.memberData.age;\r\n currentHousehold.members[data.memberIndex].smoker = data.memberData.smoker;\r\n currentHousehold.members[data.memberIndex].name = data.memberData.name;\r\n currentHousehold.members[data.memberIndex].surname = data.memberData.surname;\r\n }\r\n },\r\n\r\n // HOUSEHOLD MUTATIONS\r\n 'ADD_HOUSEHOLD'(state: MultifamilyQuoteState, householdId: string) {\r\n state.households.push({\r\n address: \"\",\r\n name: \"\",\r\n id: householdId,\r\n members: [],\r\n productId: undefined,\r\n productCoverLevel: undefined\r\n })\r\n },\r\n\r\n 'REMOVE_HOUSEHOLD'(state: MultifamilyQuoteState, householdId: string) {\r\n state.households = state.households.filter(household => {\r\n return household.id !== householdId;\r\n })\r\n },\r\n\r\n 'UPDATE_HOUSEHOLD'(state: MultifamilyQuoteState, data: UpdateHouseholdData) {\r\n let currentHousehold = state.households.find(household => {\r\n return household.id === state.currentHouseholdId\r\n });\r\n\r\n if (!!currentHousehold) {\r\n if (typeof data.name !== 'undefined') {\r\n currentHousehold.name = data.name;\r\n }\r\n if (typeof data.address !== 'undefined') {\r\n currentHousehold.address = data.address;\r\n }\r\n }\r\n },\r\n\r\n 'SELECT_HOUSEHOLD'(state: MultifamilyQuoteState, householdId: string) {\r\n state.currentHouseholdId = householdId\r\n\r\n let currentHousehold = state.households.find(household => household.id === householdId);\r\n\r\n if (!!currentHousehold) {\r\n state.currentHousehold = currentHousehold\r\n }\r\n },\r\n\r\n 'CLEAR_DATA'(state: MultifamilyQuoteState) {\r\n state.currentHouseholdId = undefined;\r\n state.currentHousehold = {};\r\n state.households = [\r\n {\r\n address: undefined,\r\n name: undefined,\r\n id: guid(),\r\n members: [\r\n {\r\n age: undefined,\r\n smoker: undefined,\r\n name: undefined,\r\n surname: undefined,\r\n id: guid(),\r\n desc: {},\r\n personalDetailsFilled: false,\r\n },\r\n ],\r\n productId: undefined,\r\n productCoverLevel: undefined\r\n },\r\n {\r\n address: undefined,\r\n name: undefined,\r\n id: guid(),\r\n members: [\r\n {\r\n age: undefined,\r\n smoker: undefined,\r\n name: undefined,\r\n surname: undefined,\r\n id: guid(),\r\n desc: {},\r\n personalDetailsFilled: false,\r\n },\r\n ],\r\n productId: undefined,\r\n productCoverLevel: undefined\r\n }\r\n ];\r\n },\r\n\r\n 'SET_MULTIFAMILY_MEMBER_DESCRIPTION' (state: MultifamilyQuoteState, data) {\r\n if (!data.householdId) {\r\n state.households[0].members[0].desc = Object.assign(state.households[0].members[0].desc, data.payload)\r\n } else {\r\n let currentHousehold = state.households.find(household => household.id === data.householdId);\r\n if (!!currentHousehold) {\r\n currentHousehold.members[data.index].desc = Object.assign(currentHousehold.members[data.index].desc, data.payload)\r\n }\r\n }\r\n },\r\n\r\n 'SET_HOUSEHOLD_PRODUCT_ID' (state: MultifamilyQuoteState, data) {\r\n let currentHousehold = state.households.find(household => household.id === data.householdId);\r\n\r\n if (!!currentHousehold) {\r\n currentHousehold.productId = data.value\r\n }\r\n },\r\n\r\n 'SET_HOUSEHOLD_PRODUCT_COVER_LEVEL' (state: MultifamilyQuoteState, data) {\r\n let currentHousehold = state.households.find(household => household.id === data.householdId);\r\n\r\n GetQuote.state.quotePayload.productCoverLevel = data.value\r\n if (!!currentHousehold) {\r\n currentHousehold.productCoverLevel = data.value\r\n }\r\n },\r\n 'MULTI_PERSONAL_DETAILS_FILLED' (state: MultifamilyQuoteState, data) {\r\n let currentHousehold = state.households.find(household => household.id === data.householdId);\r\n\r\n if (!!currentHousehold) {\r\n currentHousehold.members[data.index].personalDetailsFilled = true\r\n }\r\n },\r\n}\r\n\r\nexport const actions: ActionTree = {\r\n // MEMBER IN HOUSEHOLD ACTIONS\r\n addMemberAction({commit}, householdId: string) {\r\n commit('ADD_MEMBER', householdId);\r\n },\r\n\r\n removeMemberAction({commit}, data: RemoveMemberData) {\r\n commit('REMOVE_MEMBER', data);\r\n },\r\n\r\n updateMemberAction({commit}, data: UpdateMemberData) {\r\n commit('UPDATE_MEMBER', data);\r\n },\r\n\r\n // HOUSEHOLD ACTIONS\r\n addHouseholdAction({commit}, selectHousehold: boolean) {\r\n let householdId = guid();\r\n commit('ADD_HOUSEHOLD', householdId);\r\n if (selectHousehold) {\r\n commit('SELECT_HOUSEHOLD', householdId);\r\n }\r\n commit('ADD_MEMBER', householdId);\r\n\r\n },\r\n removeHouseholdAction({commit, state}, householdId: string) {\r\n commit('REMOVE_HOUSEHOLD', householdId);\r\n commit('SELECT_HOUSEHOLD', state.households[0].id)\r\n },\r\n updateHouseholdAction({commit}, data: UpdateHouseholdData) {\r\n commit('UPDATE_HOUSEHOLD', data);\r\n },\r\n selectHouseholdAction({commit}, householdId: string) {\r\n commit('SELECT_HOUSEHOLD', householdId)\r\n },\r\n multifamilyClearData({commit}) {\r\n commit('CLEAR_DATA');\r\n },\r\n setMultifamilyMemberDesc({commit}, data) {\r\n commit('SET_MULTIFAMILY_MEMBER_DESCRIPTION', data)\r\n },\r\n multiPersonalDetailsFilled({commit}, data) {\r\n commit('MULTI_PERSONAL_DETAILS_FILLED', data)\r\n },\r\n}\r\n\r\nexport const MultifamilyQuote = {\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n};\r\n","import Vue from 'vue'\r\nimport Vuex, { GetterTree, ActionTree, MutationTree } from 'vuex'\r\nimport api from '@/api'\r\nimport { v4 as guid } from 'uuid';\r\nimport { QuotePayload, QuoteHousehold, QuoteMemberOption } from '../quoteType'\r\nimport store from '..';\r\nimport { MultifamilyQuote } from '../MultifamilyQuote/index';\r\nimport router from '../../router/index';\r\nimport moment from 'moment'\r\n\r\nexport\r\ninterface GetQuoteState {\r\n postcode: string | undefined;\r\n members: MemberData[];\r\n occupationData: OccupationData;\r\n defaultCover: QuotePayload | null;\r\n quote: QuoteObject;\r\n quotePayload: QuotePayload;\r\n pendingCustomiseRequests: number;\r\n loaderForAllCovers: boolean;\r\n leadData: QuoteLeadData | null;\r\n}\r\n\r\ninterface PromotionTermsAndConditions {\r\n termsAndConditionsText: string | null,\r\n termsAndConditionsUrl: string | null\r\n}\r\n\r\ninterface QuoteObject {\r\n productName: string,\r\n availableBenefits: Array,\r\n coverDescriptions: CoverDescription[],\r\n documentsToDownload: [],\r\n selectedCoverLevelId: number,\r\n commonWithAllMembersSummary: [],\r\n householdPrices: HouseholdPrices[],\r\n householdOptions: HouseholdOption[],\r\n discountDetails: string | null,\r\n discountFootnote: string | null,\r\n promotionTermsAndConditions: PromotionTermsAndConditions | null,\r\n benefitOptionConditions: BenefitOptionCondition[],\r\n isSharedResponsibilityOverExcess: boolean,\r\n}\r\n\r\ninterface QuoteLeadData {\r\n postcode: string | undefined;\r\n age: number | undefined;\r\n firstName: string | undefined;\r\n surname: string | undefined;\r\n occupationId: number | undefined;\r\n occupation: string | undefined;\r\n smokerVaper: boolean | undefined;\r\n selfEmployed: boolean | undefined;\r\n isProfessional: boolean | undefined;\r\n}\r\n\r\ninterface HouseholdOption {\r\n memberOptions: MemberOption[];\r\n}\r\n\r\ninterface MemberOption {\r\n memberName: string;\r\n coverOptions: CoverOption[];\r\n}\r\n\r\ninterface BenefitsPayload {\r\n memberIndex: number;\r\n householdIndex: number;\r\n optionId: number;\r\n productId: number;\r\n productCoverLevel: string;\r\n value: any;\r\n setPgf: boolean | null | undefined;\r\n pgfMemberIndex: number | null | undefined;\r\n}\r\n\r\ninterface CoverOption {\r\n productId: number;\r\n coverLevel: string;\r\n optionId: number;\r\n value: string;\r\n}\r\n\r\nexport\r\ninterface MemberData {\r\n age: any\r\n smoker: any;\r\n name: any;\r\n surname: any;\r\n id?: any;\r\n desc?: any;\r\n allowMoratorium: boolean;\r\n underwritingTypeId: any;\r\n personalDetailsFilled: boolean;\r\n}\r\n\r\ninterface OccupationData {\r\n selfEmployed: boolean | undefined;\r\n occupation: string | undefined;\r\n memberOfProfession: boolean | undefined;\r\n}\r\n\r\ninterface UpdateMemberData {\r\n memberIndex: number;\r\n memberData: MemberData\r\n}\r\n\r\ninterface HouseholdPrices {\r\n memberPrices: MemberPrices[];\r\n}\r\n\r\ninterface MemberPrices {\r\n coverPrices: CoverPrice[];\r\n memberName: string;\r\n}\r\n\r\ninterface CoverPrice {\r\n coverLevel: string;\r\n priceNetPremium: number;\r\n priceGrossPremium: number;\r\n priceGrossYearly: number;\r\n priceGrossMonthly: number;\r\n priceGrossYearlyFull: number;\r\n priceGrossMonthlyFull: number;\r\n productId: number;\r\n}\r\n\r\ninterface CustomiseHousehold {\r\n members: CustomiseMember[];\r\n}\r\n\r\ninterface CustomiseMember {\r\n priceNetPremium: number;\r\n priceGrossPremium: number;\r\n priceGrossYearly: number;\r\n priceGrossMonthly: number;\r\n priceGrossYearlyFull: number;\r\n priceGrossMonthlyFull: number;\r\n options: QuoteMemberOption[];\r\n}\r\n\r\ninterface CoverDescription {\r\n coverName: string;\r\n id: number;\r\n price: number;\r\n priceFull: number;\r\n shortDescription: string;\r\n unit: string;\r\n benefits: string[]\r\n}\r\ninterface CustomiseHouseholdByIndex {\r\n households: CustomiseHousehold[];\r\n index: number;\r\n}\r\n\r\ninterface BenefitOptionCondition {\r\n cover: string,\r\n optionId: number,\r\n value: string,\r\n effects: BenefitOptionConditionEffect[]\r\n}\r\n\r\ninterface BenefitOptionConditionEffect {\r\n optionId: number,\r\n values: BenefitOptionConditionValues[],\r\n currentValueCondition: string\r\n}\r\n\r\ninterface BenefitOptionConditionValues {\r\n value: string,\r\n enabled: boolean,\r\n selected: boolean\r\n}\r\n\r\nVue.use(Vuex)\r\n\r\nexport const state: GetQuoteState = {\r\n postcode: undefined,\r\n occupationData: {\r\n selfEmployed: undefined,\r\n occupation: undefined,\r\n memberOfProfession: undefined,\r\n },\r\n members: [],\r\n defaultCover: null,\r\n quote: {\r\n productName: '',\r\n availableBenefits: [],\r\n coverDescriptions: [],\r\n documentsToDownload: [],\r\n selectedCoverLevelId: 0,\r\n commonWithAllMembersSummary: [],\r\n householdPrices: [],\r\n householdOptions: [],\r\n discountDetails: null,\r\n discountFootnote: null,\r\n promotionTermsAndConditions: null,\r\n benefitOptionConditions: [],\r\n isSharedResponsibilityOverExcess: false,\r\n },\r\n quotePayload: {\r\n quoteId: 0,\r\n productId: 0,\r\n startDateOfPolicy: '',\r\n expirationDate: '',\r\n homePostcode: '',\r\n households: [],\r\n externalLinkId: '',\r\n affinityId: null,\r\n applicationId: null,\r\n sponsoredId: null,\r\n costcoMembershipTypeId: null,\r\n promotionId: null,\r\n occupationId: 0,\r\n occupation: undefined,\r\n isProfessional: false,\r\n isSelfEmployed: false,\r\n priceGrossMonthly: 0,\r\n priceGrossMonthlyFull: 0,\r\n priceGrossYearly: 0,\r\n priceGrossYearlyFull: 0,\r\n priceNetPremium: 0,\r\n priceGrossPremium: 0,\r\n options: [],\r\n productCoverLevel: null,\r\n isCurrentlyInsured: null,\r\n },\r\n pendingCustomiseRequests: 0,\r\n loaderForAllCovers: false,\r\n leadData: null\r\n}\r\n\r\n\r\nexport const getters: GetterTree = {\r\n leadData: (state: GetQuoteState) => state.leadData,\r\n postcode: (state: GetQuoteState) => state.postcode,\r\n members: (state: GetQuoteState) => state.members,\r\n occupation: (state: GetQuoteState) => state.occupationData.occupation,\r\n selfEmployed: (state: GetQuoteState) => state.occupationData.selfEmployed,\r\n memberOfProfession: (state: GetQuoteState) => state.occupationData.memberOfProfession,\r\n membersAmount: (state: GetQuoteState) => state.members.length,\r\n quote: (state: GetQuoteState) => state.quote,\r\n // householdsOptions is indirectly set by `fetchQuickQuote`\r\n householdsOptions: (state: GetQuoteState) => state.quote.householdOptions,\r\n quotePayload: (state: GetQuoteState) => state.quotePayload,\r\n customiseQuoteLoader: (state: GetQuoteState) => state.pendingCustomiseRequests > 0,\r\n quotePayloadWithoutMemberIds: (state: GetQuoteState) => stripMembersIds(state.quotePayload),\r\n fullProductName: (state: GetQuoteState) => state.quote.productName,\r\n quoteCoverLevelsLength: (state: GetQuoteState) => state.quote.coverDescriptions.length,\r\n quotePayloadsForAllLevels: (state: GetQuoteState) => {\r\n return state.quote.coverDescriptions.map(cover => {\r\n return {\r\n ...state.quotePayload,\r\n productCoverLevel: cover.coverName,\r\n productId: cover.id,\r\n households: state.quotePayload.households.map((household, index) => {\r\n return {\r\n ...household,\r\n subscriber: {\r\n ...household.subscriber,\r\n options: state.quote.householdOptions[index].memberOptions[0].coverOptions.filter(o => o.coverLevel === cover.coverName && o.productId === cover.id).map(op => ({optionId: op.optionId, value: op.value}))\r\n },\r\n familyMembers: household.familyMembers.map((member, i) => {\r\n return {\r\n ...member,\r\n options: state.quote.householdOptions[index].memberOptions[i + 1].coverOptions.filter(o => o.coverLevel === cover.coverName && o.productId === cover.id).map(op => ({optionId: op.optionId, value: op.value}))\r\n }\r\n })\r\n }\r\n })\r\n }\r\n })\r\n },\r\n loaderForAllCovers: (state: GetQuoteState) => state.loaderForAllCovers,\r\n selectableOptionIds: (state: GetQuoteState) =>\r\n state.quote.availableBenefits.flatMap(ab => ab.subBenefits.map(sb => sb.id).filter(id => id > 0))\r\n}\r\n\r\nexport const mutations: MutationTree = {\r\n\r\n // common with global store\r\n setRecommendedProduct (state, data) {\r\n state.quotePayload.productId = data.productId;\r\n state.quotePayload.productCoverLevel = data.coverLevel;\r\n },\r\n setProductId(state, value) {\r\n state.quotePayload.productId = value\r\n },\r\n setProductCoverLevel(state, value) {\r\n state.quotePayload.productCoverLevel = value\r\n },\r\n\r\n 'GET_QUOTE_ADD_MEMBER'(state: GetQuoteState) {\r\n if (!state.members.length && state.leadData) {\r\n state.members.push({\r\n age: state.leadData.age,\r\n smoker: state.leadData.smokerVaper ? 1 : 0,\r\n name: state.leadData.firstName,\r\n surname: null, //state.leadData.surname, - removed because splitting name was reverted\r\n id: guid(),\r\n desc: {},\r\n allowMoratorium: true,\r\n underwritingTypeId: null,\r\n personalDetailsFilled: false,\r\n })\r\n }\r\n else\r\n state.members.push({\r\n age: undefined,\r\n smoker: undefined,\r\n name: undefined,\r\n surname: undefined,\r\n id: guid(),\r\n desc: {},\r\n allowMoratorium: true,\r\n underwritingTypeId: null,\r\n personalDetailsFilled: false,\r\n })\r\n },\r\n\r\n 'GET_QUOTE_REMOVE_MEMBER'(state: GetQuoteState, index: number) {\r\n state.members.splice(index, 1);\r\n },\r\n\r\n 'GET_QUOTE_UPDATE_MEMBER'(state: GetQuoteState, data: UpdateMemberData) {\r\n state.members[data.memberIndex].age = data.memberData.age;\r\n state.members[data.memberIndex].smoker = data.memberData.smoker;\r\n state.members[data.memberIndex].name = data.memberData.name;\r\n state.members[data.memberIndex].surname = data.memberData.surname;\r\n },\r\n\r\n 'GET_QUOTE_SET_POSTCODE'(state: GetQuoteState, postcode: string) {\r\n state.postcode = postcode;\r\n },\r\n\r\n 'GET_QUOTE_CLEAR_POSTCODE'(state: GetQuoteState) {\r\n state.postcode = undefined;\r\n },\r\n\r\n 'GET_QUOTE_SET_SELECTED_PROMOTION_ID' (state: GetQuoteState, costcoMembershipTypeId: number) {\r\n state.quotePayload.costcoMembershipTypeId = costcoMembershipTypeId;\r\n },\r\n\r\n 'GET_QUOTE_SET_EMPLOYMENT_TYPE' (state: GetQuoteState, selfEmployed) {\r\n state.occupationData.selfEmployed = selfEmployed;\r\n state.quotePayload.isSelfEmployed = selfEmployed;\r\n },\r\n 'GET_QUOTE_SET_AFFINITY_ID' (state: GetQuoteState, affinityId) {\r\n state.quotePayload.affinityId = affinityId;\r\n },\r\n 'GET_QUOTE_SET_SPONSORED_ID' (state: GetQuoteState, sponsoredId) {\r\n state.quotePayload.sponsoredId = sponsoredId;\r\n },\r\n 'GET_QUOTE_SET_EXTERNAL_LINK_ID' (state: GetQuoteState, externalLinkId) {\r\n state.quotePayload.externalLinkId = externalLinkId;\r\n },\r\n\r\n 'GET_QUOTE_SET_MEMBER_OF_PROFESSION' (state: GetQuoteState, memberOfProfession) {\r\n state.occupationData.memberOfProfession = memberOfProfession;\r\n state.quotePayload.isProfessional = memberOfProfession\r\n },\r\n\r\n 'GET_QUOTE_SET_OCCUPATION' (state: GetQuoteState, occupation) {\r\n state.occupationData.occupation = occupation;\r\n state.quotePayload.occupationId = occupation.occupationId ? occupation.occupationId : null;\r\n state.quotePayload.occupation = occupation.description;\r\n },\r\n\r\n 'GET_QUOTE_CLEAR_OCCUPATION' (state: GetQuoteState) {\r\n state.occupationData.occupation = undefined;\r\n state.quotePayload.occupationId = undefined;\r\n state.quotePayload.occupation = undefined;\r\n },\r\n\r\n 'CLEAR_DATA' (state: GetQuoteState) {\r\n state.postcode = undefined;\r\n\r\n state.occupationData.selfEmployed = undefined;\r\n state.occupationData.occupation = undefined;\r\n state.occupationData.memberOfProfession = undefined;\r\n\r\n state.members = [];\r\n\r\n state.quote.productName = '';\r\n state.quote.availableBenefits = [];\r\n state.quote.coverDescriptions = [];\r\n state.quote.documentsToDownload = [];\r\n state.quote.selectedCoverLevelId = 0;\r\n state.quote.commonWithAllMembersSummary = [];\r\n state.quote.householdPrices = [];\r\n state.quote.householdOptions = [];\r\n\r\n state.quotePayload.quoteId = 0;\r\n state.quotePayload.productId = 0;\r\n state.quotePayload.startDateOfPolicy = new Date().toISOString().slice(0, 10);\r\n state.quotePayload.homePostcode = '';\r\n state.quotePayload.households = [];\r\n state.quotePayload.affinityId = null;\r\n state.quotePayload.sponsoredId = null;\r\n state.quotePayload.externalLinkId = '';\r\n state.quotePayload.costcoMembershipTypeId = null;\r\n state.quotePayload.occupationId = 0;\r\n state.quotePayload.occupation = undefined;\r\n state.quotePayload.isProfessional = false;\r\n state.quotePayload.isSelfEmployed = false;\r\n state.quotePayload.priceGrossMonthly = 0;\r\n state.quotePayload.priceGrossMonthlyFull = 0;\r\n state.quotePayload.priceGrossYearly = 0;\r\n state.quotePayload.priceGrossYearlyFull = 0;\r\n state.quotePayload.priceNetPremium = 0;\r\n state.quotePayload.priceGrossPremium = 0;\r\n state.quotePayload.options = [];\r\n state.quotePayload.productCoverLevel = null;\r\n state.quotePayload.isCurrentlyInsured = null;\r\n\r\n state.pendingCustomiseRequests = 0;\r\n state.loaderForAllCovers = false;\r\n state.leadData = null;\r\n },\r\n\r\n 'SET_QUICKQUOTE' (state: GetQuoteState, { quote, selectableOptions}) {\r\n state.quote = quote;\r\n function copyOptions(newOptions, oldOptions) {\r\n return newOptions\r\n .filter(op => op.productId === state.quotePayload.productId && op.coverLevel === state.quotePayload.productCoverLevel)\r\n .map(op => selectableOptions.includes(op.optionId) && oldOptions.find(o => o.optionId == op.optionId) || ({optionId: op.optionId, value: op.value}));\r\n }\r\n\r\n state.quotePayload.promotionId = quote.promotionId;\r\n state.quotePayload.options = copyOptions(quote.groupOptions, state.quotePayload.options);\r\n state.quote.householdOptions.forEach((household, index) => {\r\n const payloadMembers = [state.quotePayload.households[index].subscriber, ...state.quotePayload.households[index].familyMembers];\r\n household.memberOptions.forEach((member, i) => {\r\n payloadMembers[i].options = copyOptions(member.coverOptions, payloadMembers[i].options);\r\n })\r\n })\r\n },\r\n\r\n 'SET_MEMBER_DESCRIPTION' (state: GetQuoteState, data) {\r\n state.members[data.index].desc = Object.assign(state.members[data.index].desc, data.payload)\r\n },\r\n\r\n 'SET_UNDERWRITING_TYPE_ID' (state: GetQuoteState, payload: { memberId, underwritingTypeId }) {\r\n const chosenMember = state.members.filter(member => {\r\n return member.id === payload.memberId\r\n })\r\n chosenMember[0]['underwritingTypeId'] = payload.underwritingTypeId\r\n },\r\n 'PERSONAL_DETAILS_FILLED' (state: GetQuoteState, index: string) {\r\n state.members[index].personalDetailsFilled = true\r\n },\r\n\r\n 'SET_OPTIONAL_BENEFITS_FOR_ALL' (state: GetQuoteState, data: BenefitsPayload) {\r\n state.quote.householdOptions.forEach(household => {\r\n household.memberOptions.forEach(memberOption => {\r\n const coverOption = memberOption.coverOptions.find(option => option.optionId === data.optionId && option.productId === data.productId && option.coverLevel === data.productCoverLevel)\r\n if (coverOption) {\r\n coverOption.value = data.value\r\n }\r\n\r\n if (!data.productCoverLevel) {\r\n memberOption.coverOptions.forEach(option => {\r\n if (option.optionId === data.optionId) {\r\n option.value = data.value\r\n }\r\n })\r\n }\r\n })\r\n })\r\n\r\n state.quotePayload.households.forEach(household => {\r\n const subscriber = household.subscriber.options.find(option => option.optionId === data.optionId && state.quotePayload.productId === data.productId && (data.productCoverLevel ? data.productCoverLevel === state.quotePayload.productCoverLevel : true))\r\n\r\n if (subscriber) {\r\n subscriber.value = data.value\r\n }\r\n })\r\n\r\n state.quotePayload.households.forEach(household => {\r\n household.familyMembers.forEach(memberOption => {\r\n const member = memberOption.options.find(option => option.optionId === data.optionId && state.quotePayload.productId === data.productId && (data.productCoverLevel ? data.productCoverLevel === state.quotePayload.productCoverLevel : true))\r\n if (member) {\r\n member.value = data.value\r\n }\r\n })\r\n })\r\n },\r\n 'SET_OPTIONAL_BENEFITS_PER_HOUSEHOLD' (state: GetQuoteState, data: BenefitsPayload) {\r\n state.quote.householdOptions[data.householdIndex].memberOptions.forEach(memberOption => {\r\n const coverOption = memberOption.coverOptions.find(option => option.optionId === data.optionId && option.productId === data.productId && option.coverLevel === data.productCoverLevel)\r\n if (coverOption) {\r\n coverOption.value = data.value\r\n }\r\n })\r\n\r\n const subscriber = state.quotePayload.households[data.householdIndex].subscriber.options\r\n .find(option => option.optionId === data.optionId && state.quotePayload.productId === data.productId && data.productCoverLevel === state.quotePayload.productCoverLevel)\r\n\r\n if (subscriber) {\r\n subscriber.value = data.value\r\n }\r\n\r\n state.quotePayload.households[data.householdIndex].familyMembers.forEach(memberOption => {\r\n const coverOption = memberOption.options.find(option => option.optionId === data.optionId && state.quotePayload.productId === data.productId && data.productCoverLevel === state.quotePayload.productCoverLevel)\r\n if (coverOption) {\r\n coverOption.value = data.value\r\n }\r\n })\r\n\r\n },\r\n 'SET_ALL_BENEFITS_PER_HOUSEHOLD' (state: GetQuoteState, data) {\r\n const chosenHousehold = MultifamilyQuote.state.households.find(h => h.id === data.householdId)\r\n if (chosenHousehold) {\r\n const chosenHouseholdId = MultifamilyQuote.state.households.indexOf(chosenHousehold)\r\n\r\n state.quote.householdOptions[chosenHouseholdId].memberOptions.forEach((member, i) => {\r\n if (i === 0) {\r\n state.quotePayload.households[chosenHouseholdId].subscriber.options = member.coverOptions.filter(op => op.productId === state.quotePayload.productId && op.coverLevel === state.quotePayload.productCoverLevel).map(op => ({optionId: op.optionId, value: op.value}))\r\n } else {\r\n if (state.quotePayload.households[chosenHouseholdId].familyMembers.length) {\r\n state.quotePayload.households[chosenHouseholdId].familyMembers[i - 1].options = member.coverOptions.filter(op => op.productId === state.quotePayload.productId && op.coverLevel === state.quotePayload.productCoverLevel).map(op => ({optionId: op.optionId, value: op.value}))\r\n }\r\n }\r\n })\r\n\r\n }\r\n },\r\n 'SET_OPTIONAL_BENEFITS_PER_MEMBER_MULTIFAMILY' (state: GetQuoteState, data: BenefitsPayload) {\r\n const coverOption = state.quote.householdOptions[data.householdIndex].memberOptions[data.memberIndex].coverOptions\r\n .find(option => option.optionId === data.optionId && option.productId === data.productId && option.coverLevel === data.productCoverLevel)\r\n if (coverOption) {\r\n coverOption.value = data.value\r\n }\r\n\r\n if (data.memberIndex === 0) {\r\n const subscriber = state.quotePayload.households[data.householdIndex].subscriber.options\r\n .find(option => option.optionId === data.optionId && state.quotePayload.productId === data.productId && data.productCoverLevel === state.quotePayload.productCoverLevel)\r\n if (subscriber) {\r\n subscriber.value = data.value\r\n }\r\n } else {\r\n const member = state.quotePayload.households[data.householdIndex].familyMembers[data.memberIndex - 1].options\r\n .find(option => option.optionId === data.optionId && state.quotePayload.productId === data.productId && data.productCoverLevel === state.quotePayload.productCoverLevel)\r\n if (member) {\r\n member.value = data.value\r\n }\r\n }\r\n },\r\n 'SET_OPTIONAL_BENEFITS_PER_MEMBER_SINGLEFAMILY' (state: GetQuoteState, data: BenefitsPayload) {\r\n const coverOption = state.quote.householdOptions[0].memberOptions[data.memberIndex].coverOptions\r\n .find(option => option.optionId === data.optionId && option.productId === data.productId && (data.productCoverLevel ? option.coverLevel === data.productCoverLevel : true))\r\n if (coverOption) {\r\n coverOption.value = data.value\r\n }\r\n\r\n if (!data.productCoverLevel) {\r\n state.quote.householdOptions[0].memberOptions[data.memberIndex].coverOptions.forEach(option => {\r\n if (option.optionId === data.optionId) {\r\n option.value = data.value\r\n }\r\n })\r\n }\r\n\r\n if (data.memberIndex === 0) {\r\n const subscriber = state.quotePayload.households[0].subscriber.options\r\n .find(option => option.optionId === data.optionId && state.quotePayload.productId === data.productId && (data.productCoverLevel ? data.productCoverLevel === state.quotePayload.productCoverLevel : true))\r\n if (subscriber) {\r\n subscriber.value = data.value\r\n }\r\n } else {\r\n const member = state.quotePayload.households[0].familyMembers[data.memberIndex - 1].options\r\n .find(option => option.optionId === data.optionId && state.quotePayload.productId === data.productId && (data.productCoverLevel ? data.productCoverLevel === state.quotePayload.productCoverLevel : true))\r\n if (member) {\r\n member.value = data.value\r\n }\r\n }\r\n },\r\n 'SET_HOUSEHOLDS_IN_QUOTE_PAYLOAD' (state: GetQuoteState, households: QuoteHousehold[]) {\r\n state.quotePayload.households = households\r\n state.quotePayload.homePostcode = households[0].postcode\r\n },\r\n\r\n 'SET_INITIAL_OPTIONS_PER_MEMBER' (state: GetQuoteState) {\r\n state.quote.householdOptions.forEach((household, index) => {\r\n household.memberOptions.forEach((member, i) => {\r\n if (i === 0) {\r\n state.quotePayload.households[index].subscriber.options = member.coverOptions.filter(op => op.productId === state.quotePayload.productId && op.coverLevel === state.quotePayload.productCoverLevel).map(op => ({optionId: op.optionId, value: op.value}))\r\n } else {\r\n if (state.quotePayload.households[index].familyMembers.length) {\r\n state.quotePayload.households[index].familyMembers[i - 1].options = member.coverOptions.filter(op => op.productId === state.quotePayload.productId && op.coverLevel === state.quotePayload.productCoverLevel).map(op => ({optionId: op.optionId, value: op.value}))\r\n }\r\n }\r\n })\r\n })\r\n },\r\n\r\n 'SET_QUICKQUOTE_CUSTOMISE' (state: GetQuoteState, households) {\r\n state.quote.householdPrices.forEach((household, index) => {\r\n household.memberPrices.forEach((memberPrice, i) => {\r\n const member = memberPrice.coverPrices.find(coverPrice => coverPrice.productId === state.quotePayload.productId && coverPrice.coverLevel === state.quotePayload.productCoverLevel)\r\n\r\n if (member) {\r\n member.priceGrossMonthly = households[index].members[i].priceGrossMonthly;\r\n member.priceGrossMonthlyFull = households[index].members[i].priceGrossMonthlyFull;\r\n member.priceGrossYearly = households[index].members[i].priceGrossYearly;\r\n member.priceGrossYearlyFull = households[index].members[i].priceGrossYearlyFull;\r\n member.priceNetPremium = households[index].members[i].priceNetPremium;\r\n member.priceGrossPremium = households[index].members[i].priceGrossPremium;\r\n }\r\n })\r\n })\r\n\r\n state.quote.householdOptions.forEach((household, index) => {\r\n household.memberOptions.forEach((member, i) => {\r\n if (i === 0) {\r\n state.quotePayload.households[index].subscriber.options = households[index].members[i].options.map(op => ({optionId: op.id, value: op.value}));\r\n } else {\r\n if (state.quotePayload.households[index].familyMembers.length) {\r\n state.quotePayload.households[index].familyMembers[i - 1].options = households[index].members[i].options.map(op => ({optionId: op.id, value: op.value}));\r\n }\r\n }\r\n })\r\n })\r\n },\r\n 'SET_QUICKQUOTE_CUSTOMISE_BY_INDEX' (state: GetQuoteState, data: CustomiseHouseholdByIndex ) {\r\n state.quote.householdPrices.forEach((household, index) => {\r\n household.memberPrices.forEach((memberPrice, i) => {\r\n memberPrice.coverPrices[data.index].priceGrossMonthly = data.households[index].members[i].priceGrossMonthly;\r\n memberPrice.coverPrices[data.index].priceGrossMonthlyFull = data.households[index].members[i].priceGrossMonthlyFull;\r\n memberPrice.coverPrices[data.index].priceGrossYearly = data.households[index].members[i].priceGrossYearly;\r\n memberPrice.coverPrices[data.index].priceGrossYearlyFull = data.households[index].members[i].priceGrossYearlyFull;\r\n memberPrice.coverPrices[data.index].priceNetPremium = data.households[index].members[i].priceNetPremium;\r\n memberPrice.coverPrices[data.index].priceGrossPremium = data.households[index].members[i].priceGrossPremium;\r\n })\r\n });\r\n },\r\n 'INCREASE_PENDINGS_REQUEST' (state: GetQuoteState) {\r\n state.pendingCustomiseRequests += 1;\r\n },\r\n 'DECREASE_PENDINGS_REQUEST' (state: GetQuoteState) {\r\n state.pendingCustomiseRequests -= 1;\r\n },\r\n 'SET_AS_DEFAULT_FOR_HOUSEHOLD' (state: GetQuoteState, {memberIndex, householdIndex, selectableOptions}) {\r\n\r\n\r\n let memberOptions: QuoteMemberOption[]\r\n if (memberIndex === 0) {\r\n memberOptions = state.quotePayload.households[householdIndex].subscriber.options.filter(x => selectableOptions.some(oId => oId === x.optionId));\r\n } else {\r\n memberOptions = state.quotePayload.households[householdIndex].familyMembers[memberIndex - 1].options.filter(x => selectableOptions.some(oId => oId === x.optionId));\r\n }\r\n\r\n state.quotePayload.households[householdIndex].subscriber.options.filter(x => selectableOptions.some(oId => oId === x.optionId)).forEach(o => {\r\n const option = memberOptions.find(option => option.optionId === o.optionId)\r\n\r\n if (option) {\r\n o.value = option.value\r\n }\r\n })\r\n\r\n state.quotePayload.households[householdIndex].familyMembers.forEach(member => {\r\n member.options.filter(x => selectableOptions.some(oId => oId === x.optionId)).forEach(o => {\r\n const option = memberOptions.find(option => option.optionId === o.optionId)\r\n if (option) {\r\n o.value = option.value\r\n }\r\n })\r\n })\r\n },\r\n 'SET_AS_DEFAULT_FOR_HOUSEHOLDS' (state: GetQuoteState, {householdIndex, selectableOptions}) {\r\n const currentHousehold = MultifamilyQuote.state.households[householdIndex];\r\n\r\n for (let index = 0; index < MultifamilyQuote.state.households.length; index++) {\r\n if (index != householdIndex) {\r\n const household = MultifamilyQuote.state.households[index];\r\n household.productCoverLevel = currentHousehold.productCoverLevel;\r\n }\r\n }\r\n\r\n const memberOptions = state.quotePayload.households[householdIndex].subscriber.options.filter(x => selectableOptions.some(oId => oId === x.optionId));\r\n state.quotePayload.households = state.quotePayload.households.map((household, i) => {\r\n if (i != householdIndex) {\r\n return {\r\n ...household,\r\n subscriber: {\r\n ...household.subscriber,\r\n options: household.subscriber.options.map(o => {\r\n const option = memberOptions.find(x => x.optionId === o.optionId);\r\n if (option) {\r\n return {\r\n optionId: option.optionId,\r\n value: option.value\r\n }\r\n }\r\n return {\r\n optionId: o.optionId,\r\n value: o.value\r\n }\r\n })\r\n },\r\n familyMembers: household.familyMembers.map((familyMember, j) => ({\r\n ...familyMember,\r\n options: familyMember.options.map(o => {\r\n const option = memberOptions.find(x => x.optionId === o.optionId);\r\n if (option) {\r\n return {\r\n optionId: option.optionId,\r\n value: option.value\r\n }\r\n }\r\n return {\r\n optionId: o.optionId,\r\n value: o.value\r\n }\r\n })\r\n\r\n }))\r\n };\r\n }\r\n\r\n return household;\r\n })\r\n },\r\n 'RESET_HOUSEHOLD_TO_DEFAULT' (state: GetQuoteState, {householdIndex}) {\r\n if (state.defaultCover) {\r\n const {households, ...defaultCover} = state.defaultCover;\r\n state.quotePayload = Object.assign({}, state.quotePayload, defaultCover);\r\n state.quotePayload.households = households.map((household, i) => {\r\n if (i == householdIndex) {\r\n return {\r\n ...household,\r\n subscriber: {\r\n ...household.subscriber,\r\n options: household.subscriber.options.map(o => {\r\n return {\r\n optionId: o.optionId,\r\n value: o.value\r\n }\r\n })\r\n },\r\n familyMembers: household.familyMembers.map((familyMember, j) => ({\r\n ...familyMember,\r\n options: familyMember.options.map(o => {\r\n return {\r\n optionId: o.optionId,\r\n value: o.value\r\n }\r\n })\r\n\r\n }))\r\n };\r\n }\r\n return state.quotePayload.households[i];\r\n })\r\n }\r\n },\r\n 'SET_QUOTE_PAYLOAD' (state: GetQuoteState, payload) {\r\n // state.quotePayload = payload\r\n // can't replace quotePayload object, because ref is used in global store\r\n state.quotePayload.quoteId = payload.id;\r\n state.quotePayload.productId = payload.productId;\r\n state.quotePayload.startDateOfPolicy = payload.startDateOfPolicy;\r\n state.quotePayload.expirationDate = payload.expirationDate;\r\n state.quotePayload.homePostcode = payload.homePostcode;\r\n state.quotePayload.households = payload.households;\r\n state.quotePayload.affinityId = payload.affinityId;\r\n state.quotePayload.applicationId = payload.applicationId;\r\n state.quotePayload.sponsoredId = payload.sponsoredId;\r\n state.quotePayload.externalLinkId = payload.externalLinkId;\r\n state.quotePayload.costcoMembershipTypeId = payload.costcoMembershipTypeId;\r\n state.quotePayload.occupationId = payload.occupationId;\r\n state.quotePayload.occupation = payload.occupation;\r\n state.quotePayload.isProfessional = payload.isProfessional;\r\n state.quotePayload.isSelfEmployed = payload.isSelfEmployed;\r\n state.quotePayload.priceGrossMonthly = payload.priceGrossMonthly;\r\n state.quotePayload.priceGrossMonthlyFull = payload.priceGrossMonthlyFull;\r\n state.quotePayload.priceGrossYearly = payload.priceGrossYearly;\r\n state.quotePayload.priceGrossYearlyFull = payload.priceGrossYearlyFull;\r\n state.quotePayload.priceNetPremium = payload.priceNetPremium;\r\n state.quotePayload.priceGrossPremium = payload.priceGrossPremium;\r\n state.quotePayload.options = payload.options;\r\n state.quotePayload.productCoverLevel = payload.productCoverLevel;\r\n state.quotePayload.isCurrentlyInsured = payload.isCurrentlyInsured;\r\n },\r\n\r\n 'SET_QUOTE_BY_ID' (state: GetQuoteState, payload) {\r\n state.members = []\r\n // state.quotePayload = payload\r\n // can't replace quotePayload object, because ref is used in global store\r\n state.quotePayload.quoteId = payload.id;\r\n state.quotePayload.expirationDate = payload.expirationDate;\r\n state.quotePayload.productId = payload.productId;\r\n state.quotePayload.startDateOfPolicy = payload.startDateOfPolicy;\r\n state.quotePayload.homePostcode = payload.homePostcode;\r\n state.quotePayload.households = payload.households;\r\n state.quotePayload.affinityId = payload.affinityId;\r\n state.quotePayload.applicationId = payload.applicationId;\r\n state.quotePayload.sponsoredId = payload.sponsoredId;\r\n state.quotePayload.externalLinkId = payload.externalLinkId;\r\n state.quotePayload.costcoMembershipTypeId = payload.costcoMembershipTypeId;\r\n state.quotePayload.occupationId = payload.occupationId;\r\n state.quotePayload.occupation = payload.occupation;\r\n state.quotePayload.isProfessional = payload.isProfessional;\r\n state.quotePayload.isSelfEmployed = payload.isSelfEmployed;\r\n state.quotePayload.priceGrossMonthly = payload.priceGrossMonthly;\r\n state.quotePayload.priceGrossMonthlyFull = payload.priceGrossMonthlyFull;\r\n state.quotePayload.priceGrossYearly = payload.priceGrossYearly;\r\n state.quotePayload.priceGrossYearlyFull = payload.priceGrossYearlyFull;\r\n state.quotePayload.priceNetPremium = payload.priceNetPremium;\r\n state.quotePayload.priceGrossPremium = payload.priceGrossPremium;\r\n state.quotePayload.options = payload.options;\r\n state.quotePayload.isCurrentlyInsured = payload.isCurrentlyInsured;\r\n\r\n const householdProductCoverLevel = payload.households[0].subscriber.productCoverLevel;\r\n state.quotePayload.productCoverLevel = householdProductCoverLevel;\r\n\r\n store.state.productId = payload.productId\r\n store.state.productCoverLevel = householdProductCoverLevel;\r\n\r\n if (payload.households.length > 1) {\r\n store.state.isMultiFamily = true\r\n MultifamilyQuote.state.households = []\r\n payload.households.forEach((household, index) => {\r\n MultifamilyQuote.state.households.push({\r\n id: household.subscriber.id + '',\r\n productCoverLevel: household.subscriber.productCoverLevel,\r\n address: household.postcode,\r\n name: household.name,\r\n members: [],\r\n productId: payload.productId\r\n });\r\n\r\n MultifamilyQuote.state.households[index].members.push({\r\n age: payload.households[index].subscriber.age,\r\n name: payload.households[index].subscriber.memberName,\r\n surname: payload.households[index].subscriber.memberSurname,\r\n smoker: payload.households[index].subscriber.smokerVaper,\r\n personalDetailsFilled: false\r\n })\r\n\r\n household.familyMembers.forEach(member => {\r\n MultifamilyQuote.state.households[index].members.push({\r\n age: member.age,\r\n name: member.memberName,\r\n surname: member.memberSurname,\r\n smoker: member.smokerVaper,\r\n personalDetailsFilled: false\r\n })\r\n })\r\n })\r\n } else {\r\n state.members = []\r\n store.state.isMultiFamily = false\r\n state.postcode = payload.households[0].postcode\r\n state.members.push({\r\n age: payload.households[0].subscriber.age,\r\n name: payload.households[0].subscriber.memberName,\r\n surname: payload.households[0].subscriber.memberSurname,\r\n smoker: payload.households[0].subscriber.smokerVaper,\r\n allowMoratorium: true,\r\n underwritingTypeId: 0,\r\n personalDetailsFilled: false\r\n })\r\n\r\n payload.households[0].familyMembers.forEach(member => {\r\n state.members.push({\r\n age: member.age,\r\n name: member.memberName,\r\n surname: member.memberSurname,\r\n smoker: member.smokerVaper,\r\n allowMoratorium: true,\r\n underwritingTypeId: 0,\r\n personalDetailsFilled: false\r\n })\r\n })\r\n }\r\n },\r\n 'CLEAR_QUOTE_COVER_LEVEL'(state: GetQuoteState) {\r\n state.quotePayload.households.forEach(household => {\r\n household.subscriber.productCoverLevel = undefined;\r\n household.familyMembers.forEach(member => {\r\n member.productCoverLevel = undefined;\r\n });\r\n });\r\n },\r\n\r\n 'SET_QUICKQUOTE_BY_ID' (state: GetQuoteState, quote) {\r\n state.quote = quote\r\n\r\n const coverPrice = quote.householdPrices[0].memberPrices[0].coverPrices.find(cp => cp.priceGrossMonthly === state.quotePayload.households[0].subscriber.priceGrossMonthly && cp.productId === state.quotePayload.productId)\r\n\r\n store.state.productCoverLevel = coverPrice ? coverPrice.coverLevel : quote.householdPrices[0].memberPrices[0].coverPrices[0].coverLevel\r\n state.quotePayload.productCoverLevel = coverPrice ? coverPrice.coverLevel : quote.householdPrices[0].memberPrices[0].coverPrices[0].coverLevel\r\n },\r\n\r\n 'SET_LOADER_FOR_ALL_COVERS' (state: GetQuoteState, boolean) {\r\n state.loaderForAllCovers = boolean\r\n },\r\n\r\n 'SET_POLICY_START_DATE' (state: GetQuoteState, date) {\r\n state.quotePayload.startDateOfPolicy = date\r\n state.quotePayload.expirationDate = moment(date).add(14, \"days\").format(\"YYYY-MM-DD\")\r\n },\r\n\r\n 'SET_IS_CURRENTLY_INSURED' (state: GetQuoteState, isCurrentlyInsured) {\r\n state.quotePayload.isCurrentlyInsured = isCurrentlyInsured;\r\n },\r\n\r\n 'REPLACE_OPTIONS' (state: GetQuoteState, data) {\r\n // copy options in quote.householdOptions for changed cover level\r\n state.quote.householdOptions = state.quote.householdOptions.map((householdOption, i) => ({\r\n memberOptions: householdOption.memberOptions.map((memberOption, j) => ({\r\n ...memberOption,\r\n coverOptions: [\r\n ...memberOption.coverOptions.filter(o => !(o.coverLevel === data.productCoverLevel && o.productId === data.productId)),\r\n ...data.households[i].members[j].options.map(o => ({\r\n productId: data.productId,\r\n coverLevel: data.productCoverLevel,\r\n optionId: o.id,\r\n value: o.value\r\n }))\r\n ]\r\n }))\r\n }))\r\n // copy options in quotePayload for changed cover level\r\n if (store.state.isMultiFamily) {\r\n // if it's multi family, cover levels are stored in MultifamilyQuote.state.households or global store\r\n state.quotePayload.households = state.quotePayload.households.map((household, i) => {\r\n const productCoverLevel = MultifamilyQuote.state.households[i].productCoverLevel !== undefined ? MultifamilyQuote.state.households[i].productCoverLevel : store.state.productCoverLevel;\r\n const productId = MultifamilyQuote.state.households[i].productId !== undefined ? MultifamilyQuote.state.households[i].productId : store.state.productId;\r\n return {\r\n ...household,\r\n subscriber: {\r\n ...household.subscriber,\r\n options: productId === data.productId && productCoverLevel === data.productCoverLevel ? data.households[i].members[0].options.map(o => ({\r\n optionId: o.id,\r\n value: o.value\r\n })) : household.subscriber.options\r\n },\r\n familyMembers: household.familyMembers.map((familyMember, j) => ({\r\n ...familyMember,\r\n options: productId === data.productId && productCoverLevel === data.productCoverLevel ? data.households[i].members[j + 1].options.map(o => ({\r\n optionId: o.id,\r\n value: o.value\r\n })) : familyMember.options\r\n }))\r\n };\r\n })\r\n }\r\n else {\r\n // else cover levels are stored in global store\r\n const productCoverLevel = store.state.productCoverLevel;\r\n const productId = store.state.productId;\r\n\r\n if (productId === data.productId && productCoverLevel === data.productCoverLevel) {\r\n state.quotePayload.households = state.quotePayload.households.map((household, i) => {\r\n return {\r\n ...household,\r\n subscriber: {\r\n ...household.subscriber,\r\n options: data.households[i].members[0].options.map(o => ({\r\n optionId: o.id,\r\n value: o.value\r\n }))\r\n },\r\n familyMembers: household.familyMembers.map((familyMember, j) => ({\r\n ...familyMember,\r\n options: data.households[i].members[j + 1].options.map(o => ({\r\n optionId: o.id,\r\n value: o.value\r\n }))\r\n }))\r\n };\r\n })\r\n }\r\n }\r\n },\r\n\r\n 'SET_DEFAULT_COVER' (state: GetQuoteState) {\r\n state.defaultCover = Object.assign({}, state.quotePayload);\r\n state.defaultCover.households = state.quotePayload.households.map((household, i) => {\r\n return {\r\n ...household,\r\n subscriber: {\r\n ...household.subscriber,\r\n options: household.subscriber.options.map(o => {\r\n return {\r\n optionId: o.optionId,\r\n value: o.value\r\n }\r\n })\r\n },\r\n familyMembers: household.familyMembers.map((familyMember, j) => ({\r\n ...familyMember,\r\n options: familyMember.options.map(o => {\r\n return {\r\n optionId: o.optionId,\r\n value: o.value\r\n }\r\n })\r\n\r\n }))\r\n };\r\n })\r\n },\r\n\r\n 'SET_QUOTE_LEAD_DATA' (state: GetQuoteState, leadData) {\r\n state.quotePayload.isSelfEmployed = leadData.selfEmployed,\r\n state.quotePayload.isProfessional = leadData.isProfessional,\r\n state.leadData = leadData;\r\n state.occupationData.selfEmployed = leadData.selfEmployed;\r\n },\r\n\r\n 'SET_QUICKQUOTE_DISCOUNTS_INFO' (state: GetQuoteState, discounts) {\r\n state.quote.discountDetails = discounts.discountDetails;\r\n state.quote.discountFootnote = discounts.discountFootnote;\r\n state.quote.promotionTermsAndConditions = discounts.termsAndConditions;\r\n state.quotePayload.promotionId = discounts.promotionId;\r\n },\r\n\r\n 'UPDATE_PGF_OPTIONS' (state, selectableOptions) {\r\n for (const household of state.quotePayload.households) {\r\n const members = [household.subscriber, ...household.familyMembers];\r\n const pgfIndex = members.findIndex(m => m.options.some(o => o.optionId == 1025 && o.value == \"Yes\"));\r\n if (pgfIndex == -1) continue;\r\n const maxAge = Math.max(...members.filter((_, i) => i != pgfIndex).map(m => m.age));\r\n const oldestIndex = members.findIndex((m, i) => m.age == maxAge && i != pgfIndex);\r\n for (const dest of members[pgfIndex].options) {\r\n if (!selectableOptions.includes(dest.optionId)) continue;\r\n const src = members[oldestIndex].options.find(o => o.optionId == dest.optionId);\r\n if (src !== undefined) {\r\n dest.value = src?.value;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const actions: ActionTree = {\r\n setQuoteLeadData({commit}, data) {\r\n commit('SET_QUOTE_LEAD_DATA', data)\r\n },\r\n\r\n getQuoteAddMemberAction({commit}) {\r\n commit('GET_QUOTE_ADD_MEMBER');\r\n },\r\n\r\n getQuoteRemoveMemberAction({commit}, index: number) {\r\n commit('GET_QUOTE_REMOVE_MEMBER', index);\r\n },\r\n\r\n getQuoteUpdateMemberAction({commit}, data: UpdateMemberData) {\r\n commit('GET_QUOTE_UPDATE_MEMBER', data);\r\n },\r\n\r\n getQuoteSetPostcode({commit}, postcode: string) {\r\n commit('GET_QUOTE_SET_POSTCODE', postcode);\r\n },\r\n\r\n getQuoteClearPostcode({commit}) {\r\n commit('GET_QUOTE_CLEAR_POSTCODE');\r\n },\r\n\r\n getQuoteSetOccupation({commit}, occupation) {\r\n commit('GET_QUOTE_SET_OCCUPATION', occupation);\r\n },\r\n\r\n getQuoteSetEmploymentType({commit}, selfEmployed) {\r\n commit('GET_QUOTE_SET_EMPLOYMENT_TYPE', selfEmployed);\r\n },\r\n\r\n getQuoteSetMemberOfProfession({commit}, memberOfProfession) {\r\n commit('GET_QUOTE_SET_MEMBER_OF_PROFESSION', memberOfProfession);\r\n },\r\n\r\n getQuoteClearOccupation({commit}) {\r\n commit('GET_QUOTE_CLEAR_OCCUPATION')\r\n },\r\n\r\n getQuoteClearData({commit}) {\r\n commit('CLEAR_DATA');\r\n },\r\n\r\n setMemberDesc({commit}, data) {\r\n commit('SET_MEMBER_DESCRIPTION', data)\r\n },\r\n\r\n personalDetailsFilled({commit}, index: number) {\r\n commit('PERSONAL_DETAILS_FILLED', index)\r\n },\r\n async updateQuotePastStartDate({ commit, dispatch, state, getters }) {\r\n const today = new Date().toISOString().slice(0, 10);\r\n if (today > state.quotePayload.startDateOfPolicy) {\r\n commit(\"CLEAR_QUOTE_COVER_LEVEL\"); // ensure quickQuote returns fresh data\r\n commit(\"SET_POLICY_START_DATE\", today);\r\n commit('SET_LOADER_FOR_ALL_COVERS', true)\r\n commit('INCREASE_PENDINGS_REQUEST')\r\n await dispatch(\"fetchQuickQuote\", getters.selectableOptionIds);\r\n commit(\"UPDATE_PGF_OPTIONS\", getters.selectableOptionIds);\r\n commit('DECREASE_PENDINGS_REQUEST')\r\n commit('SET_LOADER_FOR_ALL_COVERS', false)\r\n }\r\n },\r\n setOptionalBenefitsRaw({ commit }, data) {\r\n if (data.memberIndex === -1 && data.householdIndex !== -1) {\r\n commit('SET_OPTIONAL_BENEFITS_PER_HOUSEHOLD', data)\r\n } else if (data.memberIndex !== -1 && data.householdIndex !== -1) {\r\n commit('SET_OPTIONAL_BENEFITS_PER_MEMBER_MULTIFAMILY', data)\r\n } else if (data.memberIndex !== -1 && data.householdIndex === -1) {\r\n commit('SET_OPTIONAL_BENEFITS_PER_MEMBER_SINGLEFAMILY', data)\r\n } else if (data.memberIndex === -1 && data.householdIndex === -1) {\r\n commit('SET_OPTIONAL_BENEFITS_FOR_ALL', data)\r\n }\r\n\r\n if (data.memberIndex !== -1 && data.setPgf) {\r\n const pgfData = {\r\n ...data,\r\n memberIndex: data.pgfMemberIndex\r\n };\r\n if (pgfData.householdIndex !== -1) {\r\n commit('SET_OPTIONAL_BENEFITS_PER_MEMBER_MULTIFAMILY', pgfData)\r\n } else if (pgfData.householdIndex === -1) {\r\n commit('SET_OPTIONAL_BENEFITS_PER_MEMBER_SINGLEFAMILY', pgfData)\r\n }\r\n }\r\n },\r\n async setOptionalBenefits({ commit, dispatch, state }, data: BenefitsPayload) {\r\n const condition = state.quote.benefitOptionConditions.find(c =>\r\n c.optionId == data.optionId &&\r\n c.value == data.value &&\r\n (c.cover == data.productCoverLevel));\r\n if (condition) {\r\n for (const effect of condition.effects) {\r\n let currentValueOfEffectOptionId = \"\";\r\n if (effect.currentValueCondition != null) {\r\n currentValueOfEffectOptionId = getMemberOptionValue(data, effect.optionId).toString();\r\n }\r\n\r\n if (effect.currentValueCondition == null || effect.currentValueCondition == currentValueOfEffectOptionId) {\r\n for (const value of effect.values) {\r\n if (value.selected) {\r\n dispatch('setOptionalBenefitsRaw', { ...data, optionId: effect.optionId, value: value.value });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n dispatch('setOptionalBenefitsRaw', data);\r\n\r\n await dispatch(\"updateQuotePastStartDate\");\r\n\r\n if (!data.productCoverLevel) {\r\n commit('SET_LOADER_FOR_ALL_COVERS', true)\r\n for (const index in store.getters.quotePayloadsForAllLevels) {\r\n commit('INCREASE_PENDINGS_REQUEST')\r\n try {\r\n const coverData = store.getters.quotePayloadsForAllLevels[index]\r\n const { households, ...rest } = await (await api).quickQuoteCustomise(coverData)\r\n const data2 = { households: households, index: index }\r\n commit('SET_QUICKQUOTE_CUSTOMISE_BY_INDEX', data2)\r\n\r\n const discounts = {\r\n discountDetails: rest.discountDetails,\r\n discountFootnote: rest.discountFootnote,\r\n termsAndConditions: rest.promotionTermsAndConditions,\r\n promotionId: rest.promotionId\r\n };\r\n commit('SET_QUICKQUOTE_DISCOUNTS_INFO', discounts);\r\n const replaceData = {\r\n households: households,\r\n productId: coverData.productId,\r\n productCoverLevel: coverData.productCoverLevel\r\n }\r\n commit('REPLACE_OPTIONS', replaceData);\r\n }\r\n catch {\r\n router.push({name: 'Error' });\r\n }\r\n finally {\r\n commit('DECREASE_PENDINGS_REQUEST');\r\n }\r\n }\r\n commit('SET_LOADER_FOR_ALL_COVERS', false);\r\n return\r\n }\r\n\r\n commit('INCREASE_PENDINGS_REQUEST');\r\n try {\r\n const coverData = store.getters.quotePayloadWithoutMemberIds;\r\n\r\n const { households, ...rest } = await (await api).quickQuoteCustomise(coverData)\r\n commit('SET_QUICKQUOTE_CUSTOMISE', households)\r\n\r\n const discounts = {\r\n discountDetails: rest.discountDetails,\r\n discountFootnote: rest.discountFootnote,\r\n termsAndConditions: rest.promotionTermsAndConditions,\r\n promotionId: rest.promotionId\r\n };\r\n commit('SET_QUICKQUOTE_DISCOUNTS_INFO', discounts);\r\n\r\n const replaceData = {\r\n households: households,\r\n productId: data.productId,\r\n productCoverLevel: data.productCoverLevel\r\n }\r\n commit('REPLACE_OPTIONS', replaceData)\r\n }\r\n catch {\r\n router.push({name: 'Error' });\r\n }\r\n finally {\r\n commit('DECREASE_PENDINGS_REQUEST')\r\n }\r\n },\r\n\r\n setHouseholdsInQuotePayload({commit}, households: QuoteHousehold[]) {\r\n commit('SET_HOUSEHOLDS_IN_QUOTE_PAYLOAD', households)\r\n },\r\n\r\n async fetchQuickQuote({commit}, selectableOptions = []) {\r\n try {\r\n const quote = await (await api).quickQuote(this) as QuotePayload\r\n commit('SET_QUICKQUOTE', { quote, selectableOptions })\r\n commit('SET_DEFAULT_COVER');\r\n return quote;\r\n }\r\n catch(e) {\r\n console.error(e);\r\n\r\n router.push({name: 'Error' });\r\n }\r\n },\r\n\r\n async fetchQuoteById({commit}, id) {\r\n try {\r\n const quote = await (await api).quickquoteById(id)\r\n const households = await (await api).quoteById(id) as QuotePayload\r\n\r\n commit('SET_QUOTE_BY_ID', households)\r\n commit('SET_QUICKQUOTE_BY_ID', quote)\r\n commit('SET_DEFAULT_COVER');\r\n }\r\n catch {\r\n router.push({name: 'Error' });\r\n }\r\n },\r\n async setAsDefaultForHouseholds({commit}, {householdIndex, selectableOptions}) {\r\n commit('SET_AS_DEFAULT_FOR_HOUSEHOLDS', {householdIndex, selectableOptions})\r\n commit('SET_DEFAULT_COVER');\r\n\r\n commit('INCREASE_PENDINGS_REQUEST')\r\n try {\r\n const { households, ...rest } = await (await api).quickQuoteCustomise(store.getters.quotePayloadWithoutMemberIds)\r\n commit('SET_QUICKQUOTE_CUSTOMISE', households)\r\n const discounts = {\r\n discountDetails: rest.discountDetails,\r\n discountFootnote: rest.discountFootnote,\r\n termsAndConditions: rest.promotionTermsAndConditions,\r\n promotionId: rest.promotionId\r\n };\r\n commit('SET_QUICKQUOTE_DISCOUNTS_INFO', discounts);\r\n }\r\n catch {\r\n router.push({name: 'Error' });\r\n }\r\n finally {\r\n commit('DECREASE_PENDINGS_REQUEST')\r\n }\r\n },\r\n async setAsDefaultForHousehold({commit}, {memberIndex, householdIndex, selectableOptions}) {\r\n commit('SET_AS_DEFAULT_FOR_HOUSEHOLD', {memberIndex, householdIndex, selectableOptions})\r\n commit('SET_DEFAULT_COVER');\r\n\r\n commit('INCREASE_PENDINGS_REQUEST')\r\n try {\r\n const { households, ...rest } = await (await api).quickQuoteCustomise(store.getters.quotePayloadWithoutMemberIds)\r\n commit('SET_QUICKQUOTE_CUSTOMISE', households)\r\n\r\n const discounts = {\r\n discountDetails: rest.discountDetails,\r\n discountFootnote: rest.discountFootnote,\r\n termsAndConditions: rest.promotionTermsAndConditions,\r\n promotionId: rest.promotionId\r\n };\r\n commit('SET_QUICKQUOTE_DISCOUNTS_INFO', discounts);\r\n }\r\n catch {\r\n router.push({name: 'Error' });\r\n }\r\n finally {\r\n commit('DECREASE_PENDINGS_REQUEST')\r\n }\r\n },\r\n async resetHouseholdToDefault({commit}, {householdIndex}) {\r\n commit('RESET_HOUSEHOLD_TO_DEFAULT', {householdIndex})\r\n\r\n commit('INCREASE_PENDINGS_REQUEST')\r\n try {\r\n const { households, ...rest } = await (await api).quickQuoteCustomise(store.getters.quotePayloadWithoutMemberIds)\r\n commit('SET_QUICKQUOTE_CUSTOMISE', households)\r\n\r\n const discounts = {\r\n discountDetails: rest.discountDetails,\r\n discountFootnote: rest.discountFootnote,\r\n termsAndConditions: rest.promotionTermsAndConditions,\r\n promotionId: rest.promotionId\r\n };\r\n commit('SET_QUICKQUOTE_DISCOUNTS_INFO', discounts);\r\n }\r\n catch {\r\n router.push({name: 'Error' });\r\n }\r\n finally {\r\n commit('DECREASE_PENDINGS_REQUEST')\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * If repricing occurs (on QuoteGeneral)\r\n * we need to be ready to reassign members in other order,\r\n * because it is not guaranteed that pricing API will return\r\n *\r\n * @param quotePayload\r\n */\r\nexport\r\nfunction stripMembersIds(quotePayload) {\r\n return {\r\n ...quotePayload,\r\n households: quotePayload.households.map(h => ({\r\n ...h,\r\n subscriber: {\r\n ...h.subscriber,\r\n id: undefined\r\n },\r\n familyMembers: h.familyMembers.map(fm => ({\r\n ...fm,\r\n id: undefined\r\n }))\r\n }))\r\n }\r\n}\r\n\r\nfunction getMemberOptionValue(data: BenefitsPayload, otherOptionId) {\r\n if (data.memberIndex === -1 && data.householdIndex !== -1) {\r\n return getMemberOptionValue_ForHousehold(data.householdIndex, otherOptionId, data.productId, data.productCoverLevel);\r\n } else if (data.memberIndex !== -1 && data.householdIndex !== -1) {\r\n return getMemberOptionValue_ForMemberMultiFamily(data.householdIndex, data.memberIndex, otherOptionId, data.productId, data.productCoverLevel);\r\n } else if (data.memberIndex !== -1 && data.householdIndex === -1) {\r\n return getMemberOptionValue_ForMemberSingleFamily(data.memberIndex, otherOptionId, data.productId, data.productCoverLevel);\r\n } else if (data.memberIndex === -1 && data.householdIndex === -1) {\r\n // for all\r\n return getMemberOptionValue_ForHousehold(0, otherOptionId, data.productId, data.productCoverLevel);\r\n }\r\n return \"\";\r\n}\r\n\r\nfunction getMemberOptionValue_ForHousehold(householdIndex, optionId, productId, productCoverLevel) {\r\n const subscriberOption = state.quotePayload.households[householdIndex].subscriber.options\r\n .find(option => option.optionId === optionId && state.quotePayload.productId === productId && productCoverLevel === state.quotePayload.productCoverLevel);\r\n if (subscriberOption) {\r\n return subscriberOption.value;\r\n }\r\n return \"\";\r\n}\r\n\r\nfunction getMemberOptionValue_ForMemberMultiFamily(householdIndex, memberIndex, optionId, productId, productCoverLevel) {\r\n const coverOption = state.quote.householdOptions[householdIndex].memberOptions[memberIndex].coverOptions\r\n .find(option => option.optionId === optionId && option.productId === productId && option.coverLevel === productCoverLevel)\r\n if (coverOption) {\r\n return coverOption.value;\r\n }\r\n return \"\";\r\n}\r\n\r\nfunction getMemberOptionValue_ForMemberSingleFamily(memberIndex, optionId, productId, productCoverLevel) {\r\n const coverOption = state.quote.householdOptions[0].memberOptions[memberIndex].coverOptions\r\n .find(option => option.optionId === optionId && option.productId === productId && (productCoverLevel ? option.coverLevel === productCoverLevel : true))\r\n if (coverOption) {\r\n return coverOption.value;\r\n }\r\n return \"\";\r\n}\r\n\r\nexport const GetQuote = {\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n};\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport { parseJwt } from '../../utils/auth';\r\n\r\nVue.use(Vuex)\r\n\r\nexport const Auth = {\r\n state: {\r\n accessToken: localStorage.getItem('ACCESS_TOKEN') || '',\r\n refreshToken: localStorage.getItem('REFRESH_TOKEN') || '',\r\n status: '',\r\n },\r\n getters: {\r\n accessToken: state => state.accessToken,\r\n refreshToken: state => state.refreshToken,\r\n isAuthenticated: state => !!state.accessToken,\r\n status: state => state.status,\r\n },\r\n mutations: {\r\n setAccessToken(state, token) {\r\n state.accessToken = token\r\n state.status = 'success'\r\n },\r\n error(state) {\r\n state.status = 'error'\r\n },\r\n },\r\n actions: {\r\n Logout({ commit, dispatch }) {\r\n localStorage.removeItem('REFRESH_TOKEN')\r\n localStorage.removeItem('ACCESS_TOKEN')\r\n }\r\n },\r\n}\r\n","import api from '@/api'\r\n\r\nexport const state = {\r\n categoriesAnswers: [],\r\n furtherQuestionsList: [],\r\n videoModal: false,\r\n underwritingSidebar: false,\r\n underwritings: [],\r\n available: [2, 1, 3, 4],\r\n}\r\n\r\nexport const mutations = {\r\n getFurtherQuestionsList (state, list) {\r\n state.furtherQuestionsList = list\r\n },\r\n toggleJoiningMethodInfoSidebar (state) {\r\n state.underwritingSidebar = !state.underwritingSidebar\r\n },\r\n toggleVideoModal () {\r\n state.videoModal = !state.videoModal\r\n },\r\n clearApplication () {\r\n state.videoModal = false\r\n },\r\n\r\n // storing all answers\r\n answerPrimaryQuestion (state, { primaryQuestionId, primaryQuestionAnswerId: answerId }) {\r\n const primaryQuestion = state.categoriesAnswers.filter(category => {\r\n return category.primaryQuestionId === primaryQuestionId\r\n })\r\n if(!primaryQuestion || !primaryQuestion[0]) {\r\n console.warn('non-existing primary question')\r\n return\r\n }\r\n primaryQuestion[0].answerId = answerId\r\n },\r\n setCategoriesListWithAnswers (state, list) {\r\n state.categoriesAnswers = list\r\n },\r\n setAvailableUwMethods(state, available) {\r\n state.available = available;\r\n }\r\n}\r\n\r\nexport const actions = {\r\n async fetchMedicalDeclarationCategoryPost({commit}, payload) {\r\n return await (await api).medicalDeclarationCategoryPost(this, payload);\r\n }\r\n}\r\n\r\nexport const getters = {\r\n categoriesAnswers: state => state.categoriesAnswers,\r\n underwritingSidebar: state => state.underwritingSidebar,\r\n videoModal: state => state.videoModal,\r\n hdMembers: (state, getters, rootState) => {\r\n if (!getters.application || !getters.application.households[0]) {\r\n return []\r\n }\r\n return getters.application.households[0].applicationMembers\r\n },\r\n underwritings: (state, getters, rootState) => rootState.config && rootState.config.underwritings,\r\n available: (state, getters, rootState) => state.available,\r\n membersByMethod(state, getters, rootState) {\r\n const membersByMethod = {}\r\n if (!getters.underwritings) {\r\n return membersByMethod\r\n }\r\n getters.underwritings.map(u => u.value).map(e => {\r\n const members = getters.hdMembers.filter(m => m.joiningMethod == e)\r\n if (members.length) {\r\n membersByMethod[e] = members\r\n }\r\n })\r\n return membersByMethod\r\n },\r\n getUWStepbarData(state, getters, rootState) {\r\n return getters.underwritings.map(e => {\r\n return {\r\n label: e.label,\r\n done: false,\r\n uwStep: e.value,\r\n id: e.value,\r\n routes: ['ApplyHealthCategories'],\r\n counter: (getters.membersByMethod[e.value] || {length: 0}).length,\r\n }\r\n }).filter(e => e.counter > 0)\r\n },\r\n moratoriumId: (state, _, rootState) => rootState.config.possibleUnderwritingTypeIds.moratorium,\r\n fmuValue: (state, _, rootState) => rootState.config.possibleUnderwritingTypeIds.fmu,\r\n}\r\n\r\nexport const MedicalDeclaration = {\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n}\r\n","\r\nexport const state = {\r\n applicationSummaries: [],\r\n quoteSummaries: [],\r\n }\r\n \r\n export const getters = {\r\n applicationSummaries: state => state.applicationSummaries,\r\n quoteSummaries: state => state.quoteSummaries\r\n }\r\n \r\n export const mutations = {\r\n setApplicationSummeries (state, data) {\r\n state.applicationSummaries = data\r\n },\r\n setQuoteSummeries (state, data) {\r\n state.quoteSummaries = data\r\n }\r\n }\r\n \r\n export const actions = {\r\n setApplicationSummeriesAction({commit}, data) {\r\n commit('setApplicationSummeries', data)\r\n },\r\n setQuoteSummeriesAction({commit}, data) {\r\n commit('setQuoteSummeries', data)\r\n }\r\n }\r\n \r\n export const QuoteSummary = {\r\n state,\r\n getters,\r\n actions,\r\n mutations\r\n }\r\n ","export const state = {\r\n upDowns: [],\r\n literature: {},\r\n defaultQuote: {},\r\n quoteDirty: false,\r\n productId: 0,\r\n quoteData: {},\r\n currentQuote: {},\r\n renewalQuote: {},\r\n defaultOptions: {},\r\n quoteRequest: {},\r\n quoteId: null,\r\n renewalQuotesList: [],\r\n renewalQuoteSelectedIndex: -1,\r\n}\r\n\r\nexport const getters = {\r\n cover: state => state.cover,\r\n currentQuote: state => state.currentQuote,\r\n defaultQuote: state => state.defaultQuote,\r\n literature: state => state.literature,\r\n quoteDirty: state => state.quoteDirty,\r\n quoteId: state => state.quoteId,\r\n quoteRequest: state => state.quoteRequest,\r\n renewalProductId: state => state.productId,\r\n renewalQuickQuote: state => state.quoteData,\r\n quoteData: state => state.quoteData,\r\n renewalQuote: state => state.renewalQuote,\r\n renewalQuotesList: state => state.renewalQuotesList,\r\n upDowns: state => state.upDowns,\r\n renewalQuoteSelectedIndex: state => state.renewalQuoteSelectedIndex\r\n}\r\n\r\nexport const mutations = {\r\n SET_DEFAULT_QUOTE(state, payload) {\r\n state.defaultQuote = payload\r\n },\r\n SET_QUOTE_DIRTY(state, boolean) {\r\n state.quoteDirty = boolean\r\n },\r\n SET_QUOTE_ID(state, id) {\r\n state.quoteId = id\r\n },\r\n SET_QUOTE_REQUEST(state, payload) {\r\n state.quoteRequest = payload\r\n },\r\n SET_QUOTE_DATA_RENEWAL(state, payload) {\r\n state.quoteData = payload\r\n },\r\n SET_QUOTE_OPTIONS_FOR_MEMBER_RENEWAL(state, {householdId, memberId, productId, productCoverLevel, payload}){\r\n state.quoteData.householdOptions[householdId].memberOptions[memberId].coverOptions = [\r\n ...state.quoteData.householdOptions[householdId].memberOptions[memberId]\r\n .coverOptions.filter(x => x.productId !== productId || x.coverLevel !== productCoverLevel),\r\n ...payload\r\n ];\r\n },\r\n SET_QUOTE_PRICES_FOR_MEMBER_RENEWAL(state, {householdId, memberId, productId, productCoverLevel, payload}) {\r\n const memberPrice = state.quoteData.householdPrices[householdId].memberPrices[memberId].coverPrices.find(c => c.productId === productId && c.coverLevel === productCoverLevel);\r\n memberPrice.priceGrossMonthly = payload.priceGrossMonthly;\r\n memberPrice.priceGrossMonthlyFull = payload.priceGrossMonthlyFull;\r\n memberPrice.priceGrossPremium = payload.priceGrossPremium;\r\n memberPrice.priceGrossYearly = payload.priceGrossYearly;\r\n memberPrice.priceGrossYearlyFull = payload.priceGrossYearlyFull;\r\n memberPrice.priceNetPremium = payload.priceNetPremium;\r\n },\r\n\r\n SET_QUOTE_COVER_LEVEL_FOR_HOUSEHOLD_RENEWAL(state, {householdId, productCoverLevel, membersLevelOfCover}) {\r\n const household = state.renewalQuote.households[householdId];\r\n household.coverLevel = productCoverLevel;\r\n membersLevelOfCover.forEach((element, index) => {\r\n if(index == 0) {\r\n const subscriber = household.subscriber.options.find(o => o.optionId == 17);\r\n subscriber.value = element;\r\n // Override household LOC based on subscribers LOC\r\n household.coverLevel = productCoverLevel;\r\n }\r\n else {\r\n const familyMember = household.familyMembers[index - 1].options.find(o => o.optionId == 17);\r\n familyMember.value = element;\r\n }\r\n });\r\n\r\n\r\n\r\n },\r\n SET_QUOTE_DEFAULT_OPTIONS_RENEWAL(state, { productId, productCoverLevel, options }) {\r\n state.defaultOptions.productId = productId;\r\n state.defaultOptions.productCoverLevel = productCoverLevel;\r\n state.defaultOptions.options = options;\r\n },\r\n SET_CURRENT_QUOTE(state, payload){\r\n state.currentQuote = payload;\r\n },\r\n SET_RENEWAL_QUOTE(state, payload){\r\n state.renewalQuote = payload;\r\n state.renewalQuote.productId = payload.productId;\r\n state.productId = payload.productId;\r\n for(let i=0; i state.ageData,\r\n config: (state) => state.config,\r\n coverType: (state) => state.pageDecisions.coverType,\r\n recommendedProductName: (state) => state.recommendedProduct.productName,\r\n isMultiFamily: (state) => state.isMultiFamily,\r\n isDental: (state) => state.isDental,\r\n isSwitch: (state) => state.isSwitch,\r\n isTopUp: (state) => state.isTopUp,\r\n productId: (state) => state.recommendedProduct.productId,\r\n application: (state) => state.application,\r\n healthQuestionsAnswers: (state) => state.healthQuestionsAnswers,\r\n sameCertificate: (state) => state.sameCertificate,\r\n hasCertificate: (state) => state.hasCertificate,\r\n showLoader: (state) => state.showLoader,\r\n showLogoutWarning: (state) => state.showLogoutWarning,\r\n showFPNDialog: (state) => state.showFPNDialog,\r\n fpnContent: (state) => state.fpnContent,\r\n isFPNConfirmed: (state) => state.isFPNConfirmed,\r\n quoteValidFor: (state) =>\r\n (state.config || { quoteValidFor: 14 }).quoteValidFor,\r\n memberId: (state) => state.memberId,\r\n householdId: (state) => state.householdId,\r\n loadingApplication: (state) => state.loadingApplication,\r\n membershipRequest: (state) => state.membershipRequest,\r\n currentProductOptions(state: any) {\r\n const defaultOptions = {\r\n fields: {},\r\n };\r\n let options = null as any;\r\n if (state.application) {\r\n options = state.config.productOptions[state.application.productId];\r\n } else if (state.membershipRequest) {\r\n options =\r\n state.config.productOptions[state.membershipRequest.productId];\r\n }\r\n\r\n if (options == null) return defaultOptions;\r\n return { ...defaultOptions, ...options };\r\n },\r\n isInviteUser(state) {\r\n return !!(\r\n Object.keys(state.membershipRequestByAppId).length ||\r\n state.membershipRequest\r\n );\r\n },\r\n isOnlineInvite(state, getters) {\r\n if (!state.application) return false;\r\n if (state.membershipRequest) return true;\r\n return false;\r\n },\r\n isOnlineInviteMultiFamily(state, getters) {\r\n if (!state.application) return false;\r\n const productId = state.application.productId;\r\n return productId === 957 && getters.isOnlineInvite;\r\n },\r\n isOnlineInviteFlexi(state, getters) {\r\n if (!state.application) return false;\r\n const productId = state.application.productId;\r\n return [844, 847, 848].includes(productId) && getters.isOnlineInvite;\r\n },\r\n isFamilyOffice(state) {\r\n const productId = state.application?.productId;\r\n return productId === 951;\r\n },\r\n membershipRequestCover(state) {\r\n return state.membershipRequestParameters[paramTypes.COVER];\r\n },\r\n isMembershipRequestDependantsOnly(state, getters) {\r\n return [3, 4].includes(getters.membershipRequest?.type);\r\n },\r\n isMembershipRequestUnderwritingOnly(state, getters) {\r\n return [2, 4].includes(getters.membershipRequest?.type);\r\n },\r\n canAddChildDependants(state, getters) {\r\n if (getters.isMembershipRequestUnderwritingOnly) return false;\r\n const cover = getters.membershipRequestCover;\r\n const isMcd = getters.currentProductOptions.isMcd;\r\n const isEbd = getters.currentProductOptions.isEbd;\r\n if (!isMcd && !isEbd) return false;\r\n const maxNumberOfDependants =\r\n state.membershipRequestParameters[paramTypes.NUMBER_OF_DEPENDANTS];\r\n if (maxNumberOfDependants && +maxNumberOfDependants > 0) {\r\n const numDependants =\r\n state.application.households[0].applicationMembers.filter(\r\n (am) =>\r\n ![null, relationship.SUBSCRIBER].includes(am.memberRelationship)\r\n ).length;\r\n if (maxNumberOfDependants <= numDependants) return false;\r\n } else {\r\n const numChildren =\r\n state.application.households[0].applicationMembers.filter((am) =>\r\n isChildRelationship(am.memberRelationship)\r\n ).length;\r\n if (isMcd && numChildren >= 9) return false;\r\n if (isEbd && numChildren >= 5) return false;\r\n }\r\n return coverTypes.WITH_CHILD.includes(cover) || cover == null;\r\n },\r\n canAddAdultDependants(state, getters) {\r\n if (getters.isMembershipRequestUnderwritingOnly) return false;\r\n const cover = getters.membershipRequestCover;\r\n const isMcd = getters.currentProductOptions.isMcd;\r\n const isEbd = getters.currentProductOptions.isEbd;\r\n if (!isMcd && !isEbd) return false;\r\n if (\r\n state.application.households[0].applicationMembers.some((am) =>\r\n isAdultRelationship(am.memberRelationship)\r\n )\r\n )\r\n return false;\r\n const maxNumberOfDependants =\r\n state.membershipRequestParameters[paramTypes.NUMBER_OF_DEPENDANTS];\r\n if (maxNumberOfDependants && +maxNumberOfDependants > 0) {\r\n const numDependants =\r\n state.application.households[0].applicationMembers.filter(\r\n (am) =>\r\n ![null, relationship.SUBSCRIBER].includes(am.memberRelationship)\r\n ).length;\r\n if (maxNumberOfDependants <= numDependants) return false;\r\n }\r\n return coverTypes.WITH_ADULT.includes(cover) || cover == null;\r\n },\r\n canChangeDependantAmount(state, getters) {\r\n if (getters.isMembershipRequestUnderwritingOnly) return false;\r\n const cover = getters.membershipRequestCover;\r\n const isMcd = getters.currentProductOptions.isMcd;\r\n const isEbd = getters.currentProductOptions.isEbd;\r\n const maxNumberOfDependants =\r\n state.membershipRequestParameters[paramTypes.NUMBER_OF_DEPENDANTS];\r\n if (!isMcd && !isEbd) return false;\r\n return cover != coverType.SINGLE;\r\n },\r\n canChooseUnderwritingTerm(state, getters) {\r\n return (\r\n !getters.currentProductOptions.isMcd &&\r\n !getters.currentProductOptions.isEbd\r\n );\r\n },\r\n brandingClassName: (state) => state.branding.brandingClassName,\r\n showInviteCertificateUpload(state, getters) {\r\n if (getters.canChooseUnderwriting) return false;\r\n if (\r\n !state.application?.households\r\n ?.flatMap((h) => h.applicationMembers)\r\n ?.some((am) => am.joiningMethod == 4 || am.joiningMethod == 3)\r\n )\r\n return false;\r\n if (\r\n getters.isOnlineInviteFlexi ||\r\n getters.isOnlineInviteMultiFamily ||\r\n getters.isFamilyOffice\r\n )\r\n return false;\r\n return getters.isOnlineInvite;\r\n },\r\n groupSpecificationIds(state, getters) {\r\n const groups = [1];\r\n const members = getters.application.households.flatMap(\r\n (x) => x.applicationMembers\r\n );\r\n\r\n if (members.some((x) => x.sexAtBirth == 1)) {\r\n groups.push(2);\r\n }\r\n if (members.some((x) => x.sexAtBirth == 2)) {\r\n groups.push(3);\r\n }\r\n\r\n return groups;\r\n },\r\n },\r\n mutations: {\r\n CLEAR_DATA(state) {\r\n state.memberId = -1;\r\n state.productId = undefined;\r\n state.productCoverLevel = undefined;\r\n state.householdId = undefined;\r\n state.households = [];\r\n },\r\n setConfig(state, config) {\r\n state.config = config;\r\n },\r\n setCoverPhrase(state, path) {\r\n state.pageDecisions.coverForWhom = path;\r\n },\r\n setCoverType(state, type) {\r\n state.pageDecisions.coverType = type;\r\n },\r\n setExtendedFamilyCoverLevel(state, level) {\r\n state.pageDecisions.extendedFamilyLevel = level;\r\n },\r\n setPrivateTreatmentLevel(state, level) {\r\n state.pageDecisions.privateTreatmentLevel = level;\r\n },\r\n setTreatmentOption(state, treatment) {\r\n state.pageDecisions.treatmentOption = treatment;\r\n },\r\n setSelectedOptions(state, options) {\r\n state.pageDecisions.selectedOptions = options;\r\n },\r\n setRecommendedProduct(state, data) {\r\n state.recommendedProduct = data;\r\n state.productId = data.productId;\r\n state.productCoverLevel = data.coverLevel;\r\n state.isMultiFamily = data.isMultiFamily;\r\n state.isDental = data.isDental;\r\n state.isSwitch = data.isSwitch;\r\n state.isTopUp = data.isTopUp;\r\n // GetQuote.state.quotePayload.productId = data.productId;\r\n // GetQuote.state.quotePayload.productCoverLevel = data.coverLevel;\r\n },\r\n setMemberId(state, value) {\r\n state.memberId = value;\r\n },\r\n setProductId(state, value) {\r\n state.productId = value;\r\n // GetQuote.state.quotePayload.productId = value\r\n },\r\n setProductCoverLevel(state, value) {\r\n state.productCoverLevel = value;\r\n // GetQuote.state.quotePayload.productCoverLevel = value\r\n },\r\n set(state, obj) {\r\n if (obj.length) {\r\n const [key, value] = obj;\r\n state[key] = value;\r\n } else {\r\n const { key, value } = obj;\r\n state[key] = value;\r\n }\r\n },\r\n setStepAsCompleted(state, data) {\r\n const appPageName = data.name;\r\n const isCompleted = data.completed;\r\n if (isCompleted) {\r\n if (!state.appPagesCompleted.includes(appPageName)) {\r\n state.appPagesCompleted.push(appPageName);\r\n }\r\n } else {\r\n if (state.appPagesCompleted.includes(appPageName)) {\r\n state.appPagesCompleted = state.appPagesCompleted.filter(\r\n (p) => p !== appPageName\r\n );\r\n }\r\n }\r\n },\r\n setApplication(state, data) {\r\n const isOnlineInviteMultiFamily = data\r\n ? data.productId === 957 && data.households.length == 1\r\n : false;\r\n var isOnlineInviteCompleteHealth = false;\r\n if(state.membershipRequest && data && data.productId === 1072){\r\n isOnlineInviteCompleteHealth = true;\r\n }\r\n\r\n state.application = data;\r\n state.productId = data ? data.productId : state.productId;\r\n state.isMultiFamily = data\r\n ? data.productId === 957 && data.households.length > 1\r\n : false;\r\n state.isDental = data ? data.productId === 682 : false;\r\n state.isSwitch = data\r\n ? [844, 847, 848, 951].includes(data.productId) ||\r\n isOnlineInviteMultiFamily || \r\n isOnlineInviteCompleteHealth\r\n : false;\r\n state.isTopUp = data\r\n ? data.productId === 859 || data.productId === 682\r\n : false;\r\n },\r\n setApplicationIntermediary(state, data) {\r\n state.application.intermediaryId = data;\r\n },\r\n setApplicationStartDate(state, data) {\r\n if (state.application !== null) {\r\n state.application.startDate = data;\r\n }\r\n },\r\n setApplicationDirectDebit(state, data) {\r\n if (state.application !== null) {\r\n Vue.set(state.application, \"directDebitPaymentAccepted\", data);\r\n }\r\n },\r\n setApplicationPaymentInterval(state, data) {\r\n if (state.application !== null) {\r\n state.application.paymentInterval = data;\r\n }\r\n },\r\n setApplicationPaymentMethod(state, data) {\r\n if (state.application !== null) {\r\n state.application.paymentMethod = data;\r\n }\r\n },\r\n addApplicationMember(state, member) {\r\n const index =\r\n state.application.households[0].applicationMembers.findIndex(\r\n (m) => m.id == member.id\r\n );\r\n if (index != -1) {\r\n Vue.set(\r\n state.application.households[0].applicationMembers,\r\n index,\r\n member\r\n );\r\n } else {\r\n state.application.households[0].applicationMembers.push(member);\r\n }\r\n },\r\n removeApplicationMember(state, memberId) {\r\n const index =\r\n state.application.households[0].applicationMembers.findIndex(\r\n (m) => m.id == memberId\r\n );\r\n state.application.households[0].applicationMembers.splice(index, 1);\r\n },\r\n setApplicationMember(state, data) {\r\n if (state.application) {\r\n if (data.householdId) {\r\n const householdIndex = state.application.households.findIndex(\r\n (h) => h.id === data.householdId\r\n );\r\n const memberIndex = state.application.households[\r\n householdIndex\r\n ].applicationMembers.findIndex((m) => m.id === data.memberId);\r\n\r\n Vue.set(\r\n state.application.households[householdIndex].applicationMembers,\r\n memberIndex,\r\n {\r\n ...state.application.households[householdIndex]\r\n .applicationMembers[memberIndex],\r\n ...data.payload,\r\n }\r\n );\r\n } else {\r\n const memberIndex =\r\n state.application.households[0].applicationMembers.findIndex(\r\n (m) => m.id === data.memberId\r\n );\r\n\r\n Vue.set(\r\n state.application.households[0].applicationMembers,\r\n memberIndex,\r\n {\r\n ...state.application.households[0].applicationMembers[\r\n memberIndex\r\n ],\r\n ...data.payload,\r\n }\r\n );\r\n }\r\n }\r\n },\r\n setSameCertificate(state, data) {\r\n state.sameCertificate = data;\r\n },\r\n setHasCertificate(state, data) {\r\n state.hasCertificate = data;\r\n },\r\n setMembershipRequests(state, membershipRequests) {\r\n state.membershipRequestByAppId = {};\r\n for (const mr of membershipRequests) {\r\n const appId = getApplicationId(mr);\r\n if (appId) {\r\n Vue.set(state.membershipRequestByAppId, appId, mr);\r\n }\r\n }\r\n },\r\n setMembershipRequest(state, data) {\r\n state.membershipRequest = data;\r\n },\r\n setMembershipRequestParameters(state, data) {\r\n state.membershipRequestParameters = Object.fromEntries(\r\n data.map((p) => [p.parameterTypeId, p.value])\r\n );\r\n },\r\n setApplicationHousehold(state, data) {\r\n if (state.application) {\r\n if (data.householdId) {\r\n const householdIndex = state.application.households.findIndex(\r\n (h) => h.id === data.householdId\r\n );\r\n const memberIndex = state.application.households[\r\n householdIndex\r\n ].applicationMembers.findIndex((m) => m.id === data.memberId);\r\n\r\n state.application.households = [\r\n ...state.application.households.slice(0, householdIndex),\r\n {\r\n ...state.application.households[householdIndex],\r\n ...data.payload,\r\n },\r\n ...state.application.households.slice(householdIndex + 1),\r\n ];\r\n } else {\r\n Vue.set(state.application.households, 0, {\r\n ...state.application.households[0],\r\n ...data.payload,\r\n });\r\n }\r\n }\r\n },\r\n setPolicyHolder(state, data) {\r\n if (state.application && state.application.policyHolder) {\r\n state.application.policyHolder = {\r\n ...state.application.policyHolder,\r\n ...data,\r\n };\r\n }\r\n },\r\n setReviewData(state, data) {\r\n state.reviewData = data;\r\n },\r\n setMembersConditions(state, data) {\r\n state.conditions = data;\r\n },\r\n setLoadingApplication(state, loadingApplication) {\r\n state.loadingApplication = loadingApplication;\r\n },\r\n\r\n SET_MORATORIUM_PERMISSION(state, payload: { memberId; boolean }) {\r\n const chosenMember =\r\n state.application.households[0].applicationMembers.find(\r\n (member) => member.id === payload.memberId\r\n );\r\n\r\n if (chosenMember) {\r\n chosenMember.allowMoratorium = payload.boolean;\r\n }\r\n },\r\n SET_HEALTH_QUESTIONS_ANSWERS(state, data: any) {\r\n state.healthQuestionsAnswers = data;\r\n },\r\n clearApplication(state) {\r\n state.application = null;\r\n state.appPagesCompleted = [];\r\n },\r\n SET_LOADER(state, bool) {\r\n state.showLoader = bool;\r\n },\r\n SET_SHOW_LOGOUT_WARNING(state, showLogoutWarning) {\r\n state.showLogoutWarning = showLogoutWarning;\r\n },\r\n SET_SHOW_FPN_DIALOG(state, showFPNDialog) {\r\n state.showFPNDialog = showFPNDialog;\r\n },\r\n SET_FPN_CONTENT(state, fpnContent) {\r\n state.fpnContent = fpnContent;\r\n },\r\n SET_IS_FPN_CONFIRMED(state, isFPNConfirmed) {\r\n state.isFPNConfirmed = isFPNConfirmed;\r\n },\r\n SET_APPLICATION_POLICYNAME(state, policyName) {\r\n state.application.policyName = policyName;\r\n },\r\n initialiseStore(state) {\r\n // Check if the ID exists\r\n if (localStorage.getItem(\"TMP_STORE\")) {\r\n // Replace the state object with the stored item\r\n const tmpStore = JSON.parse(localStorage.getItem(\"TMP_STORE\") || \"\");\r\n if (tmpStore) {\r\n const {\r\n MultifamilyQuote: multifamilyQuote,\r\n GetQuote: getQuote,\r\n Auth: auth,\r\n QuoteSummary: quoteSummary,\r\n MedicalDeclaration: medicalDeclaration,\r\n ...currentStore\r\n } = tmpStore;\r\n Object.assign(state, currentStore);\r\n\r\n if (multifamilyQuote)\r\n Object.assign(MultifamilyQuote.state, multifamilyQuote);\r\n if (getQuote) {\r\n const { occupationData, quote, quotePayload, ...restProps } =\r\n getQuote;\r\n Object.assign(GetQuote.state, restProps);\r\n Object.assign(GetQuote.state.occupationData, occupationData);\r\n Object.assign(GetQuote.state.quote, quote);\r\n Object.assign(GetQuote.state.quotePayload, quotePayload);\r\n }\r\n if (auth) Object.assign(Auth.state, auth);\r\n if (quoteSummary) Object.assign(QuoteSummary.state, quoteSummary);\r\n if (medicalDeclaration)\r\n Object.assign(MedicalDeclaration.state, medicalDeclaration);\r\n\r\n localStorage.removeItem(\"TMP_STORE\");\r\n }\r\n }\r\n },\r\n SET_BRANDING(state, { brandingClassName, logoSource }) {\r\n state.branding.brandingClassName = brandingClassName;\r\n state.branding.logoSource = logoSource;\r\n },\r\n setApplicationRequireRepricing(state, data) {\r\n state.application.requireRepricing = data;\r\n },\r\n },\r\n actions: {\r\n clearQuoteData({ dispatch }) {\r\n dispatch(\"getQuoteClearData\");\r\n dispatch(\"multifamilyClearData\");\r\n },\r\n setStepAsCompletedAction({ commit }, data) {\r\n commit(\"setStepAsCompleted\", data);\r\n },\r\n setApplicationAction({ commit }, data) {\r\n commit(\"setApplication\", data);\r\n },\r\n setApplicationDirectDebit({ commit }, data) {\r\n commit(\"setApplicationDirectDebit\", data);\r\n },\r\n setApplicationPaymentInterval({ commit }, data) {\r\n commit(\"setApplicationPaymentInterval\", data);\r\n },\r\n setApplicationPaymentMethod({ commit }, data) {\r\n commit(\"setApplicationPaymentMethod\", data);\r\n },\r\n setSameCertificateAction({ commit }, data) {\r\n commit(\"setSameCertificate\", data);\r\n },\r\n setHasCertificateAction({ commit }, data) {\r\n commit(\"setHasCertificate\", data);\r\n },\r\n clearApplicationAction({ commit }, data) {\r\n commit(\"clearApplication\", data);\r\n },\r\n setApplicationMember({ commit }, data) {\r\n commit(\"setApplicationMember\", data);\r\n },\r\n setApplicationHousehold({ commit }, data) {\r\n commit(\"setApplicationHousehold\", data);\r\n },\r\n setMoratoriumPermissions({ commit }, data) {\r\n commit(\"SET_MORATORIUM_PERMISSION\", data);\r\n },\r\n setHealthQuestionsAnswers({ commit }, data) {\r\n commit(\"SET_HEALTH_QUESTIONS_ANSWERS\", data);\r\n },\r\n setPolicyHolder({ commit }, data) {\r\n commit(\"setPolicyHolder\", data);\r\n },\r\n setProductCoverLevelAction({ commit }, value) {\r\n commit(\"setProductCoverLevel\", value);\r\n commit(\"SET_INITIAL_OPTIONS_PER_MEMBER\");\r\n },\r\n setReviewData({ commit }, value) {\r\n commit(\"setReviewData\", value);\r\n },\r\n setMembersConditions({ commit }, value) {\r\n commit(\"setMembersConditions\", value);\r\n },\r\n setLoadingApplication({ commit }, value) {\r\n commit(\"setLoadingApplication\", value);\r\n },\r\n setLoader({ commit }, bool) {\r\n commit(\"SET_LOADER\", bool);\r\n },\r\n setShowLogoutWarning({ commit }, bool) {\r\n commit(\"SET_SHOW_LOGOUT_WARNING\", bool);\r\n },\r\n setShowFPNDialog({ commit }, bool) {\r\n commit(\"SET_SHOW_FPN_DIALOG\", bool);\r\n },\r\n setFPNContent({ commit }, data) {\r\n commit(\"SET_FPN_CONTENT\", data);\r\n },\r\n setIsFPNConfirmed({ commit }, bool) {\r\n commit(\"SET_IS_FPN_CONFIRMED\", bool);\r\n },\r\n setApplicationRequireRepricing({ commit }, data) {\r\n commit(\"setApplicationRequireRepricing\", data);\r\n },\r\n },\r\n modules: {\r\n MultifamilyQuote,\r\n GetQuote,\r\n Auth,\r\n QuoteSummary,\r\n MedicalDeclaration,\r\n Renewals,\r\n },\r\n});\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _vm._m(0)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"flexbox\"},[_c('div',[_c('div',{staticClass:\"dot-loader\"}),_c('div',{staticClass:\"dot-loader\"}),_c('div',{staticClass:\"dot-loader\"})])])\n}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DotLoader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DotLoader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DotLoader.vue?vue&type=template&id=1008cb30&scoped=true\"\nimport script from \"./DotLoader.vue?vue&type=script&lang=js\"\nexport * from \"./DotLoader.vue?vue&type=script&lang=js\"\nimport style0 from \"./DotLoader.vue?vue&type=style&index=0&id=1008cb30&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1008cb30\",\n null\n \n)\n\nexport default component.exports","import { default as _api } from \"@/api\";\r\n\r\nexport const checkAuthAndRedirect = async (returnUrl, store) => {\r\n const accessToken = localStorage.getItem(\"ACCESS_TOKEN\");\r\n const refreshToken = localStorage.getItem(\"REFRESH_TOKEN\");\r\n\r\n if (refreshToken) {\r\n if (!accessToken) {\r\n // refresh access token and and push to return url\r\n await _api\r\n .accessToken(refreshToken)\r\n .then(async (res) => {\r\n store.commit(\"setAccessToken\", res);\r\n localStorage.setItem(\"ACCESS_TOKEN\", res);\r\n })\r\n .catch((err) => {\r\n redirectToLogin(returnUrl, store);\r\n });\r\n }\r\n return returnUrl;\r\n } else {\r\n // redirect to login\r\n await redirectToLogin(returnUrl, store);\r\n return null;\r\n }\r\n};\r\n\r\nexport const buildReturnUrl = async (config, returnUrl, store) => {\r\n const redirectUrl = config.myWpaLoginEndpoint;\r\n const loginUrl = config.myWpaUrl;\r\n const channel = config.authChannel;\r\n const env = config.authEnv;\r\n let encodedReturnUrl;\r\n let url;\r\n\r\n if (returnUrl) {\r\n encodedReturnUrl = encodeURIComponent(`/callback?return_url=${returnUrl}`);\r\n } else {\r\n encodedReturnUrl = encodeURIComponent(`/callback`);\r\n }\r\n\r\n if (env) {\r\n url = `${loginUrl}${redirectUrl}?return_url=${encodedReturnUrl}&channel=${channel}&env=${env}`;\r\n } else {\r\n url = `${loginUrl}${redirectUrl}?return_url=${encodedReturnUrl}&channel=${channel}`;\r\n }\r\n\r\n const accessToken = localStorage.getItem(\"ACCESS_TOKEN\");\r\n const refreshToken = localStorage.getItem(\"REFRESH_TOKEN\");\r\n\r\n if (refreshToken) {\r\n if (!accessToken) {\r\n await _api\r\n .accessToken(refreshToken)\r\n .then(async (res) => {\r\n store.commit(\"setAccessToken\", res);\r\n localStorage.setItem(\"ACCESS_TOKEN\", res);\r\n })\r\n .catch((err) => {\r\n return url;\r\n });\r\n }\r\n\r\n return \"/my-profile\";\r\n }\r\n\r\n return url;\r\n};\r\n\r\nconst redirectToLogin = async (returnUrl, store) => {\r\n let configuration = store.getters.config;\r\n\r\n while (!configuration) {\r\n await sleep(200);\r\n configuration = store.getters.config;\r\n }\r\n\r\n localStorage.setItem(\"TMP_STORE\", JSON.stringify(store.state));\r\n\r\n let url = await buildReturnUrl(configuration, returnUrl, store);\r\n document.location.href = url;\r\n};\r\n\r\nfunction sleep(ms) {\r\n return new Promise((resolve) => setTimeout(resolve, ms));\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + ({\"130\":\"ApplyInvite\",\"234\":\"DefermentPeriod\",\"559\":\"ApplyHealthCategories\",\"684\":\"renewalthankyou\",\"903\":\"ApplyHealthQuestion\",\"948\":\"renewaloverview\",\"1081\":\"get-quote-general\",\"1121\":\"ApplyHasInsurance\",\"1172\":\"ApplyLocation\",\"1320\":\"HasSameCertificate\",\"1349\":\"ApplyPolicyStart\",\"1430\":\"get-quote\",\"1573\":\"Include\",\"2006\":\"renewalquotes\",\"2030\":\"occupation\",\"2188\":\"ApplyInviteStaticLink\",\"2353\":\"confirmchangestopolicy\",\"2401\":\"multi-family-plan-calculate-quote\",\"2405\":\"family-members\",\"2471\":\"ApplyHealthDetails\",\"2611\":\"flexible-health-plan-calculate-quote\",\"2989\":\"multi-family-members\",\"3190\":\"ApplicationComplete\",\"3218\":\"callback\",\"3684\":\"ApplyGP\",\"3865\":\"StepDependants\",\"3930\":\"submitmembershiprequest\",\"3976\":\"ApplyInviteCertificateUpload\",\"3987\":\"ApplyInviteHook\",\"4010\":\"ApplyPolicyName\",\"4497\":\"nhs-top-up-dental-calculate-quote\",\"4536\":\"nhs-top-up-plan-calculate-quote\",\"4750\":\"UnderwritingTerms\",\"4800\":\"renewals\",\"4966\":\"HasCertificate\",\"4992\":\"hdi\",\"5205\":\"business-option\",\"5233\":\"ApplyUWDescription\",\"5924\":\"ApplyOccupation\",\"5938\":\"quote-review\",\"6177\":\"ApplyPersonalDetails\",\"6245\":\"treatment-option\",\"6386\":\"postcode\",\"6435\":\"get-quote-costco-membership\",\"6708\":\"ApplyDoYouQualify\",\"6831\":\"submitapplication\",\"6966\":\"login\",\"7157\":\"ApplySecondaryDetails\",\"7376\":\"save-progress\",\"7594\":\"about\",\"7711\":\"complete-health-plan-calculate-quote\",\"7781\":\"insurance\",\"7786\":\"recommendation\",\"7837\":\"SameCertificateUpload\",\"7857\":\"policydocuments\",\"7993\":\"tell-about-household-step2\",\"8305\":\"flexible-health\",\"8512\":\"cover\",\"8548\":\"CurrentHealthInsurance\",\"8667\":\"renewaloverviewmain\",\"8669\":\"me-and-my-family\",\"8701\":\"ApplyUWDescriptionLink\",\"8757\":\"my-profile\",\"8829\":\"ApplyPayment\",\"9126\":\"DeclarationMain\",\"9297\":\"SummaryReview\",\"9365\":\"cover-level\",\"9573\":\"renewaloverviewcover\",\"9757\":\"create-account\",\"9775\":\"UnderwritingTermsMembers\"}[chunkId] || chunkId) + \".\" + {\"130\":\"9624f18d\",\"234\":\"5929f846\",\"310\":\"14af9eb9\",\"559\":\"5fdb980a\",\"684\":\"a581ffd3\",\"903\":\"f9101907\",\"948\":\"9b5cd7ba\",\"1081\":\"618eb4a7\",\"1121\":\"7c44d0b8\",\"1172\":\"c7f030f8\",\"1293\":\"8f1e743a\",\"1320\":\"fc2cc653\",\"1349\":\"96580e95\",\"1430\":\"bad64147\",\"1573\":\"1b36b163\",\"2006\":\"b521b38d\",\"2030\":\"9f4c8106\",\"2188\":\"2d59dc36\",\"2353\":\"78818eb0\",\"2401\":\"e3a44c19\",\"2405\":\"e46ea358\",\"2471\":\"3831594b\",\"2611\":\"e147c1e3\",\"2922\":\"a8c01e80\",\"2989\":\"9decda99\",\"3190\":\"272a8001\",\"3218\":\"4f33557f\",\"3633\":\"3ec0e60e\",\"3684\":\"c4c239cb\",\"3865\":\"fdc8d1a1\",\"3930\":\"1ddebc5b\",\"3948\":\"8ca00c8f\",\"3976\":\"3e345494\",\"3987\":\"ad83eda9\",\"4010\":\"7d153860\",\"4280\":\"51567682\",\"4497\":\"5ca86437\",\"4536\":\"6624b87f\",\"4750\":\"2349fb25\",\"4800\":\"2fcd905b\",\"4966\":\"334bcdd6\",\"4992\":\"427ed678\",\"5129\":\"11bba029\",\"5205\":\"854f4196\",\"5233\":\"11e24821\",\"5605\":\"0f027a33\",\"5924\":\"7c70afa1\",\"5938\":\"4f93ccc2\",\"5945\":\"c99e7d6f\",\"6063\":\"7cfed9aa\",\"6093\":\"1aa6d3b0\",\"6177\":\"b8e1f61a\",\"6245\":\"d4340441\",\"6386\":\"10c5f4c1\",\"6435\":\"046b56e2\",\"6440\":\"a9618cf5\",\"6708\":\"02fe2b0e\",\"6831\":\"72a9d1f8\",\"6966\":\"009355dc\",\"7157\":\"7ab1b825\",\"7376\":\"021c43b5\",\"7594\":\"2e82e080\",\"7711\":\"4f88884c\",\"7731\":\"5907a75d\",\"7781\":\"b866e849\",\"7786\":\"97b43de3\",\"7837\":\"ff3e7ee3\",\"7857\":\"1d6815be\",\"7993\":\"606b2917\",\"8305\":\"178c73b5\",\"8348\":\"e7ea19c9\",\"8512\":\"f25ccea3\",\"8548\":\"7f20df3c\",\"8667\":\"55f09b19\",\"8669\":\"a182fddd\",\"8701\":\"80e1e1c8\",\"8757\":\"3d11ef5d\",\"8829\":\"2a065e07\",\"9126\":\"d1ac78f4\",\"9184\":\"56774a97\",\"9250\":\"43954f2c\",\"9297\":\"0c47c906\",\"9365\":\"22cc0f23\",\"9467\":\"db9446c8\",\"9573\":\"79b6a122\",\"9757\":\"9777eba6\",\"9775\":\"4b81bf28\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + ({\"130\":\"ApplyInvite\",\"234\":\"DefermentPeriod\",\"559\":\"ApplyHealthCategories\",\"684\":\"renewalthankyou\",\"903\":\"ApplyHealthQuestion\",\"1081\":\"get-quote-general\",\"1121\":\"ApplyHasInsurance\",\"1172\":\"ApplyLocation\",\"1320\":\"HasSameCertificate\",\"1349\":\"ApplyPolicyStart\",\"1430\":\"get-quote\",\"1573\":\"Include\",\"2030\":\"occupation\",\"2188\":\"ApplyInviteStaticLink\",\"2353\":\"confirmchangestopolicy\",\"2401\":\"multi-family-plan-calculate-quote\",\"2405\":\"family-members\",\"2471\":\"ApplyHealthDetails\",\"2611\":\"flexible-health-plan-calculate-quote\",\"2989\":\"multi-family-members\",\"3190\":\"ApplicationComplete\",\"3684\":\"ApplyGP\",\"3865\":\"StepDependants\",\"3976\":\"ApplyInviteCertificateUpload\",\"4010\":\"ApplyPolicyName\",\"4497\":\"nhs-top-up-dental-calculate-quote\",\"4536\":\"nhs-top-up-plan-calculate-quote\",\"4750\":\"UnderwritingTerms\",\"4800\":\"renewals\",\"4966\":\"HasCertificate\",\"5205\":\"business-option\",\"5233\":\"ApplyUWDescription\",\"5924\":\"ApplyOccupation\",\"5938\":\"quote-review\",\"6177\":\"ApplyPersonalDetails\",\"6245\":\"treatment-option\",\"6386\":\"postcode\",\"6435\":\"get-quote-costco-membership\",\"6708\":\"ApplyDoYouQualify\",\"6831\":\"submitapplication\",\"6966\":\"login\",\"7157\":\"ApplySecondaryDetails\",\"7376\":\"save-progress\",\"7711\":\"complete-health-plan-calculate-quote\",\"7781\":\"insurance\",\"7786\":\"recommendation\",\"7837\":\"SameCertificateUpload\",\"7857\":\"policydocuments\",\"7993\":\"tell-about-household-step2\",\"8305\":\"flexible-health\",\"8512\":\"cover\",\"8548\":\"CurrentHealthInsurance\",\"8650\":\"tell-about-household\",\"8667\":\"renewaloverviewmain\",\"8669\":\"me-and-my-family\",\"8701\":\"ApplyUWDescriptionLink\",\"8757\":\"my-profile\",\"8829\":\"ApplyPayment\",\"9126\":\"DeclarationMain\",\"9297\":\"SummaryReview\",\"9365\":\"cover-level\",\"9573\":\"renewaloverviewcover\",\"9757\":\"create-account\",\"9775\":\"UnderwritingTermsMembers\"}[chunkId] || chunkId) + \".\" + {\"130\":\"c2d66b24\",\"234\":\"961bb018\",\"559\":\"eb506e28\",\"684\":\"32492f13\",\"903\":\"1291d673\",\"1081\":\"c829915d\",\"1121\":\"f10d4878\",\"1172\":\"43790b81\",\"1320\":\"1614cb1e\",\"1349\":\"9beb1e6e\",\"1430\":\"81b4717c\",\"1573\":\"992de80e\",\"2030\":\"b6650771\",\"2188\":\"c2d66b24\",\"2353\":\"bed5609a\",\"2401\":\"a1e6e80a\",\"2405\":\"d706e5c8\",\"2471\":\"af00a59f\",\"2611\":\"a1e6e80a\",\"2989\":\"32a7c2f2\",\"3190\":\"770736a2\",\"3633\":\"b10fb09e\",\"3684\":\"cea73bac\",\"3865\":\"d961d6a8\",\"3948\":\"8fc27749\",\"3976\":\"7cc6ddc3\",\"4010\":\"d4e55852\",\"4497\":\"a1e6e80a\",\"4536\":\"a1e6e80a\",\"4750\":\"dacd6f80\",\"4800\":\"2f6bed93\",\"4966\":\"2e475781\",\"5129\":\"12896f93\",\"5205\":\"8bcc076b\",\"5233\":\"3fc4e796\",\"5605\":\"36896ec8\",\"5924\":\"13e02107\",\"5938\":\"82281716\",\"6063\":\"c1de14f3\",\"6177\":\"c29376cb\",\"6245\":\"46594738\",\"6386\":\"064fa4f8\",\"6435\":\"6aa68e9b\",\"6708\":\"0e14aa91\",\"6831\":\"934c65ce\",\"6966\":\"6f7386d8\",\"7157\":\"8169491e\",\"7376\":\"66ec66d4\",\"7711\":\"a1e6e80a\",\"7731\":\"d2d5dd9b\",\"7781\":\"4e82a0b7\",\"7786\":\"41f0805c\",\"7837\":\"a7661736\",\"7857\":\"2f6bed93\",\"7993\":\"cf42ffb1\",\"8305\":\"c923b5bf\",\"8512\":\"cbac1111\",\"8548\":\"bd171235\",\"8650\":\"6d922d4f\",\"8667\":\"735a8b18\",\"8669\":\"b48b82cf\",\"8701\":\"5e155673\",\"8757\":\"d5f96ee9\",\"8829\":\"1756c152\",\"9126\":\"472b3482\",\"9297\":\"ddea1c25\",\"9365\":\"ac1d7b95\",\"9573\":\"e0a76d8c\",\"9757\":\"cd7f3a0d\",\"9775\":\"5a42b5b9\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"web:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"130\":1,\"234\":1,\"559\":1,\"684\":1,\"903\":1,\"1081\":1,\"1121\":1,\"1172\":1,\"1320\":1,\"1349\":1,\"1430\":1,\"1573\":1,\"2030\":1,\"2188\":1,\"2353\":1,\"2401\":1,\"2405\":1,\"2471\":1,\"2611\":1,\"2989\":1,\"3190\":1,\"3633\":1,\"3684\":1,\"3865\":1,\"3948\":1,\"3976\":1,\"4010\":1,\"4497\":1,\"4536\":1,\"4750\":1,\"4800\":1,\"4966\":1,\"5129\":1,\"5205\":1,\"5233\":1,\"5605\":1,\"5924\":1,\"5938\":1,\"6063\":1,\"6177\":1,\"6245\":1,\"6386\":1,\"6435\":1,\"6708\":1,\"6831\":1,\"6966\":1,\"7157\":1,\"7376\":1,\"7711\":1,\"7731\":1,\"7781\":1,\"7786\":1,\"7837\":1,\"7857\":1,\"7993\":1,\"8305\":1,\"8512\":1,\"8548\":1,\"8650\":1,\"8667\":1,\"8669\":1,\"8701\":1,\"8757\":1,\"8829\":1,\"9126\":1,\"9297\":1,\"9365\":1,\"9573\":1,\"9757\":1,\"9775\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t3524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(8650 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkweb\"] = self[\"webpackChunkweb\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(42196); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","staticClass","scopedSlots","_u","key","fn","_v","proxy","on","$event","$router","push","name","staticRenderFns","components","hero","created","component","DEFAULT_TITLE","Vue","use","VueRouter","routes","path","Home","meta","title","beforeEnter","to","from","next","store","state","pageDecisions","coverType","props","getters","quote","householdOptions","length","alias","params","quoteId","action","async","redirect","checkAuthAndRedirect","children","route","householdId","Number","parseInt","memberId","coverName","isNaN","router","mode","document","beforeEach","window","scrollTo","config","apiObj","api","commit","apiSpec","afterEach","renewalsSetup","inject","methods","getLiteratureForCustomer","renewalLiterature","$store","getQuotesForRenewal","renewalQuotes","getRenewalForCustomer","renewalData","currentQuote","renewalQuote","getUpDownForCustomer","isMultiFamily","Renewals","productId","redirectWithForm","url","accessToken","form","createElement","method","formField","style","display","value","appendChild","Object","entries","forEach","_","input","setAttribute","body","submit","removeChild","redirectWithQueryString","joinChar","location","href","loggedUserMethods","sendUsMessage","renewals","isGroup","secureAreaGatewayEndpointEmailUsParam","accessSecureArea","relativeUrl","myWpaMessagesEndpoint","myWpaMessagesEndpointEmailUsParam","accessMyWPA","myWpaUrl","token","localStorage","getItem","secureAreaGatewayUrl","secureAreaUrl","secureAreaGatewayEndpoint","accessNewSecureAreaPersonHomepage","newSecureAreaUrl","newSecureAreaPersonHome","isCustomer","userData","parseJwt","CustomerId","signOut","goHome","clear","logout","err","console","error","message","publicWebsites","main","out_ex","refreshTokenExpirationDate","apiUrl","isTokenRefreshing","logoutTimeout","logoutWarningTimeout","refreshTokenExpirationOffsetMinutes","defaultHeaders","sleep","ms","Promise","resolve","setTimeout","getConfiguration","configuration","logoutAndClear","currentLocation","includes","displayLogoutWarning","forceLogout","logoutWarning","addEventListener","showLogoutWarning","checkAndRefreshToken","getNewRefreshToken","refreshToken","fetch","headers","then","checkStatus","response","text","date","Date","setMinutes","getMinutes","setItem","getTime","toString","refreshAccessToken","catch","expired","decodedToken","isTokenExpired","wait","status","Error","statusText","getHeaders","requestHeaders","FormData","authorization","beforeRequest","_api","API","refreshTokenExpirationDateBeforeParsing","post","request","JSON","stringify","clonedResponse","clone","finally","get","delete_","patch","put","apiCall","_g","_b","$attrs","$listeners","_t","script","CONFIG_FILE_PATH","passThroughOrMapToQueryParams","keys","filter","p","undefined","map","join","buildRecommendedProductFetcher","pageStack","r","json","buildApplicationSummaryFetcher","buildQuoteSummaryFetcher","buildDeclarationsFetcher","PageTypeId","ApplicationId","MembershipRequestId","assert","urlParams","req","res","ok","data","buildDocumentFetcher","documentName","buildDeclarationAnswers","buildAccessTokenFetcher","removeItem","buildQuickQuoteFetcher","overwriteQuotePayload","payload","quotePayloadWithoutMemberIds","buildLogoutFetcher","buildQuickQuoteCustomiseFetcher","buildGetQuoteById","id","buildGetQuickQuoteById","buildMedicalDeclarationCategoryPost","URL","questionFlowId","buildCurrentInsurancePost","appId","buildCurrentInsuranceFetcher","buildFilesUploadPost","clientId","formData","e","k","append","buildUploaderExistingFiles","buildUploaderEnabledPost","buildUploaderFilesValidationGet","requestHeader","Authorization","validateFilesAPI","buildGetUploadAccessToken","buildSendFiles","files","sendFilesAPI","buildSaveUpload","uploadFileResponse","registerUser","registerFlexyUser","getWebSources","registerCustomer","registerUserAuthorize","completeRegistration","parse","resendActivationCode","registrationId","getFPN","approveFPN","buildGetRenewalForCustomer","buildGetUpDownForCustomer","buildPostRenewalQuote","requestBody","buildProcessRenewalQuote","buildGetQuotesForRenewal","buildGetLiteratureForCustomer","buildCalculateQuickQuote","buildCalculateRenewalQuickQuoteById","buildCalculateRenewalQuickQuote","buildRecalculateQuickQuote","buildRecalculateRenewalQuickQuote","buildApi","recommendedProduct","quickQuote","quickQuoteCustomise","applicationSummary","quoteSummary","medicalDeclarationCategoryPost","declarations","declarationsAnswers","currentInsurancePost","currentInsuranceFetcher","filesUpload","checkUploaderEnabled","getFilesValidation","getExistingFiles","quickquoteById","quoteById","postRenewalQuote","processRenewalQuote","calculateQuickQuote","calculateRenewalQuickQuoteById","calculateRenewalQuickQuote","recalculateQuickQuote","recalculateRenewalQuickQuote","getUploadAccessToken","sendFiles","saveUpload","retrieveAndBuildApi","isAdultRelationship","relationship","HUSBAND","WIFE","PARTNER","ADULT_DEPENDANT","isChildRelationship","SON","DAUGHTER","CHILD_DEPENDANT","isSubscriberRelationship","SUBSCRIBER","paramTypes","COVER","SUBSCRIBER_UNDERWRITING","DEPENDANT_UNDERWRITING","EMAIL","START_DATE","NUMBER_OF_DEPENDANTS","ADULT_DEPENDANT_UNDERWRITING","CHILD_DEPENDANT_UNDERWRITING","ADULT_DEPENDANT_OPTIONS","CHILD_DEPENDANT_OPTIONS","JOINT","ONE_PARENT","FAMILY","CHILDREN","PARTNER_AND_CHILDREN","SINGLE","coverTypes","WITH_ADULT","WITH_CHILD","getApplicationId","membershipRequest","type","membershipRequestId","personalDetails","pd","invitePersonType","applicationId","webpackContext","webpackContextResolve","__webpack_require__","o","code","module","exports","getIcon","brandName","iconName","icons","AddFamily","add","addHousehold","addWhite","appStore","application","arrow2","arrow","arrowRight","blackUser","blueLeftArrow","bluePhone","bluePin","bluePlus","blueRemove","blueX","calendar","cardAm","cardMastercard","cardVisa","check","checkGray2","checkGray","checkGreen","checkedDocumentation","child","circleCheckbox","circleCheckboxUnchecked","circleDownGreen","circleUpRed","clock","close","codeQr","community","couple","dataDownload","dotFull","exclamationMark","family","familyMultiple","googlePlay","greenTick","greenTickNoCircle","greyAdd","greyMember","greyTick","handglass","height","hourglass","household","infoIcon","informationIcon","iphone","leftArrow","loader","member","members","migration","multipleMembers","newsletter","notIncluded","pdf2","pdf","personOutline","pin","pinLocation","plus2","plus","profile","renewalDocument","search","sendMessage","smallBlueDownArrow","smallCheck","smallChild","smallDownArrow","smallMember","smallRemove","smallRightArrow","trash","wallet","weight","whiteCheck","whiteRemove","whiteRightArrow","worldPin","wpaApp2","wpaApp","wpaLogo","iceland","informationIcon_Iceland","_setupProxy","class","theme","hifitheme","attrs","loadingApplication","secondaryQuestions","onlyNavbar","handleOk","model","callback","$$v","expression","_s","timeLeft","displayFPN","domProps","fpnContent","brandingClassName","handleAcceptFPN","require","extend","logo","redirectToHome","isOnlineInviteError","_e","getTextSecureAreaButton","click","redirectToSecureArea","showRetrieveQuote","isRetail","isOnlineInvite","getOnlineInviteTelephoneNumber","mixins","UIButton","computed","mapGetters","branding","logoSource","$route","telephoneNumber","isInviteUser","isBusiness","CookieCivic","apiKey","product","subDomains","initialState","position","closeStyle","settingsStyle","rejectButton","consentCookieExpiry","logConsent","fontFamily","fontSizeTitle","fontSizeHeaders","fontSize","fontSizeIntro","backgroundColor","toggleText","toggleColor","toggleBackground","removeIcon","removeAbout","intro","accept","acceptSettings","reject","rejectSettings","settings","closeLabel","necessaryTitle","necessaryDescription","notifyTitle","notifyDescription","thirdPartyTitle","thirdPartyDescription","statement","description","updated","necessaryCookies","optionalCookies","label","cookies","recommendedState","onAccept","cfg","onInit","n","x","w","D","t","E","C","O","b","q","I","L","j","g","f","m","h","initialize","queue","sv","version","v","i","a","pathname","time","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","toFixed","slice","iKey","replace","sampleRate","tags","baseData","ver","seq","aiDataContract","y","T","S","src","s","d","navigator","userAgent","toLowerCase","indexOf","cr","c","u","l","dle","connectionString","split","endpointsuffix","instrumentationkey","instrumentationKey","endpointUrl","userOverrideEndpointUrl","baseType","exceptions","typeName","hasFullStack","stack","parsedStack","properties","endpoint","useXhr","XMLHttpRequest","open","setRequestHeader","send","core","integrity","onload","onerror","onreadystatechange","readyState","ld","getElementsByTagName","parentNode","sri","match","concat","ext","file","DONE","responseText","cookie","arguments","apply","pop","SeverityLevel","Verbose","Information","Warning","Critical","extensionConfig","ApplicationInsightsAnalytics","lineNumber","columnNumber","evt","event","autoExceptionInstrumented","trackPageView","sdk","telemetryInitializer","envelope","addTelemetryInitializer","crossOrigin","enableAutoRouteTracking","enableAjaxErrorStatusText","enableUnhandledPromiseRejectionTracking","cookieDomain","disableCookiesUsage","disableTelemetry","autoTrackPageVisitTime","loggingLevelTelemetry","disablePageUnloadEvents","onRevoke","BootstrapVue","BootstrapVueIcons","SmartInput","prototype","$cookie","SmartButton","LoaderDots","DotLoader","Menu","Navbar","provide","extendedSession","currentWindow","parent","watch","immediate","handler","classes","$parent","$el","classList","call","newValue","oldValue","countDownTimer","set","showFPNDialog","isExistScript","scripts","mounted","shouldAdd","CookieControl","load","CookieCivicConfig","productionTip","beforeCreate","App","$mount","redirectUrl","clearRefreshToken","clearRefreshTokenExpirationDate","clearAccessToken","setRefreshToken","getNewRefreshTokenExpirationDate","getTokenExpirationDate","encodedToken","exp","setUTCSeconds","expirationDate","now","utc_timestamp","UTC","base64Url","base64","jsonPayload","decodeURIComponent","atob","charCodeAt","disabled","$emit","icon","String","required","Array","default","validator","val","some","directives","rawName","showLoader","loading","Boolean","Vuex","currentHouseholdId","currentHousehold","households","address","guid","age","smoker","surname","desc","personalDetailsFilled","productCoverLevel","currentHouseholdIndex","findIndex","householdLength","mutations","find","splice","memberIndex","memberData","index","assign","GetQuote","quotePayload","actions","addMemberAction","removeMemberAction","updateMemberAction","addHouseholdAction","selectHousehold","removeHouseholdAction","updateHouseholdAction","selectHouseholdAction","multifamilyClearData","setMultifamilyMemberDesc","multiPersonalDetailsFilled","MultifamilyQuote","postcode","occupationData","selfEmployed","occupation","memberOfProfession","defaultCover","productName","availableBenefits","coverDescriptions","documentsToDownload","selectedCoverLevelId","commonWithAllMembersSummary","householdPrices","discountDetails","discountFootnote","promotionTermsAndConditions","benefitOptionConditions","isSharedResponsibilityOverExcess","startDateOfPolicy","homePostcode","externalLinkId","affinityId","sponsoredId","costcoMembershipTypeId","promotionId","occupationId","isProfessional","isSelfEmployed","priceGrossMonthly","priceGrossMonthlyFull","priceGrossYearly","priceGrossYearlyFull","priceNetPremium","priceGrossPremium","options","isCurrentlyInsured","pendingCustomiseRequests","loaderForAllCovers","leadData","membersAmount","householdsOptions","customiseQuoteLoader","stripMembersIds","fullProductName","quoteCoverLevelsLength","quotePayloadsForAllLevels","cover","subscriber","memberOptions","coverOptions","coverLevel","op","optionId","familyMembers","selectableOptionIds","flatMap","ab","subBenefits","sb","setRecommendedProduct","setProductId","setProductCoverLevel","smokerVaper","firstName","allowMoratorium","underwritingTypeId","toISOString","selectableOptions","copyOptions","newOptions","oldOptions","groupOptions","payloadMembers","chosenMember","memberOption","coverOption","option","householdIndex","chosenHousehold","chosenHouseholdId","memberPrices","memberPrice","coverPrices","coverPrice","oId","familyMember","householdProductCoverLevel","memberName","memberSurname","cp","boolean","moment","format","householdOption","discounts","termsAndConditions","pgfIndex","maxAge","Math","max","oldestIndex","dest","setQuoteLeadData","getQuoteAddMemberAction","getQuoteRemoveMemberAction","getQuoteUpdateMemberAction","getQuoteSetPostcode","getQuoteClearPostcode","getQuoteSetOccupation","getQuoteSetEmploymentType","getQuoteSetMemberOfProfession","getQuoteClearOccupation","getQuoteClearData","setMemberDesc","updateQuotePastStartDate","dispatch","today","setOptionalBenefitsRaw","setPgf","pgfData","pgfMemberIndex","setOptionalBenefits","condition","effect","effects","currentValueOfEffectOptionId","currentValueCondition","getMemberOptionValue","values","selected","coverData","rest","replaceData","data2","setHouseholdsInQuotePayload","fetchQuickQuote","fetchQuoteById","setAsDefaultForHouseholds","setAsDefaultForHousehold","resetHouseholdToDefault","fm","otherOptionId","getMemberOptionValue_ForHousehold","getMemberOptionValue_ForMemberMultiFamily","getMemberOptionValue_ForMemberSingleFamily","subscriberOption","Auth","isAuthenticated","setAccessToken","Logout","categoriesAnswers","furtherQuestionsList","videoModal","underwritingSidebar","underwritings","available","getFurtherQuestionsList","list","toggleJoiningMethodInfoSidebar","toggleVideoModal","clearApplication","answerPrimaryQuestion","primaryQuestionId","primaryQuestionAnswerId","answerId","primaryQuestion","category","warn","setCategoriesListWithAnswers","setAvailableUwMethods","fetchMedicalDeclarationCategoryPost","hdMembers","rootState","applicationMembers","membersByMethod","joiningMethod","getUWStepbarData","done","uwStep","counter","moratoriumId","possibleUnderwritingTypeIds","moratorium","fmuValue","fmu","MedicalDeclaration","applicationSummaries","quoteSummaries","setApplicationSummeries","setQuoteSummeries","setApplicationSummeriesAction","setQuoteSummeriesAction","QuoteSummary","upDowns","literature","defaultQuote","quoteDirty","quoteData","defaultOptions","quoteRequest","renewalQuotesList","renewalQuoteSelectedIndex","renewalProductId","renewalQuickQuote","SET_DEFAULT_QUOTE","SET_QUOTE_DIRTY","SET_QUOTE_ID","SET_QUOTE_REQUEST","SET_QUOTE_DATA_RENEWAL","SET_QUOTE_OPTIONS_FOR_MEMBER_RENEWAL","SET_QUOTE_PRICES_FOR_MEMBER_RENEWAL","SET_QUOTE_COVER_LEVEL_FOR_HOUSEHOLD_RENEWAL","membersLevelOfCover","element","SET_QUOTE_DEFAULT_OPTIONS_RENEWAL","SET_CURRENT_QUOTE","SET_RENEWAL_QUOTE","SET_RENEWAL_UP_DOWNS","SET_RENEWAL_LITERATURE","SET_RENEWAL_QUOTES_LIST","SET_RENEWAL_QUOTE_SELECTED_INDEX","SET_DISCOUNTS","discountDetailsCurrent","setQuoteDataRenewal","setQuoteOptionsForMemberRenewal","setQuotePricesForMemberRenewal","setQuoteCoverLevelForHouseholdRenewal","setQuoteDefaultOptionsRenewal","benefits","flexOrMultiFamily","coverForWhom","extendedFamilyLevel","privateTreatmentLevel","treatmentOption","selectedOptions","underwrittingTypeId","productDescription","productIcon","coverLevelDescription","header","footer","isDental","isSwitch","isTopUp","benefitsList","optionalExtrasList","membershipRequestByAppId","membershipRequestParameters","ageData","minAdultAge","maxPersonAge","minPersonAge","appPagesCompleted","sameCertificate","hasCertificate","appid","healthQuestionsAnswers","reviewData","conditions","flowLastSaved","isFPNConfirmed","recommendedProductName","quoteValidFor","currentProductOptions","fields","productOptions","isOnlineInviteMultiFamily","isOnlineInviteFlexi","isFamilyOffice","membershipRequestCover","isMembershipRequestDependantsOnly","isMembershipRequestUnderwritingOnly","canAddChildDependants","isMcd","isEbd","maxNumberOfDependants","numDependants","am","memberRelationship","numChildren","canAddAdultDependants","canChangeDependantAmount","canChooseUnderwritingTerm","showInviteCertificateUpload","canChooseUnderwriting","groupSpecificationIds","groups","sexAtBirth","CLEAR_DATA","setConfig","setCoverPhrase","setCoverType","setExtendedFamilyCoverLevel","level","setPrivateTreatmentLevel","setTreatmentOption","treatment","setSelectedOptions","setMemberId","obj","setStepAsCompleted","appPageName","isCompleted","completed","setApplication","isOnlineInviteCompleteHealth","setApplicationIntermediary","intermediaryId","setApplicationStartDate","startDate","setApplicationDirectDebit","setApplicationPaymentInterval","paymentInterval","setApplicationPaymentMethod","paymentMethod","addApplicationMember","removeApplicationMember","setApplicationMember","setSameCertificate","setHasCertificate","setMembershipRequests","membershipRequests","mr","setMembershipRequest","setMembershipRequestParameters","fromEntries","parameterTypeId","setApplicationHousehold","setPolicyHolder","policyHolder","setReviewData","setMembersConditions","setLoadingApplication","SET_MORATORIUM_PERMISSION","SET_HEALTH_QUESTIONS_ANSWERS","SET_LOADER","bool","SET_SHOW_LOGOUT_WARNING","SET_SHOW_FPN_DIALOG","SET_FPN_CONTENT","SET_IS_FPN_CONFIRMED","SET_APPLICATION_POLICYNAME","policyName","initialiseStore","tmpStore","multifamilyQuote","getQuote","auth","medicalDeclaration","currentStore","restProps","SET_BRANDING","setApplicationRequireRepricing","requireRepricing","clearQuoteData","setStepAsCompletedAction","setApplicationAction","setSameCertificateAction","setHasCertificateAction","clearApplicationAction","setMoratoriumPermissions","setHealthQuestionsAnswers","setProductCoverLevelAction","setLoader","setShowLogoutWarning","setShowFPNDialog","setFPNContent","setIsFPNConfirmed","modules","_m","returnUrl","redirectToLogin","buildReturnUrl","myWpaLoginEndpoint","loginUrl","channel","authChannel","env","authEnv","encodedReturnUrl","encodeURIComponent","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","deferred","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","definition","defineProperty","enumerable","chunkId","all","reduce","promises","miniCssF","globalThis","Function","prop","hasOwnProperty","inProgress","dataWebpackPrefix","needAttach","getAttribute","charset","timeout","nc","onScriptComplete","prev","clearTimeout","doneFns","bind","target","head","Symbol","toStringTag","nmd","paths","createStylesheet","fullhref","oldTag","linkTag","rel","nonce","onLinkComplete","errorType","realHref","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}