{"version":3,"file":"562.7180fc9493039131.js","mappings":"ySAQO,IAAMA,EAAe,MAAtB,MAAOA,EANbC,cAOWC,UAAO,GACPA,WAAQ,IAFNF,SAAe,oCAAfA,EAAe,EAAfA,EAAe,sBAAfA,EAAeG,oJCR5BC,eACEA,SACFA,QACAA,qBAHsBA,4BACpBA,wVDOWJ,CAAe,KEAfK,EAAmB,MAA1B,MAAOA,EANbJ,cAOWC,gBAAa,GACbA,mBAAgB,GAChBA,iBAAc,GACdA,mBAAgB,GAChBA,iBAAc,GACdA,qBAAkB,GAClBA,mBAAgB,IAPdG,SAAmB,oCAAnBA,EAAmB,EAAnBA,EAAmB,sBAAnBA,EAAmBF,6kBCRhCC,qBACIA,mCACIA,uCACIA,0CAA6BA,wBAAYA,QACzCA,uCAAGA,UAAcA,QACrBA,+BACAA,yCACIA,6CACIA,gDAAmBA,cAACA,QACpBA,+CAAqBA,UAAiBA,QACtCA,6CAAGA,UAAeA,QACtBA,mCACAA,6CACAA,6CACIA,gDAAmBA,cAACA,QACpBA,+CAAqBA,UAAiBA,QACtCA,6CAAGA,UAAeA,QACtBA,mCACAA,6CACAA,6CACIA,kDAAqBA,cAACA,QACtBA,+CAAqBA,UAAmBA,QACxCA,6CACIA,UACJA,QACJA,mCACJA,+BACAA,yCACEA,oDACFA,+BACJA,2BACJA,uBACAA,sBA5BeA,8BAKsBA,iCAClBA,8BAKkBA,iCAClBA,8BAKkBA,mCAEjBA,46DDfPC,CAAmB,KEAnBC,EAAkB,MAAzB,MAAOA,YAAkB,oCAAlBA,EAAkB,EAAlBA,EAAkB,sBAAlBA,EAAkBH,wMCR/BC,iBACEA,iCACIA,oCAAwBA,wBAAYA,QACpCA,qCACEA,+CACFA,6BACJA,yBACFA,uBACAA,kqBDAaE,CAAkB,gDEExB,IAAMC,GAAqB,MAA5B,MAAOA,EAKXN,YAAoBO,EAAyBC,GAAzBP,UAAyBA,WAJ7CA,SAAMA,KAAKM,GAAGE,MAAM,CAClBC,MAAO,CAAC,GAAI,CAACC,cAAqBA,cAGqD,CAGzFC,QAAQC,GACNA,EAAMC,kBACFb,KAAKc,IAAIC,OAAOf,KAAKgB,QAC3B,CAEAA,SACEhB,KAAKO,IAAIU,MAAMjB,KAAKc,IAAII,MAC1B,EAfWb,SAAqB,oCAArBA,GAAqBc,0BAArBd,EAAqB,sBAArBA,EAAqBJ,0GAArBmB,YAAe,6XCV5BlB,iBACEA,8BACEA,mHACFA,QACAA,+BACEA,4GACFA,QAEAA,oCACEA,+CACEA,yCACFA,2BACFA,yBAEAA,oDACEA,wCAA4DA,mBAAMA,QAClEA,wCAAwBA,gCAASkB,UAAQ,GAA2ClB,mBAAMA,QAC5FA,yBACFA,8BAVQA,kCAQuDA,gkBDNlDG,CAAqB,kIEA1BH,qBAAuDA,yDAASA,wBAAe,GAC7EA,+CACFA,yDAEEA,yBACEA,SACFA,kCAFyDA,iBACvDA,4FASJA,qBAAuDA,0DAASA,wBAAe,GAC7EA,+CACFA,wDAEEA,yBACEA,SACFA,kCAFwDA,iBACtDA,6EATNA,4BAEEA,6CAEAA,iDAGAA,uDACEA,2EAGFA,+BACFA,yEATIA,oCACOA,+BAImBA,qFAQ1BA,yBACEA,SACFA,kCAF0CA,iBACxCA,yDCnBL,IAAMmB,EAAiB,MAAxB,MAAOA,EAeXtB,YACUuB,EACAC,EACAC,GAFAxB,cACAA,WACAA,cALVA,iBAAcyB,KAQZ,MAAMC,EAAW,IAAIC,KAAY,GAAI,CAACjB,gBAChCkB,EAAW,IAAID,KAAY,GAAI,MAErC3B,KAAKc,IAAM,IAAIe,KAAU,CACvBH,WACAI,QAAS,IAAIH,KAA6C,GAAI,CAACjB,gBAC/DkB,aAGF,MAAMG,EAAkBC,OAAOC,OAAOC,sBACtClC,KAAKmC,mBAAqBT,EAASU,aAAaC,QAC9CC,KAAU,KAAE,EACZC,KAAKrB,GAAyBA,EACxBa,EAAgBS,OAAOC,GAAKA,EAAEC,cAAcC,SAASzB,EAAMwB,gBAC3DX,IAGR,MAAMa,EAAkBZ,OAAOC,OAAOY,sBACtC7C,KAAK8C,kBAAoBlB,EAASQ,aAAaC,QAC7CC,KAAU,KAAE,EACZC,KAAKrB,GAAyBA,EACxB0B,EAAgBJ,OAAOC,GAAKA,EAAEC,cAAcC,SAASzB,GAAOwB,gBAC5DE,GAEV,CAEAG,gBACE/C,KAAKc,IAAIkC,SAAStB,SAASuB,SAAS,IACpCjD,KAAKkD,eACP,CAEAA,gBACElD,KAAKc,IAAIkC,SAASpB,SAASqB,SAAS,GACtC,CAEAE,KAAKvC,GACHA,EAAMC,kBAEN,MAAMuC,EAAaC,OAAOrB,OAAOsB,QAAQpB,sBAAiCqB,KAAKd,GAAKA,EAAE,IAAMzC,KAAKc,IAAIkC,SAAStB,SAASR,SAAS,IAChI,IAAKkC,EAEH,YADApD,KAAKwD,YAAYC,YAInB,MAAMC,EAAqC,OAAfN,EAEtBO,EAAaD,EACfL,OAAOrB,OAAOsB,QAAQT,sBAAyCU,KAAKd,GAAKA,EAAE,IAAMzC,KAAKc,IAAIkC,SAASpB,SAASV,SAAS,IACrH,EAEJ,GAAIwC,IAAwBC,EAE1B,YADA3D,KAAK4D,YAAYH,YAKnB,IAAKzD,KAAKc,IAAIkC,SAASlB,QAAQf,MAE7B,YADAf,KAAK6D,YAAYC,OAInB,MAAMC,EAAY/D,KAAKc,IAAIkC,SAASlB,QAAQZ,OAAOqB,IAAIyB,GAAKA,EAAEC,IAAIC,KAAK,MAAQ,GAC/ElE,KAAKuB,IACF4C,WAAWf,EAAYW,EAAWJ,GAClCtB,QAAK+B,KAAK,IACVC,UAAWC,IACNA,EAAKC,cAAgB,EAQvBvE,KAAKsB,OAAOkD,SAAS,CAAC,kBAAmB,CAAEC,YAPvB,CAClBC,cAAiBtB,EACjBuB,UAAaZ,EACba,mBAAsBjB,EACtBkB,OAAUP,EAAKO,UAOjB7E,KAAKwB,OACFsC,KAAKzD,IACLyE,cACAzC,QAAK+B,KAAK,IACVC,UAAWvD,IACLA,GAAKL,QACVT,KAAKuB,IAAIwD,SAAST,EAAKO,OAAQ/D,EAAIL,OAAO4B,QAAK+B,KAAK,IAAIC,YACxDrE,KAAKc,IAAIkE,QAAK,EACf,EAIX,EA/GW3D,SAAiB,oCAAjBA,GAAiBF,sCAAjBE,EAAiB,sBAAjBA,EAAiBpB,4zCDlB9BC,iBACEA,kCACEA,kCAAwBA,gDAAoCA,QAC5DA,iCACEA,yGACFA,QAEEA,mDACEA,6CAEAA,mDAGAA,wDACEA,4EAGFA,+BACFA,6BAEAA,6DAcAA,oDACEA,oDACEA,0DAGFA,+BACFA,6BAEAA,uCACEA,kDAAoDA,iCAASkB,SAAY,GAAElB,QAC7EA,6BAEFA,6BAEJA,6DA/CQA,kCAQEA,qCACOA,+BAImBA,2DAMbA,wDAgBaA,giCClBvBmB,CAAiB,8BCQ1BnB,iDAEEA,4CCpBC,IAAM+E,EAAuB,MAA9B,MAAOA,EAmBXlF,YAAoBmF,EAAuCC,GAAvCnF,YAAuCA,WAjB3DA,cAAW,EAEXA,aAAU,CACR,CACEoF,QAAS,uKACTC,OAAQ,kDAEV,CACED,QAAS,iFACTC,OAAQ,qCAEV,CACED,QAAS,mEACTC,OAAQ,2CAIyE,CAErFC,WACE,MAAMC,EAAkCvF,KAAKkF,KAAKM,cAAcC,iBAAiB,UAEjFF,EAAOG,QAAQ,CAACC,EAAOC,KACrBD,EAAME,MAAMC,UAAY,cAAqB,IAAPF,KAAO,GAI/C5F,KAAK+F,SAAW,EAGhB,MAAMC,EAAWT,EAAOU,OAAS,EAE3BC,EAAYlG,KAAKkF,KAAKM,cAAcW,cAAc,eAclDC,EAAYpG,KAAKkF,KAAKM,cAAcW,cAAc,eAclDE,EAAa,IACVd,EAAOG,QAAQ,CAACC,EAAOC,KAC5BD,EAAME,MAAMC,UAAY,cAAc,KAAOF,EAAO5F,KAAK+F,gBA7B7C,MACdG,GAAWI,iBAAiB,QAAU,KAEhCtG,KAAK+F,WAAaC,EACpBhG,KAAK+F,SAAW,EAEhB/F,KAAK+F,WAEPM,IACArG,KAAKmF,IAAIoB,cAAY,EACtB,EAuBHC,GAnBgB,MACdJ,GAAWE,iBAAiB,QAAU,KAEd,IAAlBtG,KAAK+F,SACP/F,KAAK+F,SAAWC,EAEhBhG,KAAK+F,WAEPM,IACArG,KAAKmF,IAAIoB,cAAY,EACtB,EAUHE,EACF,CAEAC,GAAGC,GACD3G,KAAK+F,SAAWY,CAClB,CAEAC,cACE5G,KAAKkF,KAAKM,cAAcW,cAAc,gBAAgBU,uBACtD7G,KAAKkF,KAAKM,cAAcW,cAAc,gBAAgBU,sBACxD,EA/EW5B,SAAuB,oCAAvBA,GAAuB9D,4BAAvB8D,EAAuB,sBAAvBA,EAAuBhF,8hBDRpCC,iBACEA,iCACEA,mCACIA,qCAAoBA,SAAkCA,QACtDA,uCACEA,UACFA,QACFA,6BACFA,qCACIA,yCACEA,2CACFA,+BACFA,uCACEA,yCACFA,6BACAA,uCACEA,yCACFA,6BACFA,2BACAA,2CACAA,2CAGFA,6BAEAA,sCACEA,gDAIFA,yBACFA,uBACAA,sBA7B4BA,wFAElBA,0GAsBcA,y7DCnBX+E,CAAuB,KCAvB6B,EAAwB,MAA/B,MAAOA,EANb/G,cAQYC,yBAAsB,IAAI+G,MAEpCC,UACEhH,KAAKiH,oBAAoBC,MAC3B,EANWJ,SAAwB,oCAAxBA,EAAwB,EAAxBA,EAAwB,sBAAxBA,EAAwB7G,ggBCRrCC,iBACIA,mCACIA,2CACEA,iDACAA,iDACFA,8BACAA,wCAAwBA,kDAAqCA,QAC7DA,uCACEA,6UACFA,QACAA,yCACEA,mDACFA,+BACJA,2BACAA,qCACIA,0CACJA,2BACFA,yBACFA,6hCDVa4G,CAAwB,KECxBK,EAAmB,MAA1B,MAAOA,YAAmB,oCAAnBA,EAAmB,EAAnBA,EAAmB,sBAAnBA,EAAmBlH,6qBCThCC,0BACAA,iCACIA,iDAUJA,sBACAA,+CACAA,+CACAA,4CACAA,sMDPaiH,CAAmB,KEFnBC,EAAsB,MAA7B,MAAOA,EAEXrH,cAAgB,CAEhBuF,WACA,EALW8B,SAAsB,oCAAtBA,EAAsB,EAAtBA,EAAsB,sBAAtBA,EAAsBnH,yVCPnCC,iBACIA,mCACIA,sCAAwBA,yBAAaA,QACrCA,qCACIA,+cAIJA,QACAA,sCACIA,qDACAA,2CAAwDA,2BAAaA,QACzEA,+BACJA,2BACAA,qCACIA,yCACJA,2BACJA,uBACAA,omCDXakH,CAAsB,KECtBC,GAAiC,MAAxC,MAAOA,YAAiC,oCAAjCA,EAAiC,EAAjCA,EAAiC,sBAAjCA,EAAiCpH,yTCR9CC,iBACIA,mCACIA,uCACJA,0BACAA,mCACIA,sCAAwBA,wCAA2BA,QACnDA,uCACIA,sZAIJA,QACAA,uCACEA,mDACFA,+BACJA,2BACJA,uBACAA,mhCDTamH,CAAiC,KEAjCC,GAAoB,MAA3B,MAAOA,YAAoB,oCAApBA,EAAoB,EAApBA,EAAoB,sBAApBA,EAAoBrH,kTCRjCC,iBACIA,mCACIA,sCAAwBA,8CAAkCA,QAC1DA,qCACIA,uVAGJA,QACAA,wCACEA,mDACFA,+BACJA,2BACAA,qCACIA,yCACJA,2BACJA,uBACAA,siCDRaoH,CAAoB,KEApBC,GAAkB,MAAzB,MAAOA,YAAkB,oCAAlBA,EAAkB,EAAlBA,EAAkB,sBAAlBA,EAAkBtH,qrBCR/BC,iBACIA,iDACAA,mCACIA,qDAUJA,0BACAA,8DACAA,iDACAA,mBAGJA,uBACAA,uPDZaqH,CAAkB,KEAlBC,EAAsB,MAA7B,MAAOA,YAAsB,oCAAtBA,EAAsB,EAAtBA,EAAsB,sBAAtBA,EAAsBvH,0VCRnCC,iBACEA,iCACIA,oCAAwBA,2DAA+CA,QACvEA,mCACIA,iZAIJA,QACAA,sCACEA,iDACAA,wCACEA,yCACEA,mDACFA,QACFA,+BACFA,6BACJA,yBACAA,mCACIA,uCACJA,yBACFA,uBACAA,u7DDdasH,CAAsB,KEAtBC,EAA2B,MAAlC,MAAOA,YAA2B,oCAA3BA,EAA2B,EAA3BA,EAA2B,sBAA3BA,EAA2BxH,yUCRxCC,iBACIA,mCACIA,sCAAwBA,gCAAoBA,QAC5CA,qCACIA,2cAIJA,QACAA,wCACEA,mDACFA,+BACJA,2BACAA,qCACIA,yCACJA,2BACJA,uBACAA,qiCDTauH,CAA2B,KEA3BC,EAAwB,MAA/B,MAAOA,YAAwB,oCAAxBA,EAAwB,EAAxBA,EAAwB,sBAAxBA,EAAwBzH,mTCRrCC,iBACIA,mCACIA,uCACJA,0BACAA,mCACIA,sCAAwBA,iDAAoCA,QAC5DA,uCACIA,8aAIJA,QACAA,uCACEA,mDACFA,+BACJA,2BACJA,uBACAA,qzCDTawH,CAAwB,KEAxBC,EAAkB,MAAzB,MAAOA,YAAkB,oCAAlBA,EAAkB,EAAlBA,EAAkB,sBAAlBA,EAAkB1H,ilBCR/BC,iBACIA,iDACAA,mCACIA,qDASJA,0BACAA,mDACAA,yDACAA,mBAGJA,uBACAA,qPDXayH,CAAkB,2DEL7BzH,2BACEA,mDAA+CA,kFAA2B,EAAI,EAA/BA,CAAgC,4EAA4B,EAAK,GAC9GA,4DACEA,mDAAqCA,SAAgBA,QACvDA,4BACAA,sCACFA,2BACFA,qDAJ2CA,sBAEdA,iFAI7BA,2BACEA,mDAA+CA,kFAA2B,EAAI,EAA/BA,CAAgC,4EAA4B,EAAK,GAC9GA,4DACEA,mDAAqCA,SAAmBA,QAC1DA,4BACAA,sCACFA,2BACFA,qDAJ2CA,sBAEbA,yCCPzB,IAAM0H,EAAY,MAAnB,MAAOA,EAKX7H,cAJAC,qBAAiB,EACjBA,qBAAgB6H,KAChB7H,kBAAa8H,IAEG,CAEhBxC,WACEyC,QAAQC,IAAIhI,KAAKiI,gBACnB,EATWL,SAAY,oCAAZA,EAAY,EAAZA,EAAY,sBAAZA,EAAY3H,gSDVzBC,iBACEA,gCAAsBA,sCAA0BA,QAEhDA,oDASAA,oDAQFA,6BAjB4DA,yCASGA,2dCFlD0H,CAAY,8BCFlB,IAAMM,EAAqB,MAA5B,MAAOA,EANbnI,cAOSC,sBAAkBmI,MAAOC,eADrBF,SAAqB,oCAArBA,EAAqB,EAArBA,EAAqB,sBAArBA,EAAqBjI,s5BCRlCC,oBACEA,iCACKA,oCACIA,wCACGA,+HACHA,QACJA,6BAEAA,yCACIA,0CAA0BA,sBAASA,QACnCA,0CAA0BA,sBAASA,QACnCA,0CAAmCA,oBAAOA,QAC1CA,0CAA2CA,iBAAIA,QAC/CA,0CAA2EA,uBAAUA,QACzFA,8BACJA,0BAECA,sCAEDA,sCACGA,sCACKA,UAIJA,QAEAA,0CACIA,2CAAuEA,kBAAKA,QAC5EA,2CAAyEA,8BAAmBA,QAC5FA,2CAA8EA,yDAA4CA,QAC1HA,2CAA8EA,0BAAaA,QAC3FA,2CAAgDA,sCAAyBA,QAE7EA,gCACJA,0BACHA,uBACAA,sBAhBWA,+yBDbEgI,CAAqB,KEWlC,MAAMG,GAAiB,CACrB,CACEC,KAAM,GACNC,UCb6B,MAA3B,MAAOC,EACXzI,YAAoB0I,eAA2B,CAE/CC,QACE1I,KAAKyI,MAAME,SAASC,gBACtB,EALWJ,SAAoB,oCAApBA,GAAoBrH,eAApBqH,EAAoB,sBAApBA,EAAoBvI,iiCCTjCC,mCACIA,6CAAaA,mEAAkBA,gBAAe,GAC1CA,uCACIA,2CACIA,+CAOJA,mCACAA,2CACIA,+CAAmBA,0DAASA,gBAAe,GACvCA,0DACJA,uCACJA,mCACJA,+BACAA,yCACAA,uCACIA,2CAAoEA,0DAASA,gBAAe,GACxFA,sDACJA,QACJA,+BACAA,uCACIA,4CAA8CA,0DAASA,gBAAe,GAClEA,sDACJA,QACJA,+BACAA,0CACAA,uCACIA,4CAAuBA,mDAASkB,iBAASlB,gBAAe,GACpDA,kDACJA,QACJA,+BACAA,0CACAA,uCACIA,sDAA4BA,0DAASA,gBAAe,GAAyBA,QACjFA,+BACJA,2BACAA,mDACIA,0CACIA,8CACIA,kDACIA,oDAAqEA,sBAASA,QAC9EA,oDAAqEA,sBAASA,QAClFA,uCAEAA,mDACIA,sDAMJA,uCAEAA,oDACIA,oDAAwBA,gCAASkB,SAAO,GAAElB,kBAAKA,QAC/CA,wDAAwBA,0DAASA,iBAAgB,GAC7CA,+DACJA,2CACJA,uCACJA,mCACAA,2CACIA,iEACJA,mCACAA,2CACIA,8DACJA,mCACJA,+BACJA,2BACJA,uBACAA,i5EDhEasI,CAAoB,KDc7BK,SAAU,CACR,CACEP,KAAM,OACNQ,UAAW,OACXP,UAAWpB,EACX4B,MAAO,yBAET,CACET,KAAM,SACNQ,UAAW,OACXE,aAAc,IAAMC,8BAAkCC,KAAKC,GAAKA,EAAEC,eAEpE,CACEd,KAAM,YACNQ,UAAW,OACXP,UAAWZ,EACXoB,MAAO,2BAET,CACET,KAAM,6BACNQ,UAAW,OACXP,UAAWX,EACXmB,MAAO,8BAET,CACET,KAAM,2BACNU,aAAc,IAAMK,sDAA0CH,KAAKC,GAAKA,EAAEG,mBAE5E,CACEhB,KAAM,iBACNQ,UAAW,OACXP,UG9C0B,MAA5B,MAAOgB,EAKXxJ,cACE,MAAMuI,EAAOkB,SAASC,SAChBC,EAASpB,EAAKqB,UAAUrB,EAAKsB,YAAY,KAAO,GAAGlH,cAEzD,OAAQgH,GACN,IAAK,YACH1J,KAAK6J,OAAS,aACd7J,KAAK8J,KAAO,+FACZ,MAEF,IAAK,cACH9J,KAAK6J,OAAS,cACd7J,KAAK8J,KAAO,kEACZ,MAEF,IAAK,WACH9J,KAAK6J,OAAS,cACd7J,KAAK8J,KAAO,sIACZ,MAEF,IAAK,UACH9J,KAAK6J,OAAS,iCACd7J,KAAK8J,KAAO,iFACZ,MAEF,IAAK,aACH9J,KAAK6J,OAAS,sBACd7J,KAAK8J,KAAO,yIACZ,MAEF,IAAK,YACH9J,KAAK6J,OAAS,kCACd7J,KAAK8J,KAAO,6GACZ,MAEF,QACE,MAAM,IAAIC,MAAM,mCAAmCL,KAEzD,EA3CWH,SAAqB,oCAArBA,EAAqB,EAArBA,EAAqB,sBAArBA,EAAqBtJ,2ICRlCC,iBACEA,iCACEA,gCAAIA,SAAYA,QAChBA,iCAAKA,SAAUA,QACjBA,wBACFA,uBACAA,sBAJQA,yBACCA,yiBDKIqJ,CAAqB,KH+C1BR,MAAO,iCAET,CACET,KAAM,YACNQ,UAAW,OACXP,UAAWhB,GACXwB,MAAO,4BAET,CACET,KAAM,SACN0B,YAAa,CAACC,MACdjB,aAAc,IAAMK,gFAAgDH,KAAMC,GAAMA,EAAEe,qBAEpF,CACE5B,KAAM,gBACN0B,YAAa,CAACC,MACdjB,aAAc,IAAMK,iFAAgEH,KAAMC,GAAMA,EAAEgB,4BAEpG,CACE7B,KAAM,KACN8B,WAAY,WAUb,IAAMC,GAAmB,MAA1B,MAAOA,YAAmB,oCAAnBA,EAAmB,EAAnBA,EAAmB,sBAAnBA,MAAmB,0BAHpBC,cAAsBjC,IACtBiC,QAECD,CAAmB,KKQnBE,GAAY,MAAnB,MAAOA,YAAY,oCAAZA,EAAY,EAAZA,EAAY,sBAAZA,MAAY,2BAJZ,CAACC,KACV,CAAEC,QAASC,KAAgCC,SAAU,CAAEC,WAAY,aACpEC,SAnBCC,KACAT,GACAU,KACAC,KACAC,KACAC,KACAC,KACAC,IACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,QAMSrB,CAAY,wGCxFlB,IAAMsB,EAAc,MAArB,MAAOA,EACX9L,YAAoB+L,cAAmB,CAEvC9K,OAAO+K,GACL,OAAO/L,KAAK8L,KAAKE,KAAWC,cAA2B,IAAKF,GAC9D,EALWF,SAAc,oCAAdA,GAAc1K,cAAd0K,EAAc,wBAAdA,EAAcK,QAAdL,EAAc,YAAdA,CAAc,KCEdrB,EAAmB,MAA1B,MAAOA,EACXzK,YAAoB+L,cAAoB,CAExC3H,WAAWgI,EAAiBxH,EAAmB/C,GAC7C,OAAO5B,KAAK8L,KAAKM,IAAmB,GAAGH,kCAA8CE,eAAqBxH,wBAAgC/C,IAC5I,CAEAmD,SAASF,EAAgBpE,GACvB,OAAOT,KAAK8L,KAAKE,KAAW,GAAGC,2BAAuCpH,WAAgBpE,IAAS,KACjG,EATW+J,SAAmB,oCAAnBA,GAAmBrJ,cAAnBqJ,EAAmB,wBAAnBA,EAAmB0B,QAAnB1B,EAAmB,YAAnBA,CAAmB,8DCFzB,IAAM6B,EAAgB,MAAvB,MAAOA,EACXC,YACE,SAAOC,MACH,CACI,CACEtI,GAAM,QACNuI,UAAa,MAEf,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,MAEjB,CACIvI,GAAM,QACNuI,UAAa,OAI3B,CAEAC,eACE,SAAOF,MAAG,CACR,CACIzK,QAAS,cACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,iBACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,sBACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,yBACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,gBACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,iCACT4K,QAAS,MAEb,CACI5K,QAAS,oBACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,eACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,iBACT4K,QAAS,MAEb,CACI5K,QAAS,2BACT4K,QAAS,MAEb,CACI5K,QAAS,OACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,mBACT4K,QAAS,MAEb,CACI5K,QAAS,0BACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,wCACT4K,QAAS,MAEb,CACI5K,QAAS,eACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,gBACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,OACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,iBACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,qBACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,cACT4K,QAAS,MAEb,CACI5K,QAAS,oBACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,8BACT4K,QAAS,MAEb,CACI5K,QAAS,gBACT4K,QAAS,MAEb,CACI5K,QAAS,OACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,gBACT4K,QAAS,MAEb,CACI5K,QAAS,mBACT4K,QAAS,MAEb,CACI5K,QAAS,8BACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,OACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,gBACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,oCACT4K,QAAS,MAEb,CACI5K,QAAS,gCACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,4BACT4K,QAAS,MAEb,CACI5K,QAAS,OACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,yCACT4K,QAAS,MAEb,CACI5K,QAAS,qBACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,mCACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,yBACT4K,QAAS,MAEb,CACI5K,QAAS,gBACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,6CACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,OACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,mBACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,kCACT4K,QAAS,MAEb,CACI5K,QAAS,uBACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,cACT4K,QAAS,MAEb,CACI5K,QAAS,uBACT4K,QAAS,MAEb,CACI5K,QAAS,gBACT4K,QAAS,MAEb,CACI5K,QAAS,cACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,OACT4K,QAAS,MAEb,CACI5K,QAAS,iBACT4K,QAAS,MAEb,CACI5K,QAAS,2BACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,OACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,kCACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,mBACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,OACT4K,QAAS,MAEb,CACI5K,QAAS,cACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,cACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,qBACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,eACT4K,QAAS,MAEb,CACI5K,QAAS,wBACT4K,QAAS,MAEb,CACI5K,QAAS,cACT4K,QAAS,MAEb,CACI5K,QAAS,4BACT4K,QAAS,MAEb,CACI5K,QAAS,mCACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,wBACT4K,QAAS,MAEb,CACI5K,QAAS,eACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,eACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,kBACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,eACT4K,QAAS,MAEb,CACI5K,QAAS,+CACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,yBACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,cACT4K,QAAS,MAEb,CACI5K,QAAS,uBACT4K,QAAS,MAEb,CACI5K,QAAS,4BACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,+BACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,MAEb,CACI5K,QAAS,OACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,sBACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,eACT4K,QAAS,MAEb,CACI5K,QAAS,2BACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,uBACT4K,QAAS,MAEb,CACI5K,QAAS,iBACT4K,QAAS,MAEb,CACI5K,QAAS,gBACT4K,QAAS,MAEb,CACI5K,QAAS,uCACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,aACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,YACT4K,QAAS,MAEb,CACI5K,QAAS,UACT4K,QAAS,MAEb,CACI5K,QAAS,0BACT4K,QAAS,MAEb,CACI5K,QAAS,uBACT4K,QAAS,MAEb,CACI5K,QAAS,oBACT4K,QAAS,MAEb,CACI5K,QAAS,iBACT4K,QAAS,MAEb,CACI5K,QAAS,QACT4K,QAAS,MAEb,CACI5K,QAAS,SACT4K,QAAS,MAEb,CACI5K,QAAS,WACT4K,QAAS,OAGjB,EAvpCWL,SAAgB,oCAAhBA,EAAgB,EAAhBA,EAAgB,wBAAhBA,EAAgBH,QAAhBG,EAAgB,YAAhBA,CAAgB,sRCmB7B,6DA0DwGnM,cAAE,WAAFA,MAAE,mBAAFA,MAAEyM,WAAFzM,QAAE,OAAFA,MAmvBqS0M,uBAAoB,GAnvBzT1M,OAAE,CAmvB8Y,gBAnvBhZA,cAAE,2CAmvBuY,uBAnvBzYA,MAAE,wBAAFA,MAAE,KAAFA,QAmvB8lB,sIAnvB9lBA,cAAE,WAAFA,MAAE,mBAAFA,MAAEyM,WAAFzM,QAAE,OAAFA,MA44BiN0M,uBAAoB,GA54BrO1M,OAAE,CA44B0T,gBA54B5TA,cAAE,2CA44BmT,wBA54BrTA,MAAE,yBAAFA,MAAE,KAAFA,QA44B8gB,yGAl8BhnB2M,EAAsB,CAExBC,iBAAiBC,QAAQ,YAAa,EAKlCC,QAAM,sBAAsBnH,QAAM,CAC9BC,UAAa,OACbmH,WAAc,cAElBD,QAAM,QAAQnH,QAAM,CAEhB,aAAc,OACdoH,WAAc,aAElBC,QAAW,wBAAwBC,QAAQ,SAC3CD,QAAW,uCAAuCC,QAAQ,8CAY5DC,GAA8B,IAAIC,MAAe,8BAA+B,CAClFC,WAAY,OACZpB,QAQJ,SAASqB,KACL,OAAO,CACX,IAJMC,EAAuB,IAAIH,MAAe,wBAI/C,IACKI,EAAgB,MAAtB,MAAMA,UAAyBC,KAC3B3N,YAAY4N,EAAoBC,EAAYC,EAAYC,EAAkBC,GACtEC,MAAMH,EAAYC,EAAkBC,GACpC/N,KAAK2N,mBAAqBA,EAC1B3N,KAAK4N,WAAaA,CACtB,CACAK,qBACIjO,KAAK4N,WAAWM,sBAAsB7J,UAAU,KAC5CrE,KAAK2N,mBAAmBpH,cAAY,EAE5C,EAEJkH,SAAiBU,UAAI,0BAA6FV,GAAVvN,MAA4CA,OAA5CA,SAA6EkO,OAAW,IAAMC,IAA9FnO,MAA8HA,OAA9HA,MAAwJoO,MAAxJpO,MAAwLA,OAAS,EACzSuN,EAAiBc,UADuFrO,MAAE,MACJuN,EAAgBxN,iHADdC,MAAE,qDAAFA,CAAE,mEAAFA,MACmP,CACnV,CACIuK,QAASiD,KACTc,YAAaf,KAJ+EvN,OAAEuO,iEAAFvO,cAAE,GAM1B,sCAlB1EuN,CAAgB,KA6ChBiB,EAAS,MAAf,MAAMA,EAEEC,eACA,OAAO3O,KAAK4O,SAChB,CACID,aAASzN,IAETA,EAAkB,QAAVA,EAAkB,MAAQ,WACpBlB,KAAK4O,YAEX5O,KAAK6O,aACL7O,KAAK8O,wBAAwB5N,GAEjClB,KAAK4O,UAAY1N,EACjBlB,KAAK+O,kBAAkB7H,OAE/B,CAEI8H,WACA,OAAOhP,KAAKiP,KAChB,CACID,SAAK9N,GACLlB,KAAKiP,MAAQ/N,EACblB,KAAKkP,wBACLlP,KAAKmP,aAAaC,MACtB,CAEIC,mBACA,OAAOrP,KAAKsP,aAChB,CACID,iBAAanO,GACblB,KAAKsP,iBAAgBC,MAAsBrO,EAC/C,CAQIsO,gBAKA,OAJcxP,KAAKyP,aAKG,SAAdzP,KAAKgP,KACE,SAGA,iBAInB,CACIQ,cAAUtO,IACI,SAAVA,GAA8B,UAAVA,GAA8B,MAATA,KACzCA,KAAQqO,MAAsBrO,IAElClB,KAAKyP,WAAavO,CACtB,CAKIwO,aACA,OAAO1P,KAAK2P,OAChB,CACID,WAAOxO,GACPlB,KAAK4P,UAAOL,MAAsBrO,GACtC,CACAnB,YAAY8P,EAAaC,EAAmBC,EAAeC,EAAWC,EAASC,EAAuBC,EAAMvC,IACxG5N,KAAK6P,YAAcA,EACnB7P,KAAK8P,kBAAoBA,EACzB9P,KAAK+P,cAAgBA,EACrB/P,KAAKgQ,UAAYA,EACjBhQ,KAAKiQ,QAAUA,EACfjQ,KAAKkQ,sBAAwBA,EAC7BlQ,KAAKmQ,KAAOA,EACZnQ,KAAK4N,WAAaA,GAClB5N,KAAKoQ,qCAAuC,KAE5CpQ,KAAKqQ,mBAAoB,EACzBrQ,KAAK4O,UAAY,QACjB5O,KAAKiP,MAAQ,OACbjP,KAAKsP,eAAgB,EACrBtP,KAAK2P,SAAU,EAEf3P,KAAKsQ,kBAAoB,IAAIC,IAE7BvQ,KAAKwQ,cAAgB,IAAID,IAEzBvQ,KAAKyQ,gBAAkB,OAEvBzQ,KAAK0Q,aAEL,IAAI3J,OAA2B,GAE/B/G,KAAK2Q,cAAgB3Q,KAAK0Q,aAAarO,QAAKG,KAAOoO,GAAKA,IAAC,EAAGrO,KAAI,SAEhEvC,KAAK6Q,YAAc7Q,KAAKsQ,kBAAkBjO,QAAKG,KAAOC,GAAKA,EAAEqO,YAAcrO,EAAEsO,SAAyC,IAA9BtO,EAAEsO,QAAQC,QAAQ,UAAa,EAAGC,UAAMC,IAEhIlR,KAAKmR,cAAgBnR,KAAK0Q,aAAarO,QAAKG,KAAOoO,IAAMA,IAAC,EAAGrO,KAAI,SAEjEvC,KAAKoR,YAAcpR,KAAKsQ,kBAAkBjO,QAAKG,KAAOC,GAAKA,EAAEqO,YAAcrO,EAAEsO,SAAyB,SAAdtO,EAAEsO,UAAkB,EAAGE,UAAMC,IAErHlR,KAAKqR,WAAa,IAAId,IAGtBvQ,KAAK+O,kBAAoB,IAAIhI,MAK7B/G,KAAKmP,aAAe,IAAIoB,IACxBvQ,KAAK0Q,aAAarM,UAAWqL,IACrBA,GACI1P,KAAKmQ,OACLnQ,KAAKoQ,qCAAuCpQ,KAAKmQ,KAAKmB,eAE1DtR,KAAKuR,cAEAvR,KAAKwR,wBACVxR,KAAKyR,cAAczR,KAAK0R,YAAc,UAAS,GAQvD1R,KAAKiQ,QAAQ0B,kBAAkB,MAC3BC,OAAU5R,KAAK6P,YAAYrK,cAAe,WACrCnD,QAAKG,KAAO5B,GACNA,EAAMiR,UAAYC,OAAW9R,KAAKqP,gBAAgB,EAAC0C,MAAenR,KAC5E,EAAGoR,KAAUhS,KAAKqR,aACdhN,UAAUzD,GAASZ,KAAKiQ,QAAQgC,IAAI,KACrCjS,KAAKiB,QACLL,EAAMC,kBACND,EAAMsR,gBAAc,GACtB,GAINlS,KAAKwQ,cACAnO,QAAK8P,KAAqB,CAACC,EAAGC,IACxBD,EAAEtB,YAAcuB,EAAEvB,WAAasB,EAAErB,UAAYsB,EAAEtB,UAErD1M,UAAWzD,IACZ,MAAQkQ,YAAWC,YAAYnQ,GACE,IAA5BmQ,GAAQC,QAAQ,SAA+B,SAAdF,GACrB,SAAZC,IAAoD,IAA9BD,EAAUE,QAAQ,UACzChR,KAAK0Q,aAAaxJ,KAAKlH,KAAK2P,QAAO,EAG/C,CAMA2C,YAAYC,EAASC,GACZxS,KAAKkQ,sBAAsBuC,YAAYF,KACxCA,EAAQG,UAAW,EAEnB1S,KAAKiQ,QAAQ0B,kBAAkB,KAC3B,MAAMgB,EAAW,KACbJ,EAAQK,oBAAoB,OAAQD,GACpCJ,EAAQK,oBAAoB,YAAaD,GACzCJ,EAAQM,gBAAgB,WAAU,EAEtCN,EAAQjM,iBAAiB,OAAQqM,GACjCJ,EAAQjM,iBAAiB,YAAaqM,EAAQ,IAGtDJ,EAAQO,MAAMN,EAClB,CAKAO,oBAAoBC,EAAUR,GAC1B,IAAIS,EAAiBjT,KAAK6P,YAAYrK,cAAcW,cAAc6M,GAC9DC,GACAjT,KAAKsS,YAAYW,EAAgBT,EAEzC,CAKAjB,aACI,IAAKvR,KAAKkT,WACN,OAEJ,MAAMX,EAAUvS,KAAK6P,YAAYrK,cAIjC,OAAQxF,KAAKwP,WACT,KAAK,EACL,IAAK,SACD,OACJ,KAAK,EACL,IAAK,iBACDxP,KAAKkT,WAAWC,+BAA+BjK,KAAKkK,KAC3CA,GAAiE,mBAAzCpT,KAAK6P,YAAYrK,cAAcsN,OACxDP,EAAQO,OAAK,GAGrB,MACJ,IAAK,gBACD9S,KAAK+S,oBAAoB,4CACzB,MACJ,QACI/S,KAAK+S,oBAAoB/S,KAAKwP,WAG1C,CAKAiC,cAAc4B,GACa,WAAnBrT,KAAKwP,YAGLxP,KAAKoQ,qCACLpQ,KAAK+P,cAAcuD,SAAStT,KAAKoQ,qCAAsCiD,GAGvErT,KAAK6P,YAAYrK,cAAc+N,OAEnCvT,KAAKoQ,qCAAuC,KAChD,CAEAoB,uBACI,MAAMgC,EAAWxT,KAAKmQ,KAAKmB,cAC3B,QAASkC,GAAYxT,KAAK6P,YAAYrK,cAAciO,SAASD,EACjE,CACAE,kBACI1T,KAAK6O,aAAc,EACnB7O,KAAKkT,WAAalT,KAAK8P,kBAAkB6D,OAAO3T,KAAK6P,YAAYrK,eACjExF,KAAKkP,wBAGkB,QAAnBlP,KAAK4O,WACL5O,KAAK8O,wBAAwB,MAErC,CACA8E,wBAKQ5T,KAAKgQ,UAAU6D,YACf7T,KAAKqQ,mBAAoB,EAEjC,CACAzJ,cACQ5G,KAAKkT,YACLlT,KAAKkT,WAAWY,UAEpB9T,KAAK+T,SAASC,SACdhU,KAAK+T,QAAU,KACf/T,KAAKsQ,kBAAkB2D,WACvBjU,KAAKwQ,cAAcyD,WACnBjU,KAAKmP,aAAa8E,WAClBjU,KAAKqR,WAAWjC,OAChBpP,KAAKqR,WAAW4C,UACpB,CAMAnQ,KAAKoQ,GACD,OAAOlU,KAAK4P,QAAO,EAAMsE,EAC7B,CAEAjT,QACI,OAAOjB,KAAK4P,QAAO,EACvB,CAEAuE,yBAII,OAAOnU,KAAKoU,UAAsB,GAA0B,EAAM,QACtE,CAOAxE,OAAOyE,GAAUrU,KAAK0P,OAAQwE,GAGtBG,GAAUH,IACVlU,KAAK0R,WAAawC,GAEtB,MAAMI,EAAStU,KAAKoU,SAASC,GACTA,GAAUrU,KAAKwR,uBAAwBxR,KAAK0R,YAAc,WAC9E,OAAK2C,IACDrU,KAAK0R,WAAa,MAEf4C,CACX,CAOAF,SAASC,EAAQE,EAAclB,GAC3B,YAAK1D,QAAU0E,EACXA,EACArU,KAAKyQ,gBAAkBzQ,KAAKqQ,kBAAoB,OAAS,gBAGzDrQ,KAAKyQ,gBAAkB,OACnB8D,GACAvU,KAAKyR,cAAc4B,IAG3BrT,KAAKkP,wBACE,IAAI7F,QAAQmL,IACfxU,KAAK0Q,aAAarO,QAAK+B,KAAK,IAAIC,UAAUP,GAAQ0Q,EAAQ1Q,EAAO,OAAS,SAAQ,EAE1F,CACA2Q,YACI,OAAOzU,KAAK6P,YAAYrK,eAAgBxF,KAAK6P,YAAYrK,cAAckP,aAAe,CAC1F,CAEAxF,wBACQlP,KAAKkT,aAELlT,KAAKkT,WAAWyB,QAAU3U,KAAK0P,QAAwB,SAAd1P,KAAKgP,KAEtD,CAOAF,wBAAwB8F,GACpB,MAAMrC,EAAUvS,KAAK6P,YAAYrK,cAC3BqP,EAAStC,EAAQuC,WACH,QAAhBF,GACK5U,KAAK+T,UACN/T,KAAK+T,QAAU/T,KAAKmQ,KAAK4E,cAAc,qBACvCF,EAAOG,aAAahV,KAAK+T,QAASxB,IAEtCsC,EAAOI,YAAY1C,IAEdvS,KAAK+T,SACV/T,KAAK+T,QAAQe,WAAWE,aAAazC,EAASvS,KAAK+T,QAE3D,EAEJrF,SAAUP,UAAI,0BAA6FO,GA3YHxO,MA2Y8BA,OA3Y9BA,MA2YwDgV,MA3YxDhV,MA2YwFgV,MA3YxFhV,MA2YoHiV,MA3YpHjV,MA2Y4IA,OA3Y5IA,MA2YkKgV,MA3YlKhV,MA2YsMkV,KAAQ,GA3Y9MlV,MA2Y2OsN,EAAoB,KACvWkB,EAAUH,UA5Y8FrO,MAAE,MA4YXwO,EAASzO,mDA5YE,GA4YF,KA5YAC,KAAEmV,gBAAFnV,MAAEoV,EAAFpV,WAAEkB,4CA4Y6W,KAAI,4DA5YnXlB,MAAE,sCA4YXkB,2BAA8B,EA5YrBlB,CA4YqB,qCAA9BkB,uBAA0B,SA5YjBlB,MAAE,cAAFA,MAAE,gCAAFA,MAAE,oCAAFA,CAAE,kCAAFA,CAAE,kCAAFA,CAAE,kCAAFA,CAAE,2dAAFA,cAAE,aAAFA,MAAE,GAAFA,QA4YojC,gBAAiDoO,MAAgBiH,gCAAgE,CAAC1I,EAAoBC,kBAAgB0I,oBA3W5zC9G,CAAS,KAyaTL,EAAkB,MAAxB,MAAMA,EAEEoH,YACA,OAAOzV,KAAK0V,MAChB,CAEIC,UACA,OAAO3V,KAAK4V,IAChB,CASIC,eACA,OAAO7V,KAAK8V,SAChB,CACID,aAAS3U,GACTlB,KAAK8V,aAAYvG,MAAsBrO,EAC3C,CAMI6U,kBACA,OAA8B,MAA1B/V,KAAKgW,mBACGhW,KAAK0V,QAA+B,SAArB1V,KAAK0V,OAAO1G,OAAoBhP,KAAK4V,MAA2B,SAAnB5V,KAAK4V,KAAK5G,KAE3EhP,KAAKgW,iBAChB,CACID,gBAAY7U,GACZlB,KAAKgW,kBAA6B,MAAT9U,EAAgB,QAAOqO,MAAsBrO,EAC1E,CAEI+U,iBACA,OAAOjW,KAAKkW,cAAgBlW,KAAKmW,QACrC,CACApW,YAAYqW,EAAMC,EAAUpG,EAAStC,EAAoB2I,EAAeC,GAAkB,EAAOC,GAC7FxW,KAAKoW,KAAOA,EACZpW,KAAKqW,SAAWA,EAChBrW,KAAKiQ,QAAUA,EACfjQ,KAAK2N,mBAAqBA,EAC1B3N,KAAKwW,eAAiBA,EAEtBxW,KAAKyW,SAAW,IAAIC,MAEpB1W,KAAK2W,cAAgB,IAAI5P,MAEzB/G,KAAKqR,WAAa,IAAId,IAEtBvQ,KAAK4W,gBAAkB,IAAIrG,IAM3BvQ,KAAK6W,gBAAkB,CAAEC,KAAM,KAAMC,MAAO,MAC5C/W,KAAKkO,sBAAwB,IAAIqC,IAG7B6F,GACAA,EAAKY,OAAO3U,QAAK2P,KAAUhS,KAAKqR,aAAahN,UAAU,KACnDrE,KAAKiX,mBACLjX,KAAKkX,sBAAoB,GAKjCZ,EACKU,SACA3U,QAAK2P,KAAUhS,KAAKqR,aACpBhN,UAAU,IAAMrE,KAAKkX,wBAC1BlX,KAAK8V,UAAYS,CACrB,CACAtI,qBACIjO,KAAKmX,YAAYC,QACZ/U,QAAKC,KAAUtC,KAAKmX,cAAW,EAAGnF,KAAUhS,KAAKqR,aACjDhN,UAAWgT,IACZrX,KAAKyW,SAASzR,MAAMqS,EAAO7U,OAAO8U,IAASA,EAAK1J,YAAc0J,EAAK1J,aAAe5N,OAClFA,KAAKyW,SAASc,iBAAe,GAEjCvX,KAAKyW,SAASW,QAAQ/U,QAAKC,KAAU,OAAO+B,UAAU,KAClDrE,KAAKiX,mBACLjX,KAAKyW,SAAS/Q,QAAS2R,IACnBrX,KAAKwX,mBAAmBH,GACxBrX,KAAKyX,qBAAqBJ,GAC1BrX,KAAK0X,iBAAiBL,EAAM,KAE3BrX,KAAKyW,SAASxQ,QACfjG,KAAK2X,cAAc3X,KAAK0V,SACxB1V,KAAK2X,cAAc3X,KAAK4V,QACxB5V,KAAKkX,uBAETlX,KAAK2N,mBAAmBpH,cAAY,GAGxCvG,KAAKiQ,QAAQ0B,kBAAkB,KAC3B3R,KAAK4W,gBACAvU,QAAKuV,KAAa,KAAE,EACzB5F,KAAUhS,KAAKqR,aACVhN,UAAU,IAAMrE,KAAKkX,uBAAsB,EAExD,CACAtQ,cACI5G,KAAKkO,sBAAsB+F,WAC3BjU,KAAK4W,gBAAgB3C,WACrBjU,KAAKyW,SAAS3C,UACd9T,KAAKqR,WAAWjC,OAChBpP,KAAKqR,WAAW4C,UACpB,CAEAnQ,OACI9D,KAAKyW,SAAS/Q,QAAQ2R,GAAUA,EAAOvT,OAC3C,CAEA7C,QACIjB,KAAKyW,SAAS/Q,QAAQ2R,GAAUA,EAAOpW,QAC3C,CAKAiW,uBAOI,IAAIJ,EAAO,EACPC,EAAQ,EACZ,GAAI/W,KAAK6X,OAAS7X,KAAK6X,MAAMnI,OACzB,GAAuB,QAAnB1P,KAAK6X,MAAM7I,KACX8H,GAAQ9W,KAAK6X,MAAMpD,iBAAS,GAEJ,QAAnBzU,KAAK6X,MAAM7I,KAAgB,CAChC,MAAM8I,EAAQ9X,KAAK6X,MAAMpD,YACzBqC,GAAQgB,EACRf,GAASe,EAGjB,GAAI9X,KAAK+X,QAAU/X,KAAK+X,OAAOrI,OAC3B,GAAwB,QAApB1P,KAAK+X,OAAO/I,KACZ+H,GAAS/W,KAAK+X,OAAOtD,iBAAS,GAEL,QAApBzU,KAAK+X,OAAO/I,KAAgB,CACjC,MAAM8I,EAAQ9X,KAAK+X,OAAOtD,YAC1BsC,GAASe,EACThB,GAAQgB,EAOhBhB,EAAOA,GAAQ,KACfC,EAAQA,GAAS,MACbD,IAAS9W,KAAK6W,gBAAgBC,MAAQC,IAAU/W,KAAK6W,gBAAgBE,SACrE/W,KAAK6W,gBAAkB,CAAEC,OAAMC,SAG/B/W,KAAKiQ,QAAQgC,IAAI,IAAMjS,KAAKkO,sBAAsBkB,KAAKpP,KAAK6W,kBAEpE,CACAmB,YAEQhY,KAAK8V,WAAa9V,KAAKiY,aAEvBjY,KAAKiQ,QAAQ0B,kBAAkB,IAAM3R,KAAK4W,gBAAgBxH,OAElE,CAMAoI,mBAAmBH,GACfA,EAAO/G,kBACFjO,QAAKG,KAAQ5B,GAAUA,EAAMkQ,YAAclQ,EAAMmQ,UAAO,EAAGiB,KAAUhS,KAAKyW,SAASW,UACnF/S,UAAWzD,IAGU,iBAAlBA,EAAMmQ,SAAsD,mBAAxB/Q,KAAKwW,gBACzCxW,KAAKqW,SAAS7Q,cAAc0S,UAAUC,IAAI,yBAE9CnY,KAAKkX,uBACLlX,KAAK2N,mBAAmBpH,cAAY,GAEpB,SAAhB8Q,EAAOrI,MACPqI,EAAO3G,aACFrO,QAAK2P,KAAUhS,KAAKyW,SAASW,UAC7B/S,UAAU,IAAMrE,KAAKoY,mBAAmBf,EAAO3H,QAE5D,CAKA+H,qBAAqBJ,GACZA,GAKLA,EAAOtI,kBAAkB1M,QAAK2P,KAAUhS,KAAKyW,SAASW,UAAU/S,UAAU,KACtErE,KAAKiQ,QAAQoI,iBAAiBhW,QAAK+B,KAAK,IAAIC,UAAU,KAClDrE,KAAKiX,kBAAgB,EACxB,EAET,CAEAS,iBAAiBL,GACTA,GACAA,EAAOlI,aACF9M,QAAK2P,QAAUsG,KAAMtY,KAAKyW,SAASW,QAASpX,KAAKqR,cACjDhN,UAAU,KACXrE,KAAKkX,uBACLlX,KAAK2N,mBAAmBpH,cAAY,EAGhD,CAEA6R,mBAAmBG,GACf,MAAML,EAAYlY,KAAKqW,SAAS7Q,cAAc0S,UACxCM,EAAY,gCACdD,EACAL,EAAUC,IAAIK,GAGdN,EAAUlE,OAAOwE,EAEzB,CAEAvB,mBACIjX,KAAK0V,OAAS1V,KAAK4V,KAAO,KAE1B5V,KAAKyW,SAAS/Q,QAAQ2R,IACK,OAAnBA,EAAO1I,SAIP3O,KAAK4V,KAAOyB,EAMZrX,KAAK0V,OAAS2B,IAGtBrX,KAAK+X,OAAS/X,KAAK6X,MAAQ,KAEvB7X,KAAKoW,MAA4B,QAApBpW,KAAKoW,KAAKlV,OACvBlB,KAAK6X,MAAQ7X,KAAK4V,KAClB5V,KAAK+X,OAAS/X,KAAK0V,SAGnB1V,KAAK6X,MAAQ7X,KAAK0V,OAClB1V,KAAK+X,OAAS/X,KAAK4V,KAE3B,CAEAqC,YACI,OAASjY,KAAK2X,cAAc3X,KAAK0V,SAA+B,QAApB1V,KAAK0V,OAAO1G,MACnDhP,KAAK2X,cAAc3X,KAAK4V,OAA2B,QAAlB5V,KAAK4V,KAAK5G,IACpD,CACAyJ,qBACIzY,KAAK2W,cAAczP,OACnBlH,KAAK0Y,+BACT,CACAA,gCAEI,CAAC1Y,KAAK0V,OAAQ1V,KAAK4V,MACdpT,OAAO6U,GAAUA,IAAWA,EAAOhI,cAAgBrP,KAAK2Y,iBAAiBtB,IACzE3R,QAAQ2R,GAAUA,EAAOlD,yBAClC,CACAyE,qBACI,OAAS5Y,KAAK2X,cAAc3X,KAAK0V,SAAW1V,KAAK2Y,iBAAiB3Y,KAAK0V,SAClE1V,KAAK2X,cAAc3X,KAAK4V,OAAS5V,KAAK2Y,iBAAiB3Y,KAAK4V,KACrE,CACA+C,iBAAiBtB,GACb,MAAuB,SAAhBA,EAAOrI,QAAqBhP,KAAKgW,iBAC5C,CACA2B,cAAcN,GACV,OAAiB,MAAVA,GAAkBA,EAAO3H,MACpC,EAEJrB,SAAmBF,UAAI,0BAA6FE,GA7uBZnO,MA6uBgD2Y,KAAiB,GA7uBjE3Y,MA6uB8FA,OA7uB9FA,MA6uBwHA,OA7uBxHA,MA6uB8IA,OA7uB9IA,MA6uB+KoO,MA7uB/KpO,MA6uB4MkN,IA7uB5MlN,MA6uBoP4Y,MAAqB,KACjXzK,EAAmBE,UA9uBqFrO,MAAE,MA8uBFmO,EAAkBpO,oEAKqC,GALrC,MA9uBlBC,MAAE6Y,EAmvBrCtL,EAAgB,GAnvBmBvN,MAAE6Y,EAmvB4CrK,EAAS,eAnvBvDxO,MAAEoV,EAAFpV,WAAEkB,oBAAFlB,MAAEoV,EAAFpV,WAAEkB,2CAmvBmK,GAnvBnK,KAAFlB,KAmvBqJuN,EAAgB,cAnvBrKvN,MAAEoV,EAAFpV,WAAEkB,0GAAFlB,MAAE,wMAAFA,MA8uBmT,CACnZ,CACIuK,QAAS+C,EACTgB,YAAaH,MAEpBI,gMAnvBmGvO,MAAE8Y,IAAF9Y,MAAE,kBAAFA,MAAE,GAAFA,MAAE,KAAFA,MAAE,iCAmvB4lB,MAnvB9lBA,MAAE,sBAAFA,MAAE,GAAFA,MAAE,oBAmvBqiB,gBAAqzE+Y,KAAoGxL,GAAgByL,+uEAzSljG7K,CAAkB,KA2VlB8K,EAAiB,MAAvB,MAAMA,UAA0B1L,EAC5B1N,YAAYqZ,EAAmBC,EAAWxL,EAAYC,EAAkBC,GACpEC,MAAMoL,EAAmBC,EAAWxL,EAAYC,EAAkBC,EACtE,EAEJoL,SAAkBhL,UAAI,0BAA6FgL,GA1yBXjZ,MA0yB8CA,OA1yB9CA,SA0yB+EkO,OAAW,IAAMkL,KA1yBhGpZ,MA0yBiIA,OA1yBjIA,MA0yB2JoO,MA1yB3JpO,MA0yB2LA,OAAS,EAC5SiZ,EAAkB5K,UA3yBsFrO,MAAE,MA2yBHiZ,EAAiBlZ,wIA3yBhBC,MAAE,qDAAFA,CAAE,mEAAFA,MA2yB0Q,CAC1W,CACIuK,QAASiD,KACTc,YAAa2K,KA9yB+EjZ,OAAEuO,iEAAFvO,cAAE,GAgzB1B,sCAX1EiZ,CAAiB,KAmCjBI,GAAU,MAAhB,MAAMA,UAAmB7K,EACrB3O,cACIiO,SAASwL,WACTxZ,KAAKyZ,kBAAmB,EACxBzZ,KAAK0Z,aAAe,EACpB1Z,KAAK2Z,gBAAkB,CAC3B,CAEIC,sBACA,OAAO5Z,KAAKyZ,gBAChB,CACIG,oBAAgB1Y,GAChBlB,KAAKyZ,oBAAmBlK,MAAsBrO,EAClD,CAKI2Y,kBACA,OAAO7Z,KAAK0Z,YAChB,CACIG,gBAAY3Y,GACZlB,KAAK0Z,gBAAeI,MAAqB5Y,EAC7C,CAKI6Y,qBACA,OAAO/Z,KAAK2Z,eAChB,CACII,mBAAe7Y,GACflB,KAAK2Z,mBAAkBG,MAAqB5Y,EAChD,EAEJqY,SAAWpL,UAAI,iDA32ByFjO,MA22BIqZ,KAAUS,GAAVT,EAAU,EAAvG,GACfA,EAAWhL,UA52B6FrO,MAAE,MA42BVqZ,EAAUtZ,kDAA2K,KAAI,2EA52BjLC,MAAE,cAAFA,MAAE,gDAAFA,CAAE,uDAAFA,MAAE,oCAAFA,CAAE,kCAAFA,CAAE,kCAAFA,CAAE,kCAAFA,CAAE,6BAAFA,CAAE,gLAAFA,OAAEuO,6IAAFvO,cAAE,aAAFA,MAAE,GAAFA,QA42B8zB,gBAAiDoO,MAAgBiH,gCAAgE,CAAC1I,EAAoBC,kBAAgB0I,oBApCtkC+D,CAAU,KA4DVD,GAAmB,MAAzB,MAAMA,UAA4BjL,GAElCiL,SAAoBnL,UAAI,iDAt4BgFjO,MAs4BaoZ,KAAmBU,GAAnBV,EAAmB,EAAhH,GACxBA,EAAoB/K,UAv4BoFrO,MAAE,MAu4BDoZ,EAAmBrZ,qEAKqC,GALrC,MAv4BpBC,MAAE6Y,EA44BrCI,EAAiB,GA54BkBjZ,MAAE6Y,EA44B6CQ,GAAU,eA54BzDrZ,MAAEoV,EAAFpV,WAAEkB,oBAAFlB,MAAEoV,EAAFpV,WAAEkB,2HAAFlB,MAAE,0GAAFA,MAu4BiO,CACjU,CACIuK,QAAS+C,EACTgB,YAAa8K,KA14B+EpZ,OAAEuO,gMAAFvO,MAAE+Z,IAAF/Z,MAAE,kBAAFA,MAAE,GAAFA,MAAE,KAAFA,MAAE,mCA44B4gB,MA54B9gBA,MAAE,sBAAFA,MAAE,GAAFA,MAAE,oBA44Bod,gBAAszE+Y,KAAoGE,GAAiBD,QAAn3E,msEAAm3E3D,oCARn+F+D,CAAmB,KAuCnBrO,GAAgB,MAAtB,MAAMA,GAENA,SAAiBkD,UAAI,0BAA6FlD,EAAgB,EAClIA,EAAiBiP,UA96BuFha,MAAE,MA86BS+K,IAanHA,EAAiBkP,UA37BuFja,MAAE,UA27BqC4K,KAAcsP,KAAiBC,KAAqBA,KAC3LD,QAjBFnP,CAAgB","names":["ButtonComponent","constructor","this","selectors","i0","HowItWorksComponent","ReadyToGoComponent","ContactLaterComponent","fb","dlg","group","email","Validators","onEnter","event","stopPropagation","frm","valid","submit","close","value","core","ctx","HomeHeroComponent","router","fit","dialog","countryList","category","FormControl","solution","FormGroup","country","categoryOptions","Object","values","ServiceTypeData","filteredCategories","valueChanges","pipe","startWith","map","filter","e","toLowerCase","includes","solutionOptions","TechnologypSolutionData","filteredSolutions","resetCategory","controls","setValue","resetSolution","save","categoryId","Number","entries","find","catTrigger","openPanel","isTechnologyService","solutionId","slnTrigger","ctrySelect","open","countries","c","id","join","shallowFit","take","subscribe","data","noOfSuppliers","navigate","queryParams","serviceTypeId","locations","technologySolution","corrId","afterClosed","fitEmail","reset","PublicCarouselComponent","elem","ref","message","author","ngOnInit","slides","nativeElement","querySelectorAll","forEach","slide","indx","style","transform","curSlide","maxSlide","length","nextSlide","querySelector","prevSlide","stackSlide","addEventListener","markForCheck","addNext","addBack","go","i","ngOnDestroy","removeAllListeners","MobilityProgramComponent","EventEmitter","onClick","fromMobilityProgram","emit","PublicRootComponent","SuppliersHeroComponent","ProspectingJustGotEasierComponent","BetterIntelComponent","SuppliersComponent","CompaniesHeroComponent","DataDrivesProgressComponent","PerfectSupplierComponent","CompaniesComponent","FaqComponent","FAQ_MARKETPLACE","FAQ_INSIGHTS","console","log","markatPlaceFaqs","PublicFooterComponent","Date","getFullYear","routes","path","component","PublicShellComponent","store","login","dispatch","AuthActions","children","pathMatch","title","loadChildren","__webpack_require__","then","m","SignupModule","Promise","OnboardingModule","PublicStatusComponent","location","pathname","status","substring","lastIndexOf","header","text","Error","canActivate","NotLoggedInGuard","PublicSearchModule","PublicSearchResultsModule","redirectTo","PublicRoutingModule","RouterModule","PublicModule","PublicSearchService","provide","MAT_FORM_FIELD_DEFAULT_OPTIONS","useValue","appearance","imports","CommonModule","MatFormFieldModule","FormsModule","MatSidenavModule","ReactiveFormsModule","MatProgressSpinnerModule","MatInputModule","MatSelectModule","MatButtonModule","MatChipsModule","MatAutocompleteModule","MatTableModule","MatDialogModule","MatExpansionModule","MatIconModule","ContactService","http","model","post","PUBLIC_ENDPOINTS","factory","service","get","LocationsService","getStates","of","shortName","getCountries","isoCode","_r3","ctx_r2","matDrawerAnimations","transformDrawer","trigger","state","visibility","transition","animate","MAT_DRAWER_DEFAULT_AUTOSIZE","InjectionToken","providedIn","MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY","MAT_DRAWER_CONTAINER","MatDrawerContent","CdkScrollable","_changeDetectorRef","_container","elementRef","scrollDispatcher","ngZone","super","ngAfterContentInit","_contentMarginChanges","ɵfac","forwardRef","MatDrawerContainer","i1","ɵcmp","useExisting","ngContentSelectors","MatDrawer","position","_position","_isAttached","_updatePositionInParent","onPositionChanged","mode","_mode","_updateFocusTrapState","_modeChanged","next","disableClose","_disableClose","coerceBooleanProperty","autoFocus","_autoFocus","opened","_opened","toggle","_elementRef","_focusTrapFactory","_focusMonitor","_platform","_ngZone","_interactivityChecker","_doc","_elementFocusedBeforeDrawerWasOpened","_enableAnimations","_animationStarted","Subject","_animationEnd","_animationState","openedChange","_openedStream","o","openedStart","fromState","toState","indexOf","mapTo","undefined","_closedStream","closedStart","_destroyed","activeElement","_takeFocus","_isFocusWithinDrawer","_restoreFocus","_openedVia","runOutsideAngular","fromEvent","keyCode","ESCAPE","hasModifierKey","takeUntil","run","preventDefault","distinctUntilChanged","x","y","_forceFocus","element","options","isFocusable","tabIndex","callback","removeEventListener","removeAttribute","focus","_focusByCssSelector","selector","elementToFocus","_focusTrap","focusInitialElementWhenReady","hasMovedFocus","focusOrigin","focusVia","blur","activeEl","contains","ngAfterViewInit","create","ngAfterContentChecked","isBrowser","destroy","_anchor","remove","complete","openedVia","_closeViaBackdropClick","_setOpen","isOpen","result","restoreFocus","resolve","_getWidth","offsetWidth","enabled","newPosition","parent","parentNode","createComment","insertBefore","appendChild","i2","i3","DOCUMENT","_c1","_t","encapsulation","changeDetection","start","_start","end","_end","autosize","_autosize","hasBackdrop","_backdropOverride","scrollable","_userContent","_content","_dir","_element","viewportRuler","defaultAutosize","_animationMode","_drawers","QueryList","backdropClick","_doCheckSubject","_contentMargins","left","right","change","_validateDrawers","updateContentMargins","_allDrawers","changes","drawer","item","notifyOnChanges","_watchDrawerToggle","_watchDrawerPosition","_watchDrawerMode","_isDrawerOpen","debounceTime","_left","width","_right","ngDoCheck","_isPushed","classList","add","_setContainerClass","onMicrotaskEmpty","merge","isAdd","className","_onBackdropClicked","_closeModalDrawersViaBackdrop","_canHaveBackdrop","_isShowingBackdrop","i4","ANIMATION_MODULE_TYPE","dirIndex","_c2","i5","styles","MatSidenavContent","changeDetectorRef","container","MatSidenavContainer","MatSidenav","arguments","_fixedInViewport","_fixedTopGap","_fixedBottomGap","fixedInViewport","fixedTopGap","coerceNumberProperty","fixedBottomGap","t","_c4","ɵmod","ɵinj","MatCommonModule","CdkScrollableModule"],"sourceRoot":"webpack:///","sources":["./src/app/public/components/button/button.component.ts","./src/app/public/components/button/button.component.html","./src/app/public/components/how-it-works/how-it-works.component.ts","./src/app/public/components/how-it-works/how-it-works.component.html","./src/app/public/components/ready-to-go/ready-to-go.component.ts","./src/app/public/components/ready-to-go/ready-to-go.component.html","./src/app/public/components/contact-later/contact-later.component.ts","./src/app/public/components/contact-later/contact-later.component.html","./src/app/public/components/home-hero/home-hero.component.html","./src/app/public/components/home-hero/home-hero.component.ts","./src/app/public/components/public-carousel/public-carousel.component.html","./src/app/public/components/public-carousel/public-carousel.component.ts","./src/app/public/components/mobility-program/mobility-program.component.ts","./src/app/public/components/mobility-program/mobility-program.component.html","./src/app/public/pages/public-root/public-root.component.ts","./src/app/public/pages/public-root/public-root.component.html","./src/app/public/components/suppliers-hero/suppliers-hero.component.ts","./src/app/public/components/suppliers-hero/suppliers-hero.component.html","./src/app/public/components/prospecting-just-got-easier/prospecting-just-got-easier.component.ts","./src/app/public/components/prospecting-just-got-easier/prospecting-just-got-easier.component.html","./src/app/public/components/better-intel/better-intel.component.ts","./src/app/public/components/better-intel/better-intel.component.html","./src/app/public/pages/suppliers/suppliers.component.ts","./src/app/public/pages/suppliers/suppliers.component.html","./src/app/public/components/companies-hero/companies-hero.component.ts","./src/app/public/components/companies-hero/companies-hero.component.html","./src/app/public/components/data-drives-progress/data-drives-progress.component.ts","./src/app/public/components/data-drives-progress/data-drives-progress.component.html","./src/app/public/components/perfect-supplier/perfect-supplier.component.ts","./src/app/public/components/perfect-supplier/perfect-supplier.component.html","./src/app/public/pages/companies/companies.component.ts","./src/app/public/pages/companies/companies.component.html","./src/app/public/pages/faq/faq.component.html","./src/app/public/pages/faq/faq.component.ts","./src/app/public/components/public-footer/public-footer.component.ts","./src/app/public/components/public-footer/public-footer.component.html","./src/app/public/public-routing.module.ts","./src/app/public/components/shell/shell.component.ts","./src/app/public/components/shell/shell.component.html","./src/app/public/components/status/status.component.ts","./src/app/public/components/status/status.component.html","./src/app/public/public.module.ts","./src/app/public/services/contact.service.ts","./src/app/public/services/public-search.service.ts","./src/app/public/services/locations.service.ts","./node_modules/@angular/material/fesm2020/sidenav.mjs"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-button',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ButtonComponent {\r\n @Input() text = '';\r\n @Input() route = '';\r\n}\r\n","\r\n {{text}}\r\n\r\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-how-it-works',\r\n templateUrl: './how-it-works.component.html',\r\n styleUrls: ['./how-it-works.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class HowItWorksComponent {\r\n @Input() headerBody = '';\r\n @Input() stepOneHeader = '';\r\n @Input() stepOneBody = '';\r\n @Input() stepTwoHeader = '';\r\n @Input() stepTwoBody = '';\r\n @Input() stepThreeHeader = '';\r\n @Input() stepThreeBody = '';\r\n}\r\n","
\r\n
\r\n
\r\n

how it works

\r\n

{{headerBody}}

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

1

\r\n

{{stepOneHeader}}

\r\n

{{stepOneBody}}

\r\n
\r\n \"how-it-works-arrow\"\r\n
\r\n

2

\r\n

{{stepTwoHeader}}

\r\n

{{stepTwoBody}}

\r\n
\r\n \"how-it-works-arrow\"\r\n
\r\n 3\r\n

{{stepThreeHeader}}

\r\n

\r\n {{stepThreeBody}}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-ready-to-go',\r\n templateUrl: './ready-to-go.component.html',\r\n styleUrls: ['./ready-to-go.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ReadyToGoComponent {}\r\n","
\r\n
\r\n

ready to go?

\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, HostListener } from '@angular/core';\r\nimport { Validators, FormBuilder } from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'maas-contact-later',\r\n templateUrl: './contact-later.component.html',\r\n styleUrls: ['./contact-later.component.scss']\r\n})\r\n\r\nexport class ContactLaterComponent {\r\n frm = this.fb.group({\r\n email: ['', [Validators.required, Validators.email]]\r\n });\r\n\r\n constructor(private fb: FormBuilder, private dlg: MatDialogRef) { }\r\n\r\n @HostListener('window:keyup.Enter', ['$event'])\r\n onEnter(event: KeyboardEvent): void {\r\n event.stopPropagation();\r\n if (this.frm.valid) this.submit();\r\n }\r\n\r\n submit() {\r\n this.dlg.close(this.frm.value);\r\n }\r\n}\r\n","
\r\n

\r\n Wait a minute! We’re still working on finding the best suppliers in that location!​\r\n

\r\n

\r\n Leave us your email and we'll be in touch as our supplier network continues to expand!\r\n

\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n
","
\r\n
\r\n

Pick a service to start your search!

\r\n

\r\n Let Dot to Dot help you match with the suppliers that best fit your needs​\r\n

\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{o}}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{o}}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ o.value}}\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
","import { Component, ChangeDetectionStrategy, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { PublicSearchService } from '../../../public/services';\r\nimport { Observable, map, startWith, take } from 'rxjs';\r\nimport { ServiceTypeData, TechnologypSolutionData, countryList } from 'src/app/home/services/mock-response';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ContactLaterComponent } from '../contact-later/contact-later.component';\r\nimport { MatAutocompleteTrigger } from '@angular/material/autocomplete';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport { ShallowSearch } from '../../models/locations.models';\r\n\r\n@Component({\r\n selector: 'maas-home-hero',\r\n templateUrl: './home-hero.component.html',\r\n styleUrls: ['./home-hero.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class HomeHeroComponent {\r\n\r\n @ViewChild('catTrigger') catTrigger?: MatAutocompleteTrigger;\r\n @ViewChild('slnTrigger') slnTrigger?: MatAutocompleteTrigger;\r\n @ViewChild('ctrySelect') ctrySelect?: MatSelect;\r\n\r\n frm: FormGroup<{\r\n category: FormControl,\r\n country: FormControl<{ id: string, value: string }[] | null>,\r\n solution: FormControl\r\n }>;\r\n filteredCategories: Observable;\r\n filteredSolutions: Observable;\r\n countryList = countryList;\r\n\r\n constructor(\r\n private router: Router,\r\n private fit: PublicSearchService,\r\n private dialog: MatDialog\r\n ) {\r\n\r\n const category = new FormControl('', [Validators.required]);\r\n const solution = new FormControl('', null);\r\n\r\n this.frm = new FormGroup({\r\n category,\r\n country: new FormControl<{ id: string, value: string }[]>([], [Validators.required]),\r\n solution\r\n });\r\n\r\n const categoryOptions = Object.values(ServiceTypeData.responseOptions);\r\n this.filteredCategories = category.valueChanges.pipe(\r\n startWith(''),\r\n map((value: string | null) => value\r\n ? categoryOptions.filter(e => e.toLowerCase().includes(value.toLowerCase()))\r\n : categoryOptions),\r\n );\r\n\r\n const solutionOptions = Object.values(TechnologypSolutionData.responseOptions);\r\n this.filteredSolutions = solution.valueChanges.pipe(\r\n startWith(''),\r\n map((value: string | null) => value\r\n ? solutionOptions.filter(e => e.toLowerCase().includes(value?.toLowerCase()))\r\n : solutionOptions),\r\n );\r\n }\r\n\r\n resetCategory() {\r\n this.frm.controls.category.setValue('');\r\n this.resetSolution();\r\n }\r\n\r\n resetSolution() {\r\n this.frm.controls.solution.setValue('');\r\n }\r\n\r\n save(event: Event): void {\r\n event.stopPropagation();\r\n\r\n const categoryId = Number(Object.entries(ServiceTypeData.responseOptions).find(e => e[1] == this.frm.controls.category.value)?.[0]);\r\n if (!categoryId) {\r\n this.catTrigger?.openPanel();\r\n return;\r\n }\r\n\r\n const isTechnologyService = categoryId === 1336;\r\n\r\n const solutionId = isTechnologyService\r\n ? Number(Object.entries(TechnologypSolutionData.responseOptions).find(e => e[1] == this.frm.controls.solution.value)?.[0])\r\n : 0;\r\n\r\n if (isTechnologyService && !solutionId) {\r\n this.slnTrigger?.openPanel();\r\n return;\r\n }\r\n\r\n\r\n if (!this.frm.controls.country.valid) {\r\n this.ctrySelect?.open();\r\n return;\r\n }\r\n\r\n const countries = this.frm.controls.country.value?.map(c => c.id).join(',') ?? '';\r\n this.fit\r\n .shallowFit(categoryId, countries, solutionId)\r\n .pipe(take(1))\r\n .subscribe((data: ShallowSearch) => {\r\n if (data.noOfSuppliers > 2) {\r\n const queryParams = {\r\n 'serviceTypeId': categoryId,\r\n 'locations': countries,\r\n 'technologySolution': solutionId,\r\n 'corrId': data.corrId\r\n }\r\n\r\n this.router.navigate(['/public/search'], { queryParams });\r\n\r\n } else {\r\n\r\n this.dialog\r\n .open(ContactLaterComponent)\r\n .afterClosed()\r\n .pipe(take(1))\r\n .subscribe((frm: { email?: string } | undefined) => {\r\n if (!frm?.email) return;\r\n this.fit.fitEmail(data.corrId, frm.email).pipe(take(1)).subscribe();\r\n this.frm.reset();\r\n });\r\n\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

\"{{ content[curSlide]?.message }}\"

\r\n
\r\n {{ content[curSlide]?.author }}\r\n
\r\n
\r\n
\r\n
\r\n \"\"/\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \"\"\r\n
\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 { OnInit, ChangeDetectorRef, Component, ElementRef, OnDestroy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-public-carousel',\r\n templateUrl: './public-carousel.component.html',\r\n styleUrls: ['./public-carousel.component.scss']\r\n})\r\n\r\nexport class PublicCarouselComponent implements OnInit, OnDestroy {\r\n\r\n curSlide = 0;\r\n\r\n content = [\r\n {\r\n message: 'I would respect a supplier more if they gave me negative testimonials and demonstrated how they resolved those issues. It matters more how they address the hiccups.',\r\n author: 'enterprise-sized automative technology company'\r\n },\r\n {\r\n message: 'I would like to plug all decisions in my life into a [qualified decision] tool',\r\n author: 'global management consulting firm'\r\n },\r\n {\r\n message: 'If you give us qualified leads, we\\'d be crazy not to participate',\r\n author: 'mid-sized relocation management company'\r\n }\r\n ]\r\n\r\n constructor(private elem: ElementRef, private ref: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n const slides: NodeListOf = this.elem.nativeElement.querySelectorAll('.slide');\r\n\r\n slides.forEach((slide, indx) => {\r\n slide.style.transform = `translateX(${indx * 100}%)`;\r\n });\r\n\r\n // current slide counter\r\n this.curSlide = 0;\r\n\r\n // maximum number of slides\r\n const maxSlide = slides.length - 1;\r\n\r\n const nextSlide = this.elem.nativeElement.querySelector('.arrow-next');\r\n const addNext = () => {\r\n nextSlide?.addEventListener('click', () => {\r\n // check if current slide is the last and reset current slide\r\n if (this.curSlide === maxSlide) {\r\n this.curSlide = 0;\r\n } else {\r\n this.curSlide++;\r\n }\r\n stackSlide();\r\n this.ref.markForCheck();\r\n });\r\n }\r\n\r\n const prevSlide = this.elem.nativeElement.querySelector('.arrow-prev');\r\n const addBack = () => {\r\n prevSlide?.addEventListener('click', () => {\r\n // check if current slide is the first and reset current slide to last\r\n if (this.curSlide === 0) {\r\n this.curSlide = maxSlide;\r\n } else {\r\n this.curSlide--;\r\n }\r\n stackSlide();\r\n this.ref.markForCheck();\r\n });\r\n }\r\n\r\n const stackSlide = () => {\r\n return slides.forEach((slide, indx) => {\r\n slide.style.transform = `translateX(${100 * (indx - this.curSlide)}%)`;\r\n });\r\n }\r\n\r\n addNext();\r\n addBack();\r\n }\r\n\r\n go(i: number) {\r\n this.curSlide = i;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.elem.nativeElement.querySelector('.arrow-prev')?.removeAllListeners?.();\r\n this.elem.nativeElement.querySelector('.arrow-next')?.removeAllListeners?.();\r\n }\r\n\r\n}\r\n","import { Component, EventEmitter, Output, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-mobility-program',\r\n templateUrl: './mobility-program.component.html',\r\n styleUrls: ['./mobility-program.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MobilityProgramComponent {\r\n\r\n @Output() fromMobilityProgram = new EventEmitter();\r\n\r\n onClick() {\r\n this.fromMobilityProgram.emit();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n

build a leading edge mobility program

\r\n

\r\n Dot to Dot | Marketplace matches you with highly qualified suppliers vetted by KPMG, drastically decreasing your RFI/RFP time and increasing employee satisfaction. And Dot to Dot | Insights provides you with data every step of the way so you know exactly how to drive assignment success every time.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'public-maas-root',\r\n templateUrl: './public-root.component.html',\r\n styleUrls: ['./public-root.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PublicRootComponent {\r\n}\r\n","\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-suppliers-hero',\r\n templateUrl: './suppliers-hero.component.html',\r\n styleUrls: ['./suppliers-hero.component.scss']\r\n})\r\nexport class SuppliersHeroComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

lead the pack

\r\n

\r\n Dot to Dot | Marketplace matches you with mobility programs that fit your strengths so you can focus your\r\n energy on high-potential, qualified leads. You can do the legwork once and reap the benefits of connecting\r\n with the KPMG network often. And Dot to Dot | Insights provides a feedback loop that helps you improve your\r\n pitches and performance, so you can win and wow clients more often.\r\n

\r\n
\r\n \r\n how it works \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-prospecting-just-got-easier',\r\n templateUrl: './prospecting-just-got-easier.component.html',\r\n styleUrls: ['./prospecting-just-got-easier.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ProspectingJustGotEasierComponent {\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n

prospecting just got easier

\r\n

\r\n Dot to Dot | Marketplace expands your reach by connecting you with a diverse population of companies from\r\n KPMG’s network. Rigorous analytics and robust information is part of our DNA, so we help you build the right\r\n digital sales pitch and when the platform shoots you a lead, you know they are pre-qualified and\r\n ready-to-buy.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-better-intel',\r\n templateUrl: './better-intel.component.html',\r\n styleUrls: ['./better-intel.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BetterIntelComponent {\r\n}\r\n","
\r\n
\r\n

better intel makes pitching easier

\r\n

\r\n Dot to Dot helps you know exactly what a company is looking for, so you can craft the smartest pitch. No\r\n more guess work! And our constant feedback loop provides you with employee feedback so you can quickly\r\n address any issues and constantly deliver superior customer satisfaction.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-suppliers',\r\n templateUrl: './suppliers.component.html',\r\n styleUrls: ['./suppliers.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SuppliersComponent {\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-companies-hero',\r\n templateUrl: './companies-hero.component.html',\r\n styleUrls: ['./companies-hero.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CompaniesHeroComponent {\r\n\r\n}\r\n","
\r\n
\r\n

a whole new way to manage your mobility program

\r\n

\r\n Employee expectations are rising, and leadership teams want better results. To meet the ever-increasing\r\n demands, you’ve got to flip your script. Dot to Dot helps you find suppliers that can drive up employee\r\n satisfaction and detailed, data-driven reporting that helps you double down on opportunities that can\r\n improve your program.\r\n

\r\n
\r\n \r\n \r\n \r\n how it works\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-data-drives-progress',\r\n templateUrl: './data-drives-progress.component.html',\r\n styleUrls: ['./data-drives-progress.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class DataDrivesProgressComponent {\r\n}\r\n","
\r\n
\r\n

data drives progress

\r\n

\r\n To attract and retain a vibrant global talent pool every piece of your mobility program needs to shine. Dot\r\n to Dot | Insights gives you clarity on how vendors are influencing the employee experience at every step of\r\n the journey. With easy-to-read dashboards and data-driven reporting you can pinpoint what to change and how\r\n to stay ahead of the curve and drive successful assignments.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-perfect-supplier',\r\n templateUrl: './perfect-supplier.component.html',\r\n styleUrls: ['./perfect-supplier.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PerfectSupplierComponent {\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n

find the perfect supplier in minutes

\r\n

\r\n When you are moving employees around the world, you need a powerful global network that’s ready to get the\r\n job done right. Dot to Dot | Marketplace uses data science to build a roster of highly-qualified,\r\n KPMG-vetted suppliers in minutes. Time is precious. Throw out antiquated networking methods and let data\r\n help you cut your RFI/RFP time in half.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-companies',\r\n templateUrl: './companies.component.html',\r\n styleUrls: ['./companies.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CompaniesComponent {\r\n}\r\n","
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n","
\r\n

frequently asked questions

\r\n\r\n \r\n \r\n \r\n {{insights.qst}}\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n {{marketplace.qst}}\r\n \r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { FAQ_MARKETPLACE,FAQ_INSIGHTS } from '../../constants';\r\n\r\n\r\n@Component({\r\n selector: 'maas-faq',\r\n templateUrl: './faq.component.html',\r\n styleUrls: ['./faq.component.scss'],\r\n encapsulation:ViewEncapsulation.None\r\n})\r\nexport class FaqComponent implements OnInit {\r\n panelOpenState = false;\r\n markatPlaceFaqs=FAQ_MARKETPLACE;\r\n insightsFaqs=FAQ_INSIGHTS;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n console.log(this.markatPlaceFaqs)\r\n }\r\n\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-public-footer',\r\n templateUrl: './public-footer.component.html',\r\n styleUrls: ['./public-footer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PublicFooterComponent {\r\n public currentYear = new Date().getFullYear();\r\n}\r\n","\r\n","/**\r\n * (c) 2017 KPMG LLP, a Delaware limited liability partnership\r\n * and the U.S. member firm of the KPMG network of independent member\r\n * firms affiliated with KPMG International Cooperative (\"KPMG\r\n * International\"), a Swiss entity. All rights reserved.\r\n */\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport { PublicRootComponent } from 'src/app/public/pages/public-root/public-root.component';\r\nimport { SuppliersComponent } from './pages/suppliers/suppliers.component';\r\nimport { CompaniesComponent } from './pages/companies/companies.component';\r\nimport { FaqComponent } from './pages/faq/faq.component'\r\nimport {\r\n PublicStatusComponent,\r\n PublicShellComponent\r\n} from './components';\r\nimport { NotLoggedInGuard } from '@core';\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: PublicShellComponent,\r\n children: [\r\n {\r\n path: 'home',\r\n pathMatch: 'full',\r\n component: PublicRootComponent,\r\n title: 'Welcome to Dot to Dot'\r\n },\r\n {\r\n path: 'signup',\r\n pathMatch: 'full',\r\n loadChildren: () => import('../signup/signup.module').then(m => m.SignupModule),\r\n },\r\n {\r\n path: 'companies',\r\n pathMatch: 'full',\r\n component: CompaniesComponent,\r\n title: 'Learn more as a company'\r\n },\r\n {\r\n path: 'frequently asked questions',\r\n pathMatch: 'full',\r\n component: FaqComponent,\r\n title: 'frequently asked questions'\r\n },\r\n {\r\n path: 'onboarding/:onboardingId',\r\n loadChildren: () => import('../onboarding/onboarding.module').then(m => m.OnboardingModule)\r\n },\r\n {\r\n path: 'status/:status',\r\n pathMatch: 'full',\r\n component: PublicStatusComponent,\r\n title: 'View onboarding status update'\r\n },\r\n {\r\n path: 'suppliers',\r\n pathMatch: 'full',\r\n component: SuppliersComponent,\r\n title: 'Learn more as a supplier'\r\n },\r\n {\r\n path: 'search',\r\n canActivate: [NotLoggedInGuard],\r\n loadChildren: () => import('../public-search/public-search.module').then((m) => m.PublicSearchModule),\r\n },\r\n {\r\n path: 'searchresults',\r\n canActivate: [NotLoggedInGuard],\r\n loadChildren: () => import('../public-search-results/public-search-results.module').then((m) => m.PublicSearchResultsModule),\r\n },\r\n {\r\n path: '**',\r\n redirectTo: 'home',\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class PublicRoutingModule { }\r\n","import { Component } from '@angular/core';\r\nimport { Store } from '@ngrx/store';\r\nimport { AuthActions, RootState } from '@core';\r\n\r\n@Component({\r\n selector: 'maas-pub-shell',\r\n templateUrl: './shell.component.html',\r\n styleUrls: ['./shell.component.scss']\r\n})\r\nexport class PublicShellComponent {\r\n constructor(private store: Store) { }\r\n\r\n login() {\r\n this.store.dispatch(AuthActions.loginAad());\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n login\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n companies\r\n suppliers\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n login\r\n \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 { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'maas-pub-status',\r\n templateUrl: './status.component.html',\r\n styleUrls: ['./status.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PublicStatusComponent {\r\n\r\n header: string;\r\n text: string;\r\n\r\n constructor() {\r\n const path = location.pathname;\r\n const status = path.substring(path.lastIndexOf('/') + 1).toLowerCase();\r\n\r\n switch (status) {\r\n case 'thank-you':\r\n this.header = 'thank you!';\r\n this.text = 'Your request has been submitted. Keep an eye on your inbox for more information coming soon!';\r\n break;\r\n\r\n case 'coming-soon':\r\n this.header = 'coming soon';\r\n this.text = `We've got something big in the works and it is coming your way.`;\r\n break;\r\n\r\n case 'approved':\r\n this.header = 'you did it!';\r\n this.text = 'Congratulations, you\\'re officially part of Dot to Dot! We sent you login and welcome emails, go take a look so you can get started!';\r\n break;\r\n\r\n case 'expired':\r\n this.header = 'oh, no! your link has expired!';\r\n this.text = 'Don\\'t worry! You can simply resubmit your info to kickstart the process again!';\r\n break;\r\n\r\n case 'processing':\r\n this.header = 'we\\'re working on it';\r\n this.text = 'The hard part is over! We\\'ve received your submission and will provide an update shortly. Look out for an email from us in a few days!';\r\n break;\r\n\r\n case 'processed':\r\n this.header = 'your request has been processed';\r\n this.text = 'Please reach out to the Dot to Dot team here to request more information if you have not yet heard from us';\r\n break;\r\n\r\n default:\r\n throw new Error(`Unknown public status supplied: ${status}`);\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n

{{ header }}

\r\n
{{ text }}
\r\n
\r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\n\r\nimport {\r\n PublicShellComponent,\r\n PublicStatusComponent,\r\n CompaniesHeroComponent,\r\n HowItWorksComponent,\r\n DataDrivesProgressComponent,\r\n ButtonComponent,\r\n ThoughtLeadershipComponent,\r\n LeadershipCardComponent,\r\n PerfectSupplierComponent,\r\n SuppliersHeroComponent,\r\n BetterIntelComponent,\r\n ReadyToGoComponent,\r\n HomeHeroComponent,\r\n PublicCarouselComponent,\r\n MobilityProgramComponent,\r\n ProspectingJustGotEasierComponent,\r\n PublicFooterComponent\r\n} from './components';\r\n\r\nimport { PublicRoutingModule } from './public-routing.module';\r\nimport { SuppliersComponent } from './pages/suppliers/suppliers.component';\r\nimport { PublicRootComponent } from 'src/app/public/pages/public-root/public-root.component';\r\nimport { CompaniesComponent } from './pages/companies/companies.component';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { FaqComponent } from './pages/faq/faq.component';\r\nimport { PublicSearchService } from './services';\r\nimport { ContactLaterComponent } from './components/contact-later/contact-later.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n PublicShellComponent,\r\n PublicStatusComponent,\r\n PublicRootComponent,\r\n CompaniesHeroComponent,\r\n HowItWorksComponent,\r\n DataDrivesProgressComponent,\r\n ThoughtLeadershipComponent,\r\n LeadershipCardComponent,\r\n ButtonComponent,\r\n CompaniesComponent,\r\n PerfectSupplierComponent,\r\n SuppliersHeroComponent,\r\n ProspectingJustGotEasierComponent,\r\n BetterIntelComponent,\r\n SuppliersComponent,\r\n ReadyToGoComponent,\r\n HomeHeroComponent,\r\n PublicCarouselComponent,\r\n MobilityProgramComponent,\r\n PublicFooterComponent,\r\n ContactLaterComponent,\r\n FaqComponent\r\n ],\r\n\r\n imports: [\r\n CommonModule,\r\n PublicRoutingModule,\r\n MatFormFieldModule,\r\n FormsModule,\r\n MatSidenavModule,\r\n ReactiveFormsModule,\r\n MatProgressSpinnerModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatButtonModule,\r\n MatChipsModule,\r\n MatAutocompleteModule,\r\n MatTableModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatIconModule\r\n ],\r\n providers: [PublicSearchService,\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'outline' } },\r\n ]\r\n})\r\nexport class PublicModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { PUBLIC_ENDPOINTS } from '@shared';\r\n\r\n@Injectable()\r\nexport class ContactService {\r\n constructor(private http: HttpClient) {}\r\n\r\n submit(model: any) {\r\n return this.http.post(PUBLIC_ENDPOINTS.moreinfo, { ...model })\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { PUBLIC_ENDPOINTS } from '@shared';\r\nimport { ShallowSearch } from '../models/locations.models';\r\n\r\n\r\n@Injectable()\r\nexport class PublicSearchService {\r\n constructor(private http: HttpClient) { }\r\n\r\n shallowFit(service: number, locations: string, solution: number) {\r\n return this.http.get(`${PUBLIC_ENDPOINTS.shallowSearch}?serviceType=${service}&locations=${locations}&technologySolution=${solution}`);\r\n }\r\n\r\n fitEmail(corrId: string, email: string) {\r\n return this.http.post(`${PUBLIC_ENDPOINTS.updateEmail}?corrId=${corrId}&email=${email}`, null);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Location, Country } from '../models/locations.models';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class LocationsService {\r\n getStates(): Observable {\r\n return of(\r\n [\r\n {\r\n \"id\": \"US-AL\",\r\n \"shortName\": \"AL\"\r\n },\r\n {\r\n \"id\": \"US-AK\",\r\n \"shortName\": \"AK\"\r\n },\r\n {\r\n \"id\": \"US-AZ\",\r\n \"shortName\": \"AZ\"\r\n },\r\n {\r\n \"id\": \"US-AR\",\r\n \"shortName\": \"AR\"\r\n },\r\n {\r\n \"id\": \"US-CA\",\r\n \"shortName\": \"CA\"\r\n },\r\n {\r\n \"id\": \"US-CO\",\r\n \"shortName\": \"CO\"\r\n },\r\n {\r\n \"id\": \"US-CT\",\r\n \"shortName\": \"CT\"\r\n },\r\n {\r\n \"id\": \"US-DE\",\r\n \"shortName\": \"DE\"\r\n },\r\n {\r\n \"id\": \"US-FL\",\r\n \"shortName\": \"FL\"\r\n },\r\n {\r\n \"id\": \"US-GA\",\r\n \"shortName\": \"GA\"\r\n },\r\n {\r\n \"id\": \"US-HI\",\r\n \"shortName\": \"HI\"\r\n },\r\n {\r\n \"id\": \"US-ID\",\r\n \"shortName\": \"ID\"\r\n },\r\n {\r\n \"id\": \"US-IL\",\r\n \"shortName\": \"IL\"\r\n },\r\n {\r\n \"id\": \"US-IN\",\r\n \"shortName\": \"IN\"\r\n },\r\n {\r\n \"id\": \"US-IA\",\r\n \"shortName\": \"IA\"\r\n },\r\n {\r\n \"id\": \"US-KS\",\r\n \"shortName\": \"KS\"\r\n },\r\n {\r\n \"id\": \"US-KY\",\r\n \"shortName\": \"KY\"\r\n },\r\n {\r\n \"id\": \"US-LA\",\r\n \"shortName\": \"LA\"\r\n },\r\n {\r\n \"id\": \"US-ME\",\r\n \"shortName\": \"ME\"\r\n },\r\n {\r\n \"id\": \"US-MD\",\r\n \"shortName\": \"MD\"\r\n },\r\n {\r\n \"id\": \"US-MA\",\r\n \"shortName\": \"MA\"\r\n },\r\n {\r\n \"id\": \"US-MI\",\r\n \"shortName\": \"MI\"\r\n },\r\n {\r\n \"id\": \"US-MN\",\r\n \"shortName\": \"MN\"\r\n },\r\n {\r\n \"id\": \"US-MS\",\r\n \"shortName\": \"MS\"\r\n },\r\n {\r\n \"id\": \"US-MO\",\r\n \"shortName\": \"MO\"\r\n },\r\n {\r\n \"id\": \"US-MT\",\r\n \"shortName\": \"MT\"\r\n },\r\n {\r\n \"id\": \"US-NE\",\r\n \"shortName\": \"NE\"\r\n },\r\n {\r\n \"id\": \"US-NV\",\r\n \"shortName\": \"NV\"\r\n },\r\n {\r\n \"id\": \"US-NH\",\r\n \"shortName\": \"NH\"\r\n },\r\n {\r\n \"id\": \"US-NJ\",\r\n \"shortName\": \"NJ\"\r\n },\r\n {\r\n \"id\": \"US-NM\",\r\n \"shortName\": \"NM\"\r\n },\r\n {\r\n \"id\": \"US-NY\",\r\n \"shortName\": \"NY\"\r\n },\r\n {\r\n \"id\": \"US-NC\",\r\n \"shortName\": \"NC\"\r\n },\r\n {\r\n \"id\": \"US-ND\",\r\n \"shortName\": \"ND\"\r\n },\r\n {\r\n \"id\": \"US-OH\",\r\n \"shortName\": \"OH\"\r\n },\r\n {\r\n \"id\": \"US-OK\",\r\n \"shortName\": \"OK\"\r\n },\r\n {\r\n \"id\": \"US-OR\",\r\n \"shortName\": \"OR\"\r\n },\r\n {\r\n \"id\": \"US-PA\",\r\n \"shortName\": \"PA\"\r\n },\r\n {\r\n \"id\": \"US-RI\",\r\n \"shortName\": \"RI\"\r\n },\r\n {\r\n \"id\": \"US-SC\",\r\n \"shortName\": \"SC\"\r\n },\r\n {\r\n \"id\": \"US-SD\",\r\n \"shortName\": \"SD\"\r\n },\r\n {\r\n \"id\": \"US-TN\",\r\n \"shortName\": \"TN\"\r\n },\r\n {\r\n \"id\": \"US-TX\",\r\n \"shortName\": \"TX\"\r\n },\r\n {\r\n \"id\": \"US-UT\",\r\n \"shortName\": \"UT\"\r\n },\r\n {\r\n \"id\": \"US-VT\",\r\n \"shortName\": \"VT\"\r\n },\r\n {\r\n \"id\": \"US-VA\",\r\n \"shortName\": \"VA\"\r\n },\r\n {\r\n \"id\": \"US-WA\",\r\n \"shortName\": \"WA\"\r\n },\r\n {\r\n \"id\": \"US-WV\",\r\n \"shortName\": \"WV\"\r\n },\r\n {\r\n \"id\": \"US-WI\",\r\n \"shortName\": \"WI\"\r\n },\r\n {\r\n \"id\": \"US-WY\",\r\n \"shortName\": \"WY\"\r\n }\r\n ]\r\n );\r\n }\r\n\r\n getCountries(): Observable {\r\n return of([\r\n {\r\n country: \"Afghanistan\",\r\n isoCode: \"AF\"\r\n },\r\n {\r\n country: \"Albania\",\r\n isoCode: \"AL\"\r\n },\r\n {\r\n country: \"Algeria\",\r\n isoCode: \"DZ\"\r\n },\r\n {\r\n country: \"American Samoa\",\r\n isoCode: \"AS\"\r\n },\r\n {\r\n country: \"Andorra\",\r\n isoCode: \"AD\"\r\n },\r\n {\r\n country: \"Angola\",\r\n isoCode: \"AO\"\r\n },\r\n {\r\n country: \"Anguilla\",\r\n isoCode: \"AI\"\r\n },\r\n {\r\n country: \"Antarctica\",\r\n isoCode: \"AQ\"\r\n },\r\n {\r\n country: \"Antigua And Barbuda\",\r\n isoCode: \"AG\"\r\n },\r\n {\r\n country: \"Argentina\",\r\n isoCode: \"AR\"\r\n },\r\n {\r\n country: \"Armenia\",\r\n isoCode: \"AM\"\r\n },\r\n {\r\n country: \"Aruba\",\r\n isoCode: \"AW\"\r\n },\r\n {\r\n country: \"Australia\",\r\n isoCode: \"AU\"\r\n },\r\n {\r\n country: \"Austria\",\r\n isoCode: \"AT\"\r\n },\r\n {\r\n country: \"Azerbaijan\",\r\n isoCode: \"AZ\"\r\n },\r\n {\r\n country: \"Bahamas\",\r\n isoCode: \"BS\"\r\n },\r\n {\r\n country: \"Bahrain\",\r\n isoCode: \"BH\"\r\n },\r\n {\r\n country: \"Bangladesh\",\r\n isoCode: \"BD\"\r\n },\r\n {\r\n country: \"Barbados\",\r\n isoCode: \"BB\"\r\n },\r\n {\r\n country: \"Belarus\",\r\n isoCode: \"BY\"\r\n },\r\n {\r\n country: \"Belgium\",\r\n isoCode: \"BE\"\r\n },\r\n {\r\n country: \"Belize\",\r\n isoCode: \"BZ\"\r\n },\r\n {\r\n country: \"Benin\",\r\n isoCode: \"BJ\"\r\n },\r\n {\r\n country: \"Bermuda\",\r\n isoCode: \"BM\"\r\n },\r\n {\r\n country: \"Bhutan\",\r\n isoCode: \"BT\"\r\n },\r\n {\r\n country: \"Bolivia\",\r\n isoCode: \"BO\"\r\n },\r\n {\r\n country: \"Bosnia And Herzegovina\",\r\n isoCode: \"BA\"\r\n },\r\n {\r\n country: \"Botswana\",\r\n isoCode: \"BW\"\r\n },\r\n {\r\n country: \"Bouvet Island\",\r\n isoCode: \"BV\"\r\n },\r\n {\r\n country: \"Brazil\",\r\n isoCode: \"BR\"\r\n },\r\n {\r\n country: \"British Indian Ocean Territory\",\r\n isoCode: \"IO\"\r\n },\r\n {\r\n country: \"Brunei Darussalam\",\r\n isoCode: \"BN\"\r\n },\r\n {\r\n country: \"Bulgaria\",\r\n isoCode: \"BG\"\r\n },\r\n {\r\n country: \"Burkina Faso\",\r\n isoCode: \"BF\"\r\n },\r\n {\r\n country: \"Burundi\",\r\n isoCode: \"BI\"\r\n },\r\n {\r\n country: \"Cambodia\",\r\n isoCode: \"KH\"\r\n },\r\n {\r\n country: \"Cameroon\",\r\n isoCode: \"CM\"\r\n },\r\n {\r\n country: \"Canada\",\r\n isoCode: \"CA\"\r\n },\r\n {\r\n country: \"Cape Verde\",\r\n isoCode: \"CV\"\r\n },\r\n {\r\n country: \"Cayman Islands\",\r\n isoCode: \"KY\"\r\n },\r\n {\r\n country: \"Central African Republic\",\r\n isoCode: \"CF\"\r\n },\r\n {\r\n country: \"Chad\",\r\n isoCode: \"TD\"\r\n },\r\n {\r\n country: \"Chile\",\r\n isoCode: \"CL\"\r\n },\r\n {\r\n country: \"China\",\r\n isoCode: \"CN\"\r\n },\r\n {\r\n country: \"Christmas Island\",\r\n isoCode: \"CX\"\r\n },\r\n {\r\n country: \"Cocos (keeling) Islands\",\r\n isoCode: \"CC\"\r\n },\r\n {\r\n country: \"Colombia\",\r\n isoCode: \"CO\"\r\n },\r\n {\r\n country: \"Comoros\",\r\n isoCode: \"KM\"\r\n },\r\n {\r\n country: \"Congo\",\r\n isoCode: \"CG\"\r\n },\r\n {\r\n country: \"Congo, The Democratic Republic Of The\",\r\n isoCode: \"CD\"\r\n },\r\n {\r\n country: \"Cook Islands\",\r\n isoCode: \"CK\"\r\n },\r\n {\r\n country: \"Costa Rica\",\r\n isoCode: \"CR\"\r\n },\r\n {\r\n country: \"Cote D'ivoire\",\r\n isoCode: \"CI\"\r\n },\r\n {\r\n country: \"Croatia\",\r\n isoCode: \"HR\"\r\n },\r\n {\r\n country: \"Cuba\",\r\n isoCode: \"CU\"\r\n },\r\n {\r\n country: \"Cyprus\",\r\n isoCode: \"CY\"\r\n },\r\n {\r\n country: \"Czech Republic\",\r\n isoCode: \"CZ\"\r\n },\r\n {\r\n country: \"Denmark\",\r\n isoCode: \"DK\"\r\n },\r\n {\r\n country: \"Djibouti\",\r\n isoCode: \"DJ\"\r\n },\r\n {\r\n country: \"Dominica\",\r\n isoCode: \"DM\"\r\n },\r\n {\r\n country: \"Dominican Republic\",\r\n isoCode: \"DO\"\r\n },\r\n {\r\n country: \"East Timor\",\r\n isoCode: \"TP\"\r\n },\r\n {\r\n country: \"Ecuador\",\r\n isoCode: \"EC\"\r\n },\r\n {\r\n country: \"Egypt\",\r\n isoCode: \"EG\"\r\n },\r\n {\r\n country: \"El Salvador\",\r\n isoCode: \"SV\"\r\n },\r\n {\r\n country: \"Equatorial Guinea\",\r\n isoCode: \"GQ\"\r\n },\r\n {\r\n country: \"Eritrea\",\r\n isoCode: \"ER\"\r\n },\r\n {\r\n country: \"Estonia\",\r\n isoCode: \"EE\"\r\n },\r\n {\r\n country: \"Ethiopia\",\r\n isoCode: \"ET\"\r\n },\r\n {\r\n country: \"Falkland Islands (malvinas)\",\r\n isoCode: \"FK\"\r\n },\r\n {\r\n country: \"Faroe Islands\",\r\n isoCode: \"FO\"\r\n },\r\n {\r\n country: \"Fiji\",\r\n isoCode: \"FJ\"\r\n },\r\n {\r\n country: \"Finland\",\r\n isoCode: \"FI\"\r\n },\r\n {\r\n country: \"France\",\r\n isoCode: \"FR\"\r\n },\r\n {\r\n country: \"French Guiana\",\r\n isoCode: \"GF\"\r\n },\r\n {\r\n country: \"French Polynesia\",\r\n isoCode: \"PF\"\r\n },\r\n {\r\n country: \"French Southern Territories\",\r\n isoCode: \"TF\"\r\n },\r\n {\r\n country: \"Gabon\",\r\n isoCode: \"GA\"\r\n },\r\n {\r\n country: \"Gambia\",\r\n isoCode: \"GM\"\r\n },\r\n {\r\n country: \"Georgia\",\r\n isoCode: \"GE\"\r\n },\r\n {\r\n country: \"Germany\",\r\n isoCode: \"DE\"\r\n },\r\n {\r\n country: \"Ghana\",\r\n isoCode: \"GH\"\r\n },\r\n {\r\n country: \"Gibraltar\",\r\n isoCode: \"GI\"\r\n },\r\n {\r\n country: \"Greece\",\r\n isoCode: \"GR\"\r\n },\r\n {\r\n country: \"Greenland\",\r\n isoCode: \"GL\"\r\n },\r\n {\r\n country: \"Grenada\",\r\n isoCode: \"GD\"\r\n },\r\n {\r\n country: \"Guadeloupe\",\r\n isoCode: \"GP\"\r\n },\r\n {\r\n country: \"Guam\",\r\n isoCode: \"GU\"\r\n },\r\n {\r\n country: \"Guatemala\",\r\n isoCode: \"GT\"\r\n },\r\n {\r\n country: \"Guinea\",\r\n isoCode: \"GN\"\r\n },\r\n {\r\n country: \"Guinea-bissau\",\r\n isoCode: \"GW\"\r\n },\r\n {\r\n country: \"Guyana\",\r\n isoCode: \"GY\"\r\n },\r\n {\r\n country: \"Haiti\",\r\n isoCode: \"HT\"\r\n },\r\n {\r\n country: \"Heard Island And Mcdonald Islands\",\r\n isoCode: \"HM\"\r\n },\r\n {\r\n country: \"Holy See (vatican City State)\",\r\n isoCode: \"VA\"\r\n },\r\n {\r\n country: \"Honduras\",\r\n isoCode: \"HN\"\r\n },\r\n {\r\n country: \"Hong Kong\",\r\n isoCode: \"HK\"\r\n },\r\n {\r\n country: \"Hungary\",\r\n isoCode: \"HU\"\r\n },\r\n {\r\n country: \"Iceland\",\r\n isoCode: \"IS\"\r\n },\r\n {\r\n country: \"India\",\r\n isoCode: \"IN\"\r\n },\r\n {\r\n country: \"Indonesia\",\r\n isoCode: \"ID\"\r\n },\r\n {\r\n country: \"Iran, Islamic Republic Of\",\r\n isoCode: \"IR\"\r\n },\r\n {\r\n country: \"Iraq\",\r\n isoCode: \"IQ\"\r\n },\r\n {\r\n country: \"Ireland\",\r\n isoCode: \"IE\"\r\n },\r\n {\r\n country: \"Israel\",\r\n isoCode: \"IL\"\r\n },\r\n {\r\n country: \"Italy\",\r\n isoCode: \"IT\"\r\n },\r\n {\r\n country: \"Jamaica\",\r\n isoCode: \"JM\"\r\n },\r\n {\r\n country: \"Japan\",\r\n isoCode: \"JP\"\r\n },\r\n {\r\n country: \"Jordan\",\r\n isoCode: \"JO\"\r\n },\r\n {\r\n country: \"Kazakstan\",\r\n isoCode: \"KZ\"\r\n },\r\n {\r\n country: \"Kenya\",\r\n isoCode: \"KE\"\r\n },\r\n {\r\n country: \"Kiribati\",\r\n isoCode: \"KI\"\r\n },\r\n {\r\n country: \"Korea, Democratic People's Republic Of\",\r\n isoCode: \"KP\"\r\n },\r\n {\r\n country: \"Korea, Republic Of\",\r\n isoCode: \"KR\"\r\n },\r\n {\r\n country: \"Kosovo\",\r\n isoCode: \"KV\"\r\n },\r\n {\r\n country: \"Kuwait\",\r\n isoCode: \"KW\"\r\n },\r\n {\r\n country: \"Kyrgyzstan\",\r\n isoCode: \"KG\"\r\n },\r\n {\r\n country: \"Lao People's Democratic Republic\",\r\n isoCode: \"LA\"\r\n },\r\n {\r\n country: \"Latvia\",\r\n isoCode: \"LV\"\r\n },\r\n {\r\n country: \"Lebanon\",\r\n isoCode: \"LB\"\r\n },\r\n {\r\n country: \"Lesotho\",\r\n isoCode: \"LS\"\r\n },\r\n {\r\n country: \"Liberia\",\r\n isoCode: \"LR\"\r\n },\r\n {\r\n country: \"Libyan Arab Jamahiriya\",\r\n isoCode: \"LY\"\r\n },\r\n {\r\n country: \"Liechtenstein\",\r\n isoCode: \"LI\"\r\n },\r\n {\r\n country: \"Lithuania\",\r\n isoCode: \"LT\"\r\n },\r\n {\r\n country: \"Luxembourg\",\r\n isoCode: \"LU\"\r\n },\r\n {\r\n country: \"Macau\",\r\n isoCode: \"MO\"\r\n },\r\n {\r\n country: \"Macedonia, The Former Yugoslav Republic Of\",\r\n isoCode: \"MK\"\r\n },\r\n {\r\n country: \"Madagascar\",\r\n isoCode: \"MG\"\r\n },\r\n {\r\n country: \"Malawi\",\r\n isoCode: \"MW\"\r\n },\r\n {\r\n country: \"Malaysia\",\r\n isoCode: \"MY\"\r\n },\r\n {\r\n country: \"Maldives\",\r\n isoCode: \"MV\"\r\n },\r\n {\r\n country: \"Mali\",\r\n isoCode: \"ML\"\r\n },\r\n {\r\n country: \"Malta\",\r\n isoCode: \"MT\"\r\n },\r\n {\r\n country: \"Marshall Islands\",\r\n isoCode: \"MH\"\r\n },\r\n {\r\n country: \"Martinique\",\r\n isoCode: \"MQ\"\r\n },\r\n {\r\n country: \"Mauritania\",\r\n isoCode: \"MR\"\r\n },\r\n {\r\n country: \"Mauritius\",\r\n isoCode: \"MU\"\r\n },\r\n {\r\n country: \"Mayotte\",\r\n isoCode: \"YT\"\r\n },\r\n {\r\n country: \"Mexico\",\r\n isoCode: \"MX\"\r\n },\r\n {\r\n country: \"Micronesia, Federated States Of\",\r\n isoCode: \"FM\"\r\n },\r\n {\r\n country: \"Moldova, Republic Of\",\r\n isoCode: \"MD\"\r\n },\r\n {\r\n country: \"Monaco\",\r\n isoCode: \"MC\"\r\n },\r\n {\r\n country: \"Mongolia\",\r\n isoCode: \"MN\"\r\n },\r\n {\r\n country: \"Montenegro\",\r\n isoCode: \"ME\"\r\n },\r\n {\r\n country: \"Montserrat\",\r\n isoCode: \"MS\"\r\n },\r\n {\r\n country: \"Morocco\",\r\n isoCode: \"MA\"\r\n },\r\n {\r\n country: \"Mozambique\",\r\n isoCode: \"MZ\"\r\n },\r\n {\r\n country: \"Myanmar\",\r\n isoCode: \"MM\"\r\n },\r\n {\r\n country: \"Namibia\",\r\n isoCode: \"NA\"\r\n },\r\n {\r\n country: \"Nauru\",\r\n isoCode: \"NR\"\r\n },\r\n {\r\n country: \"Nepal\",\r\n isoCode: \"NP\"\r\n },\r\n {\r\n country: \"Netherlands\",\r\n isoCode: \"NL\"\r\n },\r\n {\r\n country: \"Netherlands Antilles\",\r\n isoCode: \"AN\"\r\n },\r\n {\r\n country: \"New Caledonia\",\r\n isoCode: \"NC\"\r\n },\r\n {\r\n country: \"New Zealand\",\r\n isoCode: \"NZ\"\r\n },\r\n {\r\n country: \"Nicaragua\",\r\n isoCode: \"NI\"\r\n },\r\n {\r\n country: \"Niger\",\r\n isoCode: \"NE\"\r\n },\r\n {\r\n country: \"Nigeria\",\r\n isoCode: \"NG\"\r\n },\r\n {\r\n country: \"Niue\",\r\n isoCode: \"NU\"\r\n },\r\n {\r\n country: \"Norfolk Island\",\r\n isoCode: \"NF\"\r\n },\r\n {\r\n country: \"Northern Mariana Islands\",\r\n isoCode: \"MP\"\r\n },\r\n {\r\n country: \"Norway\",\r\n isoCode: \"NO\"\r\n },\r\n {\r\n country: \"Oman\",\r\n isoCode: \"OM\"\r\n },\r\n {\r\n country: \"Pakistan\",\r\n isoCode: \"PK\"\r\n },\r\n {\r\n country: \"Palau\",\r\n isoCode: \"PW\"\r\n },\r\n {\r\n country: \"Palestinian Territory, Occupied\",\r\n isoCode: \"PS\"\r\n },\r\n {\r\n country: \"Panama\",\r\n isoCode: \"PA\"\r\n },\r\n {\r\n country: \"Papua New Guinea\",\r\n isoCode: \"PG\"\r\n },\r\n {\r\n country: \"Paraguay\",\r\n isoCode: \"PY\"\r\n },\r\n {\r\n country: \"Peru\",\r\n isoCode: \"PE\"\r\n },\r\n {\r\n country: \"Philippines\",\r\n isoCode: \"PH\"\r\n },\r\n {\r\n country: \"Pitcairn\",\r\n isoCode: \"PN\"\r\n },\r\n {\r\n country: \"Poland\",\r\n isoCode: \"PL\"\r\n },\r\n {\r\n country: \"Portugal\",\r\n isoCode: \"PT\"\r\n },\r\n {\r\n country: \"Puerto Rico\",\r\n isoCode: \"PR\"\r\n },\r\n {\r\n country: \"Qatar\",\r\n isoCode: \"QA\"\r\n },\r\n {\r\n country: \"Reunion\",\r\n isoCode: \"RE\"\r\n },\r\n {\r\n country: \"Romania\",\r\n isoCode: \"RO\"\r\n },\r\n {\r\n country: \"Russian Federation\",\r\n isoCode: \"RU\"\r\n },\r\n {\r\n country: \"Rwanda\",\r\n isoCode: \"RW\"\r\n },\r\n {\r\n country: \"Saint Helena\",\r\n isoCode: \"SH\"\r\n },\r\n {\r\n country: \"Saint Kitts And Nevis\",\r\n isoCode: \"KN\"\r\n },\r\n {\r\n country: \"Saint Lucia\",\r\n isoCode: \"LC\"\r\n },\r\n {\r\n country: \"Saint Pierre And Miquelon\",\r\n isoCode: \"PM\"\r\n },\r\n {\r\n country: \"Saint Vincent And The Grenadines\",\r\n isoCode: \"VC\"\r\n },\r\n {\r\n country: \"Samoa\",\r\n isoCode: \"WS\"\r\n },\r\n {\r\n country: \"San Marino\",\r\n isoCode: \"SM\"\r\n },\r\n {\r\n country: \"Sao Tome And Principe\",\r\n isoCode: \"ST\"\r\n },\r\n {\r\n country: \"Saudi Arabia\",\r\n isoCode: \"SA\"\r\n },\r\n {\r\n country: \"Senegal\",\r\n isoCode: \"SN\"\r\n },\r\n {\r\n country: \"Serbia\",\r\n isoCode: \"RS\"\r\n },\r\n {\r\n country: \"Seychelles\",\r\n isoCode: \"SC\"\r\n },\r\n {\r\n country: \"Sierra Leone\",\r\n isoCode: \"SL\"\r\n },\r\n {\r\n country: \"Singapore\",\r\n isoCode: \"SG\"\r\n },\r\n {\r\n country: \"Slovakia\",\r\n isoCode: \"SK\"\r\n },\r\n {\r\n country: \"Slovenia\",\r\n isoCode: \"SI\"\r\n },\r\n {\r\n country: \"Solomon Islands\",\r\n isoCode: \"SB\"\r\n },\r\n {\r\n country: \"Somalia\",\r\n isoCode: \"SO\"\r\n },\r\n {\r\n country: \"South Africa\",\r\n isoCode: \"ZA\"\r\n },\r\n {\r\n country: \"South Georgia And The South Sandwich Islands\",\r\n isoCode: \"GS\"\r\n },\r\n {\r\n country: \"Spain\",\r\n isoCode: \"ES\"\r\n },\r\n {\r\n country: \"Sri Lanka\",\r\n isoCode: \"LK\"\r\n },\r\n {\r\n country: \"Sudan\",\r\n isoCode: \"SD\"\r\n },\r\n {\r\n country: \"Suriname\",\r\n isoCode: \"SR\"\r\n },\r\n {\r\n country: \"Svalbard And Jan Mayen\",\r\n isoCode: \"SJ\"\r\n },\r\n {\r\n country: \"Swaziland\",\r\n isoCode: \"SZ\"\r\n },\r\n {\r\n country: \"Sweden\",\r\n isoCode: \"SE\"\r\n },\r\n {\r\n country: \"Switzerland\",\r\n isoCode: \"CH\"\r\n },\r\n {\r\n country: \"Syrian Arab Republic\",\r\n isoCode: \"SY\"\r\n },\r\n {\r\n country: \"Taiwan, Province Of China\",\r\n isoCode: \"TW\"\r\n },\r\n {\r\n country: \"Tajikistan\",\r\n isoCode: \"TJ\"\r\n },\r\n {\r\n country: \"Tanzania, United Republic Of\",\r\n isoCode: \"TZ\"\r\n },\r\n {\r\n country: \"Thailand\",\r\n isoCode: \"TH\"\r\n },\r\n {\r\n country: \"Togo\",\r\n isoCode: \"TG\"\r\n },\r\n {\r\n country: \"Tokelau\",\r\n isoCode: \"TK\"\r\n },\r\n {\r\n country: \"Tonga\",\r\n isoCode: \"TO\"\r\n },\r\n {\r\n country: \"Trinidad And Tobago\",\r\n isoCode: \"TT\"\r\n },\r\n {\r\n country: \"Tunisia\",\r\n isoCode: \"TN\"\r\n },\r\n {\r\n country: \"Turkey\",\r\n isoCode: \"TR\"\r\n },\r\n {\r\n country: \"Turkmenistan\",\r\n isoCode: \"TM\"\r\n },\r\n {\r\n country: \"Turks And Caicos Islands\",\r\n isoCode: \"TC\"\r\n },\r\n {\r\n country: \"Tuvalu\",\r\n isoCode: \"TV\"\r\n },\r\n {\r\n country: \"Uganda\",\r\n isoCode: \"UG\"\r\n },\r\n {\r\n country: \"Ukraine\",\r\n isoCode: \"UA\"\r\n },\r\n {\r\n country: \"United Arab Emirates\",\r\n isoCode: \"AE\"\r\n },\r\n {\r\n country: \"United Kingdom\",\r\n isoCode: \"GB\"\r\n },\r\n {\r\n country: \"United States\",\r\n isoCode: \"US\"\r\n },\r\n {\r\n country: \"United States Minor Outlying Islands\",\r\n isoCode: \"UM\"\r\n },\r\n {\r\n country: \"Uruguay\",\r\n isoCode: \"UY\"\r\n },\r\n {\r\n country: \"Uzbekistan\",\r\n isoCode: \"UZ\"\r\n },\r\n {\r\n country: \"Vanuatu\",\r\n isoCode: \"VU\"\r\n },\r\n {\r\n country: \"Venezuela\",\r\n isoCode: \"VE\"\r\n },\r\n {\r\n country: \"VietNam\",\r\n isoCode: \"VN\"\r\n },\r\n {\r\n country: \"Virgin Islands, British\",\r\n isoCode: \"VG\"\r\n },\r\n {\r\n country: \"Virgin Islands, U.S.\",\r\n isoCode: \"VI\"\r\n },\r\n {\r\n country: \"Wallis And Futuna\",\r\n isoCode: \"WF\"\r\n },\r\n {\r\n country: \"Western Sahara\",\r\n isoCode: \"EH\"\r\n },\r\n {\r\n country: \"Yemen\",\r\n isoCode: \"YE\"\r\n },\r\n {\r\n country: \"Zambia\",\r\n isoCode: \"ZM\"\r\n },\r\n {\r\n country: \"Zimbabwe\",\r\n isoCode: \"ZW\"\r\n }\r\n ]);\r\n }\r\n}\r\n","import * as i1 from '@angular/cdk/scrolling';\nimport { CdkScrollable, CdkScrollableModule } from '@angular/cdk/scrolling';\nimport * as i5 from '@angular/common';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { InjectionToken, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, EventEmitter, Optional, Input, Output, ViewChild, QueryList, ContentChildren, ContentChild, NgModule } from '@angular/core';\nimport { MatCommonModule } from '@angular/material/core';\nimport * as i2 from '@angular/cdk/a11y';\nimport * as i4 from '@angular/cdk/bidi';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\nimport * as i3 from '@angular/cdk/platform';\nimport { Subject, fromEvent, merge } from 'rxjs';\nimport { filter, map, mapTo, takeUntil, distinctUntilChanged, take, startWith, debounceTime } from 'rxjs/operators';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Animations used by the Material drawers.\n * @docs-private\n */\nconst matDrawerAnimations = {\n /** Animation that slides a drawer in and out. */\n transformDrawer: trigger('transform', [\n // We remove the `transform` here completely, rather than setting it to zero, because:\n // 1. Having a transform can cause elements with ripples or an animated\n // transform to shift around in Chrome with an RTL layout (see #10023).\n // 2. 3d transforms causes text to appear blurry on IE and Edge.\n state('open, open-instant', style({\n 'transform': 'none',\n 'visibility': 'visible',\n })),\n state('void', style({\n // Avoids the shadow showing up when closed in SSR.\n 'box-shadow': 'none',\n 'visibility': 'hidden',\n })),\n transition('void => open-instant', animate('0ms')),\n transition('void <=> open, open-instant => void', animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)')),\n ]),\n};\n\n/**\n * Throws an exception when two MatDrawer are matching the same position.\n * @docs-private\n */\nfunction throwMatDuplicatedDrawerError(position) {\n throw Error(`A drawer was already declared for 'position=\"${position}\"'`);\n}\n/** Configures whether drawers should use auto sizing by default. */\nconst MAT_DRAWER_DEFAULT_AUTOSIZE = new InjectionToken('MAT_DRAWER_DEFAULT_AUTOSIZE', {\n providedIn: 'root',\n factory: MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY,\n});\n/**\n * Used to provide a drawer container to a drawer while avoiding circular references.\n * @docs-private\n */\nconst MAT_DRAWER_CONTAINER = new InjectionToken('MAT_DRAWER_CONTAINER');\n/** @docs-private */\nfunction MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY() {\n return false;\n}\nclass MatDrawerContent extends CdkScrollable {\n constructor(_changeDetectorRef, _container, elementRef, scrollDispatcher, ngZone) {\n super(elementRef, scrollDispatcher, ngZone);\n this._changeDetectorRef = _changeDetectorRef;\n this._container = _container;\n }\n ngAfterContentInit() {\n this._container._contentMarginChanges.subscribe(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n}\nMatDrawerContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatDrawerContent, deps: [{ token: i0.ChangeDetectorRef }, { token: forwardRef(() => MatDrawerContainer) }, { token: i0.ElementRef }, { token: i1.ScrollDispatcher }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\nMatDrawerContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.2.0-rc.0\", type: MatDrawerContent, selector: \"mat-drawer-content\", host: { properties: { \"style.margin-left.px\": \"_container._contentMargins.left\", \"style.margin-right.px\": \"_container._contentMargins.right\" }, classAttribute: \"mat-drawer-content\" }, providers: [\n {\n provide: CdkScrollable,\n useExisting: MatDrawerContent,\n },\n ], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatDrawerContent, decorators: [{\n type: Component,\n args: [{\n selector: 'mat-drawer-content',\n template: '',\n host: {\n 'class': 'mat-drawer-content',\n '[style.margin-left.px]': '_container._contentMargins.left',\n '[style.margin-right.px]': '_container._contentMargins.right',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: CdkScrollable,\n useExisting: MatDrawerContent,\n },\n ],\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: MatDrawerContainer, decorators: [{\n type: Inject,\n args: [forwardRef(() => MatDrawerContainer)]\n }] }, { type: i0.ElementRef }, { type: i1.ScrollDispatcher }, { type: i0.NgZone }]; } });\n/**\n * This component corresponds to a drawer that can be opened on the drawer container.\n */\nclass MatDrawer {\n /** The side that the drawer is attached to. */\n get position() {\n return this._position;\n }\n set position(value) {\n // Make sure we have a valid value.\n value = value === 'end' ? 'end' : 'start';\n if (value !== this._position) {\n // Static inputs in Ivy are set before the element is in the DOM.\n if (this._isAttached) {\n this._updatePositionInParent(value);\n }\n this._position = value;\n this.onPositionChanged.emit();\n }\n }\n /** Mode of the drawer; one of 'over', 'push' or 'side'. */\n get mode() {\n return this._mode;\n }\n set mode(value) {\n this._mode = value;\n this._updateFocusTrapState();\n this._modeChanged.next();\n }\n /** Whether the drawer can be closed with the escape key or by clicking on the backdrop. */\n get disableClose() {\n return this._disableClose;\n }\n set disableClose(value) {\n this._disableClose = coerceBooleanProperty(value);\n }\n /**\n * Whether the drawer should focus the first focusable element automatically when opened.\n * Defaults to false in when `mode` is set to `side`, otherwise defaults to `true`. If explicitly\n * enabled, focus will be moved into the sidenav in `side` mode as well.\n * @breaking-change 14.0.0 Remove boolean option from autoFocus. Use string or AutoFocusTarget\n * instead.\n */\n get autoFocus() {\n const value = this._autoFocus;\n // Note that usually we don't allow autoFocus to be set to `first-tabbable` in `side` mode,\n // because we don't know how the sidenav is being used, but in some cases it still makes\n // sense to do it. The consumer can explicitly set `autoFocus`.\n if (value == null) {\n if (this.mode === 'side') {\n return 'dialog';\n }\n else {\n return 'first-tabbable';\n }\n }\n return value;\n }\n set autoFocus(value) {\n if (value === 'true' || value === 'false' || value == null) {\n value = coerceBooleanProperty(value);\n }\n this._autoFocus = value;\n }\n /**\n * Whether the drawer is opened. We overload this because we trigger an event when it\n * starts or end.\n */\n get opened() {\n return this._opened;\n }\n set opened(value) {\n this.toggle(coerceBooleanProperty(value));\n }\n constructor(_elementRef, _focusTrapFactory, _focusMonitor, _platform, _ngZone, _interactivityChecker, _doc, _container) {\n this._elementRef = _elementRef;\n this._focusTrapFactory = _focusTrapFactory;\n this._focusMonitor = _focusMonitor;\n this._platform = _platform;\n this._ngZone = _ngZone;\n this._interactivityChecker = _interactivityChecker;\n this._doc = _doc;\n this._container = _container;\n this._elementFocusedBeforeDrawerWasOpened = null;\n /** Whether the drawer is initialized. Used for disabling the initial animation. */\n this._enableAnimations = false;\n this._position = 'start';\n this._mode = 'over';\n this._disableClose = false;\n this._opened = false;\n /** Emits whenever the drawer has started animating. */\n this._animationStarted = new Subject();\n /** Emits whenever the drawer is done animating. */\n this._animationEnd = new Subject();\n /** Current state of the sidenav animation. */\n this._animationState = 'void';\n /** Event emitted when the drawer open state is changed. */\n this.openedChange = \n // Note this has to be async in order to avoid some issues with two-bindings (see #8872).\n new EventEmitter(/* isAsync */ true);\n /** Event emitted when the drawer has been opened. */\n this._openedStream = this.openedChange.pipe(filter(o => o), map(() => { }));\n /** Event emitted when the drawer has started opening. */\n this.openedStart = this._animationStarted.pipe(filter(e => e.fromState !== e.toState && e.toState.indexOf('open') === 0), mapTo(undefined));\n /** Event emitted when the drawer has been closed. */\n this._closedStream = this.openedChange.pipe(filter(o => !o), map(() => { }));\n /** Event emitted when the drawer has started closing. */\n this.closedStart = this._animationStarted.pipe(filter(e => e.fromState !== e.toState && e.toState === 'void'), mapTo(undefined));\n /** Emits when the component is destroyed. */\n this._destroyed = new Subject();\n /** Event emitted when the drawer's position changes. */\n // tslint:disable-next-line:no-output-on-prefix\n this.onPositionChanged = new EventEmitter();\n /**\n * An observable that emits when the drawer mode changes. This is used by the drawer container to\n * to know when to when the mode changes so it can adapt the margins on the content.\n */\n this._modeChanged = new Subject();\n this.openedChange.subscribe((opened) => {\n if (opened) {\n if (this._doc) {\n this._elementFocusedBeforeDrawerWasOpened = this._doc.activeElement;\n }\n this._takeFocus();\n }\n else if (this._isFocusWithinDrawer()) {\n this._restoreFocus(this._openedVia || 'program');\n }\n });\n /**\n * Listen to `keydown` events outside the zone so that change detection is not run every\n * time a key is pressed. Instead we re-enter the zone only if the `ESC` key is pressed\n * and we don't have close disabled.\n */\n this._ngZone.runOutsideAngular(() => {\n fromEvent(this._elementRef.nativeElement, 'keydown')\n .pipe(filter(event => {\n return event.keyCode === ESCAPE && !this.disableClose && !hasModifierKey(event);\n }), takeUntil(this._destroyed))\n .subscribe(event => this._ngZone.run(() => {\n this.close();\n event.stopPropagation();\n event.preventDefault();\n }));\n });\n // We need a Subject with distinctUntilChanged, because the `done` event\n // fires twice on some browsers. See https://github.com/angular/angular/issues/24084\n this._animationEnd\n .pipe(distinctUntilChanged((x, y) => {\n return x.fromState === y.fromState && x.toState === y.toState;\n }))\n .subscribe((event) => {\n const { fromState, toState } = event;\n if ((toState.indexOf('open') === 0 && fromState === 'void') ||\n (toState === 'void' && fromState.indexOf('open') === 0)) {\n this.openedChange.emit(this._opened);\n }\n });\n }\n /**\n * Focuses the provided element. If the element is not focusable, it will add a tabIndex\n * attribute to forcefully focus it. The attribute is removed after focus is moved.\n * @param element The element to focus.\n */\n _forceFocus(element, options) {\n if (!this._interactivityChecker.isFocusable(element)) {\n element.tabIndex = -1;\n // The tabindex attribute should be removed to avoid navigating to that element again\n this._ngZone.runOutsideAngular(() => {\n const callback = () => {\n element.removeEventListener('blur', callback);\n element.removeEventListener('mousedown', callback);\n element.removeAttribute('tabindex');\n };\n element.addEventListener('blur', callback);\n element.addEventListener('mousedown', callback);\n });\n }\n element.focus(options);\n }\n /**\n * Focuses the first element that matches the given selector within the focus trap.\n * @param selector The CSS selector for the element to set focus to.\n */\n _focusByCssSelector(selector, options) {\n let elementToFocus = this._elementRef.nativeElement.querySelector(selector);\n if (elementToFocus) {\n this._forceFocus(elementToFocus, options);\n }\n }\n /**\n * Moves focus into the drawer. Note that this works even if\n * the focus trap is disabled in `side` mode.\n */\n _takeFocus() {\n if (!this._focusTrap) {\n return;\n }\n const element = this._elementRef.nativeElement;\n // When autoFocus is not on the sidenav, if the element cannot be focused or does\n // not exist, focus the sidenav itself so the keyboard navigation still works.\n // We need to check that `focus` is a function due to Universal.\n switch (this.autoFocus) {\n case false:\n case 'dialog':\n return;\n case true:\n case 'first-tabbable':\n this._focusTrap.focusInitialElementWhenReady().then(hasMovedFocus => {\n if (!hasMovedFocus && typeof this._elementRef.nativeElement.focus === 'function') {\n element.focus();\n }\n });\n break;\n case 'first-heading':\n this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role=\"heading\"]');\n break;\n default:\n this._focusByCssSelector(this.autoFocus);\n break;\n }\n }\n /**\n * Restores focus to the element that was originally focused when the drawer opened.\n * If no element was focused at that time, the focus will be restored to the drawer.\n */\n _restoreFocus(focusOrigin) {\n if (this.autoFocus === 'dialog') {\n return;\n }\n if (this._elementFocusedBeforeDrawerWasOpened) {\n this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened, focusOrigin);\n }\n else {\n this._elementRef.nativeElement.blur();\n }\n this._elementFocusedBeforeDrawerWasOpened = null;\n }\n /** Whether focus is currently within the drawer. */\n _isFocusWithinDrawer() {\n const activeEl = this._doc.activeElement;\n return !!activeEl && this._elementRef.nativeElement.contains(activeEl);\n }\n ngAfterViewInit() {\n this._isAttached = true;\n this._focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement);\n this._updateFocusTrapState();\n // Only update the DOM position when the sidenav is positioned at\n // the end since we project the sidenav before the content by default.\n if (this._position === 'end') {\n this._updatePositionInParent('end');\n }\n }\n ngAfterContentChecked() {\n // Enable the animations after the lifecycle hooks have run, in order to avoid animating\n // drawers that are open by default. When we're on the server, we shouldn't enable the\n // animations, because we don't want the drawer to animate the first time the user sees\n // the page.\n if (this._platform.isBrowser) {\n this._enableAnimations = true;\n }\n }\n ngOnDestroy() {\n if (this._focusTrap) {\n this._focusTrap.destroy();\n }\n this._anchor?.remove();\n this._anchor = null;\n this._animationStarted.complete();\n this._animationEnd.complete();\n this._modeChanged.complete();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /**\n * Open the drawer.\n * @param openedVia Whether the drawer was opened by a key press, mouse click or programmatically.\n * Used for focus management after the sidenav is closed.\n */\n open(openedVia) {\n return this.toggle(true, openedVia);\n }\n /** Close the drawer. */\n close() {\n return this.toggle(false);\n }\n /** Closes the drawer with context that the backdrop was clicked. */\n _closeViaBackdropClick() {\n // If the drawer is closed upon a backdrop click, we always want to restore focus. We\n // don't need to check whether focus is currently in the drawer, as clicking on the\n // backdrop causes blurs the active element.\n return this._setOpen(/* isOpen */ false, /* restoreFocus */ true, 'mouse');\n }\n /**\n * Toggle this drawer.\n * @param isOpen Whether the drawer should be open.\n * @param openedVia Whether the drawer was opened by a key press, mouse click or programmatically.\n * Used for focus management after the sidenav is closed.\n */\n toggle(isOpen = !this.opened, openedVia) {\n // If the focus is currently inside the drawer content and we are closing the drawer,\n // restore the focus to the initially focused element (when the drawer opened).\n if (isOpen && openedVia) {\n this._openedVia = openedVia;\n }\n const result = this._setOpen(isOpen, \n /* restoreFocus */ !isOpen && this._isFocusWithinDrawer(), this._openedVia || 'program');\n if (!isOpen) {\n this._openedVia = null;\n }\n return result;\n }\n /**\n * Toggles the opened state of the drawer.\n * @param isOpen Whether the drawer should open or close.\n * @param restoreFocus Whether focus should be restored on close.\n * @param focusOrigin Origin to use when restoring focus.\n */\n _setOpen(isOpen, restoreFocus, focusOrigin) {\n this._opened = isOpen;\n if (isOpen) {\n this._animationState = this._enableAnimations ? 'open' : 'open-instant';\n }\n else {\n this._animationState = 'void';\n if (restoreFocus) {\n this._restoreFocus(focusOrigin);\n }\n }\n this._updateFocusTrapState();\n return new Promise(resolve => {\n this.openedChange.pipe(take(1)).subscribe(open => resolve(open ? 'open' : 'close'));\n });\n }\n _getWidth() {\n return this._elementRef.nativeElement ? this._elementRef.nativeElement.offsetWidth || 0 : 0;\n }\n /** Updates the enabled state of the focus trap. */\n _updateFocusTrapState() {\n if (this._focusTrap) {\n // The focus trap is only enabled when the drawer is open in any mode other than side.\n this._focusTrap.enabled = this.opened && this.mode !== 'side';\n }\n }\n /**\n * Updates the position of the drawer in the DOM. We need to move the element around ourselves\n * when it's in the `end` position so that it comes after the content and the visual order\n * matches the tab order. We also need to be able to move it back to `start` if the sidenav\n * started off as `end` and was changed to `start`.\n */\n _updatePositionInParent(newPosition) {\n const element = this._elementRef.nativeElement;\n const parent = element.parentNode;\n if (newPosition === 'end') {\n if (!this._anchor) {\n this._anchor = this._doc.createComment('mat-drawer-anchor');\n parent.insertBefore(this._anchor, element);\n }\n parent.appendChild(element);\n }\n else if (this._anchor) {\n this._anchor.parentNode.insertBefore(element, this._anchor);\n }\n }\n}\nMatDrawer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatDrawer, deps: [{ token: i0.ElementRef }, { token: i2.FocusTrapFactory }, { token: i2.FocusMonitor }, { token: i3.Platform }, { token: i0.NgZone }, { token: i2.InteractivityChecker }, { token: DOCUMENT, optional: true }, { token: MAT_DRAWER_CONTAINER, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nMatDrawer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.2.0-rc.0\", type: MatDrawer, selector: \"mat-drawer\", inputs: { position: \"position\", mode: \"mode\", disableClose: \"disableClose\", autoFocus: \"autoFocus\", opened: \"opened\" }, outputs: { openedChange: \"openedChange\", _openedStream: \"opened\", openedStart: \"openedStart\", _closedStream: \"closed\", closedStart: \"closedStart\", onPositionChanged: \"positionChanged\" }, host: { attributes: { \"tabIndex\": \"-1\" }, listeners: { \"@transform.start\": \"_animationStarted.next($event)\", \"@transform.done\": \"_animationEnd.next($event)\" }, properties: { \"attr.align\": \"null\", \"class.mat-drawer-end\": \"position === \\\"end\\\"\", \"class.mat-drawer-over\": \"mode === \\\"over\\\"\", \"class.mat-drawer-push\": \"mode === \\\"push\\\"\", \"class.mat-drawer-side\": \"mode === \\\"side\\\"\", \"class.mat-drawer-opened\": \"opened\", \"@transform\": \"_animationState\" }, classAttribute: \"mat-drawer\" }, viewQueries: [{ propertyName: \"_content\", first: true, predicate: [\"content\"], descendants: true }], exportAs: [\"matDrawer\"], ngImport: i0, template: \"
\\r\\n \\r\\n
\\r\\n\", dependencies: [{ kind: \"directive\", type: i1.CdkScrollable, selector: \"[cdk-scrollable], [cdkScrollable]\" }], animations: [matDrawerAnimations.transformDrawer], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatDrawer, decorators: [{\n type: Component,\n args: [{ selector: 'mat-drawer', exportAs: 'matDrawer', animations: [matDrawerAnimations.transformDrawer], host: {\n 'class': 'mat-drawer',\n // must prevent the browser from aligning text based on value\n '[attr.align]': 'null',\n '[class.mat-drawer-end]': 'position === \"end\"',\n '[class.mat-drawer-over]': 'mode === \"over\"',\n '[class.mat-drawer-push]': 'mode === \"push\"',\n '[class.mat-drawer-side]': 'mode === \"side\"',\n '[class.mat-drawer-opened]': 'opened',\n 'tabIndex': '-1',\n '[@transform]': '_animationState',\n '(@transform.start)': '_animationStarted.next($event)',\n '(@transform.done)': '_animationEnd.next($event)',\n }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"
\\r\\n \\r\\n
\\r\\n\" }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i2.FocusTrapFactory }, { type: i2.FocusMonitor }, { type: i3.Platform }, { type: i0.NgZone }, { type: i2.InteractivityChecker }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }, { type: MatDrawerContainer, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_DRAWER_CONTAINER]\n }] }]; }, propDecorators: { position: [{\n type: Input\n }], mode: [{\n type: Input\n }], disableClose: [{\n type: Input\n }], autoFocus: [{\n type: Input\n }], opened: [{\n type: Input\n }], openedChange: [{\n type: Output\n }], _openedStream: [{\n type: Output,\n args: ['opened']\n }], openedStart: [{\n type: Output\n }], _closedStream: [{\n type: Output,\n args: ['closed']\n }], closedStart: [{\n type: Output\n }], onPositionChanged: [{\n type: Output,\n args: ['positionChanged']\n }], _content: [{\n type: ViewChild,\n args: ['content']\n }] } });\n/**\n * `` component.\n *\n * This is the parent component to one or two ``s that validates the state internally\n * and coordinates the backdrop and content styling.\n */\nclass MatDrawerContainer {\n /** The drawer child with the `start` position. */\n get start() {\n return this._start;\n }\n /** The drawer child with the `end` position. */\n get end() {\n return this._end;\n }\n /**\n * Whether to automatically resize the container whenever\n * the size of any of its drawers changes.\n *\n * **Use at your own risk!** Enabling this option can cause layout thrashing by measuring\n * the drawers on every change detection cycle. Can be configured globally via the\n * `MAT_DRAWER_DEFAULT_AUTOSIZE` token.\n */\n get autosize() {\n return this._autosize;\n }\n set autosize(value) {\n this._autosize = coerceBooleanProperty(value);\n }\n /**\n * Whether the drawer container should have a backdrop while one of the sidenavs is open.\n * If explicitly set to `true`, the backdrop will be enabled for drawers in the `side`\n * mode as well.\n */\n get hasBackdrop() {\n if (this._backdropOverride == null) {\n return !this._start || this._start.mode !== 'side' || !this._end || this._end.mode !== 'side';\n }\n return this._backdropOverride;\n }\n set hasBackdrop(value) {\n this._backdropOverride = value == null ? null : coerceBooleanProperty(value);\n }\n /** Reference to the CdkScrollable instance that wraps the scrollable content. */\n get scrollable() {\n return this._userContent || this._content;\n }\n constructor(_dir, _element, _ngZone, _changeDetectorRef, viewportRuler, defaultAutosize = false, _animationMode) {\n this._dir = _dir;\n this._element = _element;\n this._ngZone = _ngZone;\n this._changeDetectorRef = _changeDetectorRef;\n this._animationMode = _animationMode;\n /** Drawers that belong to this container. */\n this._drawers = new QueryList();\n /** Event emitted when the drawer backdrop is clicked. */\n this.backdropClick = new EventEmitter();\n /** Emits when the component is destroyed. */\n this._destroyed = new Subject();\n /** Emits on every ngDoCheck. Used for debouncing reflows. */\n this._doCheckSubject = new Subject();\n /**\n * Margins to be applied to the content. These are used to push / shrink the drawer content when a\n * drawer is open. We use margin rather than transform even for push mode because transform breaks\n * fixed position elements inside of the transformed element.\n */\n this._contentMargins = { left: null, right: null };\n this._contentMarginChanges = new Subject();\n // If a `Dir` directive exists up the tree, listen direction changes\n // and update the left/right properties to point to the proper start/end.\n if (_dir) {\n _dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._validateDrawers();\n this.updateContentMargins();\n });\n }\n // Since the minimum width of the sidenav depends on the viewport width,\n // we need to recompute the margins if the viewport changes.\n viewportRuler\n .change()\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => this.updateContentMargins());\n this._autosize = defaultAutosize;\n }\n ngAfterContentInit() {\n this._allDrawers.changes\n .pipe(startWith(this._allDrawers), takeUntil(this._destroyed))\n .subscribe((drawer) => {\n this._drawers.reset(drawer.filter(item => !item._container || item._container === this));\n this._drawers.notifyOnChanges();\n });\n this._drawers.changes.pipe(startWith(null)).subscribe(() => {\n this._validateDrawers();\n this._drawers.forEach((drawer) => {\n this._watchDrawerToggle(drawer);\n this._watchDrawerPosition(drawer);\n this._watchDrawerMode(drawer);\n });\n if (!this._drawers.length ||\n this._isDrawerOpen(this._start) ||\n this._isDrawerOpen(this._end)) {\n this.updateContentMargins();\n }\n this._changeDetectorRef.markForCheck();\n });\n // Avoid hitting the NgZone through the debounce timeout.\n this._ngZone.runOutsideAngular(() => {\n this._doCheckSubject\n .pipe(debounceTime(10), // Arbitrary debounce time, less than a frame at 60fps\n takeUntil(this._destroyed))\n .subscribe(() => this.updateContentMargins());\n });\n }\n ngOnDestroy() {\n this._contentMarginChanges.complete();\n this._doCheckSubject.complete();\n this._drawers.destroy();\n this._destroyed.next();\n this._destroyed.complete();\n }\n /** Calls `open` of both start and end drawers */\n open() {\n this._drawers.forEach(drawer => drawer.open());\n }\n /** Calls `close` of both start and end drawers */\n close() {\n this._drawers.forEach(drawer => drawer.close());\n }\n /**\n * Recalculates and updates the inline styles for the content. Note that this should be used\n * sparingly, because it causes a reflow.\n */\n updateContentMargins() {\n // 1. For drawers in `over` mode, they don't affect the content.\n // 2. For drawers in `side` mode they should shrink the content. We do this by adding to the\n // left margin (for left drawer) or right margin (for right the drawer).\n // 3. For drawers in `push` mode the should shift the content without resizing it. We do this by\n // adding to the left or right margin and simultaneously subtracting the same amount of\n // margin from the other side.\n let left = 0;\n let right = 0;\n if (this._left && this._left.opened) {\n if (this._left.mode == 'side') {\n left += this._left._getWidth();\n }\n else if (this._left.mode == 'push') {\n const width = this._left._getWidth();\n left += width;\n right -= width;\n }\n }\n if (this._right && this._right.opened) {\n if (this._right.mode == 'side') {\n right += this._right._getWidth();\n }\n else if (this._right.mode == 'push') {\n const width = this._right._getWidth();\n right += width;\n left -= width;\n }\n }\n // If either `right` or `left` is zero, don't set a style to the element. This\n // allows users to specify a custom size via CSS class in SSR scenarios where the\n // measured widths will always be zero. Note that we reset to `null` here, rather\n // than below, in order to ensure that the types in the `if` below are consistent.\n left = left || null;\n right = right || null;\n if (left !== this._contentMargins.left || right !== this._contentMargins.right) {\n this._contentMargins = { left, right };\n // Pull back into the NgZone since in some cases we could be outside. We need to be careful\n // to do it only when something changed, otherwise we can end up hitting the zone too often.\n this._ngZone.run(() => this._contentMarginChanges.next(this._contentMargins));\n }\n }\n ngDoCheck() {\n // If users opted into autosizing, do a check every change detection cycle.\n if (this._autosize && this._isPushed()) {\n // Run outside the NgZone, otherwise the debouncer will throw us into an infinite loop.\n this._ngZone.runOutsideAngular(() => this._doCheckSubject.next());\n }\n }\n /**\n * Subscribes to drawer events in order to set a class on the main container element when the\n * drawer is open and the backdrop is visible. This ensures any overflow on the container element\n * is properly hidden.\n */\n _watchDrawerToggle(drawer) {\n drawer._animationStarted\n .pipe(filter((event) => event.fromState !== event.toState), takeUntil(this._drawers.changes))\n .subscribe((event) => {\n // Set the transition class on the container so that the animations occur. This should not\n // be set initially because animations should only be triggered via a change in state.\n if (event.toState !== 'open-instant' && this._animationMode !== 'NoopAnimations') {\n this._element.nativeElement.classList.add('mat-drawer-transition');\n }\n this.updateContentMargins();\n this._changeDetectorRef.markForCheck();\n });\n if (drawer.mode !== 'side') {\n drawer.openedChange\n .pipe(takeUntil(this._drawers.changes))\n .subscribe(() => this._setContainerClass(drawer.opened));\n }\n }\n /**\n * Subscribes to drawer onPositionChanged event in order to\n * re-validate drawers when the position changes.\n */\n _watchDrawerPosition(drawer) {\n if (!drawer) {\n return;\n }\n // NOTE: We need to wait for the microtask queue to be empty before validating,\n // since both drawers may be swapping positions at the same time.\n drawer.onPositionChanged.pipe(takeUntil(this._drawers.changes)).subscribe(() => {\n this._ngZone.onMicrotaskEmpty.pipe(take(1)).subscribe(() => {\n this._validateDrawers();\n });\n });\n }\n /** Subscribes to changes in drawer mode so we can run change detection. */\n _watchDrawerMode(drawer) {\n if (drawer) {\n drawer._modeChanged\n .pipe(takeUntil(merge(this._drawers.changes, this._destroyed)))\n .subscribe(() => {\n this.updateContentMargins();\n this._changeDetectorRef.markForCheck();\n });\n }\n }\n /** Toggles the 'mat-drawer-opened' class on the main 'mat-drawer-container' element. */\n _setContainerClass(isAdd) {\n const classList = this._element.nativeElement.classList;\n const className = 'mat-drawer-container-has-open';\n if (isAdd) {\n classList.add(className);\n }\n else {\n classList.remove(className);\n }\n }\n /** Validate the state of the drawer children components. */\n _validateDrawers() {\n this._start = this._end = null;\n // Ensure that we have at most one start and one end drawer.\n this._drawers.forEach(drawer => {\n if (drawer.position == 'end') {\n if (this._end != null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatDuplicatedDrawerError('end');\n }\n this._end = drawer;\n }\n else {\n if (this._start != null && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throwMatDuplicatedDrawerError('start');\n }\n this._start = drawer;\n }\n });\n this._right = this._left = null;\n // Detect if we're LTR or RTL.\n if (this._dir && this._dir.value === 'rtl') {\n this._left = this._end;\n this._right = this._start;\n }\n else {\n this._left = this._start;\n this._right = this._end;\n }\n }\n /** Whether the container is being pushed to the side by one of the drawers. */\n _isPushed() {\n return ((this._isDrawerOpen(this._start) && this._start.mode != 'over') ||\n (this._isDrawerOpen(this._end) && this._end.mode != 'over'));\n }\n _onBackdropClicked() {\n this.backdropClick.emit();\n this._closeModalDrawersViaBackdrop();\n }\n _closeModalDrawersViaBackdrop() {\n // Close all open drawers where closing is not disabled and the mode is not `side`.\n [this._start, this._end]\n .filter(drawer => drawer && !drawer.disableClose && this._canHaveBackdrop(drawer))\n .forEach(drawer => drawer._closeViaBackdropClick());\n }\n _isShowingBackdrop() {\n return ((this._isDrawerOpen(this._start) && this._canHaveBackdrop(this._start)) ||\n (this._isDrawerOpen(this._end) && this._canHaveBackdrop(this._end)));\n }\n _canHaveBackdrop(drawer) {\n return drawer.mode !== 'side' || !!this._backdropOverride;\n }\n _isDrawerOpen(drawer) {\n return drawer != null && drawer.opened;\n }\n}\nMatDrawerContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatDrawerContainer, deps: [{ token: i4.Directionality, optional: true }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.ViewportRuler }, { token: MAT_DRAWER_DEFAULT_AUTOSIZE }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nMatDrawerContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.2.0-rc.0\", type: MatDrawerContainer, selector: \"mat-drawer-container\", inputs: { autosize: \"autosize\", hasBackdrop: \"hasBackdrop\" }, outputs: { backdropClick: \"backdropClick\" }, host: { properties: { \"class.mat-drawer-container-explicit-backdrop\": \"_backdropOverride\" }, classAttribute: \"mat-drawer-container\" }, providers: [\n {\n provide: MAT_DRAWER_CONTAINER,\n useExisting: MatDrawerContainer,\n },\n ], queries: [{ propertyName: \"_content\", first: true, predicate: MatDrawerContent, descendants: true }, { propertyName: \"_allDrawers\", predicate: MatDrawer, descendants: true }], viewQueries: [{ propertyName: \"_userContent\", first: true, predicate: MatDrawerContent, descendants: true }], exportAs: [\"matDrawerContainer\"], ngImport: i0, template: \"
\\n\\n\\n\\n\\n\\n\\n \\n\\n\", styles: [\".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*=\\\"visibility: hidden\\\"]{display:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\"], dependencies: [{ kind: \"directive\", type: i5.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"component\", type: MatDrawerContent, selector: \"mat-drawer-content\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatDrawerContainer, decorators: [{\n type: Component,\n args: [{ selector: 'mat-drawer-container', exportAs: 'matDrawerContainer', host: {\n 'class': 'mat-drawer-container',\n '[class.mat-drawer-container-explicit-backdrop]': '_backdropOverride',\n }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n {\n provide: MAT_DRAWER_CONTAINER,\n useExisting: MatDrawerContainer,\n },\n ], template: \"
\\n\\n\\n\\n\\n\\n\\n \\n\\n\", styles: [\".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*=\\\"visibility: hidden\\\"]{display:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\"] }]\n }], ctorParameters: function () { return [{ type: i4.Directionality, decorators: [{\n type: Optional\n }] }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1.ViewportRuler }, { type: undefined, decorators: [{\n type: Inject,\n args: [MAT_DRAWER_DEFAULT_AUTOSIZE]\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [ANIMATION_MODULE_TYPE]\n }] }]; }, propDecorators: { _allDrawers: [{\n type: ContentChildren,\n args: [MatDrawer, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true,\n }]\n }], _content: [{\n type: ContentChild,\n args: [MatDrawerContent]\n }], _userContent: [{\n type: ViewChild,\n args: [MatDrawerContent]\n }], autosize: [{\n type: Input\n }], hasBackdrop: [{\n type: Input\n }], backdropClick: [{\n type: Output\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatSidenavContent extends MatDrawerContent {\n constructor(changeDetectorRef, container, elementRef, scrollDispatcher, ngZone) {\n super(changeDetectorRef, container, elementRef, scrollDispatcher, ngZone);\n }\n}\nMatSidenavContent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatSidenavContent, deps: [{ token: i0.ChangeDetectorRef }, { token: forwardRef(() => MatSidenavContainer) }, { token: i0.ElementRef }, { token: i1.ScrollDispatcher }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });\nMatSidenavContent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.2.0-rc.0\", type: MatSidenavContent, selector: \"mat-sidenav-content\", host: { properties: { \"style.margin-left.px\": \"_container._contentMargins.left\", \"style.margin-right.px\": \"_container._contentMargins.right\" }, classAttribute: \"mat-drawer-content mat-sidenav-content\" }, providers: [\n {\n provide: CdkScrollable,\n useExisting: MatSidenavContent,\n },\n ], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatSidenavContent, decorators: [{\n type: Component,\n args: [{\n selector: 'mat-sidenav-content',\n template: '',\n host: {\n 'class': 'mat-drawer-content mat-sidenav-content',\n '[style.margin-left.px]': '_container._contentMargins.left',\n '[style.margin-right.px]': '_container._contentMargins.right',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: CdkScrollable,\n useExisting: MatSidenavContent,\n },\n ],\n }]\n }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: MatSidenavContainer, decorators: [{\n type: Inject,\n args: [forwardRef(() => MatSidenavContainer)]\n }] }, { type: i0.ElementRef }, { type: i1.ScrollDispatcher }, { type: i0.NgZone }]; } });\nclass MatSidenav extends MatDrawer {\n constructor() {\n super(...arguments);\n this._fixedInViewport = false;\n this._fixedTopGap = 0;\n this._fixedBottomGap = 0;\n }\n /** Whether the sidenav is fixed in the viewport. */\n get fixedInViewport() {\n return this._fixedInViewport;\n }\n set fixedInViewport(value) {\n this._fixedInViewport = coerceBooleanProperty(value);\n }\n /**\n * The gap between the top of the sidenav and the top of the viewport when the sidenav is in fixed\n * mode.\n */\n get fixedTopGap() {\n return this._fixedTopGap;\n }\n set fixedTopGap(value) {\n this._fixedTopGap = coerceNumberProperty(value);\n }\n /**\n * The gap between the bottom of the sidenav and the bottom of the viewport when the sidenav is in\n * fixed mode.\n */\n get fixedBottomGap() {\n return this._fixedBottomGap;\n }\n set fixedBottomGap(value) {\n this._fixedBottomGap = coerceNumberProperty(value);\n }\n}\nMatSidenav.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatSidenav, deps: null, target: i0.ɵɵFactoryTarget.Component });\nMatSidenav.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.2.0-rc.0\", type: MatSidenav, selector: \"mat-sidenav\", inputs: { fixedInViewport: \"fixedInViewport\", fixedTopGap: \"fixedTopGap\", fixedBottomGap: \"fixedBottomGap\" }, host: { attributes: { \"tabIndex\": \"-1\" }, properties: { \"attr.align\": \"null\", \"class.mat-drawer-end\": \"position === \\\"end\\\"\", \"class.mat-drawer-over\": \"mode === \\\"over\\\"\", \"class.mat-drawer-push\": \"mode === \\\"push\\\"\", \"class.mat-drawer-side\": \"mode === \\\"side\\\"\", \"class.mat-drawer-opened\": \"opened\", \"class.mat-sidenav-fixed\": \"fixedInViewport\", \"style.top.px\": \"fixedInViewport ? fixedTopGap : null\", \"style.bottom.px\": \"fixedInViewport ? fixedBottomGap : null\" }, classAttribute: \"mat-drawer mat-sidenav\" }, exportAs: [\"matSidenav\"], usesInheritance: true, ngImport: i0, template: \"
\\r\\n \\r\\n
\\r\\n\", dependencies: [{ kind: \"directive\", type: i1.CdkScrollable, selector: \"[cdk-scrollable], [cdkScrollable]\" }], animations: [matDrawerAnimations.transformDrawer], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatSidenav, decorators: [{\n type: Component,\n args: [{ selector: 'mat-sidenav', exportAs: 'matSidenav', animations: [matDrawerAnimations.transformDrawer], host: {\n 'class': 'mat-drawer mat-sidenav',\n 'tabIndex': '-1',\n // must prevent the browser from aligning text based on value\n '[attr.align]': 'null',\n '[class.mat-drawer-end]': 'position === \"end\"',\n '[class.mat-drawer-over]': 'mode === \"over\"',\n '[class.mat-drawer-push]': 'mode === \"push\"',\n '[class.mat-drawer-side]': 'mode === \"side\"',\n '[class.mat-drawer-opened]': 'opened',\n '[class.mat-sidenav-fixed]': 'fixedInViewport',\n '[style.top.px]': 'fixedInViewport ? fixedTopGap : null',\n '[style.bottom.px]': 'fixedInViewport ? fixedBottomGap : null',\n }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: \"
\\r\\n \\r\\n
\\r\\n\" }]\n }], propDecorators: { fixedInViewport: [{\n type: Input\n }], fixedTopGap: [{\n type: Input\n }], fixedBottomGap: [{\n type: Input\n }] } });\nclass MatSidenavContainer extends MatDrawerContainer {\n}\nMatSidenavContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatSidenavContainer, deps: null, target: i0.ɵɵFactoryTarget.Component });\nMatSidenavContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.2.0-rc.0\", type: MatSidenavContainer, selector: \"mat-sidenav-container\", host: { properties: { \"class.mat-drawer-container-explicit-backdrop\": \"_backdropOverride\" }, classAttribute: \"mat-drawer-container mat-sidenav-container\" }, providers: [\n {\n provide: MAT_DRAWER_CONTAINER,\n useExisting: MatSidenavContainer,\n },\n ], queries: [{ propertyName: \"_content\", first: true, predicate: MatSidenavContent, descendants: true }, { propertyName: \"_allDrawers\", predicate: MatSidenav, descendants: true }], exportAs: [\"matSidenavContainer\"], usesInheritance: true, ngImport: i0, template: \"
\\n\\n\\n\\n\\n\\n\\n \\n\\n\", styles: [\".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*=\\\"visibility: hidden\\\"]{display:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\"], dependencies: [{ kind: \"directive\", type: i5.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"component\", type: MatSidenavContent, selector: \"mat-sidenav-content\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatSidenavContainer, decorators: [{\n type: Component,\n args: [{ selector: 'mat-sidenav-container', exportAs: 'matSidenavContainer', host: {\n 'class': 'mat-drawer-container mat-sidenav-container',\n '[class.mat-drawer-container-explicit-backdrop]': '_backdropOverride',\n }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n {\n provide: MAT_DRAWER_CONTAINER,\n useExisting: MatSidenavContainer,\n },\n ], template: \"
\\n\\n\\n\\n\\n\\n\\n \\n\\n\", styles: [\".mat-drawer-container{position:relative;z-index:1;box-sizing:border-box;-webkit-overflow-scrolling:touch;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}.cdk-high-contrast-active .mat-drawer-backdrop{opacity:.5}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}.cdk-high-contrast-active .mat-drawer,.cdk-high-contrast-active [dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}.cdk-high-contrast-active [dir=rtl] .mat-drawer,.cdk-high-contrast-active .mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer{transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer[style*=\\\"visibility: hidden\\\"]{display:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}.mat-sidenav-fixed{position:fixed}\"] }]\n }], propDecorators: { _allDrawers: [{\n type: ContentChildren,\n args: [MatSidenav, {\n // We need to use `descendants: true`, because Ivy will no longer match\n // indirect descendants if it's left as false.\n descendants: true,\n }]\n }], _content: [{\n type: ContentChild,\n args: [MatSidenavContent]\n }] } });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatSidenavModule {\n}\nMatSidenavModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatSidenavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nMatSidenavModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatSidenavModule, declarations: [MatDrawer,\n MatDrawerContainer,\n MatDrawerContent,\n MatSidenav,\n MatSidenavContainer,\n MatSidenavContent], imports: [CommonModule, MatCommonModule, CdkScrollableModule], exports: [CdkScrollableModule,\n MatCommonModule,\n MatDrawer,\n MatDrawerContainer,\n MatDrawerContent,\n MatSidenav,\n MatSidenavContainer,\n MatSidenavContent] });\nMatSidenavModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatSidenavModule, imports: [CommonModule, MatCommonModule, CdkScrollableModule, CdkScrollableModule,\n MatCommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.0-rc.0\", ngImport: i0, type: MatSidenavModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule, MatCommonModule, CdkScrollableModule],\n exports: [\n CdkScrollableModule,\n MatCommonModule,\n MatDrawer,\n MatDrawerContainer,\n MatDrawerContent,\n MatSidenav,\n MatSidenavContainer,\n MatSidenavContent,\n ],\n declarations: [\n MatDrawer,\n MatDrawerContainer,\n MatDrawerContent,\n MatSidenav,\n MatSidenavContainer,\n MatSidenavContent,\n ],\n }]\n }] });\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_DRAWER_DEFAULT_AUTOSIZE, MAT_DRAWER_DEFAULT_AUTOSIZE_FACTORY, MatDrawer, MatDrawerContainer, MatDrawerContent, MatSidenav, MatSidenavContainer, MatSidenavContent, MatSidenavModule, matDrawerAnimations, throwMatDuplicatedDrawerError };\n"],"x_google_ignoreList":[45]}