{"version":3,"file":"main.7760b6b37873aa56.js","mappings":";;;;;;;;;;;;;;;;AAAA,CAEA;;AACO,IAAMO,UAAU,GAAGP,4DAAO,CAAC,YAAD,EAAe,CAC9CC,+DAAU,CAAC,QAAD,EAAW,CACnBE,0DAAK,CACH,gBADG,EAEHD,0DAAK,CAAC;AAAEM,UAAQ,EAAE,UAAZ;AAAwBC,MAAI,EAAE,CAA9B;AAAiCC,OAAK,EAAE,MAAxC;AAAgDC,cAAY,EAAE,MAA9D;AAAsEC,aAAW,EAAE,MAAnF;AAA2FC,SAAO,EAAE;AAApG,CAAD,CAFF,EAGH;AACEC,UAAQ,EAAE;AADZ,CAHG,CADc,EAQnBX,0DAAK,CAAC,QAAD,EAAWD,0DAAK,CAAC;AAAEa,WAAS,EAAE,mBAAb;AAAkCF,SAAO,EAAE;AAA3C,CAAD,CAAhB,EAAkE;AAAEC,UAAQ,EAAE;AAAZ,CAAlE,CARc,EAUnBV,0DAAK,CAAC,CACJD,0DAAK,CACH,QADG,EAEH,CACED,0DAAK,CAAC;AAAEa,WAAS,EAAE;AAAb,CAAD,CADP,EAEET,4DAAO,CAAC,YAAD,EAAeJ,0DAAK,CAAC;AAAEW,SAAO,EAAE,CAAX;AAAcE,WAAS,EAAE;AAAzB,CAAD,CAApB,CAFT,CAFG,EAMH;AAAED,UAAQ,EAAE;AAAZ,CANG,CADD,EASJX,0DAAK,CAAC,QAAD,EAAW,CAACG,4DAAO,CAAC,YAAD,EAAeJ,0DAAK,CAAC;AAAEW,SAAO,EAAE,CAAX;AAAcE,WAAS,EAAE;AAAzB,CAAD,CAApB,CAAR,EAA4EV,iEAAY,EAAxF,CAAX,EAAwG;AAC3GS,UAAQ,EAAE;AADiG,CAAxG,CATD,CAAD,CAVc,CAAX,CADoC,CAAf,CAA1B,EA2BP;;AACO,IAAME,MAAM,GAAGhB,4DAAO,CAAC,QAAD,EAAW,CACtCC,+DAAU,CAAC,SAAD,EAAY,CACpBE,0DAAK,CACH,gBADG,EAEH,CACED,0DAAK,CAAC;AACJM,UAAQ,EAAE,UADN;AAEJC,MAAI,EAAE,CAFF;AAGJC,OAAK,EAAE,MAHH;AAIJC,cAAY,EAAE,MAJV;AAKJC,aAAW,EAAE,MALT;AAMJC,SAAO,EAAE,CANL;AAOJE,WAAS,EAAE;AAPP,CAAD,CADP,CAFG,EAaH;AAAED,UAAQ,EAAE;AAAZ,CAbG,CADe,EAgBpBX,0DAAK,CACH,QADG,EAEH,CACEG,4DAAO,CACL,YADK,EAELJ,0DAAK,CAAC;AAAEW,SAAO,EAAE,CAAX;AAAcF,cAAY,EAAE,MAA5B;AAAoCC,aAAW,EAAE,MAAjD;AAAyDG,WAAS,EAAE;AAApE,CAAD,CAFA,CADT,CAFG,EAQH;AACED,UAAQ,EAAE;AADZ,CARG,CAhBe,CAAZ,CAD4B,CAAX,CAAtB,EAgCP;;AACO,IAAMG,MAAM,GAAGjB,4DAAO,CAAC,QAAD,EAAW,CACtCC,+DAAU,CAAC,SAAD,EAAY,CACpBE,0DAAK,CACH,gBADG,EAEH,CACED,0DAAK,CAAC;AACJM,UAAQ,EAAE,UADN;AAEJC,MAAI,EAAE,CAFF;AAGJC,OAAK,EAAE,MAHH;AAIJC,cAAY,EAAE,MAJV;AAKJC,aAAW,EAAE,MALT;AAMJC,SAAO,EAAE;AANL,CAAD,CADP,CAFG,EAYH;AAAEC,UAAQ,EAAE;AAAZ,CAZG,CADe,EAepBX,0DAAK,CAAC,QAAD,EAAW,CAACG,4DAAO,CAAC,YAAD,EAAeJ,0DAAK,CAAC;AAAEW,SAAO,EAAE,CAAX;AAAcF,cAAY,EAAE,MAA5B;AAAoCC,aAAW,EAAE;AAAjD,CAAD,CAApB,CAAR,CAAX,EAAsG;AACzGE,UAAQ,EAAE;AAD+F,CAAtG,CAfe,CAAZ,CAD4B,CAAX,CAAtB;;;;;;;;;;;;;;;;;;;;;;;;AC/DP;AACA;AACA;AAEA;AACA;;AAMO,IAAMU,gBAAb;AAAA;AAAA;;;mBAAaA;AAAgB;;;QAAhBA;;;YAHF,CAACN,yDAAD,EAAeC,kEAAf,EAAiCC,uDAAjC,EAA8CC,+DAA9C,EAAmEC,6EAAnE,EAAyFC,qEAAzF,GACCL,yDAAYA,EAAEC,kEAAgBA,EAAEC,uDAAWA,EAAEC,+DAAmBA,EAAEC,6EAAoBA,EAAEC,qEAAeA;;;;sHAEtGC,kBAAgB;AAAAC,cAHjBP,yDAGiB,EAHHC,kEAGG,EAHeC,uDAGf,EAH4BC,+DAG5B,EAHiDC,6EAGjD,EAHuEC,qEAGvE;AAHsFG,cACvGR,yDADuG,EACzFC,kEADyF,EACvEC,uDADuE,EAC1DC,+DAD0D,EACrCC,6EADqC,EACfC,qEADe;AAGtF;AAFsF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACkBjGI,IAAAA,4DAAAA;AAAiGA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAAUC,wCAAV;AAAoC,KAApC;AAAsCD,IAAAA,0DAAAA;;;;;;AACvIA,IAAAA,4DAAAA;AAAuFA,IAAAA,oDAAAA;AAAQA,IAAAA,0DAAAA;;;;;;;;;;AAHrGA,IAAAA,4DAAAA;AACEA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AAAAA,IAAAA,wDAAAA;AACAA,IAAAA,oDAAAA;AAAAA,IAAAA,wDAAAA;AACAA,IAAAA,oDAAAA;AAAAA,IAAAA,4DAAAA;AACAA,IAAAA,oDAAAA;AAAAA,IAAAA,0DAAAA;AACFA,IAAAA,oDAAAA;AAAAA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;;;;;AALgFA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AACTA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAC3DA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,uCAA8B,WAA9B,EAA8BA,6DAAAA,QAA9B;;;;;;AAPhBA,IAAAA,4DAAAA;AACEA,IAAAA,4DAAAA;AAAcA,IAAAA,oDAAAA;AAAIA,IAAAA,0DAAAA;AAClBA,IAAAA,wDAAAA;AAUFA,IAAAA,0DAAAA;;;;AAZIA,IAAAA,wDAAAA;;;;;;;;AAkBMA,IAAAA,4DAAAA;AAA6GA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAAUE,wCAAV;AAAkC,KAAlC;AAAoCF,IAAAA,0DAAAA;;;;;;AACjJA,IAAAA,4DAAAA;AAAuFA,IAAAA,oDAAAA;AAAQA,IAAAA,0DAAAA;;;;;;;;;;AAHrGA,IAAAA,4DAAAA;AACEA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AAAAA,IAAAA,wDAAAA;AACAA,IAAAA,oDAAAA;AAAAA,IAAAA,wDAAAA;AACAA,IAAAA,oDAAAA;AAAAA,IAAAA,4DAAAA;AACAA,IAAAA,oDAAAA;AAAAA,IAAAA,0DAAAA;AACFA,IAAAA,oDAAAA;AAAAA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;;;;;AAL4FA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AACrBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAC3DA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,sCAA4B,WAA5B,EAA4BA,6DAAAA,QAA5B;;;;;;AAPhBA,IAAAA,4DAAAA;AACEA,IAAAA,4DAAAA;AAAcA,IAAAA,oDAAAA;AAAEA,IAAAA,0DAAAA;AAChBA,IAAAA,wDAAAA;AAUFA,IAAAA,0DAAAA;;;;AAZIA,IAAAA,wDAAAA;;;;;;;;AAkBMA,IAAAA,4DAAAA;AAA6GA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAAUG,0CAAV;AAAoC,KAApC;AAAsCH,IAAAA,0DAAAA;;;;;;AACnJA,IAAAA,4DAAAA;AAAuFA,IAAAA,oDAAAA;AAAQA,IAAAA,0DAAAA;;;;;;;;;;AAHrGA,IAAAA,4DAAAA;AACEA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AAAAA,IAAAA,wDAAAA;AACAA,IAAAA,oDAAAA;AAAAA,IAAAA,wDAAAA;AACAA,IAAAA,oDAAAA;AAAAA,IAAAA,4DAAAA;AACAA,IAAAA,oDAAAA;AAAAA,IAAAA,0DAAAA;AACFA,IAAAA,oDAAAA;AAAAA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;;;;;AAL4FA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AACrBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAC3DA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,wCAA8B,WAA9B,EAA8BA,6DAAAA,QAA9B;;;;;;AAPhBA,IAAAA,4DAAAA;AACEA,IAAAA,4DAAAA;AAAcA,IAAAA,oDAAAA;AAAIA,IAAAA,0DAAAA;AAClBA,IAAAA,wDAAAA;AAUFA,IAAAA,0DAAAA;;;;AAZIA,IAAAA,wDAAAA;;;;;;;;AAmBMA,IAAAA,4DAAAA;AAA6GA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAAUI,0CAAV;AAAoC,KAApC;AAAsCJ,IAAAA,0DAAAA;;;;;;AACnJA,IAAAA,4DAAAA;AAAuFA,IAAAA,oDAAAA;AAAQA,IAAAA,0DAAAA;;;;;;;;;;AAJrGA,IAAAA,4DAAAA;AACEA,IAAAA,uDAAAA;AACAA,IAAAA,4DAAAA;AACIA,IAAAA,oDAAAA;AAAAA,IAAAA,wDAAAA;AACAA,IAAAA,oDAAAA;AAAAA,IAAAA,wDAAAA;AACAA,IAAAA,oDAAAA;AAAAA,IAAAA,4DAAAA;AACAA,IAAAA,oDAAAA;AAAAA,IAAAA,0DAAAA;AACFA,IAAAA,oDAAAA;AAAAA,IAAAA,0DAAAA;AACJA,IAAAA,0DAAAA;;;;;AAL4FA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AACrBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAC3DA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,wCAA8B,WAA9B,EAA8BA,6DAAAA,QAA9B;;;;;;AARhBA,IAAAA,4DAAAA;AACEA,IAAAA,4DAAAA;AAAcA,IAAAA,oDAAAA;AAAIA,IAAAA,0DAAAA;AAClBA,IAAAA,wDAAAA;AAWFA,IAAAA,0DAAAA;;;;AAbIA,IAAAA,wDAAAA;;;;;;AC7CL,IAAMK,wBAAb;AAWE;AAAA;;AAVA;AACO,0BAA0B,KAA1B,CASP,CAPA;;AACQ,+BAAmC;AACzCC,iBAAW,EAAE,IAD4B,CACvB;;AADuB,KAAnC;AAMQ,GAXlB,CAaE;AACA;;AACA;;;;;;;AAfF;AAAA;AAAA,WAoBE,iBAAQ,CAACC,IAAD,EAAK;AAAA;;AACX,UAAMC,SAAS,GAAGC,QAAQ,CAACC,aAAT,CAAuB,UAAvB,CAAlB;AACAF,eAAS,CAACjC,KAAV,CAAgBM,QAAhB,GAA2B,OAA3B;AACA2B,eAAS,CAACG,KAAV,GAAkBJ,IAAlB;AACAE,cAAQ,CAACG,IAAT,CAAcC,WAAd,CAA0BL,SAA1B;AACAA,eAAS,CAACM,KAAV;AACAN,eAAS,CAACO,MAAV;AACAN,cAAQ,CAACO,WAAT,CAAqB,MAArB;AACAP,cAAQ,CAACG,IAAT,CAAcK,WAAd,CAA0BT,SAA1B;AACAU,gBAAU,CAAC,YAAK;AACd,aAAI,CAACC,cAAL,GAAsB,KAAtB;AACD,OAFS,EAEP,GAFO,CAAV;AAGA,WAAKA,cAAL,GAAsB,IAAtB;AACD,KAjCH,CAmCE;AACA;;AACA;;;;AArCF;AAAA;AAAA,WAwCE,iBAAQ;AACN;AACA,WAAKC,WAAL,GAAgBC,gCAAQ,KAAKC,mBAAb,GAAqC,KAAKF,WAA1C,CAAhB;AACD;AA3CH;AAAA;;;mBAAaf;AAAwB;;;QAAxBA;AAAwBkB;AAAAC;AAAAJ;AAAA;AAAAK;AAAAC;AAAAC;AAAAC;AAAAC;AAAA;;ADhBrC7B,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,0DAAAA;AAEAA,MAAAA,4DAAAA;AAEEA,MAAAA,wDAAAA;AAAA;AAAA;AAEDA,MAAAA,0DAAAA;AACHA,MAAAA,0DAAAA;AAGAA,MAAAA,0DAAAA;AAGAA,MAAAA,0DAAAA;AAGAA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAEEA,MAAAA,4DAAAA;AAAyBA,MAAAA,wDAAAA;AAAA;AAAA;AACvBA,MAAAA,wDAAAA;AAaAA,MAAAA,wDAAAA;AAaAA,MAAAA,wDAAAA;AAaAA,MAAAA,wDAAAA;AAcFA,MAAAA,0DAAAA;AAIAA,MAAAA,uDAAAA;AAEFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AAEFA,MAAAA,0DAAAA;;;;;;AA7EMA,MAAAA,uDAAAA;AAAAA,MAAAA,yDAAAA;AAWCA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAGwBA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AACIA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAaFA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAaEA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAaAA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAkBxBA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE/EX;AAEA;AACA;AAEA;AACA;;AAeO,IAAMiC,iBAAb;AAAA;AAAA;;;mBAAaA;AAAiB;;;QAAjBA;;;aAVA,CACT;AACEC,WAAO,EAAEF,8DADX;AAEEG,YAAQ,EAAE;AACRC,uBAAiB,EAAE,SAAnBA,iBAAmB;AAAA,eAAM,oKAAN;AAAA;AADX;AAFZ,GADS;AAOVtC,YARQ,CAACP,yDAAD,EAAeuC,iEAAf,EAA0BC,4DAA1B,EAA2ClC,iEAA3C,CAQR;;;;sHAGUoC,mBAAiB;AAAAI,mBAZbhC,0GAYa;AAZWP,cAC7BP,yDAD6B,EACfuC,iEADe,EACJC,4DADI,EACalC,iEADb,CAYX;AAXwCE,cAS1DM,0GAT0D;AAWxC;AAFM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBpC;AACA;;;;;;;;;;;;;;;;ACCIL,IAAAA,uDAAAA;;;;;AAA8DA,IAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAM1DA,IAAAA,4DAAAA;AAQEA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;;;;;AANEA,IAAAA,wDAAAA,mBAAa,SAAb,EAAaA,6DAAAA,oCAAb,EAAa,kBAAb,EAAa,sCAAb,EAAa,yBAAb,EAAaA,6DAAAA,sCAAb;AAKMA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,uCAAAA,6DAAAA,WAAAA,6DAAAA;;;;;;AAGRA,IAAAA,uDAAAA;;;;;AAGEA,IAAAA,wDAAAA;;;;;;AAhBJA,IAAAA,qEAAAA;AAEEA,IAAAA,wDAAAA;AAWAA,IAAAA,wDAAAA;AAMFA,IAAAA,mEAAAA;;;;;AAfKA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAWAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAhBPA,IAAAA,qEAAAA;AACEA,IAAAA,wDAAAA;AAoBFA,IAAAA,mEAAAA;;;;;AApBiCA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAuBjCA,IAAAA,4DAAAA;AAQEA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;;;;;AANEA,IAAAA,wDAAAA,kBAAa,SAAb,EAAaA,6DAAAA,mCAAb,EAAa,kBAAb,EAAa,qCAAb,EAAa,yBAAb,EAAaA,6DAAAA,qCAAb;AAKMA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,sCAAAA,6DAAAA,WAAAA,6DAAAA;;;;;;AAGRA,IAAAA,uDAAAA;;;;;AAAsEA,IAAAA,wDAAAA;;;;;;AAxCxEA,IAAAA,qEAAAA;AAEEA,IAAAA,wDAAAA;AAGAA,IAAAA,wDAAAA;AAwBAA,IAAAA,wDAAAA;AAWAA,IAAAA,wDAAAA;AACFA,IAAAA,mEAAAA;;;;;AAvCkCA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAGjBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AA0BZA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AASiCA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAGpCA,IAAAA,4DAAAA;AAQEA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;;;;;AANEA,IAAAA,wDAAAA,mBAAa,SAAb,EAAaA,6DAAAA,oCAAb,EAAa,kBAAb,EAAa,sCAAb,EAAa,yBAAb,EAAaA,6DAAAA,sCAAb;AAKMA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,uCAAAA,6DAAAA,WAAAA,6DAAAA;;;;;;AATVA,IAAAA,4DAAAA;AACEA,IAAAA,wDAAAA;AAUFA,IAAAA,0DAAAA;;;;;AARKA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AA9CPA,IAAAA,qEAAAA;AACEA,IAAAA,wDAAAA;AA0CAA,IAAAA,wDAAAA;AAYFA,IAAAA,mEAAAA;;;;;AAtDiCA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AA0CTA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAmBpBA,IAAAA,uDAAAA;;;;;AAAoEA,IAAAA,wDAAAA;;;;;;AAGpEA,IAAAA,4DAAAA;AAQEA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;;;;;AANEA,IAAAA,wDAAAA,mBAAa,SAAb,EAAaA,6DAAAA,oCAAb,EAAa,kBAAb,EAAa,sCAAb,EAAa,yBAAb,EAAaA,6DAAAA,sCAAb;AAKMA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,uCAAAA,6DAAAA,WAAAA,6DAAAA;;;;;;AAIRA,IAAAA,uDAAAA;;;;;AAGEA,IAAAA,wDAAAA;;;;;;AApBJA,IAAAA,qEAAAA;AAEEA,IAAAA,wDAAAA;AAGAA,IAAAA,wDAAAA;AAYAA,IAAAA,wDAAAA;AAMFA,IAAAA,mEAAAA;;;;;AArBwCA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAKnCA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAYAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAMHA,IAAAA,4DAAAA;AAQEA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;;;;;AANEA,IAAAA,wDAAAA,mBAAa,SAAb,EAAaA,6DAAAA,oCAAb,EAAa,kBAAb,EAAa,sCAAb,EAAa,yBAAb,EAAaA,6DAAAA,sCAAb;AAKMA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,uCAAAA,6DAAAA,WAAAA,6DAAAA;;;;;;AATVA,IAAAA,4DAAAA;AACEA,IAAAA,wDAAAA;AAUFA,IAAAA,0DAAAA;;;;;AARKA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AA5BPA,IAAAA,qEAAAA;AACEA,IAAAA,wDAAAA;AAwBAA,IAAAA,wDAAAA;AAYFA,IAAAA,mEAAAA;;;;;AApCiCA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAwBTA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;ADvEjB,IAAMwC,iBAAb;AAUE,6BAAoBC,kBAApB,EAAmEC,gBAAnE,EAAoG;AAAA;;AAAhF;AAA+C;AAPnE,kBAAS,UAAT;AAQE,SAAKC,eAAL,GAAuB,IAAIL,0CAAJ,EAAvB;AACD;;AAZH;AAAA;AAAA,WAcE,iBAAQ;AAAA;;AACN;AACA,WAAKM,IAAL,GAAY,KAAKA,IAAL,IAAa,KAAKF,gBAAL,CAAsBG,cAAtB,EAAzB,CAFM,CAIN;;AACA,WAAKH,gBAAL,CAAsBI,aAAtB,CAAoCC,IAApC,CAAyCR,0DAAS,CAAC,KAAKI,eAAN,CAAlD,EAA0EK,SAA1E,CAAoF,YAAK;AAEvF;AACA,aAAI,CAACJ,IAAL,GAAY,KAAI,CAACF,gBAAL,CAAsBG,cAAtB,EAAZ;;AAEA,aAAI,CAACJ,kBAAL,CAAwBQ,YAAxB;AACD,OAND;AAOD;AA1BH;AAAA;;;mBAAaT,mBAAiBxC,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,yFAAAA;AAAA;;;QAAjBwC;AAAiBjB;AAAAC;AAAA0B;AAAAN;AAAA;AAAAO;AAAAzB;AAAAC;AAAAC;AAAAC;AAAA;ACb9B7B,MAAAA,wDAAAA;AA2DAA,MAAAA,wDAAAA;;;;AA3DeA,MAAAA,wDAAAA;AA2DAA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3Df;AACA;AAEA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAEAsD,2HAAgC;AAChCC,kHAA6B;AAC7BC,uIAAoC;AAe7B,IAAMI,cAAb;AAAA;AAAA;;;mBAAaA;AAAc;;;QAAdA;;;YAZF,CAACrE,0DAAD,EAAe6D,0DAAf,EAA6BC,0EAAA,EAA7B,EAAyDxD,iEAAzD;;;;uHAYE+D,gBAAc;AAAAvB,mBATvBG,6FASuB,EARvBc,2HAQuB,EAPvBC,kHAOuB,EANvBC,uIAMuB,EALvBC,sHAKuB,EAJvBC,2IAIuB,EAHvBC,wFAGuB;AAHM7D,cATrBP,0DASqB,EATP6D,0DASO,EATKU,iEASL,EATmCjE,iEASnC,CAGN;AAZyDE,cACxEyC,6FADwE;AAYzD;AAXE;;;;;;;;;;;;;;;;;;;;;;;;;ACpB7B;AAGA;AACA;;;;AAUO,IAAMkC,eAAb;AAOE,2BAAoBC,OAApB,EACoBC,WADpB,EAC4C;AAAA;;AADxB;AACA;AAHZ,uBAA0B,EAA1B;AAIN,SAAKC,eAAL,GAAuB,IAAIvC,yCAAJ,EAAvB;AACA,SAAKwC,qBAAL,GAA6B,IAAIxC,yCAAJ,EAA7B;AACA,SAAKyC,cAAL,GAAsB,IAAIhB,iDAAJ,CAAoB,IAApB,CAAtB;AACD;;AAZH;AAAA;AAAA,SAcE,eAAiB;AACf,aAAO,KAAKgB,cAAL,CAAoBC,YAApB,EAAP;AACD;AAhBH;AAAA;AAAA,WAkBE,uBAAc;AACZ,aAAO,KAAKC,WAAZ;AACD;AApBH;AAAA;AAAA,WAsBE,yBAAgB,CAACC,WAAD,EAAsB;AACpC,WAAKD,WAAL,CAAiBE,IAAjB,CAAsBD,WAAtB;AACD;AAxBH;AAAA;AAAA,WA0BE,gBAAO;AACL,UAAI,KAAKD,WAAL,CAAiBG,MAAjB,GAA0B,CAA9B,EAAiC;AAC/B,aAAKH,WAAL,GAAmB,EAAnB;AACD;;AACD,UAAI,CAAC,KAAKL,WAAL,CAAiBS,UAAjB,EAAL,EAAoC;AAClC,aAAKC,gBAAL,CAAsBd,yEAAtB;AACA,aAAKc,gBAAL,CAAsBnB,qEAAtB;;AACA,aAAKY,cAAL,CAAoBQ,IAApB,CAAyB,EAAzB;;AACA;AACD;;AACD,UAAI,KAAKX,WAAL,CAAiBY,kBAAjB,CAAoCxB,kFAApC,CAAJ,EAAqE;AACnE,aAAKsB,gBAAL,CAAsBhB,iFAAtB;AACA,aAAKgB,gBAAL,CAAsBjB,uFAAtB;AACD;;AACD,UAAI,KAAKO,WAAL,CAAiBY,kBAAjB,CAAoCxB,wEAApC,CAAJ,EAA2D;AACzD,aAAKsB,gBAAL,CAAsBlB,gFAAtB;AACD;;AACD,UAAI,KAAKQ,WAAL,CAAiBY,kBAAjB,CAAoCxB,8EAApC,CAAJ,EAAiE;AAC/D,aAAKsB,gBAAL,CAAsBrB,oEAAtB;AACD;;AACD,UAAI,KAAKW,WAAL,CAAiBY,kBAAjB,CAAoCxB,6EAApC,KACA,KAAKY,WAAL,CAAiBY,kBAAjB,CAAoCxB,qFAApC,CADJ,EACwE;AACtE,aAAKsB,gBAAL,CAAsBpB,6EAAtB;AACD;;AACD,UAAI,KAAKU,WAAL,CAAiBkB,UAAjB,EAAJ,EAAmC;AAC/B,aAAKR,gBAAL,CAAsBnB,qEAAtB;AACH;;AAED,UAAI,KAAKS,WAAL,CAAiBY,kBAAjB,CAAoCxB,4EAApC,CAAJ,EAA+D;AAC7D,aAAKsB,gBAAL,CAAsBf,kFAAtB;AACD;;AAED,UAAI,KAAKK,WAAL,CAAiBY,kBAAjB,CAAoCxB,6EAApC,KACF,KAAKY,WAAL,CAAiBY,kBAAjB,CAAoCxB,qFAApC,CADF,EACsE;AACpE,aAAKsB,gBAAL,CAAsBb,sEAAtB;AACD;;AAED,WAAKM,cAAL,CAAoBQ,IAApB,CAAyB,EAAzB;AACD;AAhEH;AAAA;;;mBAAab,iBAAe1E,sDAAAA,CAAAA,mDAAAA,GAAAA,sDAAAA,CAAAA,wEAAAA;AAAA;;;SAAf0E;AAAesB,WAAftB,eAAe;AAAAuB,cAFd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbd;AAEA;AACA;;;;;;;;;;;;;;ACIIjG,IAAAA,gEAAAA;;;;;;AANFA,IAAAA,4DAAAA;AAMEA,IAAAA,wDAAAA;AACFA,IAAAA,0DAAAA;;;;;;;;;AALEA,IAAAA,wDAAAA,iCAAwB,SAAxB,EAAwBoG,4FAAxB;AAIepG,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAKfA,IAAAA,uDAAAA;;;;;AAAMA,IAAAA,wDAAAA;;;;;;AAANA,IAAAA,wDAAAA;AACAA,IAAAA,4DAAAA;AAAmCA,IAAAA,oDAAAA;AAAgBA,IAAAA,0DAAAA;;;;;AADjBA,IAAAA,wDAAAA;AAC5BA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAA6BA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAOjCA,IAAAA,4DAAAA;AAUEA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;;;;;AANEA,IAAAA,wDAAAA,kBAAa,SAAb,EAAaA,6DAAAA,mCAAb,EAAa,kBAAb,EAAa,qCAAb,EAAa,yBAAb,EAAaA,6DAAAA,qCAAb;AAKMA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,sCAAAA,6DAAAA,WAAAA,6DAAAA;;;;;;AAGRA,IAAAA,uDAAAA;;;;;AAMEA,IAAAA,wDAAAA;;;;;;AArBJA,IAAAA,qEAAAA;AAEEA,IAAAA,wDAAAA;AAaAA,IAAAA,wDAAAA;AASFA,IAAAA,mEAAAA;;;;;;AApBKA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,oGAAAA,MAAAA;AAaAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,2GAAAA,MAAAA;;;;;;;;;;;;AApCTA,IAAAA,qEAAAA;AAEEA,IAAAA,wDAAAA;AAUAA,IAAAA,wDAAAA,gHAAAA,oEAAAA;AAMAA,IAAAA,4DAAAA;AACEA,IAAAA,wDAAAA;AAyBFA,IAAAA,0DAAAA;AACFA,IAAAA,mEAAAA;;;;;AAvCKA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAYuBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,YAAAA,6DAAAA;AACOA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;ADJ5B,IAAM0D,sCAAb;AAgBE;;;;;;;AAOA,kDACU2C,EADV,EAEU1B,OAFV,EAGU2B,kBAHV,EAIU5D,gBAJV,EAI2C;AAAA;;AAHjC;AACA;AACA;AACA;AAzBV,kBAAS,KAAT,CAyB2C,CAvB3C;;AAIO,oBAAW,KAAX,CAmBoC,CAEzC;;AACA,SAAKC,eAAL,GAAuB,IAAIL,yCAAJ,EAAvB;AACD,GA/BH,CAiCE;AACA;;AAEA;;;;;AApCF;AAAA;AAAA,WAuCE,iBAAQ;AAAA;;AACN;AACA,WAAKgE,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,yDAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF,aAAI,CAACwD,UAAL,GAAkBD,MAAlB;AACD,OAFD,EAFM,CAON;;;AACA,WAAK5B,OAAL,CAAa8B,MAAb,CACG1D,IADH,CAEIoD,uDAAM,CAAC,eAAK;AAAA,eAAIO,KAAK,YAAYR,2DAArB;AAAA,OAAN,CAFV,EAGI3D,yDAAS,CAAC,KAAKI,eAAN,CAHb,EAKGK,SALH,CAKa,UAAC0D,KAAD,EAAyB;AAClC;AACA,YAAI,KAAI,CAACC,oBAAL,CAA0B,KAAI,CAACC,IAA/B,EAAqCF,KAAK,CAACG,iBAA3C,CAAJ,EAAmE;AACjE,eAAI,CAACC,QAAL,GAAgB,IAAhB;AACD,SAFD,MAEO;AACL,eAAI,CAACA,QAAL,GAAgB,KAAhB;AACD;AACF,OAZH,EARM,CAsBN;AACA;;;AACA,UAAI,KAAKH,oBAAL,CAA0B,KAAKC,IAA/B,EAAqC,KAAKjC,OAAL,CAAaoC,GAAlD,CAAJ,EAA4D;AAC1D,aAAKD,QAAL,GAAgB,IAAhB;AACD,OAFD,MAEO;AACL,aAAKA,QAAL,GAAgB,KAAhB;AACD;AACF;AAED;;;;AAtEF;AAAA;AAAA,WAyEE,oBAAW;AACT;AACA,WAAKnE,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD,KA7EH,CA+EE;AACA;;AAEA;;;;AAlFF;AAAA;AAAA,WAsFE,aAAI;AACF,WAAKC,MAAL,GAAc,IAAd;AACA,WAAKC,cAAL;AACD;AAED;;;;AA3FF;AAAA;AAAA,WA+FE,aAAI;AACF,WAAKD,MAAL,GAAc,KAAd;AACD;AAED;;;;;AAnGF;AAAA;AAAA,WAuGE,uBAAc;AAAA;;AACZ/F,gBAAU,CAAC,YAAK;AACd,YAAIiG,aAAa,GAAG,MAAI,CAACd,EAAL,CAAQc,aAA5B;AAAA,YACEC,qBAAqB,GAAG,MAAI,CAACf,EAAL,CAAQc,aAAR,CAAsBE,QAAtB,CAA+B,CAA/B,CAD1B,CADc,CAGd;;AACA,YAAIF,aAAa,CAACG,SAAd,CAAwBC,QAAxB,CAAiC,kBAAjC,CAAJ,EAA0D;AACxD,cAAMC,WAAW,GAAGC,MAAM,CAACD,WAA3B;AAAA,cACEE,WAAW,GAAGN,qBAAqB,CAACO,qBAAtB,GAA8CC,GAD9D;AAAA,cAEEC,YAAY,GAAGT,qBAAqB,CAACO,qBAAtB,GAA8C7I,IAF/D;AAAA,cAGEgJ,cAAc,GAAGV,qBAAqB,CAACW,YAHzC;AAAA,cAIEC,aAAa,GAAGZ,qBAAqB,CAACa,WAJxC,CADwD,CAOxD;;AACA,cAAIT,WAAW,GAAGE,WAAd,GAA4BI,cAA5B,GAA6C,EAA7C,GAAkD,CAAtD,EAAyD;AACvD,gBAAII,SAAS,GAAGV,WAAW,GAAGE,WAAd,GAA4B,EAA5C;AACAN,iCAAqB,CAACe,YAAtB,CACE,OADF,EAEE,wDAAwDD,SAAxD,GAAoE,IAFtE;AAID,WAduD,CAgBxD;;;AACA,cAAIL,YAAY,GAAGG,aAAf,IAAgCP,MAAM,CAACW,UAAP,GAAoB,EAApD,KAA2D,CAA/D,EAAkE;AAChEhB,iCAAqB,CAACiB,aAAtB,CAAoCf,SAApC,CAA8CgB,GAA9C,CAAkD,UAAlD;AACD;AACF;AACF,OAzBS,CAAV;AA0BD;AAED;;;;;;;;AApIF;AAAA;AAAA,WA2IE,6BAAoB,CAACC,MAAD,EAASxB,GAAT,EAAY;AAC9B,UAAMM,QAAQ,GAAGkB,MAAM,CAAClB,QAAxB,CAD8B,CAG9B;;AACA,UAAI,CAACA,QAAL,EAAe;AACb,eAAO,KAAP;AACD,OAN6B,CAQ9B;;;AAR8B,uMASVA,QATU;AAAA;;AAAA;AAS9B,4DAA8B;AAAA,cAAnBmB,KAAmB;;AAC5B;AACA,cAAIA,KAAK,CAACnB,QAAV,EAAoB;AAClB;AACA,gBAAI,KAAKV,oBAAL,CAA0B6B,KAA1B,EAAiCzB,GAAjC,CAAJ,EAA2C;AACzC,qBAAO,IAAP;AACD;AACF,WAP2B,CAS5B;;;AACA,cAAIyB,KAAK,CAACzB,GAAN,KAAcA,GAAd,IAAqBA,GAAG,CAAC0B,QAAJ,CAAaD,KAAK,CAACzB,GAAnB,CAAzB,EAAkD;AAChD,mBAAO,IAAP;AACD;AACF;AAtB6B;AAAA;AAAA;AAAA;AAAA;;AAwB9B,aAAO,KAAP;AACD;AApKH;AAAA;;;mBAAarD,wCAAsC1D,+DAAAA,CAAAA,qDAAAA,GAAAA,+DAAAA,CAAAA,oDAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA,GAAAA,+DAAAA,CAAAA,yFAAAA;AAAA;;;QAAtC0D;AAAsCnC;AAAAmH;AAAAC;AAAA;;eAAtCC;AAAM;AAAA,eAANA,UAAM;AAAA;;;;;;;;;;;;;;;;ACfnB5I,MAAAA,wDAAAA;;;;AAAeA,MAAAA,wDAAAA;;;suBDeF0D;AAAsCmF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEN/C7I,IAAAA,gEAAAA;;;;;;;;;;AAPFA,IAAAA,4DAAAA;AAOEA,IAAAA,wDAAAA;AACFA,IAAAA,0DAAAA;;;;;;;;;AANEA,IAAAA,wDAAAA,iCAAwB,YAAxB,EAAwBA,6DAAAA,yBAAxB,EAAwB,QAAxB,EAAwBoG,6CAAxB;AAKepG,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAWfA,IAAAA,gEAAAA;;;;;;AAPFA,IAAAA,4DAAAA;AAOEA,IAAAA,wDAAAA;AACFA,IAAAA,0DAAAA;;;;;;;;;AANEA,IAAAA,wDAAAA,iCAAwB,MAAxB,EAAwB8I,eAAxB,EAAwB9I,2DAAxB,EAAwB,QAAxB,EAAwB8I,6CAAxB;AAKe9I,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAIfA,IAAAA,uDAAAA;;;;;AAAMA,IAAAA,wDAAAA;;;;;;AAANA,IAAAA,wDAAAA;AACAA,IAAAA,4DAAAA;AAAmCA,IAAAA,oDAAAA;AAAgBA,IAAAA,0DAAAA;;;;;AADjBA,IAAAA,wDAAAA;AAC5BA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAA6BA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA;;;;;;AAzBvCA,IAAAA,qEAAAA;AAEEA,IAAAA,wDAAAA;AAWAA,IAAAA,wDAAAA;AAUAA,IAAAA,wDAAAA,yGAAAA,oEAAAA;AAIFA,IAAAA,mEAAAA;;;;;AAtBKA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAWAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;ACVE,IAAMyD,+BAAb;AAAA;AAAA;;;mBAAaA;AAA+B;;;QAA/BA;AAA+BlC;AAAAC;AAAAoF;AAAA;AAAAzD;AAAAzB;AAAAC;AAAAC;AAAAC;AAAA;ADN5C7B,MAAAA,wDAAAA;;;;AAAeA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AECf;AAEA;AACA;;;;;;;;;;;;;ACDIA,IAAAA,gEAAAA;;;;;;;;AADFA,IAAAA,4DAAAA;AAAgFA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAAS+I,yBAAT;AAA2B,KAA3B;AAC9E/I,IAAAA,wDAAAA;AACFA,IAAAA,0DAAAA;;;;;;;;;AAFqCA,IAAAA,wDAAAA;AACpBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAKfA,IAAAA,uDAAAA;;;;;AAAMA,IAAAA,wDAAAA;;;;;;AAENA,IAAAA,4DAAAA;AAMEA,IAAAA,oDAAAA;AACFA,IAAAA,0DAAAA;;;;;AAJEA,IAAAA,wDAAAA,2CAAkC,SAAlC,EAAkCgJ,yBAAlC;AAGAhJ,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA;;;;;;AARFA,IAAAA,wDAAAA;AACAA,IAAAA,4DAAAA;AAAoEA,IAAAA,oDAAAA;AAAgBA,IAAAA,0DAAAA;AACpFA,IAAAA,wDAAAA;;;;;AAFkCA,IAAAA,wDAAAA;AACKA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAA6BA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA;AAGjEA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AAYDA,IAAAA,4DAAAA;AAUEA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;;;;;AATEA,IAAAA,wDAAAA,mBAAa,SAAb,EAAaA,6DAAAA,oCAAb,EAAa,kBAAb,EAAa,sCAAb,EAAa,yBAAb,EAAaA,6DAAAA,sCAAb;AAQMA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,uCAAAA,6DAAAA,WAAAA,6DAAAA;;;;;;AAGRA,IAAAA,uDAAAA;;;;;AAMEA,IAAAA,wDAAAA;;;;;;AArBJA,IAAAA,qEAAAA;AAEEA,IAAAA,wDAAAA;AAaAA,IAAAA,wDAAAA;AASFA,IAAAA,mEAAAA;;;;;;AAnBKA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,uGAAAA,MAAAA;AAYAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,8GAAAA,MAAAA;;;;;;AAvCTA,IAAAA,qEAAAA;AAEEA,IAAAA,wDAAAA;AAKAA,IAAAA,wDAAAA,8GAAAA,oEAAAA;AAcAA,IAAAA,4DAAAA;AACEA,IAAAA,wDAAAA;AAyBFA,IAAAA,0DAAAA;AACFA,IAAAA,mEAAAA;;;;;AA9CiEA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAoB9BA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;ADR5B,IAAMwD,oCAAb;AAWE;;;;;;;AAOA,gDACUmB,OADV,EAEUjC,gBAFV,EAGUD,kBAHV,EAG+C;AAAA;;AAFrC;AACA;AACA;AAfH,kBAAS,KAAT,CAewC,CAE7C;;AACA,SAAKE,eAAL,GAAuB,IAAIL,yCAAJ,EAAvB;AACD,GAzBH,CA2BE;AACA;;AAEA;;;;;AA9BF;AAAA;AAAA,WAiCE,iBAAQ;AAAA;;AACN;AACA,WAAKqC,OAAL,CAAa8B,MAAb,CACG1D,IADH,CAEIoD,sDAAM,CAAC,eAAK;AAAA,eAAIO,KAAK,YAAYR,0DAArB;AAAA,OAAN,CAFV,EAGI3D,0DAAS,CAAC,KAAKI,eAAN,CAHb,EAKGK,SALH,CAKa,UAAC0D,KAAD,EAAyB;AAClC;AACA,YAAI,KAAI,CAACC,oBAAL,CAA0B,KAAI,CAACC,IAA/B,EAAqCF,KAAK,CAACG,iBAA3C,CAAJ,EAAmE;AACjE,eAAI,CAACoC,MAAL;AACD,SAFD,MAEO;AACL,eAAI,CAACC,QAAL;AACD;AACF,OAZH,EAFM,CAgBN;;;AACA,WAAKxG,gBAAL,CAAsBI,aAAtB,CAAoCC,IAApC,CAAyCR,0DAAS,CAAC,KAAKI,eAAN,CAAlD,EAA0EK,SAA1E,CAAoF,YAAK,CACxF,CADD,EAjBM,CAoBN;;;AACA,WAAKN,gBAAL,CAAsBmC,eAAtB,CAAsC9B,IAAtC,CAA2CR,0DAAS,CAAC,KAAKI,eAAN,CAApD,EAA4EK,SAA5E,CAAsF,qBAAW,EAAG;AAClG,YAAImG,WAAW,IAAIA,WAAW,CAAC9B,QAA/B,EAAyC;AACvC;AACA,cAAI,KAAI,CAAC+B,qBAAL,CAA2B,KAAI,CAACxC,IAAhC,EAAsCuC,WAAtC,CAAJ,EAAwD;AACtD;AACD,WAJsC,CAMvC;;;AACA,cAAI,KAAI,CAACxC,oBAAL,CAA0B,KAAI,CAACC,IAA/B,EAAqC,KAAI,CAACjC,OAAL,CAAaoC,GAAlD,CAAJ,EAA4D;AAC1D;AACD,WATsC,CAWvC;;;AACA,cAAI,KAAI,CAACH,IAAL,KAAcuC,WAAlB,EAA+B;AAC7B,iBAAI,CAACD,QAAL;AACD;AACF;AACF,OAjBD,EArBM,CAwCN;AACA;;;AACA,UAAI,KAAKvC,oBAAL,CAA0B,KAAKC,IAA/B,EAAqC,KAAKjC,OAAL,CAAaoC,GAAlD,CAAJ,EAA4D;AAC1D,aAAKkC,MAAL;AACD,OAFD,MAEO;AACL,aAAKC,QAAL;AACD;AACF;AAED;;;;AAlFF;AAAA;AAAA,WAqFE,oBAAW;AACT;AACA,WAAKvG,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD,KAzFH,CA2FE;AACA;;AAEA;;;;;;AA9FF;AAAA;AAAA,WAmGE,mBAAU,CAACqC,CAAD,EAAE;AACVA,OAAC,CAACC,cAAF;AAEA,WAAKC,MAAL,GAAc,CAAC,KAAKA,MAApB,CAHU,CAKV;;AACA,WAAK7G,gBAAL,CAAsBmC,eAAtB,CAAsCU,IAAtC,CAA2C,KAAKqB,IAAhD;;AACA,WAAKlE,gBAAL,CAAsBoC,qBAAtB,CAA4CS,IAA5C;AACD;AAED;;;;AA7GF;AAAA;AAAA,WAgHE,eAAM;AACJ,UAAI,KAAKgE,MAAT,EAAiB;AACf;AACD;;AAED,WAAKA,MAAL,GAAc,IAAd,CALI,CAOJ;;AACA,WAAK9G,kBAAL,CAAwBQ,YAAxB;;AAEA,WAAKP,gBAAL,CAAsBoC,qBAAtB,CAA4CS,IAA5C;AACD;AAED;;;;AA7HF;AAAA;AAAA,WAgIE,iBAAQ;AACN,UAAI,CAAC,KAAKgE,MAAV,EAAkB;AAChB;AACD;;AAED,WAAKA,MAAL,GAAc,KAAd,CALM,CAON;;AACA,WAAK9G,kBAAL,CAAwBQ,YAAxB;;AAEA,WAAKP,gBAAL,CAAsBoC,qBAAtB,CAA4CS,IAA5C;AACD;AAED;;;;;;;;AA7IF;AAAA;AAAA,WAoJE,6BAAoB,CAACgD,MAAD,EAASxB,GAAT,EAAY;AAC9B,UAAMM,QAAQ,GAAGkB,MAAM,CAAClB,QAAxB,CAD8B,CAG9B;;AACA,UAAI,CAACA,QAAL,EAAe;AACb,eAAO,KAAP;AACD,OAN6B,CAQ9B;;;AAR8B,uMASVA,QATU;AAAA;;AAAA;AAS9B,4DAA8B;AAAA,cAAnBmB,KAAmB;;AAC5B;AACA,cAAIA,KAAK,CAACnB,QAAV,EAAoB;AAClB;AACA,gBAAI,KAAKV,oBAAL,CAA0B6B,KAA1B,EAAiCzB,GAAjC,CAAJ,EAA2C;AACzC,qBAAO,IAAP;AACD;AACF,WAP2B,CAS5B;;;AACA,cAAIyB,KAAK,CAACzB,GAAN,KAAcA,GAAd,IAAqBA,GAAG,CAAC0B,QAAJ,CAAaD,KAAK,CAACzB,GAAnB,CAAzB,EAAkD;AAChD,mBAAO,IAAP;AACD;AACF;AAtB6B;AAAA;AAAA;AAAA;AAAA;;AAwB9B,aAAO,KAAP;AACD;AAED;;;;;;;;AA/KF;AAAA;AAAA,WAsLE,8BAAqB,CAACwB,MAAD,EAAS3B,IAAT,EAAa;AAChC,UAAMS,QAAQ,GAAGkB,MAAM,CAAClB,QAAxB,CADgC,CAGhC;;AACA,UAAI,CAACA,QAAL,EAAe;AACb,eAAO,KAAP;AACD,OAN+B,CAQhC;;;AACA,UAAIA,QAAQ,CAACmC,OAAT,CAAiB5C,IAAjB,IAAyB,CAAC,CAA9B,EAAiC;AAC/B,eAAO,IAAP;AACD;;AAX+B,wMAaZS,QAbY;AAAA;;AAAA;AAahC,+DAA8B;AAAA,cAAnBmB,KAAmB;;AAC5B,cAAIA,KAAK,CAACnB,QAAV,EAAoB;AAClB;AACA,gBAAI,KAAK+B,qBAAL,CAA2BZ,KAA3B,EAAkC5B,IAAlC,CAAJ,EAA6C;AAC3C,qBAAO,IAAP;AACD;AACF;AACF;AApB+B;AAAA;AAAA;AAAA;AAAA;;AAsBhC,aAAO,KAAP;AACD;AA7MH;AAAA;;;mBAAapD,sCAAoCxD,+DAAAA,CAAAA,mDAAAA,GAAAA,+DAAAA,CAAAA,yFAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA;AAAA;;;QAApCwD;AAAoCjC;AAAAmH;AAAAC;AAAA;;;;;;;;;;;;;ACdjD3I,MAAAA,wDAAAA;;;;AAAeA,MAAAA,wDAAAA;;;guBDcFwD;AAAoCqF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEN7C7I,IAAAA,uDAAAA;;;;;;AAAuBA,IAAAA,wDAAAA,6BAAAA,2DAAAA,EAAoB,OAApB,EAAoBA,yDAAAA,2BAApB,EAAoB,KAApB,EAAoB,YAApB;;;;;;;;;;AANzBA,IAAAA,4DAAAA;AAMEA,IAAAA,wDAAAA;AACFA,IAAAA,0DAAAA;;;;;AANEA,IAAAA,wDAAAA,iCAAwB,YAAxB,EAAwBA,6DAAAA,yBAAxB,EAAwB,QAAxB,EAAwBoG,6CAAxB;AAK6CpG,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AARjDA,IAAAA,qEAAAA;AAEEA,IAAAA,wDAAAA;AASFA,IAAAA,mEAAAA;;;;;AAPKA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;ACKE,IAAM2D,6BAAb;AAAA;AAAA;;;mBAAaA;AAA6B;;;QAA7BA;AAA6BpC;AAAAC;AAAAoF;AAAA;AAAAzD;AAAAzB;AAAAC;AAAAC;AAAAC;AAAA;ADT1C7B,MAAAA,wDAAAA;;;;AAAeA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AESXA,IAAAA,gEAAAA;;;;;;;;;;AAPFA,IAAAA,4DAAAA;AAOEA,IAAAA,wDAAAA;AACFA,IAAAA,0DAAAA;;;;;;;;;AANEA,IAAAA,wDAAAA,iCAAwB,YAAxB,EAAwBA,6DAAAA,yBAAxB,EAAwB,QAAxB,EAAwBoG,6CAAxB;AAKepG,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAWfA,IAAAA,gEAAAA;;;;;;AAPFA,IAAAA,4DAAAA;AAOEA,IAAAA,wDAAAA;AACFA,IAAAA,0DAAAA;;;;;;;;;AANEA,IAAAA,wDAAAA,iCAAwB,MAAxB,EAAwB8I,eAAxB,EAAwB9I,2DAAxB,EAAwB,QAAxB,EAAwB8I,6CAAxB;AAKe9I,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAIfA,IAAAA,uDAAAA;;;;;AAAKA,IAAAA,wDAAAA,6BAAAA,2DAAAA,EAAoB,KAApB,EAAoB,YAApB;;;;;;AACLA,IAAAA,uDAAAA;;;;;AAAMA,IAAAA,wDAAAA;;;;;;AAENA,IAAAA,4DAAAA;AAMEA,IAAAA,oDAAAA;AACFA,IAAAA,0DAAAA;;;;;AAJEA,IAAAA,wDAAAA,2CAAkC,SAAlC,EAAkCgJ,yBAAlC;AAGAhJ,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA;;;;;;AATFA,IAAAA,wDAAAA;AACAA,IAAAA,wDAAAA;AACAA,IAAAA,4DAAAA;AAAMA,IAAAA,oDAAAA;;AAAgCA,IAAAA,0DAAAA;AACtCA,IAAAA,wDAAAA;;;;;AAH2BA,IAAAA,wDAAAA;AACOA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAC5BA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;AAGHA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AA7BPA,IAAAA,qEAAAA;AAEEA,IAAAA,wDAAAA;AAWAA,IAAAA,wDAAAA;AAUAA,IAAAA,wDAAAA,uGAAAA,oEAAAA;AAaFA,IAAAA,mEAAAA;;;;;AA/BKA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAWAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;ACRE,IAAMuD,6BAAb;AAAA;AAAA;;;mBAAaA;AAA6B;;;QAA7BA;AAA6BhC;AAAAC;AAAAoF;AAAA;AAAAzD;AAAAzB;AAAAC;AAAAC;AAAAC;AAAA;ADR1C7B,MAAAA,wDAAAA;;;;AAAeA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAfA,IAAAA,qEAAAA;AACEA,IAAAA,4DAAAA;AAAsCA,IAAAA,oDAAAA;;AAAiCA,IAAAA,0DAAAA;AAEvEA,IAAAA,uDAAAA;AACFA,IAAAA,mEAAAA;;;;;AAHwCA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;AAEhCA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;ACKD,IAAMsD,gCAAb;AAAA;AAAA;;;mBAAaA;AAAgC;;;QAAhCA;AAAgC/B;AAAAC;AAAAoF;AAAA;AAAAzD;AAAAzB;AAAAC;AAAAC;AAAAC;AAAA;ADR7C7B,MAAAA,wDAAAA;;;;AAAeA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEAf;AAeA;AACA;AAGA;AACA;;;;;;;;AAYO,IAAM2J,oBAAb;AA2DE;;;;;;;;;;;;;AAaA,gCAC4BlJ,QAD5B,EAEUmJ,SAFV,EAGUC,WAHV,EAIUvD,kBAJV,EAKU7D,kBALV,EAMUqH,iBANV,EAOUC,mBAPV,EAQUC,iBARV,EASUC,cATV,EASuC;AAAA;;AARX;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzBF,oBAA+B,IAA/B,CAyB+B,CAErC;;AACA,SAAKC,QAAL,GAAgB,KAAhB;AACA,SAAKC,iBAAL,GAAyB,IAAzB;AACA,SAAKC,SAAL,GAAiB,KAAjB,CALqC,CAOrC;;AACA,SAAKC,WAAL,GACE,KAAK5J,QAAL,CAAc6J,gBAAd,CAA+B,kBAA/B,EAAmD,CAAnD,KAAyD,KAAK7J,QAAL,CAAc6J,gBAAd,CAA+B,oBAA/B,EAAqD,CAArD,CAD3D;AAGA,SAAKC,qBAAL,GAA6B,IAAId,uDAAJ,EAA7B;AACA,SAAKe,kBAAL,GAA0B,IAAIf,uDAAJ,EAA1B,CAZqC,CAcrC;;AACA,SAAKgB,UAAL,GAAkB,KAAlB;AACA,SAAK9H,eAAL,GAAuB,IAAIL,yCAAJ,EAAvB;AACD;;AAlGH;AAAA;AAAA,WAuCuD,yBAAgB,CAACoE,KAAD,EAAqB;AACxF,UAAI,KAAK0D,SAAT,EAAoB;AAClB,aAAKM,KAAL;AACD;AACF,KA3CH,CAoGE;AACA;;AAEA;;;;;;AAvGF;AAAA;AAAA,SA8IE,eAAa;AACX,aAAO,KAAKD,UAAZ;AACD,KAhJH,CAkJE;AACA;;AAEA;;;AArJF;AAAA,SA4GE,aACc9J,KADd,EAC4B;AAC1B;AACA,WAAK8J,UAAL,GAAkB9J,KAAlB,CAF0B,CAI1B;;AACA,UAAI,CAAC,KAAKuJ,QAAV,EAAoB;AAClB,aAAKG,WAAL,CAAiB/C,SAAjB,CAA2BgB,GAA3B,CAA+B,eAA/B,EADkB,CAC+B;;AACjD;AACD,OARyB,CAU1B;;;AACA,UAAI3H,KAAJ,EAAW;AACT;AACA,aAAKuI,QAAL,GAFS,CAIT;;AACA,aAAKmB,WAAL,CAAiB/C,SAAjB,CAA2BgB,GAA3B,CAA+B,gBAA/B;AACA,aAAK+B,WAAL,CAAiB/C,SAAjB,CAA2BqD,MAA3B,CAAkC,eAAlC;AACD,OAPD,CAQA;AARA,WASK;AACH;AACA,aAAK1B,MAAL,GAFG,CAIH;;AACA,aAAKoB,WAAL,CAAiB/C,SAAjB,CAA2BgB,GAA3B,CAA+B,eAA/B;AACA,aAAK+B,WAAL,CAAiB/C,SAAjB,CAA2BqD,MAA3B,CAAkC,gBAAlC;AACD,OA3ByB,CA6B1B;;;AACA,WAAKJ,qBAAL,CAA2BK,IAA3B,CAAgC,KAAKC,SAArC;AACD;AA5IH;AAAA;AAAA,WAwJE,iBAAQ;AAAA;;AACN;AACA,WAAKvE,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,yDAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF,aAAI,CAAC8H,WAAL,GAAmBvE,MAAnB;;AACA,YAAIA,MAAM,CAACrD,MAAP,CAAc6H,IAAd,IAAsB,UAA1B,EAAsC;AACpC,eAAI,CAACC,SAAL,GAAiB,sBAAjB;AACD,SAFD,MAEO;AACL,eAAI,CAACA,SAAL,GAAiB,iBAAjB;AACD;AACF,OAPD,EAFM,CAWN;;;AACA,WAAKjB,mBAAL,CAAyBkB,kBAAzB,CAA4C,KAAKC,IAAjD,EAAuD,IAAvD,EAZM,CAcN;;;AACA,WAAKC,wBAAL,GAfM,CAiBN;;;AACA,WAAKC,iBAAL;AACD;AAED;;;;AA7KF;AAAA;AAAA,WAgLE,oBAAW;AACT;AACA,UAAI,KAAKP,SAAT,EAAoB;AAClB,aAAK5B,MAAL;AACD,OAJQ,CAMT;;;AACA,WAAKc,mBAAL,CAAyBsB,qBAAzB,CAA+C,KAAKH,IAApD,EAPS,CAST;;;AACA,WAAKvI,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD,KA5LH,CA8LE;AACA;;AAEA;;;;;;AAjMF;AAAA;AAAA,WAsMU,iCAAwB;AAAA;;AAC9B;AACA,UAAI,CAAC,KAAKsE,kBAAV,EAA8B;AAC5B;AACD,OAJ6B,CAM9B;;;AACA,WAAKC,eAAL,GAAuB,KAAvB,CAP8B,CAS9B;;AACA,WAAKC,aAAL,GAAqB,KAAKX,SAA1B,CAV8B,CAY9B;;AACA,WAAKf,iBAAL,CAAuB2B,aAAvB,CAAqC1I,IAArC,CAA0CR,yDAAS,CAAC,KAAKI,eAAN,CAAnD,EAA2EK,SAA3E,CAAqF,YAAK;AACxF;AACA,YAAM0I,aAAa,GAAG,MAAI,CAACzB,cAAL,CAAoBnD,QAApB,CAA6B,MAAI,CAACwE,kBAAlC,CAAtB,CAFwF,CAGxF;;;AACA,cAAI,CAACE,aAAL,GAAqB,MAAI,CAACV,WAAL,CAAiB5H,MAAjB,CAAwBN,IAAxB,CAA6BiI,SAA7B,IAA0C,MAAI,CAACA,SAApE,CAJwF,CAMxF;AACA;;AACA,YAAI,CAACa,aAAD,IAAkB,MAAI,CAACR,IAAL,KAAc,MAApC,EAA4C;AAC1C,gBAAI,CAACb,WAAL,CAAiB/C,SAAjB,CAA2BqD,MAA3B,CAAkC,MAAI,CAACK,SAAvC;;AACA,gBAAI,CAACX,WAAL,CAAiB/C,SAAjB,CAA2BgB,GAA3B,CAA+B,uBAA/B;AACD,SAXuF,CAaxF;;;AACA,YAAI,MAAI,CAACiD,eAAL,KAAyBG,aAA7B,EAA4C;AAC1C;AACD,SAhBuF,CAkBxF;;;AACA,YAAIA,aAAJ,EAAmB;AACjB;AACA,gBAAI,CAACC,oBAAL,GAA4B,IAA5B,CAFiB,CAIjB;;AACA,gBAAI,CAACzB,QAAL,GAAgB,IAAhB;AAEA,gBAAI,CAAC0B,QAAL,GAAgB,IAAhB,CAPiB,CAOK;AAEtB;;AACA,gBAAI,CAACpB,kBAAL,CAAwBI,IAAxB,CAA6B,MAAI,CAACV,QAAlC,EAViB,CAYjB;;;AACA,cAAI,MAAI,CAACsB,aAAT,EAAwB;AACtB;AACA,kBAAI,CAACX,SAAL,GAAiB,IAAjB;AAEA,kBAAI,CAACe,QAAL,GAAgB,KAAhB,CAJsB,CAIC;AACvB;;AACA,kBAAI,CAACnJ,kBAAL,CAAwBQ,YAAxB;AACD,WApBgB,CAsBjB;;;AACA,cAAI,MAAI,CAACiI,IAAL,KAAc,MAAlB,EAA0B;AACxB,kBAAI,CAACb,WAAL,CAAiB/C,SAAjB,CAA2BgB,GAA3B,CAA+B,MAAI,CAAC0C,SAApC;;AACA,kBAAI,CAACX,WAAL,CAAiB/C,SAAjB,CAA2BqD,MAA3B,CAAkC,uBAAlC,EAA2D,WAA3D;AACD,WA1BgB,CA4BjB;;;AACA,gBAAI,CAACkB,YAAL;AACD,SA9BD,CA+BA;AA/BA,aAgCK;AACH;AACA,gBAAI,CAACF,oBAAL,GAA4B,KAA5B,CAFG,CAIH;;AACA,gBAAI,CAAC1C,MAAL,GALG,CAOH;;;AACA,gBAAI,CAACiB,QAAL,GAAgB,KAAhB,CARG,CAUH;;AACA,gBAAI,CAACM,kBAAL,CAAwBI,IAAxB,CAA6B,MAAI,CAACV,QAAlC,EAXG,CAaH;;;AACA,gBAAI,CAACG,WAAL,CAAiB/C,SAAjB,CAA2BqD,MAA3B,CAAkC,MAAI,CAACK,SAAvC;;AACA,gBAAI,CAACX,WAAL,CAAiB/C,SAAjB,CAA2BgB,GAA3B,CAA+B,uBAA/B,EAfG,CAiBH;;;AACA,gBAAI,CAACwD,YAAL;AACD,SAtEuF,CAwExF;;;AACA,cAAI,CAACP,eAAL,GAAuBG,aAAvB;AACD,OA1ED;AA2ED;AAED;;;;;;AAhSF;AAAA;AAAA,WAqSU,0BAAiB;AACvB;AACA,UAAI,CAAC,KAAKb,SAAV,EAAqB;AACnB;AACD,OAJsB,CAMvB;;;AACA,UAAI,CAAC,KAAKX,QAAV,EAAoB;AAClB;AACD,OATsB,CAWvB;;;AACA,WAAKhB,QAAL;AACD;AAED;;;;;;AApTF;AAAA;AAAA,WAyTU,qBAAY;AAAA;;AAClB;AACA,WAAK6C,QAAL,GAAgB,KAAKnC,SAAL,CAAelJ,aAAf,CAA6B,KAA7B,CAAhB,CAFkB,CAIlB;;AACA,WAAKqL,QAAL,CAAczE,SAAd,CAAwBgB,GAAxB,CAA4B,KAAK0D,YAAjC;;AACA,WAAKD,QAAL,CAAczE,SAAd,CAAwBgB,GAAxB,CAA4B,MAA5B,EANkB,CAQlB;;;AACA,UAAI,CAAC,KAAK6B,iBAAV,EAA6B;AAC3B,aAAK4B,QAAL,CAAczE,SAAd,CAAwBgB,GAAxB,CAA4B,gBAA5B;AACD,OAXiB,CAalB;;;AACA,WAAKsB,SAAL,CAAe/I,WAAf,CAA2B,KAAKgJ,WAAL,CAAiB1C,aAAjB,CAA+BkB,aAA1D,EAAyE,KAAK0D,QAA9E,EAdkB,CAgBlB;;;AACA,WAAKE,gBAAL,GAAwB,KAAKjC,iBAAL,CACrBkC,KADqB,CACf,CAACvN,4DAAO,CAAC,YAAD,EAAeJ,0DAAK,CAAC;AAAEW,eAAO,EAAE;AAAX,OAAD,CAApB,CAAR,CADe,EAErBiN,MAFqB,CAEd,KAAKJ,QAFS,CAAxB,CAjBkB,CAqBlB;;AACA,WAAKE,gBAAL,CAAsBG,IAAtB,GAtBkB,CAwBlB;;;AACA,WAAKL,QAAL,CAAcM,gBAAd,CAA+B,OAA/B,EAAwC,YAAK;AAC3C,cAAI,CAAC3B,KAAL;AACD,OAFD,EAzBkB,CA4BlB;;;AACA,WAAKjI,kBAAL,CAAwBQ,YAAxB;AACD;AAED;;;;;;AAzVF;AAAA;AAAA,WA8VU,qBAAY;AAAA;;AAClB;AACA,UAAI,CAAC,KAAK8I,QAAV,EAAoB;AAClB;AACD,OAJiB,CAMlB;;;AACA,WAAKE,gBAAL,GAAwB,KAAKjC,iBAAL,CACrBkC,KADqB,CACf,CAACvN,4DAAO,CAAC,YAAD,EAAeJ,0DAAK,CAAC;AAAEW,eAAO,EAAE;AAAX,OAAD,CAApB,CAAR,CADe,EAErBiN,MAFqB,CAEd,KAAKJ,QAFS,CAAxB,CAPkB,CAWlB;;AACA,WAAKE,gBAAL,CAAsBG,IAAtB,GAZkB,CAclB;;;AACA,WAAKH,gBAAL,CAAsBK,MAAtB,CAA6B,YAAK;AAChC;AACA,YAAI,MAAI,CAACP,QAAT,EAAmB;AACjB;AACA,gBAAI,CAACA,QAAL,CAAcQ,UAAd,CAAyBtL,WAAzB,CAAqC,MAAI,CAAC8K,QAA1C;;AACA,gBAAI,CAACA,QAAL,GAAgB,IAAhB;AACD;AACF,OAPD,EAfkB,CAuBlB;;;AACA,WAAKtJ,kBAAL,CAAwBQ,YAAxB;AACD;AAED;;;;;;AAzXF;AAAA;AAAA,WA8XU,qBAAY;AAClB;AACA,UAAI,KAAKiI,IAAL,IAAa,MAAjB,EAAyB;AACvB;AACA,aAAKb,WAAL,CAAiB/C,SAAjB,CAA2BgB,GAA3B,CAA+B,WAA/B;AACA,aAAK+B,WAAL,CAAiB/C,SAAjB,CAA2BqD,MAA3B,CAAkC,WAAlC;AACD,OAJD,CAKA;AALA,WAMK;AACH,aAAKf,SAAL,CAAe4C,QAAf,CAAwB,KAAK3C,WAAL,CAAiB1C,aAAzC,EAAwD,MAAxD,EADG,CAEH;;;AACA,YAAI,KAAK6E,YAAL,KAAsB,gBAA1B,EAA4C;AAC1C,eAAK3B,WAAL,CAAiB/C,SAAjB,CAA2BgB,GAA3B,CAA+B,YAA/B;AACD;AACF,OAdiB,CAgBlB;;;AACA,WAAK7F,kBAAL,CAAwBQ,YAAxB;AACD;AAED;;;;;;AAlZF;AAAA;AAAA,WAuZU,qBAAY;AAClB;AACA,UAAI,KAAKiI,IAAL,IAAa,MAAjB,EAAyB;AACvB;AACA,aAAKb,WAAL,CAAiB/C,SAAjB,CAA2BqD,MAA3B,CAAkC,WAAlC;AACA,aAAKN,WAAL,CAAiB/C,SAAjB,CAA2BgB,GAA3B,CAA+B,WAA/B;AACD,OAJD,CAKA;AALA,WAMK;AACH,aAAKsB,SAAL,CAAe6C,WAAf,CAA2B,KAAK5C,WAAL,CAAiB1C,aAA5C,EAA2D,MAA3D,EADG,CAGH;;;AACA,YAAI,KAAK6E,YAAL,KAAsB,gBAA1B,EAA4C;AAC1C,eAAK3B,WAAL,CAAiB/C,SAAjB,CAA2BqD,MAA3B,CAAkC,YAAlC;AACD;AACF,OAfiB,CAiBlB;;;AACA,WAAKlI,kBAAL,CAAwBQ,YAAxB;AACD,KA1aH,CA4aE;AACA;AAEA;;AAEA;;;;AAjbF;AAAA;AAAA,WAobE,4BAAmB;AACjB;AACA,UAAI,CAAC,KAAK4H,SAAV,EAAqB;AACnB;AACD,OAJgB,CAMjB;;;AACA,WAAKe,QAAL,GAAgB,KAAhB;AACA,WAAKf,SAAL,GAAiB,IAAjB,CARiB,CAQM;AAEvB;;AACA,WAAKpI,kBAAL,CAAwBQ,YAAxB;AACD;AAED;;;;AAlcF;AAAA;AAAA,WAqcE,0BAAiB;AACf;AACA,UAAI,CAAC,KAAK4H,SAAV,EAAqB;AACnB;AACD,OAJc,CAMf;;;AACA,WAAKe,QAAL,GAAgB,IAAhB;AACA,WAAKf,SAAL,GAAiB,IAAjB,CARe,CAQQ;AAEvB;;AACA,WAAKpI,kBAAL,CAAwBQ,YAAxB;AACD;AAED;;;;AAndF;AAAA;AAAA,WAudE,qBAAY;AACV;AACA,WAAKyJ,iBAAL;AACD;AAED;;;;AA5dF;AAAA;AAAA,WAgeE,qBAAY;AACV;AACA,WAAKC,mBAAL;AACD;AAED;;;;AAreF;AAAA;AAAA,WAweE,iBAAQ;AACN;AACA,UAAI,KAAK9B,SAAT,EAAoB;AAClB;AACD,OAJK,CAMN;;;AACA,WAAKA,SAAL,GAAiB,IAAjB,CAPM,CASN;;AACA,WAAKpI,kBAAL,CAAwBQ,YAAxB;AACD;AAED;;;;AArfF;AAAA;AAAA,WAwfE,eAAM;AACJ;AACA,UAAI,CAAC,KAAK4H,SAAV,EAAqB;AACnB;AACD,OAJG,CAMJ;;;AACA,WAAKA,SAAL,GAAiB,KAAjB,CAPI,CASJ;;AACA,WAAKpI,kBAAL,CAAwBQ,YAAxB;AACD;AAED;;;;AArgBF;AAAA;AAAA,WAwgBE,0BAAiB;AACf,UAAI,KAAK4H,SAAT,EAAoB;AAClB,aAAK5B,MAAL;AACD,OAFD,MAEO;AACL,aAAKC,QAAL;AACD;AACF,KA9gBH,CAghBE;;AAEA;;;;AAlhBF;AAAA;AAAA,WAqhBE,aAAI;AACF;AACA,UAAI,KAAKgB,QAAL,IAAiB,KAAKyB,oBAA1B,EAAgD;AAC9C;AACD,OAJC,CAMF;;;AACA,WAAKiB,YAAL,GAPE,CASF;;;AACA,WAAKC,YAAL,GAVE,CAYF;;;AACA,WAAK3C,QAAL,GAAgB,IAAhB,CAbE,CAeF;;AACA,WAAKM,kBAAL,CAAwBI,IAAxB,CAA6B,KAAKV,QAAlC,EAhBE,CAkBF;;AACA,WAAKzH,kBAAL,CAAwBQ,YAAxB;AACD;AAED;;;;AA3iBF;AAAA;AAAA,WA8iBE,cAAK;AACH;AACA,UAAI,CAAC,KAAKiH,QAAN,IAAkB,KAAKyB,oBAA3B,EAAiD;AAC/C;AACD,OAJE,CAMH;;;AACA,WAAKE,YAAL,GAPG,CASH;;;AACA,WAAK3B,QAAL,GAAgB,KAAhB,CAVG,CAYH;;AACA,WAAKM,kBAAL,CAAwBI,IAAxB,CAA6B,KAAKV,QAAlC,EAbG,CAeH;;AACA,WAAK4B,YAAL,GAhBG,CAkBH;;;AACA,WAAKrJ,kBAAL,CAAwBQ,YAAxB;AACD;AAED;;;;AApkBF;AAAA;AAAA,WAukBE,mBAAU;AACR,UAAI,KAAKiH,QAAT,EAAmB;AACjB,aAAKQ,KAAL;AACD,OAFD,MAEO;AACL,aAAKoC,IAAL;AACD;AACF;AA7kBH;AAAA;;;mBAAanD,sBAAoB3J,+DAAAA,CAyErB0J,qDAzEqB,GAyEb1J,+DAAAA,CAAAA,oDAAAA,GAAAA,+DAAAA,CAAAA,qDAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA,GAAAA,+DAAAA,CAAAA,4DAAAA,GAAAA,+DAAAA,CAAAA,0EAAAA,GAAAA,+DAAAA,CAAAA,kGAAAA,GAAAA,+DAAAA,CAAAA,iEAAAA,GAAAA,+DAAAA,CAAAA,gEAAAA;AAAA;;;QAzEP2J;AAAoBpI;AAAAmH;AAAAC;AAAA;;eAApBC;AAAwB;AAAA,eAAxBA,kBAAwB;AAAV;AAAA,eAAdA,kBAAc;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;AChC3B5I,MAAAA,0DAAAA;;;;;;;;;;;;;;;;;;;;;;;;ACEA;;AAMO,IAAM+M,iBAAb;AAAA;AAAA;;;mBAAaA;AAAiB;;;QAAjBA;;;;;sHAAAA,mBAAiB;AAAA1K,mBAHbsH,sGAGa;AAHO5J,cACzB4J,sGADyB;AAGP;AAFE;;;;;;;;;;;;;;;;;;;;ACAzB,IAAMqD,kBAAb;AAHA;AAAA;;AAIE;AACQ,qBAAqD,EAArD;AAuDT;AArDC;;;;;;;;AAJF;AAAA;AAAA,WAUE,2BAAkB,CAACC,GAAD,EAAI;AACpB;AAEA,UAAI,CAAC,KAAKC,SAAL,CAAeD,GAAf,CAAL,EAA0B;AACxBE,eAAO,CAACC,IAAR,qCAA0CH,GAA1C;AACA;AACD,OANmB,CAQpB;;;AACA,aAAO,KAAKC,SAAL,CAAeD,GAAf,CAAP;AACD;AAED;;;;;;;AAtBF;AAAA;AAAA,WA6BE,2BAAkB,CAACA,GAAD,EAAMI,OAAN,EAAa;AAC7B;AACA,UAAI,KAAKH,SAAL,CAAeD,GAAf,CAAJ,EAAyB;AACvBE,eAAO,CAACG,KAAR,qCAC+BL,GAD/B;AAIA;AACD,OAR4B,CAU7B;;;AACA,WAAKC,SAAL,CAAeD,GAAf,IAAsBI,OAAtB;AACD;AAED;;;;;;AA3CF;AAAA;AAAA,WAgDE,8BAAqB,CAACJ,GAAD,EAAI;AACvB;AACA,UAAI,CAAC,KAAKC,SAAL,CAAeD,GAAf,CAAL,EAA0B;AACxBE,eAAO,CAACC,IAAR,qCAA0CH,GAA1C;AACD,OAJsB,CAMvB;;;AACA,aAAO,KAAKC,SAAL,CAAeD,GAAf,CAAP;AACD;AAxDH;AAAA;;;mBAAaD;AAAkB;;;SAAlBA;AAAkBhH,WAAlBgH,kBAAkB;AAAA/G,cAFjB;;;;;;;;;;;;;;;;;;;;;;;;ACJd;;;;;;;;;ACYIjG,IAAAA,uDAAAA;;;;;;AACAA,IAAAA,uDAAAA;;;;;;AA0BAA,IAAAA,uDAAAA;;;;;;AACAA,IAAAA,uDAAAA;;;;;;;;;;;;;;;;;;;;ADhCG,IAAMuN,sBAAb;AAeE;AAAA;;AAdsB,uBAAc,CAAd;AACA,uBAAc,KAAd;AACJ,yBAAgB,KAAhB;AACH,gBAAe,EAAf;AACC,iBAAgB,EAAhB;AAEG,oBAAmB,IAAnB;AACA,oBAAmB,CAAnB;AAET,oBAAW,IAAI9D,uDAAJ,EAAX;AAEH,kCAAyB,KAAzB;AACA,kCAAyB,KAAzB;AAES;;AAflB;AAAA;AAAA,WAiBE,oBAAW,CAAC+D,UAAD,EAAmB;AAC5B,UAAIA,UAAU,IAAI,KAAKC,QAAnB,IAA+BD,UAAU,GAAG,KAAKC,QAArD,EAA+D;AAC7D,aAAKC,sBAAL,GAA8B,IAA9B;AACD,OAFD,MAEO;AACL,aAAKA,sBAAL,GAA8B,KAA9B;AACD;;AACD,UAAIF,UAAU,IAAI,KAAKG,QAAnB,IAA+BH,UAAU,GAAG,KAAKG,QAArD,EAA+D;AAC7D,aAAKC,sBAAL,GAA8B,IAA9B;AACD,OAFD,MAEO;AACL,aAAKA,sBAAL,GAA8B,KAA9B;AACD;;AAED,WAAKC,UAAL,CAAgBL,UAAhB;AACD;AA9BH;AAAA;AAAA,WAgCE,kBAAS;AACP,UAAI,KAAKM,SAAL,IAAkBC,SAAtB,EAAiC;AAC/B,aAAKC,WAAL,IAAoB,CAApB;AACD,OAFD,MAEO;AACL,aAAKA,WAAL,IAAoB,KAAKF,SAAzB;AACD;;AAED,WAAKD,UAAL,CAAgB,KAAKG,WAArB;;AAEA,UAAI,EAAE,KAAKL,QAAL,IAAiBI,SAAjB,IAA8B,KAAKN,QAAL,IAAiBM,SAAjD,CAAJ,EAAiE;AAC/D,YAAI,KAAKC,WAAL,IAAoB,KAAKP,QAAzB,IAAqC,KAAKO,WAAL,GAAmB,KAAKP,QAAjE,EAA2E;AACzE,eAAKC,sBAAL,GAA8B,IAA9B;AACD,SAFD,MAEO;AACL,eAAKA,sBAAL,GAA8B,KAA9B;AACD;;AACD,YAAI,KAAKM,WAAL,GAAmB,KAAKL,QAA5B,EAAsC;AACpC,eAAKC,sBAAL,GAA8B,KAA9B;AACD,SAFD,MAEO;AACL,eAAKA,sBAAL,GAA8B,IAA9B;AACD;AACF;AACF;AArDH;AAAA;AAAA,WAuDE,kBAAS;AACP,UAAI,KAAKE,SAAL,IAAkBC,SAAtB,EAAiC;AAC/B,aAAKC,WAAL,IAAoB,CAApB;AACD,OAFD,MAEO;AACL,aAAKA,WAAL,IAAoB,KAAKF,SAAzB;AACD;;AAED,WAAKD,UAAL,CAAgB,KAAKG,WAArB;;AAEA,UAAI,EAAE,KAAKL,QAAL,IAAiBI,SAAjB,IAA8B,KAAKN,QAAL,IAAiBM,SAAjD,CAAJ,EAAiE;AAC/D,YAAI,KAAKC,WAAL,IAAoB,KAAKL,QAAzB,IAAqC,KAAKK,WAAL,GAAmB,KAAKL,QAAjE,EAA2E;AACzE,eAAKC,sBAAL,GAA8B,IAA9B;AACD,SAFD,MAEO;AACL,eAAKA,sBAAL,GAA8B,KAA9B;AACD;;AACD,YAAI,KAAKI,WAAL,GAAmB,KAAKP,QAA5B,EAAsC;AACpC,eAAKC,sBAAL,GAA8B,KAA9B;AACD,SAFD,MAEO;AACL,eAAKA,sBAAL,GAA8B,IAA9B;AACD;AACF;AACF;AAED;;;;;AA9EF;AAAA;AAAA,WAkFE,mBAAU,CAAC/M,KAAD,EAAM;AACd,WAAKsN,QAAL,CAAcrD,IAAd,CAAmBjK,KAAnB;AACD;AApFH;AAAA;AAAA,WAsFE,iBAAQ;AACN,WAAK+M,sBAAL,GAA8B,KAAKQ,aAAnC;AACA,WAAKN,sBAAL,GAA8B,KAAKM,aAAnC,CAFM,CAIN;;AACA,UAAI,KAAKF,WAAL,KAAqB,KAAKL,QAA9B,EAAwC;AACtC,aAAKC,sBAAL,GAA8B,IAA9B;AACD,OAFD,MAEO,IAAI,KAAKI,WAAL,KAAqB,KAAKP,QAA9B,EAAwC;AAC7C,aAAKC,sBAAL,GAA8B,IAA9B;AACD;AACF;AAhGH;AAAA;;;mBAAaH;AAAsB;;;QAAtBA;AAAsBhM;AAAAC;AAAAwM;AAAAG;AAAAD;AAAAE;AAAAC;AAAAP;AAAAL;AAAAE;AAAA;AAAAW;AAAAL;AAAA;AAAAvM;AAAAC;AAAAC;AAAAC;AAAA;ACRnC7B,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAEEA,MAAAA,wDAAAA;AAAA,eAAS4I,eAAT;AAAoB,OAApB;AASA5I,MAAAA,wDAAAA;AACAA,MAAAA,wDAAAA;AACFA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AAGEA,MAAAA,wDAAAA;AAAA;AAAA,SAAyB,OAAzB,EAAyB;AAAA,eAMhB4I,oCANgB;AAMgB,OANzC;AAHF5I,MAAAA,0DAAAA;AAaAA,MAAAA,4DAAAA;AAEEA,MAAAA,wDAAAA;AAAA,eAAS4I,eAAT;AAAoB,OAApB;AASA5I,MAAAA,wDAAAA;AACAA,MAAAA,wDAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;;;;AA1CyCA,MAAAA,wDAAAA,YAAAA,6DAAAA;AAIrCA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA,yCAAmC,SAAnC,EAAmCA,6DAAAA,qGAAnC;AAQOA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AACAA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAMPA,MAAAA,uDAAAA;AAAAA,MAAAA,mEAAAA;AADAA,MAAAA,wDAAAA,6BAAyB,UAAzB,EAAyB4I,iBAAzB,EAAyB,MAAzB,EAAyBA,aAAzB,EAAyB,KAAzB,EAAyBA,YAAzB,EAAyB,KAAzB,EAAyBA,YAAzB;AAaA5I,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA,yCAAmC,SAAnC,EAAmCA,6DAAAA,qGAAnC;AAQOA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AACAA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCX;AACA;AAEA;AACA;;AAOO,IAAMuO,mBAAb;AAAA;AAAA;;;mBAAaA;AAAmB;;;QAAnBA;;;YAHF,CAAChP,yDAAD,EAAeE,uDAAf,EAA4BI,iEAA5B;;;;sHAGE0O,qBAAmB;AAAAlM,mBAJfkL,4GAIe;AAJOzN,cAC3BP,yDAD2B,EACbE,uDADa,EACAI,iEADA,CAIP;AAHuBE,cAC3CwN,4GAD2C;AAGvB;AAFE;;;;;;;;;;;;;;;;;;;ACVlC;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDA;AAEA;AACA;;;;;;;;;;;;AC4CYvN,IAAAA,4DAAAA;AACEA,IAAAA,uDAAAA;AAOAA,IAAAA,4DAAAA;AAAuDA,IAAAA,oDAAAA;AAASA,IAAAA,0DAAAA;AAClEA,IAAAA,0DAAAA;;;;;;AA+CJA,IAAAA,4DAAAA;AAMEA,IAAAA,4DAAAA;AAAwCA,IAAAA,oDAAAA;AAAcA,IAAAA,0DAAAA;AACtDA,IAAAA,4DAAAA;AACEA,IAAAA,uDAAAA;AAMAA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;AACFA,IAAAA,0DAAAA;;;;;;;;;;;;;;AAgBAA,IAAAA,4DAAAA;AACEA,IAAAA,4DAAAA;AAA4BA,IAAAA,oDAAAA;AAAYA,IAAAA,0DAAAA;AACxCA,IAAAA,4DAAAA;AACEA,IAAAA,4DAAAA;AAGEA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAASyO,mBAAY,EAAZ,CAAT;AAAwB,KAAxB;AACDzO,IAAAA,0DAAAA;AACDA,IAAAA,4DAAAA;AAGEA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAASgJ,mBAAY,YAAZ,CAAT;AAAkC,KAAlC;AACDhJ,IAAAA,0DAAAA;AACDA,IAAAA,4DAAAA;AAGEA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAAS0O,oBAAY,cAAZ,CAAT;AAAoC,KAApC;AACD1O,IAAAA,0DAAAA;AACDA,IAAAA,4DAAAA;AAGEA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAAS2O,oBAAY,YAAZ,CAAT;AAAkC,KAAlC;AACD3O,IAAAA,0DAAAA;AACDA,IAAAA,4DAAAA;AAGEA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAAS4O,oBAAY,WAAZ,CAAT;AAAiC,KAAjC;AACD5O,IAAAA,0DAAAA;AACDA,IAAAA,4DAAAA;AAGEA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAASE,oBAAY,SAAZ,CAAT;AAA+B,KAA/B;AACDF,IAAAA,0DAAAA;AACDA,IAAAA,4DAAAA;AAGEA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAAS6O,oBAAY,YAAZ,CAAT;AAAkC,KAAlC;AACD7O,IAAAA,0DAAAA;AACDA,IAAAA,4DAAAA;AAGEA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA,aAAS8O,oBAAY,SAAZ,CAAT;AAA+B,KAA/B;AACD9O,IAAAA,0DAAAA;AACHA,IAAAA,0DAAAA;AACFA,IAAAA,0DAAAA;;;;;AAvCMA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,YAAAA,6DAAAA;AAKAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,YAAAA,6DAAAA;AAKAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,YAAAA,6DAAAA;AAKAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,YAAAA,6DAAAA;AAKAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,YAAAA,6DAAAA;AAKAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,YAAAA,6DAAAA;AAKAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,YAAAA,6DAAAA;AAKAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,YAAAA,6DAAAA;;;;;;AAOJA,IAAAA,4DAAAA;AAIEA,IAAAA,oDAAAA;AACFA,IAAAA,0DAAAA;;;;;;AACoCA,IAAAA,4DAAAA;AAA6CA,IAAAA,oDAAAA;AAASA,IAAAA,0DAAAA;;;;;;AAgCxFA,IAAAA,4DAAAA;AACEA,IAAAA,uDAAAA;AAOAA,IAAAA,4DAAAA;AAA0DA,IAAAA,oDAAAA;AAAMA,IAAAA,0DAAAA;AAClEA,IAAAA,0DAAAA;;;;ADvNL,IAAM+O,4BAAb;AAQE;;;;;;AAOA,wCACUC,YADV,EAEU1I,kBAFV,EAGUyD,mBAHV,EAGiD;AAAA;;AAFvC;AACA;AACA,mDAAuC,CAE/C;;AACA,SAAKpH,eAAL,GAAuB,IAAIL,yCAAJ,EAAvB;AACD,GAtBH,CAwBE;AACA;;AAEA;;;;;AA3BF;AAAA;AAAA,WA8BE,iBAAQ;AAAA;;AACN;AACA,WAAK2M,IAAL,GAAY,KAAKD,YAAL,CAAkBvQ,KAAlB,CAAwB;AAClCyQ,WAAG,EAAE,KAAKF,YAAL,CAAkBvQ,KAAlB,CAAwB;AAC3B0Q,iBAAO,EAAE,IAAIX,uDAAJ,EADkB;AAE3BY,kBAAQ,EAAE,IAAIZ,uDAAJ,EAFiB;AAG3Ba,sBAAY,EAAE,IAAIb,uDAAJ,EAHa;AAI3Bc,qBAAW,EAAE,IAAId,uDAAJ;AAJc,SAAxB,CAD6B;AAOlCtL,cAAM,EAAE,KAAK8L,YAAL,CAAkBvQ,KAAlB,CAAwB;AAC9B8Q,cAAI,EAAE,IAAIf,uDAAJ,EADwB;AAE9BzD,cAAI,EAAE,IAAIyD,uDAAJ,EAFwB;AAG9BgB,mBAAS,EAAE,IAAIhB,uDAAJ,EAHmB;AAI9B5L,cAAI,EAAE,KAAKoM,YAAL,CAAkBvQ,KAAlB,CAAwB;AAC5BgR,kBAAM,EAAE,IAAIjB,uDAAJ,EADoB;AAE5B3D,qBAAS,EAAE,IAAI2D,uDAAJ;AAFiB,WAAxB,CAJwB;AAQ9BkB,gBAAM,EAAE,KAAKV,YAAL,CAAkBvQ,KAAlB,CAAwB;AAC9BgR,kBAAM,EAAE,IAAIjB,uDAAJ,EADsB;AAE9BzD,gBAAI,EAAE,IAAIyD,uDAAJ,EAFwB;AAG9BmB,sBAAU,EAAE,IAAInB,uDAAJ,EAHkB;AAI9BoB,iCAAqB,EAAE,IAAIpB,uDAAJ,EAJO;AAK9BqB,2BAAe,EAAE,IAAIrB,uDAAJ;AALa,WAAxB,CARsB;AAe9BsB,gBAAM,EAAE,KAAKd,YAAL,CAAkBvQ,KAAlB,CAAwB;AAC9BgR,kBAAM,EAAE,IAAIjB,uDAAJ,EADsB;AAE9BzD,gBAAI,EAAE,IAAIyD,uDAAJ,EAFwB;AAG9BmB,sBAAU,EAAE,IAAInB,uDAAJ,EAHkB;AAI9BoB,iCAAqB,EAAE,IAAIpB,uDAAJ,EAJO;AAK9BqB,2BAAe,EAAE,IAAIrB,uDAAJ;AALa,WAAxB,CAfsB;AAsB9BuB,4BAAkB,EAAE,IAAIvB,uDAAJ,EAtBU;AAuB9BwB,oBAAU,EAAE,IAAIxB,uDAAJ,EAvBkB;AAwB9ByB,mBAAS,EAAE,IAAIzB,uDAAJ,EAxBmB;AAyB9B0B,gBAAM,EAAE,IAAI1B,uDAAJ;AAzBsB,SAAxB;AAP0B,OAAxB,CAAZ,CAFM,CAsCN;;AACA,WAAKlI,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,yDAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF;AACA,aAAI,CAACwD,UAAL,GAAkBD,MAAlB,CAFsF,CAItF;;AACA,aAAI,CAAC0I,IAAL,CAAUkB,QAAV,CAAmB5J,MAAnB,EAA2B;AAAE6J,mBAAS,EAAE;AAAb,SAA3B;AACD,OAND,EAvCM,CA+CN;;;AACA,WAAKnB,IAAL,CACGoB,GADH,CACO,aADP,EAEGC,YAFH,CAEgBvN,IAFhB,CAEqBR,yDAAS,CAAC,KAAKI,eAAN,CAF9B,EAGGK,SAHH,CAGa,eAAK,EAAG;AACjB,aAAI,CAACuN,gBAAL,CAAsB5P,KAAtB;AACD,OALH,EAhDM,CAuDN;;AACA,WAAKsO,IAAL,CAAUqB,YAAV,CAAuBvN,IAAvB,CAA4BR,yDAAS,CAAC,KAAKI,eAAN,CAArC,EAA6DK,SAA7D,CAAuE,gBAAM,EAAG;AAC9E,aAAI,CAACsD,kBAAL,CAAwBC,MAAxB,GAAiCA,MAAjC;AACD,OAFD,EAxDM,CA4DN;;AACA,WAAKiK,WAAL,CAAiB,KAAKvB,IAAL,CAAUoB,GAAV,CAAc,+BAAd,EAA+C1P,KAAhE;AACD;AAED;;;;AA9FF;AAAA;AAAA,WAiGE,oBAAW;AACT;AACA,WAAKgC,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD,KArGH,CAuGE;AACA;;AAEA;;;;;;;AA1GF;AAAA;AAAA,WAgHU,yBAAgB,CAACrG,KAAD,EAAM;AAC5B,cAAQA,KAAR;AACE,aAAK,UAAL;AAAiB;AACf,iBAAKsO,IAAL,CAAUwB,UAAV,CAAqB;AACnBvN,oBAAM,EAAE;AACN;AACAsM,yBAAS,EAAE,QAFL;AAGN5M,oBAAI,EAAE;AACJ6M,wBAAM,EAAE,KADJ;AAEJ5E,2BAAS,EAAE;AAFP,iBAHA;AAON6E,sBAAM,EAAE;AACND,wBAAM,EAAE,KADF;AAEN1E,sBAAI,EAAE,cAFA;AAGN4E,4BAAU,EAAE,cAHN;AAINC,uCAAqB,EAAE,IAJjB;AAKNC,iCAAe,EAAE;AALX,iBAPF;AAcNC,sBAAM,EAAE;AACNL,wBAAM,EAAE,KADF;AAEN1E,sBAAI,EAAE,eAFA;AAGN4E,4BAAU,EAAE,cAHN;AAINC,uCAAqB,EAAE,KAJjB;AAKNC,iCAAe,EAAE;AALX;AAdF;AADW,aAArB;AAwBD;;AACD,aAAK,YAAL;AAAmB;AACjB,iBAAKZ,IAAL,CAAUwB,UAAV,CAAqB;AACnBvN,oBAAM,EAAE;AACN;AACAsM,yBAAS,EAAE,QAFL;AAGN5M,oBAAI,EAAE;AACJ6M,wBAAM,EAAE,KADJ;AAEJ5E,2BAAS,EAAE;AAFP,iBAHA;AAON6E,sBAAM,EAAE;AACND,wBAAM,EAAE,KADF;AAEN1E,sBAAI,EAAE,cAFA;AAGN4E,4BAAU,EAAE,cAHN;AAINC,uCAAqB,EAAE,IAJjB;AAKNC,iCAAe,EAAE;AALX,iBAPF;AAcNC,sBAAM,EAAE;AACNL,wBAAM,EAAE,KADF;AAEN1E,sBAAI,EAAE,eAFA;AAGN4E,4BAAU,EAAE,cAHN;AAINC,uCAAqB,EAAE,KAJjB;AAKNC,iCAAe,EAAE;AALX;AAdF;AADW,aAArB;AAwBD;AApDH,OAD4B,CAwD5B;;;AACA,WAAKW,WAAL,CAAiB,KAAKvB,IAAL,CAAUoB,GAAV,CAAc,+BAAd,EAA+C1P,KAAhE;AACD,KA1KH,CA4KE;AACA;;AAEA;;;;;;AA/KF;AAAA;AAAA,WAoLE,oBAAW,CAACA,KAAD,EAAM;AACf,WAAK+P,gBAAL,GAAwB/P,KAAxB;AACA,WAAKsO,IAAL,CAAUwB,UAAV,CAAqB;AACnBvN,cAAM,EAAE;AAAEwM,gBAAM,EAAE;AAAEE,iCAAqB,EAAE,IAAzB;AAA+BC,2BAAe,EAAE,KAAKa;AAArD;AAAV;AADW,OAArB;AAGD;AAED;;;;;;AA3LF;AAAA;AAAA,WAgME,sBAAa,CAACzD,GAAD,EAAI;AACf,WAAKlD,mBAAL,CAAyB4G,kBAAzB,CAA4C1D,GAA5C,EAAiD2D,UAAjD;AACD;AAlMH;AAAA;;;mBAAa7B,8BAA4B/O,+DAAAA,CAAAA,uDAAAA,GAAAA,+DAAAA,CAAAA,4EAAAA,GAAAA,+DAAAA,CAAAA,kGAAAA;AAAA;;;QAA5B+O;AAA4BxN;AAAAG;AAAAC;AAAAC;AAAAC;AAAA;ACfzC7B,MAAAA,4DAAAA;AAEEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAiBA,MAAAA,oDAAAA;AAAgBA,MAAAA,0DAAAA;AACjCA,MAAAA,4DAAAA;AAAeA,MAAAA,oDAAAA;AAAgCA,MAAAA,0DAAAA;AAE/CA,MAAAA,4DAAAA;AAA4BA,MAAAA,wDAAAA;AAAA,eAAS4I,kBAAc,iBAAd,CAAT;AAAyC,OAAzC;AAA2C5I,MAAAA,uDAAAA;AAAkCA,MAAAA,0DAAAA;AAC3GA,MAAAA,0DAAAA;AAEAA,MAAAA,uDAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAEEA,MAAAA,4DAAAA;AAEEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAA4BA,MAAAA,oDAAAA;AAAIA,MAAAA,0DAAAA;AAChCA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AAOAA,MAAAA,4DAAAA;AAAoDA,MAAAA,oDAAAA;AAAKA,MAAAA,0DAAAA;AAC3DA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AAOAA,MAAAA,4DAAAA;AAAuDA,MAAAA,oDAAAA;AAAQA,MAAAA,0DAAAA;AACjEA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AAOAA,MAAAA,4DAAAA;AAAmDA,MAAAA,oDAAAA;AAAIA,MAAAA,0DAAAA;AACzDA,MAAAA,0DAAAA;AACAA,MAAAA,wDAAAA;AAUFA,MAAAA,0DAAAA;AAEAA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAA0DA,MAAAA,oDAAAA;AAAgBA,MAAAA,0DAAAA;AAC1EA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAA2BA,MAAAA,oDAAAA;AAAYA,MAAAA,0DAAAA;AACvCA,MAAAA,4DAAAA;AAAuBA,MAAAA,oDAAAA;AAAOA,MAAAA,0DAAAA;AAC9BA,MAAAA,4DAAAA;AAAuBA,MAAAA,oDAAAA;AAAOA,MAAAA,0DAAAA;AAC9BA,MAAAA,4DAAAA;AAAqBA,MAAAA,oDAAAA;AAAIA,MAAAA,0DAAAA;AAC3BA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AAEAA,MAAAA,uDAAAA;AAGAA,MAAAA,4DAAAA;AAEEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAA4BA,MAAAA,oDAAAA;AAAWA,MAAAA,0DAAAA;AACvCA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AAOAA,MAAAA,4DAAAA;AAA6DA,MAAAA,oDAAAA;AAAQA,MAAAA,0DAAAA;AACvEA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AAOAA,MAAAA,4DAAAA;AAA+DA,MAAAA,oDAAAA;AAAUA,MAAAA,0DAAAA;AAC3EA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AAGAA,MAAAA,wDAAAA;AAmBAA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAwCA,MAAAA,oDAAAA;AAAWA,MAAAA,0DAAAA;AACnDA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AACAA,MAAAA,uDAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACAA,MAAAA,uDAAAA;AAGAA,MAAAA,4DAAAA;AAEEA,MAAAA,wDAAAA;AA8CAA,MAAAA,4DAAAA;AACEA,MAAAA,wDAAAA;AAMAA,MAAAA,wDAAAA,0FAAAA,oEAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AAOAA,MAAAA,4DAAAA;AAA4DA,MAAAA,oDAAAA;AAAQA,MAAAA,0DAAAA;AACtEA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AAOAA,MAAAA,4DAAAA;AAA0DA,MAAAA,oDAAAA;AAAMA,MAAAA,0DAAAA;AAClEA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AAOAA,MAAAA,4DAAAA;AAA0DA,MAAAA,oDAAAA;AAAMA,MAAAA,0DAAAA;AAClEA,MAAAA,0DAAAA;AACAA,MAAAA,wDAAAA;AAUFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACAA,MAAAA,uDAAAA;AAGAA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAA4BA,MAAAA,oDAAAA;AAAWA,MAAAA,0DAAAA;AACvCA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AAOAA,MAAAA,4DAAAA;AAA6DA,MAAAA,oDAAAA;AAAMA,MAAAA,0DAAAA;AACrEA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AAOAA,MAAAA,4DAAAA;AAA6DA,MAAAA,oDAAAA;AAAMA,MAAAA,0DAAAA;AACrEA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AAOAA,MAAAA,4DAAAA;AAA6DA,MAAAA,oDAAAA;AAAMA,MAAAA,0DAAAA;AACrEA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;;;;;;AA9QiFA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAIzEA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAsC8CA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AA4D3CA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AA4BiCA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAiD/BA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA,mDAA4C,UAA5C,EAA4C6Q,GAA5C;AAoCyC7Q,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5NtD;AACA;AACA;AAEA;AAMA;AACA;AAEA;;AAEA,IAAMgR,gCAAgC,GAAoC;AACxEC,iBAAe,EAAE,IADuD;AAExEC,kBAAgB,EAAE;AAFsD,CAA1E;AAwBO,IAAMC,yBAAb;AAAA;AAAA;;;mBAAaA;AAAyB;;;QAAzBA;;;aARA,CACT;AACEjP,WAAO,EAAE6O,2EADX;AAEE5O,YAAQ,EAAE6O;AAFZ,GADS;AAKVlR,YAdQ,CACPP,yDADO,EAEPE,uDAFO,EAGPC,+DAHO,EAIPF,kEAJO,EAKPsR,yEALO,EAMPnR,6EANO,EAOPoN,gGAPO,CAcR;;;;sHAGUoE,2BAAyB;AAAA9O,mBAlBrB0M,sHAkBqB;AAlBOjP,cAEzCP,yDAFyC,EAGzCE,uDAHyC,EAIzCC,+DAJyC,EAKzCF,kEALyC,EAMzCsR,yEANyC,EAOzCnR,6EAPyC,EAQzCoN,gGARyC,CAkBP;AAVjBhN,cAQTgP,sHARS;AAUiB;AAFE;;;;;;;;;;;;;;;;;;;;ACpCxC;;AAGO,IAAMsC,UAAb;AACE,sBAAoCC,YAApC,EAA4D;AAAA;;AAC1D,QAAIA,YAAJ,EAAkB;AAChB,YAAM,IAAIC,KAAJ,CAAU,yCAAV,CAAN;AACD;AACF;;AALH;AAAA;AAAA,WAOE,SAAOC,OAAP,CAAejL,MAAf,EAAqB;AACnB,aAAO;AACLkL,gBAAQ,EAAEJ,UADL;AAELK,iBAAS,EAAE,CACT;AACExP,iBAAO,EAAEkP,6EADX;AAEEjP,kBAAQ,EAAEoE;AAFZ,SADS;AAFN,OAAP;AASD;AAjBH;AAAA;;;mBAAa8K,YAAUrR,sDAAAA,CAC6BqR,UAD7B,EACuC,EADvC;AACuC;;;QADjDA;;;;;;;;;;;;;;;;;;;;;;;ACLb;AAEA;;AAKO,IAAMS,oBAAb;AASE;;;;;AAKA,gCAC8BjI,WAD9B,EAEqCkI,eAFrC,EAEuE;AAAA;;AADzC;AACO;AACjC;;AAjBN;AAAA;AAAA,WAmBE,oBAAW,CAACC,OAAD,EAAuB;AAChC;AACA,WAAKC,cAAL,GAAsB,KAAKpI,WAAL,CAAiB1C,aAAvC,CAFgC,CAIhC;;AACA,WAAK+D,IAAL,GAAY8G,OAAO,CAAC9G,IAAR,GAAe8G,OAAO,CAAC9G,IAAR,CAAagH,YAA5B,GAA2C,EAAvD;AACA,WAAK9D,IAAL,GAAY4D,OAAO,CAAC5D,IAAR,GAAe4D,OAAO,CAAC5D,IAAR,CAAa8D,YAA5B,GAA2C,IAAvD,CANgC,CAM6B;;AAC7D,WAAKC,KAAL,GAAaH,OAAO,CAACG,KAAR,GAAgBH,OAAO,CAACG,KAAR,CAAcD,YAA9B,GAA6C,EAA1D,CAPgC,CAShC;;AACA,UAAME,GAAG,GAAGP,gDAAA,CAAc,KAAK3G,IAAnB,EAAyBoH,KAAzB,CAA+B;AACzCH,aAAK,EAAE,KAAKA,KAD6B;AAEzCpT,aAAK,EAAE,KAAKqP,IAF6B;AAGzCmE,cAAM,EAAE,KAAKnE;AAH4B,OAA/B,CAAZ,CAVgC,CAgBhC;;AACA,UAAI,KAAKoE,KAAT,EAAgB;AACd,aAAKP,cAAL,CAAoBQ,SAApB,GAAgCL,GAAhC;AACD,OAFD,MAEO;AACL,aAAKH,cAAL,CAAoBS,SAApB,GAAgCN,GAAhC;AACD;;AACD,WAAKL,eAAL,CAAqB9O,YAArB;AACD;AA1CH;AAAA;;;mBAAa6O,sBAAoB9R,+DAAAA,CAerB2R,qDAfqB,GAeX3R,+DAAAA,CACV4R,4DADU;AACO;;;QAhBhBE;AAAoBvQ;AAAAC;AAAA0J;AAAAiH;AAAA/D;AAAAoE;AAAA;AAAAG,aAAAA,kEAAAA;;;;;;;;;;;;;;;;;;;;;;ACLjC;;AAKO,IAAME,qBAAb;AAIE;;;;;AAKA,iCAAoBhJ,WAApB,EAA2C;AAAA;;AAAvB;AAA2B;;AATjD;AAAA;AAAA,WAWE,iBAAQ;AACN;AACA,WAAKoI,cAAL,GAAsB,KAAKpI,WAAL,CAAiB1C,aAAvC;;AAEA,WACE;AACA,OAAC,KAAK8K,cAAL,CAAoBa,SAApB,CAA8BC,KAA9B,CAAoC,GAApC,EAAyCC,IAAzC,CAA8C,UAAUC,CAAV,EAAW;AACxD,eAAO,iBAAiBC,IAAjB,CAAsBD,CAAtB,CAAP;AACD,OAFA,CAAD,IAGA,CAAC,KAAKhB,cAAL,CAAoBa,SAApB,CAA8BC,KAA9B,CAAoC,GAApC,EAAyCC,IAAzC,CAA8C,UAAUC,CAAV,EAAW;AACxD,eAAO,cAAcC,IAAd,CAAmBD,CAAnB,CAAP;AACD,OAFA,CALH,EAQE;AACAL,QAAAA,8CAAA,CAAa,KAAKX,cAAlB,EAAkC,CAAC,aAAD,EAAgB,aAAhB,CAAlC;AACD,OAVD,MAUO;AACL;AACAW,QAAAA,8CAAA,CAAa,KAAKX,cAAlB;AACD;AACF;AA7BH;AAAA;;;mBAAaY,uBAAqB7S,+DAAAA,CAAAA,qDAAAA;AAAA;;;QAArB6S;AAAqBtR;AAAAC;AAAA4R;AAAA;;;;;;;;;;;;;;;;;;;;;;ACLlC;AACA;;AAMO,IAAMzT,oBAAb;AAAA;AAAA;;;mBAAaA;AAAoB;;;QAApBA;;;;;sHAAAA,sBAAoB;AAAA0C,mBAHhBwQ,mHAGgB,EAHOf,wGAGP;AAH2B/R,cAChD8S,mHADgD,EACzBf,wGADyB;AAG3B;AAFsB;;;;;;;;;;;;;;;;;;;;ACHhD,IAAMuB,UAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AACE;;;;;;;;;AASA,sBAAS,CAACC,KAAD,EAAeC,UAAf,EAAmCtG,GAAnC,EAA8C;AACrD,UAAI,CAACqG,KAAL,EAAY,OAAO,EAAP;AACZ,UAAI,CAACC,UAAL,EAAiB,OAAOD,KAAP;AAEjBC,gBAAU,GAAGA,UAAU,CAACC,WAAX,EAAb;AACA,aAAOF,KAAK,CAACnN,MAAN,CAAa,YAAE,EAAG;AACvB,eAAOsN,EAAE,CAACxG,GAAD,CAAF,CAAQuG,WAAR,GAAsB/K,QAAtB,CAA+B8K,UAA/B,CAAP;AACD,OAFM,CAAP;AAGD;AAlBH;AAAA;;;mBAAaF;AAAU;;;;QAAVA;AAAUK;;;;;;;;;;;;;;;;;;;;;ACChB,IAAMC,YAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,WACE,kBAAS,CAACC,QAAD,EAAiB;AACxB,aAAOA,QAAQ,SAAR,YAAQ,WAAR,GAAQ,MAAR,WAAQ,CACXb,KADG,CACG,GADH,EAEJc,GAFI,CAEA,WAAC;AAAA,eAAIC,CAAC,CAAC,CAAD,CAAL;AAAA,OAFD,EAGJC,IAHI,CAGC,EAHD,CAAP;AAID;AANH;AAAA;;;mBAAaJ;AAAY;;;;QAAZA;AAAYD;;;;;;;;;;;;;;;;;;;;;;;;ACHzB;AAEA;AAEA;AACA;;AAOO,IAAM9T,eAAb;AAAA;AAAA;;;mBAAaA;AAAe;;;QAAfA;;;YAHF;;;;sHAGEA,iBAAe;AAAAyC,mBAJXsR,mEAIW,EAJGN,+DAIH,EAJeY,qEAIf,EAJ8BD,2DAI9B;AAJsCjU,cAEtD4T,mEAFsD,EAExCN,+DAFwC,EAE5BY,qEAF4B,EAEbD,2DAFa;AAItC;AAFiC;;;;;;;;;;;;;;;;;;;;;;ACT7D;;;;AAMO,IAAMA,QAAb;AACE;;;;;AAKA;AACA,oBAAsBE,UAAtB,EAA8C;AAAA;;AAAxB;AAA4B;AAElD;;;;;;;;AATF;AAAA;AAAA,WAeE,kBAAS,CAACvT,KAAD,EAAgBoK,IAAhB,EAA4B;AACnC,cAAQA,IAAR;AACE,aAAK,MAAL;AACE,iBAAO,KAAKmJ,UAAL,CAAgBC,uBAAhB,CAAwCxT,KAAxC,CAAP;;AACF,aAAK,OAAL;AACE,iBAAO,KAAKuT,UAAL,CAAgBE,wBAAhB,CAAyCzT,KAAzC,CAAP;;AACF,aAAK,QAAL;AACE,iBAAO,KAAKuT,UAAL,CAAgBG,yBAAhB,CAA0C1T,KAA1C,CAAP;;AACF,aAAK,KAAL;AACE,iBAAO,KAAKuT,UAAL,CAAgBI,sBAAhB,CAAuC3T,KAAvC,CAAP;;AACF,aAAK,aAAL;AACE,iBAAO,KAAKuT,UAAL,CAAgBK,8BAAhB,CAA+C5T,KAA/C,CAAP;;AACF;AACE,iBAAO,KAAKuT,UAAL,CAAgBC,uBAAhB,CAAwCxT,KAAxC,CAAP;AAZJ;AAcD;AA9BH;AAAA;;;mBAAaqT,UAAQhU,+DAAAA,CAAAA,mEAAAA;AAAA;;;;QAARgU;AAAQN;;;;;;;;;;;;;;;;;;;;;ACJd,IAAMO,aAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,WACE,kBAAS,CAACtT,KAAD,EAAc;AACrB,aAAOA,KAAK,CAAC6T,OAAN,CAAc,QAAd,EAAwB,EAAxB,CAAP,CADqB,CACe;AACrC;AAHH;AAAA;;;mBAAaP;AAAa;;;;QAAbA;AAAaP;;;;;;;;;;;;;;;;;;;;;;;;;;ACL1B;AACA;AAEA;AACA;AAEA;;CAEA;;AACO,IAAMtC,kBAAkB,GAAG,IAAIqD,yDAAJ,CAAmB,kBAAnB,CAA3B;AAKA,IAAMG,iBAAb;AAME;;;;;;AAMA,6BAAoBjQ,OAApB,EAAyEkQ,OAAzE,EAAgF;AAAA;;AAA5D;AAAqD,2BAAO,CAC9E;;AACA,QAAIA,OAAO,CAAC3R,MAAR,CAAe6M,kBAAnB,EAAuC;AACrC,WAAK+E,WAAL,GAAmBC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAX,CAAnB;AACD,KAFD,MAEO;AACLD,kBAAY,CAACE,UAAb,CAAwB,QAAxB;AACD,KAN6E,CAQ9E;;;AACA,SAAKC,cAAL,GAAsB,KAAKN,WAAL,GAAmB,KAAKA,WAAxB,GAAsCD,OAA5D,CAT8E,CAW9E;;AACA,SAAKQ,WAAL;AACD,GAzBH,CA2BE;AACA;AAEA;;;AA9BF;AAAA;AAAA,SAqDE;AACA,mBAAU;AACR,aAAO,KAAKC,cAAL,CAAoBtQ,YAApB,EAAP;AACD;AAED;;;;;AA1DF;AAAA,SA+BE,aAAWuQ,IAAX,EAAe;AACb,UAAIhP,MAAJ,CADa,CAGb;;AACA,UAAI,KAAKuO,WAAT,EAAsB;AACpBvO,cAAM,GAAG,KAAKuO,WAAd;AACD,OAFD,MAEO;AACLvO,cAAM,GAAG,KAAK+O,cAAL,CAAoBE,QAApB,EAAT;AACD,OARY,CAUb;;;AACAjP,YAAM,GAAGoO,yCAAA,CAAQ,EAAR,EAAYpO,MAAZ,EAAoBgP,IAApB,CAAT,CAXa,CAab;;AACA,UAAIhP,MAAM,CAACrD,MAAP,CAAc6M,kBAAlB,EAAsC;AACpCkF,oBAAY,CAACS,OAAb,CAAqB,QAArB,EAA+BX,IAAI,CAACY,SAAL,CAAepP,MAAf,CAA/B;AACD,OAhBY,CAkBb;;;AACA,WAAK+O,cAAL,CAAoB/P,IAApB,CAAyBgB,MAAzB;AACD;AAnDH;AAAA;AAAA,SA+DE,eAAiB;AACf,aAAO,KAAK6O,cAAZ;AACD,KAjEH,CAmEE;AACA;;AAEA;;;;;;AAtEF;AAAA;AAAA,WA2EU,oBAAW;AAAA;;AACjB;AACA,WAAKE,cAAL,GAAsB,IAAIvR,iDAAJ,CAAoB4Q,6CAAA,CAAY,KAAKS,cAAjB,CAApB,CAAtB,CAFiB,CAIjB;AACA;;AACA,WAAKzQ,OAAL,CAAa8B,MAAb,CAAoB1D,IAApB,CAAyBoD,sDAAM,CAAC,eAAK;AAAA,eAAIO,KAAK,YAAYgO,uDAArB;AAAA,OAAN,CAA/B,EAAuE1R,SAAvE,CAAiF,YAAK;AACpF;AACA,aAAI,CAAC8R,WAAL,GAAmBC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAX,CAAnB,CAFoF,CAIpF;;AACA,YAAIW,YAAY,GAAG,KAAI,CAACf,WAAL,GAAmB,KAAI,CAACA,WAAxB,GAAsC,KAAI,CAACM,cAA9D,CALoF,CAOpF;;AACA,YAAI,CAACT,2CAAA,CAAU,KAAI,CAACW,cAAL,CAAoBE,QAApB,GAA+BtS,MAAzC,EAAiD2S,YAAY,CAAC3S,MAA9D,CAAL,EAA4E;AAC1E;AACA,cAAMqD,MAAM,GAAGoO,6CAAA,CAAY,KAAI,CAACW,cAAL,CAAoBE,QAApB,EAAZ,CAAf,CAF0E,CAI1E;;;AACAjP,gBAAM,CAACrD,MAAP,GAAgByR,6CAAA,CAAYkB,YAAY,CAAC3S,MAAzB,CAAhB,CAL0E,CAO1E;;AACA,eAAI,CAACoS,cAAL,CAAoB/P,IAApB,CAAyBgB,MAAzB;AACD;AACF,OAlBD;AAmBD,KApGH,CAsGE;AACA;;AAEA;;;;;;;AAzGF;AAAA;AAAA,WA+GE,kBAAS,CAACgP,IAAD,EAAkC;AAAA,UAA3BQ,KAA2B,uEAAnB;AAAE3F,iBAAS,EAAE;AAAb,OAAmB;AACzC,UAAI7J,MAAJ,CADyC,CAGzC;;AACA,WAAKuO,WAAL,GAAmBC,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqB,QAArB,CAAX,CAAnB;;AACA,UAAI,KAAKJ,WAAT,EAAsB;AACpBvO,cAAM,GAAG,KAAKuO,WAAd;AACD,OAFD,MAEO;AACLvO,cAAM,GAAG,KAAK+O,cAAL,CAAoBE,QAApB,EAAT;AACD,OATwC,CAWzC;;;AACAjP,YAAM,GAAGoO,yCAAA,CAAQ,EAAR,EAAYpO,MAAZ,EAAoBgP,IAApB,CAAT,CAZyC,CAczC;;AACA,UAAIhP,MAAM,CAACrD,MAAP,CAAc6M,kBAAlB,EAAsC;AACpCkF,oBAAY,CAACS,OAAb,CAAqB,QAArB,EAA+BX,IAAI,CAACY,SAAL,CAAepP,MAAf,CAA/B;AACD,OAjBwC,CAmBzC;;;AACA,UAAIwP,KAAK,CAAC3F,SAAN,KAAoB,IAAxB,EAA8B;AAC5B;AACA,aAAKkF,cAAL,CAAoB/P,IAApB,CAAyBgB,MAAzB;AACD;AACF;AAED;;;;;;AAzIF;AAAA;AAAA,WA8IE,kBAAS;AACP,aAAO,KAAK+O,cAAL,CAAoBtQ,YAApB,EAAP;AACD;AAED;;;;AAlJF;AAAA;AAAA,WAqJE,oBAAW;AACT,WAAKsQ,cAAL,CAAoB/P,IAApB,CAAyBoP,6CAAA,CAAY,KAAKS,cAAjB,CAAzB;AACD;AAvJH;AAAA;;;mBAAaR,mBAAiB5U,sDAAAA,CAAAA,mDAAAA,GAAAA,sDAAAA,CAYiBoR,kBAZjB;AAYmC;;;SAZpDwD;AAAiB5O,WAAjB4O,iBAAiB;AAAA3O,cAFhB;;;;;;;;;;;;;;;;;;;;;;;;;ACXd;AAEA;AACA;AAEA;;;;AAKO,IAAMgQ,wBAAb;AAIE;;;;;;;AAOA,oCAC4BC,SAD5B,EAEUvR,OAFV,EAGUqF,iBAHV,EAG6C;AAAA;;AAFjB;AAClB;AACA,+CAAmC,CAE3C;;AACA,SAAKmM,KAAL;AACD,GAlBH,CAoBE;AACA;;AAEA;;;;;;;AAvBF;AAAA;AAAA,WA4BU,cAAK;AAAA;;AACX;AACA,WAAKC,eAAL,GAAuB,KAAKF,SAAL,CAAetV,IAAf,CAAoByV,aAApB,CAAkC,aAAlC,CAAvB,CAFW,CAIX;;AACA,UAAI,KAAKD,eAAT,EAA0B;AACxB;AACA,aAAKzR,OAAL,CAAa8B,MAAb,CACG1D,IADH,CAEIoD,sDAAM,CAAC,eAAK;AAAA,iBAAIO,KAAK,YAAYR,0DAArB;AAAA,SAAN,CAFV,EAGI8P,oDAAI,CAAC,CAAD,CAHR,EAKGhT,SALH,CAKa,YAAK;AACd9B,oBAAU,CAAC,YAAK;AACd,iBAAI,CAACoV,IAAL;AACD,WAFS,CAAV;AAGD,SATH;AAUD;AACF,KA9CH,CAgDE;AACA;;AAEA;;;;AAnDF;AAAA;AAAA,WAsDE,aAAI;AAAA;;AACF,WAAKC,eAAL,GAAuB,KAAKvM,iBAAL,CACpBkC,KADoB,CACd,CACL3N,0DAAK,CAAC;AACJW,eAAO,EAAE,GADL;AAEJsX,cAAM,EAAE;AAFJ,OAAD,CADA,EAKL7X,4DAAO,CAAC,YAAD,EAAeJ,0DAAK,CAAC;AAAEW,eAAO,EAAE;AAAX,OAAD,CAApB,CALF,CADc,EAQpBiN,MARoB,CAQb,KAAKiK,eARQ,CAAvB;AAUAlV,gBAAU,CAAC,YAAK;AACd,cAAI,CAACqV,eAAL,CAAqBnK,IAArB;AACD,OAFS,EAEP,CAFO,CAAV;AAGD;AAED;;;;AAtEF;AAAA;AAAA,WAyEE,aAAI;AAAA;;AACF,WAAKmK,eAAL,GAAuB,KAAKvM,iBAAL,CACpBkC,KADoB,CACd,CACL3N,0DAAK,CAAC;AAAEW,eAAO,EAAE;AAAX,OAAD,CADA,EAELP,4DAAO,CACL,YADK,EAELJ,0DAAK,CAAC;AACJW,eAAO,EAAE,GADL;AAEJsX,cAAM,EAAE;AAFJ,OAAD,CAFA,CAFF,CADc,EAWpBrK,MAXoB,CAWb,KAAKiK,eAXQ,CAAvB;AAaAlV,gBAAU,CAAC,YAAK;AACd,cAAI,CAACkV,eAAL,CAAqBzL,MAArB;;AACA,cAAI,CAAC4L,eAAL,CAAqBnK,IAArB;AACD,OAHS,EAGP,CAHO,CAAV;AAID;AA3FH;AAAA;;;mBAAa6J,0BAAwBjW,sDAAAA,CAYzB0J,qDAZyB,GAYjB1J,sDAAAA,CAAAA,mDAAAA,GAAAA,sDAAAA,CAAAA,iEAAAA;AAAA;;;SAZPiW;AAAwBjQ,WAAxBiQ,wBAAwB;AAAAhQ,cAFvB;;;;;;;;;;;;;;;;;;;;;;;;ACNd;AACA;;;AAKO,IAAM0Q,gBAAb;AAIE;;;;;AAKA,4BAAoB1M,cAApB,EAAiD;AAAA;;AAA7B;AAPpB,yBAAyC,IAAIlG,iDAAJ,CAA4B,EAA5B,CAAzC,CAOiD,CAC/C;;AACA,SAAK6S,iBAAL,GAAyB,EAAzB,CAF+C,CAI/C;;AACA,SAAKT,KAAL;AACD,GAfH,CAiBE;AACA;;AAEA;;;;;;;AApBF;AAAA;AAAA,WAyBU,cAAK;AAAA;;AACX,WAAKlM,cAAL,CAAoB4M,MAApB,CAA2B9T,IAA3B,CAAgC0T,4DAAY,CAAC,GAAD,CAA5C,EAAmDC,oEAAoB,EAAvE,EAA2E1T,SAA3E,CAAqF,UAAC8T,MAAD,EAAwB;AAC3G;AACA,YAAI,KAAI,CAACF,iBAAL,KAA2BE,MAAM,CAACC,OAAtC,EAA+C;AAC7C,eAAI,CAACH,iBAAL,GAAyBE,MAAM,CAACC,OAAhC;;AACA,eAAI,CAACtL,aAAL,CAAmBlG,IAAnB,CAAwBuR,MAAM,CAACC,OAA/B;AACD;AACF,OAND;AAOD;AAjCH;AAAA;;;mBAAaJ,kBAAgB3W,sDAAAA,CAAAA,+DAAAA;AAAA;;;SAAhB2W;AAAgB3Q,WAAhB2Q,gBAAgB;AAAA1Q,cAFf;;;;;;;;;;;;;;;;;;;;;;;ACKP,IAAM+Q,sBAAb;AACE;;;;;AAKA,kCAAoBC,iBAApB,EAAuD;AAAA;;AAAnC;AAAuC,GAN7D,CAQE;AACA;;AAEA;;;;;;;AAXF;AAAA;AAAA,WAgBE,kBAAS,GAAkB;AAAA;;AAAA,wCAAdC,IAAc;AAAdA,YAAc;AAAA;;AACzB,UAAMC,OAAO,aAAOD,IAAP,CAAb;AAEAC,aAAO,CAACC,OAAR,CAAgB,gBAAM,EAAG;AACvB;AACA,aAAI,CAACH,iBAAL,CAAuBI,cAAvB,CAAsCC,MAAM,CAACC,IAA7C,EAAmDD,MAAM,CAAC/B,IAA1D,EAAgE,IAAhE;AACD,OAHD;AAID;AAvBH;AAAA;;;mBAAayB,wBAAsBhX,sDAAAA,CAAAA,iEAAAA;AAAA;;;SAAtBgX;AAAsBhR,WAAtBgR,sBAAsB;AAAA/Q,cAFrB;;;;;;;;;;;;;;;ACRd;;;;;;;;;;;;AAaA;AACO,IAAMO,UAAU,GAAe;AACpC0I,KAAG,EAAE;AACHC,WAAO,EAAO,uBADX;AAEHC,YAAQ,EAAM,uBAFX;AAGHC,gBAAY,EAAE,iCAHX;AAIHC,eAAW,EAAG,IAJX,CAI2D;;AAJ3D,GAD+B;AAOpCpM,QAAM,EAAE;AACNqM,QAAI,EAAI,SADF;AAENxE,QAAI,EAAI,UAFF;AAGNyE,aAAS,EAAG,QAHN;AAIN5M,QAAI,EAAG;AACL6M,YAAM,EAAiB,KADlB;AAEL5E,eAAS,EAAc,KAFlB,CAEmC;;AAFnC,KAJD;AAQN;AACA6E,UAAM,EAAE;AACND,YAAM,EAAiB,KADjB;AAEN1E,UAAI,EAAmB,cAFjB;AAGN4E,gBAAU,EAAa,cAHjB;AAINC,2BAAqB,EAAE,IAJjB;AAKNC,qBAAe,EAAQ,EALjB,CAKkC;;AALlC,KATF;AAgBNC,UAAM,EAAE;AACNL,YAAM,EAAE,IADF;AAEN1E,UAAI,EAAE,eAFA;AAGN4E,gBAAU,EAAE,cAHN;AAINC,2BAAqB,EAAE,KAJjB;AAKNC,qBAAe,EAAE,EALX,CAK4B;;AAL5B,KAhBF;AAuBNE,sBAAkB,EAAE,IAvBd;AAwBNC,cAAU,EAAI,IAxBR;AAyBNC,aAAS,EAAK,IAzBR;AA0BNC,UAAM,EAAQ,KA1BR,CA0BqC;;AA1BrC;AAP4B,CAA/B;;;;;;;;;;;;;;;;;;;;;;ACfP;AACA;AACA;;;AAEA,IAAMuH,MAAM,GAAW,CACrB;AACEC,MAAI,EAAE,EADR;AAEEC,cAAY,EAAE,SAAdA,YAAc;AAAA,WAAM,qoBAA0CC,IAA1C,CAA+C,WAAC;AAAA,aAAIC,CAAC,CAACC,YAAN;AAAA,KAAhD,CAAN;AAAA;AAFhB,CADqB,EAKrB;AACEJ,MAAI,EAAE,SADR;AAEEK,aAAW,EAAE,CAACP,+DAAD,CAFf;AAGEG,cAAY,EAAE,SAAdA,YAAc;AAAA,WAAM,kgBAA4CC,IAA5C,CAAiD,WAAC;AAAA,aAAIC,CAAC,CAACG,aAAN;AAAA,KAAlD,CAAN;AAAA;AAHhB,CALqB,EAUrB;AACEN,MAAI,EAAE,OADR;AAEEK,aAAW,EAAE,CAACP,+DAAD,CAFf;AAGEjC,MAAI,EAAE;AAAC0C,SAAK,EAAE,CAACjU,0EAAD,EAAyBA,8EAAzB,EAAqDA,wEAArD,EAA2EA,oEAA3E;AAAR,GAHR;AAIE2T,cAAY,EAAE,SAAdA,YAAc;AAAA,WAAM,gLAAwCC,IAAxC,CAA6C,WAAC;AAAA,aAAIC,CAAC,CAACK,WAAN;AAAA,KAA9C,CAAN;AAAA;AAJhB,CAVqB,EAgBrB;AACER,MAAI,EAAE,SADR;AAEEnC,MAAI,EAAE;AAAC0C,SAAK,EAAE,CAACjU,yEAAD,EAAwBA,iFAAxB;AAAR,GAFR;AAGE2T,cAAY,EAAE,SAAdA,YAAc;AAAA,WAAM,yeAA4CC,IAA5C,CAAiD,WAAC;AAAA,aAAIC,CAAC,CAACM,aAAN;AAAA,KAAlD,CAAN;AAAA;AAHhB,CAhBqB,EAqBrB;AACET,MAAI,EAAE,OADR;AAEEC,cAAY,EAAE,SAAdA,YAAc;AAAA,WAAM,4XAAoDC,IAApD,CAAyD,WAAC;AAAA,aAAIC,CAAC,CAACO,WAAN;AAAA,KAA1D,CAAN;AAAA;AAFhB,CArBqB,CAAvB;AA+BO,IAAMC,gBAAb;AAAA;AAAA;;;mBAAaA;AAAgB;;;QAAhBA;;;YAHF,CAACjV,iEAAA,CAAqBqU,MAArB,EAA6B;AAACa,6BAAyB,EAAE,QAA5B;AAAsCC,uBAAmB,EAAE;AAA3D,GAA7B,CAAD,GACCnV,yDAAYA;;;;sHAEXiV,kBAAgB;AAAAvY,cAAAA,yDAAAA;AAAAC,cAFjBqD,yDAEiB;AAAA;AAFL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjCxB;AAEA;AACA;AAEA;AAaA;;;;;;;;;;;;;;;;;;AAQO,IAAMqV,YAAb;AASE,wBAC4BhY,QAD5B,EAEUiY,MAFV,EAGU9O,SAHV,EAIUC,WAJV,EAKSvD,kBALT,EAMUyD,mBANV,EAOU4O,yBAPV,EAQUjW,gBARV,EASUkW,uBATV,EAUU3B,iBAVV,EAWU4B,kBAXV,EAYUC,KAZV,EAaUC,mBAbV,EAcUC,mBAdV,EAeSpU,WAfT,EAgBUqU,4BAhBV,EAiBUC,YAjBV,EAkBUC,qBAlBV,EAkBsD;AAAA;;AAAA;;AAjB1B;AAClB;AACA;AACA;AACD;AACC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AACC;AACA;AACA,uDAA4C,CAGpD;;AACAjY,cAAU,CAAC;AAAA,aAAM,KAAI,CAACkY,OAAL,EAAN;AAAA,KAAD,EAAuB,GAAvB,CAAV,CAJoD,CAMpD;;AACA,SAAKnC,iBAAL,CAAuBoC,QAAvB,CAAgC,CAAC,IAAD,EAAO,IAAP,CAAhC,EAPoD,CASpD;;;AACA,SAAKpC,iBAAL,CAAuBqC,cAAvB,CAAsC,IAAtC;;AACA,QAAIrE,YAAY,CAACC,OAAb,CAAqB,UAArB,KAAoCnH,SAAxC,EAAmD;AACjDkH,kBAAY,CAACS,OAAb,CAAqB,UAArB,EAAiC,IAAjC;AACD;;AAED,QAAIT,YAAY,CAACC,OAAb,CAAqB,gBAArB,KAA0CnH,SAA9C,EAAyD;AACvDkH,kBAAY,CAACS,OAAb,CAAqB,gBAArB,EAAuC,OAAvC;AACD;;AAED,SAAKuB,iBAAL,CAAuBsC,GAAvB,CAA2B,KAAKP,mBAAL,CAAyBQ,WAAzB,EAA3B;;AACA,SAAKP,4BAAL,CAAkCQ,wBAAlC;AACA,SAAKN,qBAAL,CAA2BO,UAA3B,GArBoD,CAuBpD;;AACA,SAAK/W,eAAL,GAAuB,IAAIL,0CAAJ,EAAvB;AACD;;AApDH;AAAA;AAAA,WAsDE,iBAAQ;AAAA;;AACN;AACAsQ,MAAAA,4CAAA;AAEA,WAAKgH,YAAL,GAAoB,IAAI7V,kDAAJ,CAA4B,IAA5B,CAApB;AACA,WAAK6V,YAAL,CAAkB5W,SAAlB,CAA4B,aAAG,EAAG;AAChC,YAAI6W,GAAJ,EACE,MAAI,CAACd,mBAAL,CAAyBe,WAAzB,CAAqCD,GAArC;AACH,OAHD;AAKA,WAAKf,KAAL,CAAWiB,aAAX,CACG/W,SADH,CACa,UAACgX,MAAD,EAAW;AAClB,YAAIzC,IAAI,GAAGyC,MAAM,CAAC3J,GAAP,CAAW,MAAX,CAAX;AACA,YAAIkH,IAAJ,EACE,MAAI,CAACqC,YAAL,CAAkBrU,IAAlB,CAAuBgS,IAAvB;AACH,OALL,EAVM,CAkBN;;AACA,WAAKjR,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,0DAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF,cAAI,CAACwD,UAAL,GAAkBD,MAAlB,CADsF,CAGtF;;AACA,cAAI,CAACsD,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCqD,MAAzC,CACE,iBADF,EAEE,sBAFF,EAGE,mBAHF,EAIE,iBAJF,EAJsF,CAUtF;;;AACA,YAAI,MAAI,CAACnE,UAAL,CAAgBtD,MAAhB,CAAuB6H,IAAvB,KAAgC,UAApC,EAAgD;AAC9C,gBAAI,CAAClB,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCgB,GAAzC,CAA6C,iBAA7C,EAAgE,sBAAhE;AACD,SAFD,MAEO,IAAI,MAAI,CAAC9B,UAAL,CAAgBtD,MAAhB,CAAuB6H,IAAvB,KAAgC,YAApC,EAAkD;AACvD,gBAAI,CAAClB,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCgB,GAAzC,CAA6C,mBAA7C,EAAkE,iBAAlE;AACD,SAfqF,CAiBtF;AACA;AAEA;;;AACA,cAAI,CAACuB,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCqD,MAAzC,CACE,iBADF,EAEE,eAFF,EAGE,eAHF,EAIE,eAJF,EArBsF,CA4BtF;;;AACA,YAAI,MAAI,CAACnE,UAAL,CAAgBtD,MAAhB,CAAuBwM,MAAvB,CAA8B3E,IAA9B,KAAuC,mBAA3C,EAAgE;AAC9D,gBAAI,CAAClB,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCgB,GAAzC,CAA6C,eAA7C;AACD,SAFD,MAEO,IAAI,MAAI,CAAC9B,UAAL,CAAgBtD,MAAhB,CAAuBwM,MAAvB,CAA8B3E,IAA9B,KAAuC,WAA3C,EAAwD;AAC7D,gBAAI,CAAClB,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCgB,GAAzC,CAA6C,eAA7C;AACD,SAFM,MAEA,IAAI,MAAI,CAAC9B,UAAL,CAAgBtD,MAAhB,CAAuBwM,MAAvB,CAA8B3E,IAA9B,KAAuC,cAA3C,EAA2D;AAChE,gBAAI,CAAClB,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCgB,GAAzC,CAA6C,iBAA7C;AACD,SAFM,MAEA;AACL,gBAAI,CAACuB,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCgB,GAAzC,CAA6C,eAA7C;AACD,SArCqF,CAuCtF;AACA;AAEA;;;AACA,cAAI,CAACuB,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCqD,MAAzC,CAAgD,cAAhD,EAAgE,eAAhE,EAAiF,eAAjF,EA3CsF,CA6CtF;;;AACA,YAAI,MAAI,CAACnE,UAAL,CAAgBtD,MAAhB,CAAuB4M,MAAvB,CAA8B/E,IAA9B,KAAuC,eAA3C,EAA4D;AAC1D,gBAAI,CAAClB,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCgB,GAAzC,CAA6C,cAA7C;AACD,SAFD,MAEO,IAAI,MAAI,CAAC9B,UAAL,CAAgBtD,MAAhB,CAAuB4M,MAAvB,CAA8B/E,IAA9B,KAAuC,eAA3C,EAA4D;AACjE,gBAAI,CAAClB,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCgB,GAAzC,CAA6C,eAA7C;AACD,SAFM,MAEA;AACL,gBAAI,CAACuB,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCgB,GAAzC,CAA6C,eAA7C;AACD,SApDqF,CAsDtF;;;AACA,YACE,MAAI,CAAC9B,UAAL,CAAgBtD,MAAhB,CAAuBN,IAAvB,CAA4B6M,MAA5B,IACA,MAAI,CAACjJ,UAAL,CAAgBtD,MAAhB,CAAuBwM,MAAvB,CAA8BD,MAD9B,IAEA,MAAI,CAACjJ,UAAL,CAAgBtD,MAAhB,CAAuB4M,MAAvB,CAA8BL,MAHhC,EAIE;AACA,gBAAI,CAAC5F,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCgB,GAAzC,CAA6C,YAA7C,EADA,CAEA;;;AACA,gBAAI,CAACsB,SAAL,CAAezB,YAAf,CACE,MAAI,CAAC0B,WAAL,CAAiB1C,aAAjB,CAA+B8S,sBAA/B,CAAsD,aAAtD,EAAqE,CAArE,CADF,EAEE,OAFF,EAGE,iBAHF;AAKD,SAZD,MAYO;AACL,gBAAI,CAACpQ,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCqD,MAAzC,CAAgD,YAAhD,EADK,CAEL;;;AACAzJ,oBAAU,CAAC,YAAK;AACd,kBAAI,CAAC0I,SAAL,CAAezB,YAAf,CACE,MAAI,CAAC0B,WAAL,CAAiB1C,aAAjB,CAA+B8S,sBAA/B,CAAsD,aAAtD,EAAqE,CAArE,CADF,EAEE,OAFF,EAGE,2BAHF;AAKD,WANS,EAMP,CANO,CAAV,CAHK,CAUL;;AACA,cAAI,MAAI,CAACzT,UAAL,CAAgBtD,MAAhB,CAAuBwM,MAAvB,CAA8BD,MAAlC,EAA0C;AACxC,kBAAI,CAAC5F,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCgB,GAAzC,CAA6C,eAA7C;AACD,WAbI,CAcL;;;AACA,cAAI,MAAI,CAAC9B,UAAL,CAAgBtD,MAAhB,CAAuBN,IAAvB,CAA4B6M,MAAhC,EAAwC;AACtC,kBAAI,CAAC7F,SAAL,CAAezB,YAAf,CAA4B,MAAI,CAAC0B,WAAL,CAAiB1C,aAA7C,EAA4D,UAA5D,EAAwE,UAAxE;AACD,WAFD,MAEO;AACL,kBAAI,CAACyC,SAAL,CAAesQ,eAAf,CAA+B,MAAI,CAACrQ,WAAL,CAAiB1C,aAAhD,EAA+D,UAA/D;AACD,WAnBI,CAoBL;;;AACA,cAAI,MAAI,CAACX,UAAL,CAAgBtD,MAAhB,CAAuB4M,MAAvB,CAA8BL,MAAlC,EAA0C;AACxC,kBAAI,CAAC5F,WAAL,CAAiB1C,aAAjB,CAA+BG,SAA/B,CAAyCgB,GAAzC,CAA6C,eAA7C;AACD;AACF,SA3FqF,CA6FtF;;;AACA,YAAI,MAAI,CAAC9B,UAAL,CAAgBtD,MAAhB,CAAuBqM,IAAvB,KAAgC,EAAhC,IAAsC,MAAI,CAAC/I,UAAL,CAAgBtD,MAAhB,CAAuBqM,IAAvB,KAAgCxB,SAA1E,EAAqF;AACnF,gBAAI,CAACtN,QAAL,CAAcG,IAAd,CAAmB0G,SAAnB,CAA6BqD,MAA7B,CAAoC,gBAApC,EAAsD,iBAAtD,EAAyE,aAAzE,EAAwF,kBAAxF;;AACA,gBAAI,CAAClK,QAAL,CAAcG,IAAd,CAAmB0G,SAAnB,CAA6BgB,GAA7B,CAAiC,MAAI,CAAC9B,UAAL,CAAgBtD,MAAhB,CAAuBqM,IAAvB,GAA8B,SAA/D;AACD;AACF,OAlGD,EAnBM,CAuHN;;;AACA,WAAKmJ,MAAL,CAAYyB,QAAZ,CAAqB,KAAK3T,UAAL,CAAgB0I,GAAhB,CAAoBE,QAAzC;AACD;AA/KH;AAAA;AAAA,WAiLE,oBAAW;AACT;AACA,WAAKzM,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD;AArLH;AAAA;AAAA,WAuLE,wBAAe;AACb,WAAKoT,oBAAL;AACD;AAzLH;AAAA;AAAA,WA2LE,sBAAa,CAACnN,GAAD,EAAI;AACf,WAAKlD,mBAAL,CAAyB4G,kBAAzB,CAA4C1D,GAA5C,EAAiD2D,UAAjD;AACD;AA7LH;AAAA;AAAA,WA+LU,gBAAO;AACb,WAAKlO,gBAAL,CAAsB0W,OAAtB;AACD;AAjMH;AAAA;AAAA,WAmME,oBAAW;AACT,WAAKP,kBAAL,CAAwBwB,eAAxB,CAAwC5S,MAAM,CAACW,UAA/C;AACD;AArMH;AAAA;AAAA,WAuME,6BAAoB;AAAA;;AAClB,UAAI,CAAC6M,YAAY,CAACC,OAAb,CAAqB,gBAArB,CAAD,IAA2CD,YAAY,CAACC,OAAb,CAAqB,gBAArB,MAA2C,OAA1F,EAAmG;AACjG,YAAMoF,eAAe,GAAoB;AACvClM,cAAI,EAAE,IADiC;AAEvCmM,kBAAQ,EAAE,IAF6B;AAGvCC,kBAAQ,EAAE,QAH6B;AAIvCC,kBAAQ,EAAE;AAJ6B,SAAzC;AAMAvZ,kBAAU,CAAC,YAAK;AACd,gBAAI,CAACgY,YAAL,CAAkBpM,IAAlB,CAAuB0L,6HAAvB,EAAoD8B,eAApD;AACD,SAFS,EAEP,IAFO,CAAV;AAGD;AACF;AAnNH;AAAA;AAAA,WAsNE,iBAAQ;AACN,WAAKI,WAAL;AACD;AAxNH;AAAA;AAAA,WA2NE,sBAAa,CAACrR,CAAD,EAAE;AACb,UAAMsR,YAAY,GAAG,KAAK1B,4BAAL,CAAkC2B,kBAAlC,EAArB;;AACA,UAAI,CAACD,YAAY,CAAClS,QAAb,CAAsBY,CAAC,CAACwR,MAAxB,CAAD,IAAoCxR,CAAC,CAACkM,IAAF,KAAWxH,SAA/C,IAA4D1E,CAAC,CAACkM,IAAF,CAAOxK,IAAP,KAAgB,WAAhF,EAA6F;AAC3F;AACD;;AACD,UAAM+P,OAAO,GAAG/F,IAAI,CAACC,KAAL,CAAW3L,CAAC,CAACkM,IAAb,CAAhB;;AACA,UAAIuF,OAAO,CAAC7N,GAAR,KAAgB,gBAApB,EAAsC;AACpCgI,oBAAY,CAACS,OAAb,CAAqBoF,OAAO,CAAC7N,GAA7B,EAAkC6N,OAAO,CAACvF,IAA1C;AACD;AACF;AApOH;AAAA;;;mBAAakD,cAAYzY,gEAAAA,CAUb0J,sDAVa,GAUL1J,gEAAAA,CAAAA,6DAAAA,GAAAA,gEAAAA,CAAAA,qDAAAA,GAAAA,gEAAAA,CAAAA,sDAAAA,GAAAA,gEAAAA,CAAAA,4EAAAA,GAAAA,gEAAAA,CAAAA,kGAAAA,GAAAA,gEAAAA,CAAAA,2FAAAA,GAAAA,gEAAAA,CAAAA,yFAAAA,GAAAA,gEAAAA,CAAAA,sFAAAA,GAAAA,gEAAAA,CAAAA,kEAAAA,GAAAA,gEAAAA,CAAAA,wFAAAA,GAAAA,gEAAAA,CAAAA,4DAAAA,GAAAA,gEAAAA,CAAAA,qFAAAA,GAAAA,gEAAAA,CAAAA,sFAAAA,GAAAA,gEAAAA,CAAAA,qEAAAA,GAAAA,gEAAAA,CAAAA,wGAAAA,GAAAA,gEAAAA,CAAAA,iEAAAA,GAAAA,gEAAAA,CAAAA,yFAAAA;AAAA;;;QAVPyY;AAAYlX;AAAAoH;AAAA;;eAAZC;AAAgB;AAAA,eAAhBA,yBAAgB;AAAK;;;;;;;;AC1BlC5I,MAAAA,wDAAAA;;;;AAAiBA,MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAjB;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AAEM,SAAU+b,iBAAV,CAA4BC,IAA5B,EAA4C;AAChD,SAAO,IAAIP,4EAAJ,CAAwBO,IAAxB,CAAP;AACD;AAwCM,IAAMC,SAAb;AAAA;AAAA;;;mBAAaA;AAAS;;;QAATA;AAASC,cAFRzD,2DAEQ;;;aAPT,CACT;AAACvW,WAAO,EAAE+Y,oEAAV;AAA6BkB,YAAQ,EAAEP,mFAAvC;AAAyDQ,SAAK,EAAE;AAAhE,GADS,EAET;AAACla,WAAO,EAAE+Y,oEAAV;AAA6BkB,YAAQ,EAAER,mFAAvC;AAAyDS,SAAK,EAAE;AAAhE,GAFS,EAGTN,2EAHS;AAIVhc,YA9BQ,CACPib,qEADO,EAEPC,0FAFO,EAGPG,mEAHO,EAIP9C,kEAJO,EAKPvW,kEALO,EAMPsZ,6DAAA,EANO,EAOP/X,yEAAA,CAAwB;AACtBgZ,UAAM,EAAE;AACNna,aAAO,EAAEmZ,iEADH;AAENiB,gBAAU,EAAEP,iBAFN;AAGNQ,UAAI,EAAE,CAACrB,6DAAD;AAHA;AADc,GAAxB,CAPO,EAcPI,oEAdO,EAePjK,iEAAA,CAAmB7K,sDAAnB,CAfO,EAgBP3G,iEAhBO,EAiBPkN,+DAjBO,EAkBPoE,uEAlBO,EAmBPlP,gGAnBO,EAqBPuZ,iHArBO,EAsBPE,gEAtBO,EAuBPH,uEAvBO,EAwBPM,8FAxBO,CA8BR;;;;uHAGUI,WAAS;AAAA5Z,mBApClBoW,2DAoCkB,EAnClBD,8HAmCkB;AAnCS1Y,cAG3Bib,qEAH2B,EAI3BC,0FAJ2B,EAK3BG,mEAL2B,EAM3B9C,kEAN2B,EAO3BvW,kEAP2B,EAOlBgC,qDAPkB,EAOlB0Y,iEAPkB,EAgB3BlB,oEAhB2B,EAgBVmB,yDAhBU,EAkB3B5c,iEAlB2B,EAmB3BkN,+DAnB2B,EAoB3BoE,uEApB2B,EAqB3BlP,gGArB2B,EAuB3BuZ,iHAvB2B,EAwB3BE,gEAxB2B,EAyB3BH,uEAzB2B,EA0B3BM,8FA1B2B;AAmCT;AATC;;;;;;;;;;;;;;;;;;;;;;;;;AC9DvB;AAEA;;;;;;;;;;ACDI7b,IAAAA,4DAAAA;AAAGA,IAAAA,wDAAAA;AAAAA,MAAAA,2DAAAA;AAAA;AAAA;AAAA,aAAS4c,4BAAT;AAA2B,KAA3B;AAAqE5c,IAAAA,oDAAAA;AAAOA,IAAAA,0DAAAA;;;;;;AADjFA,IAAAA,4DAAAA;AACEA,IAAAA,wDAAAA;AACAA,IAAAA,4DAAAA;AACEA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;AACFA,IAAAA,0DAAAA;;;;;;AALkCA,IAAAA,oEAAAA;AACCA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAEzBA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA,gCAAAA,4DAAAA;;;;ADGL,IAAM6c,cAAb;AAQE,0BAAoBC,MAApB,EAA4CC,YAA5C,EAAsE;AAAA;;AAAlD;AAAwB;AAPnC,cAAK,eAAL;AACA,gBAAO,IAAP;AAET,kBAAkB,EAAlB;AAI2E;;AAR7E;AAAA;AAAA,WAUE,iBAAQ;AAAA;;AACN,WAAKC,iBAAL,GAAyB,KAAKD,YAAL,CAAkBE,OAAlB,CAA0B,KAAKC,EAA/B,EACtBla,SADsB,CACZ,eAAK,EAAG;AAClB,aAAI,CAACma,MAAL,GAAc,EAAd;;AAEC,aAAI,CAACA,MAAL,CAAYhY,IAAZ,CAAiBiY,KAAjB;;AAEA,YAAIA,KAAK,CAACC,SAAV,EAAqB;AACnBnc,oBAAU,CAAC;AAAA,mBAAM,KAAI,CAACoc,WAAL,CAAiBF,KAAjB,CAAN;AAAA,WAAD,EAAgC,IAAhC,CAAV;AACD;AACF,OATsB,CAAzB;AAWA,WAAKG,iBAAL,GAAyB,KAAKT,MAAL,CAAYrW,MAAZ,CAAmBzD,SAAnB,CAA6B,eAAK,EAAG;AAC5D,YAAI0D,KAAK,YAAYgW,4DAArB,EAAsC;AACpC,eAAI,CAACK,YAAL,CAAkBS,KAAlB,CAAwB,KAAI,CAACN,EAA7B;AACD;AACF,OAJwB,CAAzB;AAKD;AA3BH;AAAA;AAAA,WA6BE,oBAAW;AACT,WAAKF,iBAAL,CAAuBS,WAAvB;AACA,WAAKF,iBAAL,CAAuBE,WAAvB;AACD;AAhCH;AAAA;AAAA,WAkCE,oBAAW,CAACL,KAAD,EAAa;AAAA;;AACtB,UAAI,CAAC,KAAKD,MAAL,CAAY1U,QAAZ,CAAqB2U,KAArB,CAAL,EAAkC;;AAElC,UAAI,KAAKM,IAAT,EAAe;AACb,aAAKP,MAAL,CAAYQ,IAAZ,CAAiB,WAAC;AAAA,iBAAIC,CAAC,KAAKR,KAAV;AAAA,SAAlB,EAAmCM,IAAnC,GAA0C,IAA1C;AAEAxc,kBAAU,CAAC,YAAK;AACd,gBAAI,CAACic,MAAL,GAAc,MAAI,CAACA,MAAL,CAAYhX,MAAZ,CAAmB,WAAC;AAAA,mBAAIyX,CAAC,KAAKR,KAAV;AAAA,WAApB,CAAd;AACD,SAFS,EAEP,GAFO,CAAV;AAGD,OAND,MAMO;AACL,aAAKD,MAAL,GAAc,KAAKA,MAAL,CAAYhX,MAAZ,CAAmB,WAAC;AAAA,iBAAIyX,CAAC,KAAKR,KAAV;AAAA,SAApB,CAAd;AACD;AACF;AA9CH;AAAA;AAAA,WAgDE,iBAAQ,CAACA,KAAD,EAAa;AACnB,UAAI,CAACA,KAAL,EAAY;AAEZ,UAAMS,OAAO,GAAG,CAAC,OAAD,EAAU,mBAAV,CAAhB;;AAEA,UAAMC,cAAc,GAAG,4pBACpBnB,0EADiB,EACG,wBADH,GAEjBA,wEAFiB,EAEC,uBAFD,GAGjBA,uEAHiB,EAGA,qBAHA,GAIjBA,0EAJiB,EAIG,wBAJH,CAApB;;AAOAkB,aAAO,CAAC1Y,IAAR,CAAa2Y,cAAc,CAACV,KAAK,CAACrS,IAAP,CAA3B;;AAEA,UAAIqS,KAAK,CAACM,IAAV,EAAgB;AACdG,eAAO,CAAC1Y,IAAR,CAAa,MAAb;AACD;;AAED,aAAO0Y,OAAO,CAAC9J,IAAR,CAAa,GAAb,CAAP;AACD;AAnEH;AAAA;;;mBAAa8I,gBAAc7c,+DAAAA,CAAAA,mDAAAA,GAAAA,+DAAAA,CAAAA,iEAAAA;AAAA;;;QAAd6c;AAActb;AAAAC;AAAA0b;AAAAQ;AAAA;AAAAhc;AAAAC;AAAAC;AAAAC;AAAA;ACP3B7B,MAAAA,4DAAAA;AACEA,MAAAA,wDAAAA;AAMFA,MAAAA,0DAAAA;;;;AANyBA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAzB;AACA;AACA;AACA;AACA;AACA;;AAkBO,IAAMoe,oBAAb;AAAA;AAAA;;;mBAAaA;AAAoB;;;QAApBA;;;YAfA,CACL7e,yDADK,EAEL4e,2EAFK,EAGLte,iEAHK,EAILwD,gEAJK;;;;sHAeA+a,sBAAoB;AAAA/b,mBARzBwa,kEAQyB,EAPzBqB,iFAOyB;AAPNpe,cAPnBP,yDAOmB,EANnB4e,2EAMmB,EALnBte,iEAKmB,EAJnBwD,gEAImB,CAOM;AAXVtD,cAOf8c,kEAPe,EAQfqB,iFARe;AAWU;AAHN;;;;;;;;;;;;;;;;;;;;;;ACrB3B;;;;;AAOO,IAAMA,mBAAb;AALA;AAAA;;AAQI,oBAAmB,EAAnB;AAEA,0BAAyB,CAAzB;AAEA,gBAAe,CAAf;AAGA,sBAAa,IAAIzU,uDAAJ,EAAb;AAGA,0BAAiB,IAAIA,uDAAJ,EAAjB;AAYH;;AAzBD;AAAA;AAAA,WAgBI,qBAAY,CAAC4U,YAAD,EAAqB;AAC7B,WAAKC,IAAL,GAAYD,YAAZ;AACA,WAAKE,UAAL,CAAgB3T,IAAhB,CAAqB,KAAK0T,IAA1B;AACH;AAnBL;AAAA;AAAA,WAqBI,yBAAgB,CAACE,QAAD,EAAiB;AAC7B,WAAKA,QAAL,GAAgBA,QAAhB;AACA,WAAKC,cAAL,CAAoB7T,IAApB,CAAyB,KAAK4T,QAA9B;AACH;AAxBL;AAAA;;;mBAAaN;AAAmB;;;QAAnBA;AAAmB3c;AAAAC;AAAAgd;AAAAE;AAAAJ;AAAA;AAAAhQ;AAAAiQ;AAAAE;AAAA;AAAA/c;AAAAC;AAAAC;AAAAC;AAAA;ACPhC7B,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAgBA,MAAAA,wDAAAA;AAAA,eAAc4I,wBAAd;AAAkC,OAAlC,EAAmC,YAAnC,EAAmC;AAAA;AAAA,OAAnC;AAQhB5I,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAOA,MAAAA,oDAAAA;;AACLA,MAAAA,4DAAAA;AAAQA,MAAAA,wDAAAA;AAAA,eAAiB4I,4BAAjB;AAAyC,OAAzC,EAA0C,eAA1C,EAA0C;AAAA;AAAA,OAA1C;AAGN5I,MAAAA,4DAAAA;AAAkCA,MAAAA,oDAAAA;AAAEA,MAAAA,0DAAAA;AACpCA,MAAAA,4DAAAA;AAAmBA,MAAAA,oDAAAA;AAAEA,MAAAA,0DAAAA;AACrBA,MAAAA,4DAAAA;AAAmBA,MAAAA,oDAAAA;AAAEA,MAAAA,0DAAAA;AACvBA,MAAAA,0DAAAA;AACAA,MAAAA,oDAAAA;;AAAyBA,MAAAA,0DAAAA;AAC7BA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;;;;AArBsBA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA,mBAAe,eAAf,EAAe,IAAf,EAAe,gBAAf,EAAe4I,kBAAf,EAAe,SAAf,EAAe,CAAf,EAAe,UAAf,EAAeA,YAAf,EAAe,QAAf,EAAe,IAAf,EAAe,MAAf,EAAe,IAAf;AAUT5I,MAAAA,uDAAAA;AAAAA,MAAAA,gEAAAA,KAAAA,yDAAAA;AAEGA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAEEA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAIVA,MAAAA,uDAAAA;AAAAA,MAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBD,IAAMwX,SAAb;AAEE,qBAAoB7S,OAApB,EACoBga,sBADpB,EACuD;AAAA;;AADnC;AACA;AAChB;;AAJN;AAAA;AAAA,WAME,oBAAW,CAAC7F,KAAD,EAAgC8F,KAAhC,EAA0D;AAClE,UAAI,CAAC,KAAKD,sBAAL,CAA4BtZ,UAA5B,EAAL,EAA+C;AAC7C,YAAIoC,MAAM,CAACoX,QAAP,CAAgBC,QAAhB,KAA6B,GAAjC,EAAsC;AACpC,eAAKna,OAAL,CAAaoa,aAAb,CAA2B,SAA3B;AACD,SAFD,MAEO;AACL,eAAKpa,OAAL,CAAaqa,QAAb,CAAsB,CAAC,8BAAD,CAAtB;AACD;;AACD,eAAO,KAAP;AACD;;AAEF,UAAG,CAAC,KAAKC,wBAAL,CAA8BnG,KAA9B,CAAJ,EAAyC;AACvC,YAAG,KAAK6F,sBAAL,CAA4BtZ,UAA5B,EAAH,EACE,KAAKV,OAAL,CAAaqa,QAAb,CAAsB,CAAC,8BAAD,CAAtB;AACH;;AAED,aAAO,IAAP;AACD;AAtBH;AAAA;AAAA,WAwBU,iCAAwB,CAAClG,KAAD,EAAM;AACpC,UAAMoG,SAAS,GAAG,KAAKP,sBAAL,CAA4BQ,QAA5B,EAAlB;;AACA,UAAMC,UAAU,GAAGtG,KAAK,CAACvD,IAAN,CAAW0C,KAA9B;;AAEA,UAAGmH,UAAH,EAAc;AACZ,eAAO,KAAKC,OAAL,CAAaH,SAAb,EAAwBE,UAAxB,CAAP;AACD;;AAED,aAAO,IAAP;AACD;AAjCH;AAAA;AAAA,WAmCU,gBAAO,CAACF,SAAD,EAAYE,UAAZ,EAAsB;AACnC,WAAI,IAAIE,QAAR,IAAoBJ,SAApB,EAA8B;AAC5B,YAAGE,UAAU,CAAC5V,OAAX,CAAmB0V,SAAS,CAACI,QAAD,CAA5B,IAA0C,CAAC,CAA9C,EACE,OAAO,IAAP;AACH;;AACD,aAAO,KAAP;AACD;AAzCH;AAAA;;;mBAAa9H,WAASxX,sDAAAA,CAAAA,mDAAAA,GAAAA,sDAAAA,CAAAA,+DAAAA;AAAA;;;SAATwX;AAASxR,WAATwR,SAAS;AAAAvR,cADI;;;;;;;;;;;;;;;;;;;;;;;;;;ACF1B;AACA;;;;;;AASO,IAAM0V,gBAAb;AAEE,4BAAoBhX,OAApB,EAA6C8a,YAA7C,EAAgF1C,YAAhF,EACoB2C,SADpB,EAC+C;AAAA;;AAD3B;AAAyB;AAAmC;AAC5D;AACnB;;AAJH;AAAA;AAAA,WAME,kBAAS,CAACC,OAAD,EAA4Bpa,IAA5B,EAA6C;AAAA;;AACpD,aAAOA,IAAI,CAACqa,MAAL,CAAYD,OAAZ,EAAqB5c,IAArB,CACLyc,0DAAU,CAAC,aAAG,EAAG;AACf,YAAIK,GAAG,CAACC,MAAJ,KAAe,GAAf,IAAsB,KAAI,CAACnb,OAAL,CAAaoC,GAAb,KAAqB,QAA/C,EAAyD;AACvD,eAAI,CAACpC,OAAL,CAAaqa,QAAb,CAAsB,CAAC,gBAAD,CAAtB;AACD;;AACD,YAAI,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,EAA0BvW,QAA1B,CAAmCoX,GAAG,CAACC,MAAvC,CAAJ,EAAoD;AAClD,eAAI,CAACnb,OAAL,CAAaqa,QAAb,CAAsB,CAAC,2BAAD,CAAtB;AACD;;AACD,YAAM1R,KAAK,GAAGuS,GAAG,CAACvS,KAAJ,CAAUyS,cAAV,IAA4BF,GAAG,CAACG,UAA9C;;AACA,aAAI,CAACjD,YAAL,CAAkBzP,KAAlB,CAAwBA,KAAxB,EAA+B;AAAC2S,qBAAW,EAAE,IAAd;AAAoB5C,mBAAS,EAAE,KAA/B;AAAsC6C,8BAAoB,EAAE;AAA5D,SAA/B;;AACA,eAAOX,gDAAU,CAACjS,KAAD,CAAjB;AACD,OAVS,CADL,CAAP;AAaD;AApBH;AAAA;;;mBAAaqO,kBAAgB3b,sDAAAA,CAAAA,mDAAAA,GAAAA,sDAAAA,CAAAA,+DAAAA,GAAAA,sDAAAA,CAAAA,iEAAAA,GAAAA,sDAAAA,CAAAA,iEAAAA;AAAA;;;SAAhB2b;AAAgB3V,WAAhB2V,gBAAgB;AAAA1V,cAFf;;;;;;;;;;;;;;;;;;;;;;ACRd;;;AAMO,IAAM2V,gBAAb;AAEE,4BAAoBhX,WAApB,EAA4C;AAAA;;AAAxB;AACnB;;AAHH;AAAA;AAAA,WAKE,kBAAS,CAAC+a,OAAD,EAA4Bpa,IAA5B,EAA6C;AACpD,UAAI,KAAKX,WAAL,CAAiBS,UAAjB,MAAiC,CAACsa,OAAO,CAACS,OAAR,CAAgBC,GAAhB,CAAoB,SAApB,CAAtC,EAAsE;AACpEV,eAAO,GAAGQ,0FAAA,CAAgCR,OAAhC,EAAyC,KAAK/a,WAAL,CAAiB2b,QAAjB,EAAzC,CAAV;AACD;;AACD,aAAOhb,IAAI,CAACqa,MAAL,CAAYD,OAAZ,CAAP;AACD;AAVH;AAAA;;;mBAAa/D,kBAAgB5b,sDAAAA,CAAAA,+DAAAA;AAAA;;;SAAhB4b;AAAgB5V,WAAhB4V,gBAAgB;AAAA3V,cAFf;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACaRjG,IAAAA,4DAAAA;AAAoDA,IAAAA,oDAAAA;AAAeA,IAAAA,0DAAAA;;;;;AAA5CA,IAAAA,mEAAAA;AAA6BA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA;;;;;;AACpDA,IAAAA,4DAAAA;AAA2BA,IAAAA,oDAAAA;AAAeA,IAAAA,0DAAAA;;;;;AAAfA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA;;;;;;AAF7BA,IAAAA,4DAAAA;AACEA,IAAAA,wDAAAA;AACAA,IAAAA,wDAAAA;AACFA,IAAAA,0DAAAA;;;;;AAFMA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AACGA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;ACJN,IAAMwgB,mBAAb;AAIE;AAAA;AAAgB,GAJlB,CAME;AACA;;AAEA;;;;;AATF;AAAA;AAAA,WAYE,iBAAQ;AACN;AACA,WAAKC,UAAL,GAAkB,KAAKA,UAAvB;AACD;AAfH;AAAA;;;mBAAaD;AAAmB;;;QAAnBA;AAAmBjf;AAAAC;AAAAif;AAAA;AAAA/e;AAAAC;AAAAC;AAAAC;AAAA;ADhBhC7B,MAAAA,4DAAAA;AAOEA,MAAAA,4DAAAA;AAWEA,MAAAA,wDAAAA;AAIFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;;;;AArBEA,MAAAA,wDAAAA,YAAAA,6DAAAA;AAOEA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA,YAAAA,6DAAAA;AAS6CA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AElBjD;AACA;AAEA;;;AAOO,IAAM0gB,gBAAb;AAAA;AAAA;;;mBAAaA;AAAgB;;;QAAhBA;;;YAHF,CAACnhB,yDAAD,EAAe6D,kEAAA,CAAsB,EAAtB,CAAf;;;;sHAGEsd,kBAAgB;AAAAre,mBAJZme,0HAIY;AAJO1gB,cACxBP,yDADwB,EACZuE,yDADY,CAIP;AAHL/D,cACZygB,0HADY;AAGK;AAFE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACL/BxgB,IAAAA,qEAAAA;AACEA,IAAAA,4DAAAA;AACEA,IAAAA,4DAAAA;AACEA,IAAAA,4DAAAA;AACEA,IAAAA,4DAAAA;AACEA,IAAAA,4DAAAA;AACEA,IAAAA,oDAAAA;AACFA,IAAAA,0DAAAA;AAEAA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;AACFA,IAAAA,0DAAAA;AACFA,IAAAA,0DAAAA;AACFA,IAAAA,0DAAAA;AACFA,IAAAA,mEAAAA;;;;;AARYA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA;AAGcA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;ACOnB,IAAM2gB,sBAAb,mLAIE;AAAA;AAAgB,CAJlB;;;mBAAaA;AAAsB;;;QAAtBA;AAAsBpf;AAAAC;AAAAof;AAAA;AAAAlf;AAAAC;AAAAC;AAAAC;AAAA;ADnBnC7B,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AACFA,MAAAA,0DAAAA;AACAA,MAAAA,wDAAAA;;;;AAAeA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEHf;AACA;AAEA;AAEA;AAEA;AACA;AACA;;AAOO,IAAMwb,mBAAb;AAAA;AAAA;;;mBAAaA;AAAmB;;;QAAnBA;;;YAHF,CAACjc,yDAAD,EAAe6D,yDAAf,EAA6BvD,iEAA7B,EAA+C6gB,oHAA/C,EAAiE5e,iEAAjE,EAA4Esc,oFAA5E;;;;sHAGE5C,qBAAmB;AAAAnZ,mBAJfse,sHAIe;AAJO7gB,cAC3BP,yDAD2B,EACb6D,yDADa,EACCvD,iEADD,EACmB6gB,oHADnB,EACqC5e,iEADrC,EACgDsc,oFADhD,CAIP;AAH2Ere,cAC/F4gB,sHAD+F;AAG3E;AAFE;;;;;;;;;;;;;;;;;;;;;;;;ACblC;AACA;AACA;;;;AAQO,IAAME,gBAAb;AAOE;;;;;;AAMA,4BAAoBva,kBAApB,EAAyD;AAAA;;AAArC,iDAAqC,CACvD;;AACA,SAAK3D,eAAL,GAAuB,IAAIL,yCAAJ,EAAvB;AACD;AAED;;;;;;;AAlBF;AAAA;AAAA,WAuBE,mBAAU,CAACwe,MAAD,EAAO;AACf,UAAI,KAAKniB,OAAL,KAAiB,YAArB,EAAmC;AACjC,eAAOmiB,MAAM,CAACC,kBAAP,CAA0BvR,SAAjC;AACD;;AACD,aAAO,IAAP;AACD;AAED;;;;;;AA9BF;AAAA;AAAA,WAmCE,eAAM,CAACsR,MAAD,EAAO;AACX,UAAI,KAAKniB,OAAL,KAAiB,QAArB,EAA+B;AAC7B,eAAOmiB,MAAM,CAACC,kBAAP,CAA0BvR,SAAjC;AACD;;AACD,aAAO,IAAP;AACD;AAED;;;;;;AA1CF;AAAA;AAAA,WA+CE,eAAM,CAACsR,MAAD,EAAO;AACX,UAAI,KAAKniB,OAAL,KAAiB,QAArB,EAA+B;AAC7B,eAAOmiB,MAAM,CAACC,kBAAP,CAA0BvR,SAAjC;AACD;;AACD,aAAO,IAAP;AACD,KApDH,CAsDE;AACA;;AAEA;;;;AAzDF;AAAA;AAAA,WA4DE,iBAAQ;AAAA;;AACN;AACA,WAAKlJ,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,yDAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF,aAAI,CAACwD,UAAL,GAAkBD,MAAlB;AACA,aAAI,CAAC5H,OAAL,GAAe,KAAI,CAAC6H,UAAL,CAAgBtD,MAAhB,CAAuBsM,SAAtC;AACD,OAHD;AAID;AAlEH;AAAA;;;mBAAaqR,kBAAgB7gB,+DAAAA,CAAAA,4EAAAA;AAAA;;;QAAhB6gB;AAAgBtf;AAAAG;AAAAC;AAAAC;AAAAC;AAAA;ACV7B7B,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AACFA,MAAAA,0DAAAA;;;;;;AAFKA,MAAAA,wDAAAA,6BAA0B,aAA1B,EAA0B4I,mBAA1B,EAA0B,SAA1B,EAA0BA,eAA1B;;;;;;eDQS,CAAChK,uEAAD,EAAaS,mEAAb,EAAqBC,mEAArB;;;;;;;;;;;;;;;;;;;;;;;;AETd;AAEA;AAEA;;AAOO,IAAM0hB,aAAb;AAAA;AAAA;;;mBAAaA;AAAa;;;QAAbA;;;YAHF,CAAC5d,yDAAD,EAAevD,iEAAf;;;;sHAGEmhB,eAAa;AAAA3e,mBAJTwe,kGAIS;AAJO/gB,cACrBsD,yDADqB,EACPvD,iEADO,CAIP;AAHgBE,cAC9B8gB,kGAD8B;AAGhB;AAFE;;;;;;;;;;;;;;;;;;;;;;;;;ACR5B;AACA;;;;;;;;;ACWA7gB,IAAAA,uDAAAA;;;;;;AAIEA,IAAAA,4DAAAA;AACGA,IAAAA,oDAAAA;AAAOA,IAAAA,0DAAAA;;;;ADRL,IAAMihB,eAAb;AAOE;;;;;AAKA,2BAAmB3a,kBAAnB,EAAwD;AAAA;;AAArC;AAVZ,gBAAe,IAAI4a,IAAJ,GAAWC,WAAX,EAAf,CAUiD,CACtD;;AACA,SAAKxe,eAAL,GAAuB,IAAIL,yCAAJ,EAAvB;AACD,GAfH,CAiBE;AACA;;AAEA;;;;;AApBF;AAAA;AAAA,WAuBE,iBAAQ;AAAA;;AACN;AACA,WAAKgE,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,yDAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF,aAAI,CAACwD,UAAL,GAAkBD,MAAlB;AACD,OAFD;AAGD;AAED;;;;AA9BF;AAAA;AAAA,WAiCE,oBAAW;AACT;AACA,WAAK5D,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD;AArCH;AAAA;;;mBAAaia,iBAAejhB,+DAAAA,CAAAA,4EAAAA;AAAA;;;QAAfihB;AAAe1f;AAAAG;AAAAC;AAAAC;AAAAC;AAAA;ACV5B7B,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,oDAAAA;AACAA,MAAAA,4DAAAA;AAAoFA,MAAAA,oDAAAA;AAASA,MAAAA,0DAAAA;AAC7FA,MAAAA,4DAAAA;AAAuCA,MAAAA,oDAAAA;AAAqBA,MAAAA,0DAAAA;AAC9DA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,oDAAAA;AAAyBA,MAAAA,uDAAAA;AAC3BA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AAIAA,MAAAA,wDAAAA;AAGAA,MAAAA,4DAAAA;AACEA,MAAAA,wDAAAA;AAGFA,MAAAA,0DAAAA;;;;AAlBIA,MAAAA,uDAAAA;AAAAA,MAAAA,gEAAAA;AAKwDA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAAzBA,MAAAA,wDAAAA;AAMlBA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAIuEA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBxF;AAEA;AAEA;AACA;;AAOO,IAAMqhB,YAAb;AAAA;AAAA;;;mBAAaA;AAAY;;;QAAZA;;;YAHF,CAACje,yDAAD,EAAevD,iEAAf;;;;sHAGEwhB,cAAY;AAAAhf,mBAJR4e,+FAIQ,EAJSG,oHAIT;AAJ2BthB,cACxCsD,yDADwC,EAC1BvD,iEAD0B,CAI3B;AAHiBE,cAC9BkhB,+FAD8B;AAGjB;AAFE;;;;;;;;;;;;;;;;;;;;;;;ACV3B;;;;;;;;;;;;;AAOO,IAAMG,kBAAb;AAIE,8BAAsC3gB,QAAtC,EAAwD;AAAA;;AAAlB;AAFtC,qBAAoB,GAApB,CAEwD,CAF/B;AAEmC;;AAJ9D;AAAA;AAAA,WAOE,uBAAc;AACZ,UACEgH,MAAM,CAAC6Z,WAAP,GAAqB,KAAKC,SAA1B,IACA9gB,QAAQ,CAAC+gB,eAAT,CAAyBvR,SAAzB,GAAqC,KAAKsR,SAD1C,IAEA9gB,QAAQ,CAACG,IAAT,CAAcqP,SAAd,GAA0B,KAAKsR,SAHjC,EAIE;AACA,aAAKE,cAAL,GAAsB,IAAtB;AACD,OAND,MAMO,IACJ,KAAKA,cAAL,IAAuBha,MAAM,CAAC6Z,WAA/B,IACA7gB,QAAQ,CAAC+gB,eAAT,CAAyBvR,SADzB,IAEAxP,QAAQ,CAACG,IAAT,CAAcqP,SAAd,GAA0B,EAHrB,EAIL;AACA,aAAKwR,cAAL,GAAsB,KAAtB;AACD;AACF;AArBH;AAAA;AAAA,WAuBE,oBAAW;AACT,OAAC,SAASC,YAAT,GAAqB;AACpB,YAAIC,aAAa,GAAGlhB,QAAQ,CAAC+gB,eAAT,CAAyBvR,SAAzB,IAAsCxP,QAAQ,CAACG,IAAT,CAAcqP,SAAxE;;AAEA,YAAI0R,aAAa,GAAG,CAApB,EAAuB;AACrBla,gBAAM,CAACma,qBAAP,CAA6BF,YAA7B;AACAja,gBAAM,CAACoa,QAAP,CAAgB,CAAhB,EAAmBF,aAAa,GAAGA,aAAa,GAAG,CAAnD;AACD;AACF,OAPD;AAQD;AAhCH;AAAA;;;mBAAaP,oBAAkBphB,+DAAAA,CAIT0J,qDAJS;AAID;;;QAJjB0X;AAAkB7f;AAAAoH;AAAA;;eAAlBC;AAAgB;;;;;;;;ACP7B5I,MAAAA,4DAAAA;AAIEA,MAAAA,wDAAAA;AAAA,eAAS4I,iBAAT;AAAsB,OAAtB;AAGA5I,MAAAA,uDAAAA;AACFA,MAAAA,0DAAAA;;;;AANEA,MAAAA,wDAAAA,YAAAA,6DAAAA;AAKMA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNR;AACA;;;;;;AAYO,IAAM8hB,uBAAb;AAOE;;;;;;;AAOA,mCACUxb,kBADV,EAEU5D,gBAFV,EAGUqH,mBAHV,EAGiD;AAAA;;AAFvC;AACA;AACA,mDAAuC,CAE/C;;AACA,SAAKpH,eAAL,GAAuB,IAAIL,yCAAJ,EAAvB;AACD,GArBH,CAuBE;AACA;;AAEA;;;;;AA1BF;AAAA;AAAA,WA6BE,iBAAQ;AAAA;;AACN;AACA,WAAKgE,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,yDAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF,aAAI,CAACwD,UAAL,GAAkBD,MAAlB;AACD,OAFD,EAFM,CAMN;;;AACA,WAAK7D,gBAAL,CAAsBI,aAAtB,CACGC,IADH,CAEIoD,sDAAM,CAAC,eAAK;AAAA,eAAIxF,KAAK,KAAK,IAAd;AAAA,OAAN,CAFV,EAGI4B,yDAAS,CAAC,KAAKI,eAAN,CAHb,EAKGK,SALH,CAKa,YAAK;AACd,aAAI,CAACJ,IAAL,GAAY,KAAI,CAACF,gBAAL,CAAsBG,cAAtB,EAAZ;AACD,OAPH;AAQD;AAED;;;;AA9CF;AAAA;AAAA,WAiDE,oBAAW;AACT;AACA,WAAKF,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD;AArDH;AAAA;;;mBAAa8a,yBAAuB9hB,+DAAAA,CAAAA,4EAAAA,GAAAA,+DAAAA,CAAAA,yFAAAA,GAAAA,+DAAAA,CAAAA,kGAAAA;AAAA;;;QAAvB8hB;AAAuBvgB;AAAAG;AAAAC;AAAAC;AAAAC;AAAA;ACdpC7B,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AACFA,MAAAA,0DAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDA;AACA;AAEA;;AAOO,IAAM+hB,oBAAb;AAAA;AAAA;;;mBAAaA;AAAoB;;;QAApBA;;;YAHF,CAACne,4DAAD,EAAiB/D,iEAAjB;;;;sHAGEkiB,sBAAoB;AAAA1f,mBAJhByf,8HAIgB;AAJOhiB,cAC5B8D,4DAD4B,EACZ/D,iEADY,CAIP;AAHWE,cAChC+hB,8HADgC;AAGX;AAFE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTnC9hB,IAAAA,qEAAAA;AACEA,IAAAA,uDAAAA;AACFA,IAAAA,mEAAAA;;;;;;AAIAA,IAAAA,qEAAAA;AACEA,IAAAA,uDAAAA;AACFA,IAAAA,mEAAAA;;;;ACDO,IAAMgiB,aAAb;AAGE;;;;;;AAMA,yBAAoBnY,WAApB,EAAqDD,SAArD,EAAyE;AAAA;;AAArD;AAAiC,+BAAoB,CACvE;;AACA,SAAKqY,SAAL,GAAiB,eAAjB;AACD,GAZH,CAcE;AACA;AAEA;;;AAjBF;AAAA;AAAA,SAkBE,eAAY;AACV,aAAO,KAAKA,SAAZ;AACD,KApBH;AAAA,SAsBE,aAEathB,KAFb,EAE0B;AACxB;AACA,WAAKiJ,SAAL,CAAe6C,WAAf,CAA2B,KAAK5C,WAAL,CAAiB1C,aAA5C,EAA2D,KAAK+a,QAAhE,EAFwB,CAIxB;;;AACA,WAAKD,SAAL,GAAiBthB,KAAjB,CALwB,CAOxB;;AACA,WAAKiJ,SAAL,CAAe4C,QAAf,CAAwB,KAAK3C,WAAL,CAAiB1C,aAAzC,EAAwDxG,KAAxD;AACD;AAjCH;AAAA;;;mBAAaqhB,eAAahiB,+DAAAA,CAAAA,qDAAAA,GAAAA,+DAAAA,CAAAA,oDAAAA;AAAA;;;QAAbgiB;AAAazgB;AAAAC;AAAA0gB;AAAA;AAAAxgB;AAAAC;AAAAC;AAAAC;AAAA;ADP1B7B,MAAAA,wDAAAA;AAMAA,MAAAA,wDAAAA;;;;AANeA,MAAAA,wDAAAA;AAMAA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AELf;AAEA;AACA;AACA;;AAOO,IAAMoiB,UAAb;AAAA;AAAA;;;mBAAaA;AAAU;;;QAAVA;;;YAHF,CAACviB,iEAAD,EAAmBsiB,kHAAnB,EAAuCJ,wHAAvC;;;;sHAGEK,YAAU;AAAA/f,mBAJN2f,yFAIM;AAJOliB,cAClBD,iEADkB,EACAsiB,kHADA,EACoBJ,wHADpB,CAIP;AAH+ChiB,cAC1DiiB,yFAD0D;AAG/C;AAFE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVzB;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AAcO,IAAMM,qBAAb;AASE;;;;;;;;AAQA,iCACUhc,kBADV,EAEU5D,gBAFV,EAGUqH,mBAHV,EAIUpF,OAJV,EAKUC,WALV,EAMUqU,4BANV,EAMoE;AAAA;;AAL1D;AACA;AACA;AACA;AACA;AACA;AAnBV,sBAAsB,KAAtB,CAmBoE,CAElE;;AACA,SAAKtW,eAAL,GAAuB,IAAIL,yCAAJ,EAAvB;AACD,GA3BH,CA+BE;AACA;;AAEA;;;;;AAlCF;AAAA;AAAA,WAqCE,iBAAQ;AAAA;;AACN;AACA,WAAKgE,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,0DAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF,aAAI,CAACwD,UAAL,GAAkBD,MAAlB;AACD,OAFD;;AAIA,WAAKjG,WAAL,GAAmB,KAAKyJ,mBAAL,CAAyB4G,kBAAzB,CAA4C,MAA5C,EAAoD9F,SAAvE,CANM,CAQN;;AACA,WAAKlG,OAAL,CAAa8B,MAAb,CACG1D,IADH,CAEIoD,uDAAM,CAAC,eAAK;AAAA,eAAIO,KAAK,YAAYR,2DAArB;AAAA,OAAN,CAFV,EAGI3D,0DAAS,CAAC,KAAKI,eAAN,CAHb,EAKGK,SALH,CAKa,YAAK;AACd,YAAI,KAAI,CAAC+G,mBAAL,CAAyB4G,kBAAzB,CAA4C,MAA5C,CAAJ,EAAyD;AACvD,eAAI,CAAC5G,mBAAL,CAAyB4G,kBAAzB,CAA4C,MAA5C,EAAoDjG,KAApD;AACD;AACF,OATH,EATM,CAoBN;;;AACA,WAAK/F,OAAL,CAAa8B,MAAb,CACG1D,IADH,CAEIoD,uDAAM,CAAC,eAAK;AAAA,eAAIO,KAAK,YAAYR,2DAArB;AAAA,OAAN,CAFV,EAGI8P,qDAAI,CAAC,CAAD,CAHR,EAKGhT,SALH,CAKa,YAAK;AACd9B,kBAAU,CAAC,YAAK;AACd,eAAI,CAACqhB,YAAL,CAAkBC,eAAlB,CAAkC,qBAAlC,EAAyD,CAAC,GAA1D,EAA+D,GAA/D;AACD,SAFS,CAAV;AAGD,OATH,EArBM,CAgCN;;;AACA,WAAK9f,gBAAL,CAAsBI,aAAtB,CACGC,IADH,CAEIoD,uDAAM,CAAC,eAAK;AAAA,eAAIxF,KAAK,KAAK,IAAd;AAAA,OAAN,CAFV,EAGI4B,0DAAS,CAAC,KAAKI,eAAN,CAHb,EAKGK,SALH,CAKa,YAAK;AACd,aAAI,CAACJ,IAAL,GAAY,KAAI,CAACF,gBAAL,CAAsBG,cAAtB,EAAZ;AACD,OAPH;AAQD;AAED;;;;AAhFF;AAAA;AAAA,WAmFE,oBAAW;AACT;AACA,WAAKF,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD,KAvFH,CAyFE;AACA;;AAEA;;;;AA5FF;AAAA;AAAA,WA+FE,wBAAe;AACb,UAAI,KAAKub,YAAL,CAAkB1jB,QAAlB,CAA2B,IAA3B,EAAiC4jB,CAAjC,GAAqC,CAAzC,EAA4C;AAC1C,aAAKC,UAAL,GAAkB,IAAlB;AACD,OAFD,MAEO;AACL,aAAKA,UAAL,GAAkB,KAAlB;AACD;AACF;AAED;;;;AAvGF;AAAA;AAAA,WA0GE,sBAAa;AACX,WAAK3Y,mBAAL,CAAyB4G,kBAAzB,CAA4C,MAA5C,EAAoDC,UAApD;AACD;AAED;;;;AA9GF;AAAA;AAAA,WAiHE,iCAAwB;AAAA;;AACtB;AACA,WAAKtK,kBAAL,CACGqc,SADH,GAEG5f,IAFH,CAEQR,0DAAS,CAAC,KAAKI,eAAN,CAFjB,EAGGK,SAHH,CAGa,gBAAM,EAAG;AAClB,cAAI,CAAC1C,WAAL,GAAmBiG,MAAM,CAACrD,MAAP,CAAcN,IAAd,CAAmBiI,SAAtC;AACD,OALH;;AAOA,UAAI,KAAKvK,WAAT,EAAsB;AACpB,aAAKgG,kBAAL,CAAwBsc,SAAxB,CAAkC;AAAE1f,gBAAM,EAAE;AAAEN,gBAAI,EAAE;AAAEiI,uBAAS,EAAE;AAAb;AAAR;AAAV,SAAlC,EAA8E;AAAEuF,mBAAS,EAAE;AAAb,SAA9E;AACD,OAFD,MAEO;AACL,aAAK9J,kBAAL,CAAwBsc,SAAxB,CAAkC;AAAE1f,gBAAM,EAAE;AAAEN,gBAAI,EAAE;AAAEiI,uBAAS,EAAE;AAAb;AAAR;AAAV,SAAlC,EAA6E;AAAEuF,mBAAS,EAAE;AAAb,SAA7E;AACD;AACF;AA/HH;AAAA;AAAA,WAiIE,yBAAgB;AAEd,UAAG,KAAKxL,WAAL,CAAiBS,UAAjB,EAAH,EACE,OAAO,kBAAP,CADF,KAGE,OAAO,SAAP;AACH;AAvIH;AAAA;;;mBAAaid,uBAAqBtiB,gEAAAA,CAAAA,4EAAAA,GAAAA,gEAAAA,CAAAA,yFAAAA,GAAAA,gEAAAA,CAAAA,kGAAAA,GAAAA,gEAAAA,CAAAA,oDAAAA,GAAAA,gEAAAA,CAAAA,+DAAAA,GAAAA,gEAAAA,CAAAA,kGAAAA;AAAA;;;QAArBsiB;AAAqB/gB;AAAAshB;AAAA;iEA6BrBR,6EAAyBA,EAAA;;;;;;;;;;;;;;AC/CtCriB,MAAAA,6DAAAA;AACEA,MAAAA,6DAAAA;AACEA,MAAAA,6DAAAA;AAEEA,MAAAA,6DAAAA;AACEA,MAAAA,6DAAAA;AACEA,MAAAA,wDAAAA;AACFA,MAAAA,2DAAAA;AACAA,MAAAA,6DAAAA;AACEA,MAAAA,6DAAAA;AACEA,MAAAA,6DAAAA;AAAsCA,MAAAA,qDAAAA;AAAYA,MAAAA,2DAAAA;AACpDA,MAAAA,2DAAAA;AACAA,MAAAA,6DAAAA;AACEA,MAAAA,6DAAAA;AAAsCA,MAAAA,qDAAAA;AAAQA,MAAAA,2DAAAA;AAChDA,MAAAA,2DAAAA;AACFA,MAAAA,2DAAAA;AACFA,MAAAA,2DAAAA;AACFA,MAAAA,2DAAAA;AAGAA,MAAAA,6DAAAA;AACEA,MAAAA,6DAAAA;AAAGA,MAAAA,yDAAAA;AAAA,eAAS4I,8BAAT;AAAmC,OAAnC;AACD5I,MAAAA,wDAAAA;AAIFA,MAAAA,2DAAAA;AACAA,MAAAA,6DAAAA;AAAGA,MAAAA,yDAAAA;AAAA,eAAS4I,mBAAT;AAAwB,OAAxB;AACD5I,MAAAA,wDAAAA;AACFA,MAAAA,2DAAAA;AACFA,MAAAA,2DAAAA;AACFA,MAAAA,2DAAAA;AACFA,MAAAA,2DAAAA;AAIAA,MAAAA,wDAAAA;AACAA,MAAAA,wDAAAA;AAEAA,MAAAA,6DAAAA;AAAuDA,MAAAA,yDAAAA;AAAA,eAAU4I,qBAAV;AAA2B,OAA3B;AACrD5I,MAAAA,wDAAAA;AACFA,MAAAA,2DAAAA;;;;AArC8BA,MAAAA,wDAAAA;AAAAA,MAAAA,yDAAAA,iCAAAA,4DAAAA;AAEfA,MAAAA,wDAAAA;AAAAA,MAAAA,oEAAAA,yCAAAA,4DAAAA;AAiBLA,MAAAA,wDAAAA;AAAAA,MAAAA,yDAAAA;AAaiBA,MAAAA,wDAAAA;AAAAA,MAAAA,yDAAAA,YAAAA,8DAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpC3B;AAEA;AACA;AAGA;AACA;AAEA;;AAEA,IAAMgR,gCAAgC,GAAoC;AACxEC,iBAAe,EAAE,IADuD;AAExEC,kBAAgB,EAAE;AAFsD,CAA1E;AAeO,IAAMiR,kBAAb;AAAA;AAAA;;;mBAAaA;AAAkB;;;QAAlBA;;;aARA,CACT;AACEjgB,WAAO,EAAE6O,2EADX;AAEE5O,YAAQ,EAAE6O;AAFZ,GADS;AAKVlR,YANQ,CAAC8D,4DAAD,EAAiB/D,iEAAjB,EAAmCiR,yEAAnC,EAA2D1N,yDAA3D,CAMR;;;;sHAGU+e,oBAAkB;AAAA9f,mBAVdigB,wHAUc;AAVOxiB,cAC1B8D,4DAD0B,EACV/D,iEADU,EACQiR,yEADR,EACgC1N,yDADhC,CAUP;AATmDrD,cAOtEuiB,wHAPsE;AASnD;AAFE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBjC;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACLAtiB,IAAAA,6DAAAA;AAEEA,IAAAA,6DAAAA;AACEA,IAAAA,6DAAAA;AACEA,IAAAA,6DAAAA;AACEA,IAAAA,6DAAAA;AACEA,IAAAA,wDAAAA;AACFA,IAAAA,2DAAAA;AACAA,IAAAA,6DAAAA;AAA4BA,IAAAA,qDAAAA;AAA6BA,IAAAA,2DAAAA;AAC3DA,IAAAA,2DAAAA;AACFA,IAAAA,2DAAAA;AACFA,IAAAA,2DAAAA;AAEFA,IAAAA,2DAAAA;;;;;AAT8BA,IAAAA,wDAAAA;AAAAA,IAAAA,yDAAAA,eAAAA,8DAAAA;AAEfA,IAAAA,wDAAAA;AAAAA,IAAAA,oEAAAA,4CAAAA,4DAAAA;AAEqBA,IAAAA,wDAAAA;AAAAA,IAAAA,gEAAAA;;;;;;;;AAUhCA,IAAAA,6DAAAA;AACEA,IAAAA,6DAAAA;AACEA,IAAAA,6DAAAA;AAAgCA,IAAAA,yDAAAA;AAAAA,MAAAA,4DAAAA;AAAA;AAAA,aAAS8iB,qBAAc,MAAd,CAAT;AAA8B,KAA9B;AAC9B9iB,IAAAA,wDAAAA;AACFA,IAAAA,2DAAAA;AACFA,IAAAA,2DAAAA;AACFA,IAAAA,2DAAAA;;;;AAHoCA,IAAAA,wDAAAA;AAAAA,IAAAA,yDAAAA;AAAxBA,IAAAA,yDAAAA;;;;;;AA2BZA,IAAAA,6DAAAA;AACEA,IAAAA,6DAAAA;AAC4CA,IAAAA,qDAAAA;;AAAuBA,IAAAA,2DAAAA;AACrEA,IAAAA,2DAAAA;;;;;AAFKA,IAAAA,wDAAAA;AAAAA,IAAAA,yDAAAA,0EAAAA,4DAAAA;AACyCA,IAAAA,wDAAAA;AAAAA,IAAAA,gEAAAA,CAAAA,0DAAAA;;;;;;;;;;AAI9CA,IAAAA,6DAAAA;AACEA,IAAAA,6DAAAA;AAQEA,IAAAA,6DAAAA;AACEA,IAAAA,6DAAAA;AAA2CA,IAAAA,qDAAAA;AAAkCA,IAAAA,2DAAAA;AAC/EA,IAAAA,2DAAAA;AACAA,IAAAA,6DAAAA;AACCA,IAAAA,wDAAAA;;AAKaA,IAAAA,wDAAAA;AACbA,IAAAA,2DAAAA;AACHA,IAAAA,2DAAAA;AACAA,IAAAA,6DAAAA;AAGEA,IAAAA,6DAAAA;AAAuDA,IAAAA,wDAAAA;AAC6BA,IAAAA,qDAAAA;;AACpFA,IAAAA,2DAAAA;AACAA,IAAAA,wDAAAA;AACAA,IAAAA,6DAAAA;AAA6CA,IAAAA,wDAAAA;AAAwDA,IAAAA,qDAAAA;;AAAsBA,IAAAA,2DAAAA;AAC7HA,IAAAA,2DAAAA;AACFA,IAAAA,2DAAAA;;;;;AApBiDA,IAAAA,wDAAAA;AAAAA,IAAAA,gEAAAA;AAK3CA,IAAAA,wDAAAA;AAAAA,IAAAA,yDAAAA,QAAAA,0DAAAA,oEAAAA,4DAAAA;AAOCA,IAAAA,wDAAAA;AAAAA,IAAAA,qEAAAA;AAEAA,IAAAA,wDAAAA;AAAAA,IAAAA,yDAAAA,eAAAA,8DAAAA;AAA0DA,IAAAA,wDAAAA;AAAAA,IAAAA,yDAAAA;AACRA,IAAAA,yDAAAA;AAA+BA,IAAAA,wDAAAA;AAAAA,IAAAA,iEAAAA,KAAAA,0DAAAA;AAGjCA,IAAAA,wDAAAA;AAAAA,IAAAA,yDAAAA;AAAkBA,IAAAA,yDAAAA;AAAgCA,IAAAA,wDAAAA;AAAAA,IAAAA,gEAAAA,CAAAA,0DAAAA;;;;AD5DtG,IAAM+iB,eAAb;AA4CE;;;;;;;;;;;;;AAaA,2BACUpe,OADV,EAEU2B,kBAFV,EAGUwD,iBAHV,EAIUC,mBAJV,EAKUE,cALV,EAMSgN,iBANT,EAOSgC,4BAPT,EAQU0F,sBARV,EASS/Z,WATT,EAUSoe,cAVT,EAUuC;AAAA;;AAT7B;AACA;AACA;AACA;AACA;AACD;AACA;AACC;AACD;AACA;AAvDF,sBAAqB,gDAArB;AAMA,mBAAU,KAAV;AAGA,0BAAiB,KAAjB;AAgDL,SAAKC,eAAL,GAAuB;AACrBC,QAAE,EAAE;AACFC,aAAK,EAAE,SADL;AAEFC,YAAI,EAAE;AAFJ,OADiB;AAKrBC,QAAE,EAAE;AACFF,aAAK,EAAE,QADL;AAEFC,YAAI,EAAE;AAFJ,OALiB;AASrBE,QAAE,EAAE;AACFH,aAAK,EAAE,QADL;AAEFC,YAAI,EAAE;AAFJ,OATiB;AAarBG,QAAE,EAAE;AACFJ,aAAK,EAAE,YADL;AAEFC,YAAI,EAAE;AAFJ;AAbiB,KAAvB,CAFqC,CAqBrC;;AACA,SAAKzgB,eAAL,GAAuB,IAAIL,0CAAJ,EAAvB;AACD,GA1FH,CAuBE;;;AAvBF;AAAA;AAAA,WAyBE,uBAAc;AACZ,UACE,CAACmF,MAAM,CAAC6Z,WAAP,IAAsB7gB,QAAQ,CAAC+gB,eAAT,CAAyBvR,SAA/C,IAA4DxP,QAAQ,CAACG,IAAT,CAAcqP,SAAd,GAA0B,GAAvF,KACA,KAAKzJ,UAAL,CAAgBtD,MAAhB,CAAuBwM,MAAvB,CAA8B3E,IAA9B,IAAsC,mBADtC,IAEA,KAAKvE,UAAL,CAAgBtD,MAAhB,CAAuB6H,IAAvB,IAA+B,YAHjC,EAIE;AACA,aAAK0W,cAAL,GAAsB,IAAtB;AACD,OAND,MAMO,IACJ,KAAKA,cAAL,IAAuBha,MAAM,CAAC6Z,WAA/B,IACA7gB,QAAQ,CAAC+gB,eAAT,CAAyBvR,SADzB,IAEAxP,QAAQ,CAACG,IAAT,CAAcqP,SAAd,GAA0B,EAHrB,EAIL;AACA,aAAKwR,cAAL,GAAsB,KAAtB;AACD;AACF,KAvCH,CA4FE;AACA;;AAEA;;;;;;AA/FF;AAAA;AAAA,WAoGE,sBAAa,CAACxU,GAAD,EAAI;AACf,WAAKlD,mBAAL,CAAyB4G,kBAAzB,CAA4C1D,GAA5C,EAAiD2D,UAAjD;AACD;AAED;;;;;;AAxGF;AAAA;AAAA,WA6GE,oBAAW,CAAC4S,QAAD,EAAS;AAClB;AACA,WAAKC,gBAAL,GAAwBD,QAAxB,CAFkB,CAIlB;;AACA,WAAKvM,iBAAL,CAAuBsC,GAAvB,CAA2BiK,QAA3B;;AAEA,WAAKld,kBAAL,CAAwBsc,SAAxB,CAAkC;AAAC1T,WAAG,EAAE;AAACI,qBAAW,EAAEkU;AAAd;AAAN,OAAlC,EAAkE;AAACpT,iBAAS,EAAE;AAAZ,OAAlE;AACD;AAED;;;;AAvHF;AAAA;AAAA,WA0HE,uBAAc;AAAA;;AACZ;AACA,WAAK9J,kBAAL,CACGqc,SADH,GAEG5f,IAFH,CAEQR,0DAAS,CAAC,KAAKI,eAAN,CAFjB,EAGGK,SAHH,CAGa,gBAAM,EAAG;AAClB,aAAI,CAAC0gB,WAAL,GAAmBnd,MAAM,CAACrD,MAAP,CAAcqM,IAAjC;AACD,OALH,EAFY,CASZ;;;AACA,WAAKoU,QAAL,GAAgB1O,YAAY,CAACC,OAAb,CAAqB,UAArB,CAAhB;;AAEA,UAAI,KAAKwO,WAAL,KAAqB,MAAzB,EAAiC;AAC/B,aAAKpd,kBAAL,CAAwBsc,SAAxB,CACE;AAAC1f,gBAAM,EAAE;AAACqM,gBAAI,EAAE,KAAKoU,QAAL,GAAgB,KAAKA,QAArB,GAAgC;AAAvC;AAAT,SADF,EAEE;AAACvT,mBAAS,EAAE;AAAZ,SAFF;AAID,OALD,MAKO;AACL6E,oBAAY,CAACS,OAAb,CAAqB,UAArB,EAAiC,KAAKgO,WAAtC;;AACA,aAAKpd,kBAAL,CAAwBsc,SAAxB,CAAkC;AAAC1f,gBAAM,EAAE;AAACqM,gBAAI,EAAE;AAAP;AAAT,SAAlC,EAA4D;AAACa,mBAAS,EAAE;AAAZ,SAA5D;AACD;AACF,KA/IH,CAiJE;AACA;;AAEA;;;;AApJF;AAAA;AAAA,WAuJE,iBAAQ;AAAA;;AAEN;AACA,WAAK9J,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,0DAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF,cAAI,CAACwD,UAAL,GAAkBD,MAAlB;AACA,cAAI,CAACqd,cAAL,GAAsBrd,MAAM,CAACrD,MAAP,CAAc6H,IAAd,KAAuB,YAA7C;AACA,cAAI,CAAC8Y,UAAL,GAAkBtd,MAAM,CAACrD,MAAP,CAAcN,IAAd,CAAmB6M,MAAnB,KAA8B,IAAhD;AACA,cAAI,CAACiU,WAAL,GAAmBnd,MAAM,CAACrD,MAAP,CAAcqM,IAAjC,CAJsF,CAMtF;;AACA,YAAI,MAAI,CAAC/I,UAAL,CAAgBtD,MAAhB,CAAuB6H,IAAvB,KAAgC,UAApC,EAAgD;AAC9C7J,oBAAU,CAAC,YAAK;AACd,gBAAI,MAAI,CAACsF,UAAL,CAAgBtD,MAAhB,CAAuBwM,MAAvB,CAA8B3E,IAA9B,KAAuC,WAA3C,EAAwD;AACtD,oBAAI,CAAC+Y,OAAL,GAAe,IAAf;AACD;AACF,WAJS,EAIP,CAJO,CAAV;AAKD;AACF,OAdD,EAHM,CAmBN;;;AACA,UAAI,KAAKtd,UAAL,CAAgBtD,MAAhB,CAAuB6H,IAAvB,IAA+B,YAAnC,EAAiD;AAC/C;AACA,aAAKjB,iBAAL,CAAuB2B,aAAvB,CAAqC1I,IAArC,CAA0CR,0DAAS,CAAC,KAAKI,eAAN,CAAnD,EAA2EK,SAA3E,CAAqF,YAAK;AACxF,cAAM+gB,UAAU,GAAG,MAAI,CAAC9Z,cAAL,CAAoBnD,QAApB,CAA6B,UAA7B,CAAnB;;AACA,cAAIid,UAAJ,EAAgB;AACd,kBAAI,CAACD,OAAL,GAAe,KAAf;AACD,WAFD,MAEO;AACL,kBAAI,CAACA,OAAL,GAAe,IAAf;AACD;AACF,SAPD;AAQD,OA9BK,CAgCN;;;AACA,WAAKL,gBAAL,GAAwB9O,wCAAA,CAAO,KAAKsO,eAAZ,EAA6B;AACnD/F,UAAE,EAAE,KAAKjG,iBAAL,CAAuB+M;AADwB,OAA7B,CAAxB;AAGD;AAED;;;;AA7LF;AAAA;AAAA,WAgME,oBAAW;AACT;AACA,WAAKrhB,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD;AApMH;AAAA;AAAA,WAsME,uBAAc;AACZ,aAAO,KAAKpC,WAAL,CAAiBS,UAAjB,MAAiC,KAAKT,WAAL,CAAiBkB,UAAjB,EAAxC;AACD;AAxMH;AAAA;;;mBAAaid,iBAAe/iB,gEAAAA,CAAAA,oDAAAA,GAAAA,gEAAAA,CAAAA,4EAAAA,GAAAA,gEAAAA,CAAAA,0EAAAA,GAAAA,gEAAAA,CAAAA,kGAAAA,GAAAA,gEAAAA,CAAAA,gEAAAA,GAAAA,gEAAAA,CAAAA,kEAAAA,GAAAA,gEAAAA,CAAAA,kGAAAA,GAAAA,gEAAAA,CAAAA,+DAAAA,GAAAA,gEAAAA,CAAAA,+DAAAA,GAAAA,gEAAAA,CAAAA,qEAAAA;AAAA;;;QAAf+iB;AAAexhB;AAAAmH;AAAAC;AAAA;;eAAfC;AAAgB;;;;;;;;;;;;;;;ACtB7B5I,MAAAA,yDAAAA;AAeAA,MAAAA,6DAAAA;AACEA,MAAAA,6DAAAA;AAEEA,MAAAA,yDAAAA;AAUAA,MAAAA,6DAAAA;AACEA,MAAAA,6DAAAA;AAAqDA,MAAAA,yDAAAA;AAAA,eAAS4I,oBAAT;AAAyB,OAAzB;;;AAGnD5I,MAAAA,wDAAAA;AACFA,MAAAA,2DAAAA;AACFA,MAAAA,2DAAAA;AAEFA,MAAAA,2DAAAA;AAEAA,MAAAA,6DAAAA;AACEA,MAAAA,6DAAAA;AACEA,MAAAA,6DAAAA;AACqDA,MAAAA,qDAAAA;;AAAwBA,MAAAA,2DAAAA;AAC/EA,MAAAA,2DAAAA;AACFA,MAAAA,2DAAAA;AAGAA,MAAAA,6DAAAA;AAEEA,MAAAA,yDAAAA;AAMAA,MAAAA,yDAAAA;AAgCFA,MAAAA,2DAAAA;AACFA,MAAAA,2DAAAA;;;;AAvFMA,MAAAA,yDAAAA;AAkBGA,MAAAA,wDAAAA;AAAAA,MAAAA,yDAAAA;AAYAA,MAAAA,wDAAAA;AAAAA,MAAAA,oEAAAA,4CAAAA,0DAAAA,uBAAAA,0DAAAA;AACkBA,MAAAA,yDAAAA;AACbA,MAAAA,wDAAAA;AAAAA,MAAAA,yDAAAA;AAQLA,MAAAA,wDAAAA;AAAAA,MAAAA,yDAAAA,4DAAAA,4DAAAA;AACkDA,MAAAA,wDAAAA;AAAAA,MAAAA,gEAAAA,CAAAA,0DAAAA;AAOlDA,MAAAA,wDAAAA;AAAAA,MAAAA,yDAAAA;AAMAA,MAAAA,wDAAAA;AAAAA,MAAAA,yDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDT;AAEA;AACA;AAEA;AACA;AAEA;AACA;;AAEA,IAAMgR,gCAAgC,GAAoC;AACxEC,iBAAe,EAAE,IADuD;AAExEC,kBAAgB,EAAE;AAFsD,CAA1E;AAkBO,IAAM+S,YAAb;AAAA;AAAA;;;mBAAaA;AAAY;;;QAAZA;;;aARA,CACT;AACE/hB,WAAO,EAAE6O,2EADX;AAEE5O,YAAQ,EAAE6O;AAFZ,GADS;AAKVlR,YANQ,CAACsD,yDAAD,EAAetB,iEAAf,EAA0BjC,iEAA1B,EAA4CiR,yEAA5C,EAAoEvC,sGAApE,EAAyFlL,gEAAzF,CAMR;;;;sHAGU4gB,cAAY;AAAA5hB,mBAXrB0gB,+FAWqB;AAXNjjB,cAEPsD,yDAFO,EAEOtB,iEAFP,EAEkBjC,iEAFlB,EAEoCiR,yEAFpC,EAE4DvC,sGAF5D,EAEiFlL,gEAFjF,CAWM;AAT0FtD,cAOvGgjB,+FAPuG;AAS1F;AAFE;;;;;;;;;;;;;;;AC5B3B;AAEA,IAAMoB,cAAc,GAAG,CACrB;AAAEC,OAAK,EAAE,OAAT;AAAkBC,aAAW,EAAE,KAA/B;AAAsCC,YAAU,EAAE,uBAAlD;AAA2EC,QAAM,EAAE;AAAnF,CADqB,EAErB;AAAEH,OAAK,EAAE,OAAT;AAAkBC,aAAW,EAAE,KAA/B;AAAsCC,YAAU,EAAE,8CAAlD;AAAkGC,QAAM,EAAE;AAA1G,CAFqB,EAGrB;AAAEH,OAAK,EAAE,OAAT;AAAkBC,aAAW,EAAE,KAA/B;AAAsCC,YAAU,EAAE,8CAAlD;AAAkGC,QAAM,EAAE;AAA1G,CAHqB,EAIrB;AAAEH,OAAK,EAAE,OAAT;AAAkBC,aAAW,EAAE,KAA/B;AAAsCC,YAAU,EAAE,+CAAlD;AAAmGC,QAAM,EAAE;AAA3G,CAJqB,EAKrB;AAAEH,OAAK,EAAE,OAAT;AAAkBC,aAAW,EAAE,KAA/B;AAAsCC,YAAU,EAAE,qBAAlD;AAAyEC,QAAM,EAAE;AAAjF,CALqB,EAOrB;AAAEH,OAAK,EAAE,UAAT;AAAqBC,aAAW,EAAE,KAAlC;AAAyCC,YAAU,EAAE,oBAArD;AAA2EC,QAAM,EAAE;AAAnF,CAPqB,EAQrB;AAAEH,OAAK,EAAE,UAAT;AAAqBC,aAAW,EAAE,KAAlC;AAAyCC,YAAU,EAAE,oBAArD;AAA2EC,QAAM,EAAE;AAAnF,CARqB,EASrB;AAAEH,OAAK,EAAE,UAAT;AAAqBC,aAAW,EAAE,KAAlC;AAAyCC,YAAU,EAAE,oBAArD;AAA2EC,QAAM,EAAE;AAAnF,CATqB,EAUrB;AAAEH,OAAK,EAAE,UAAT;AAAqBC,aAAW,EAAE,KAAlC;AAAyCC,YAAU,EAAE,qBAArD;AAA4EC,QAAM,EAAE;AAApF,CAVqB,EAYrB;AAAEH,OAAK,EAAE,UAAT;AAAqBC,aAAW,EAAE,KAAlC;AAAyCC,YAAU,EAAE,uBAArD;AAA8EC,QAAM,EAAE;AAAtF,CAZqB,EAarB;AAAEH,OAAK,EAAE,UAAT;AAAqBC,aAAW,EAAE,KAAlC;AAAyCC,YAAU,EAAE,uBAArD;AAA8EC,QAAM,EAAE;AAAtF,CAbqB,EAcrB;AAAEH,OAAK,EAAE,UAAT;AAAqBC,aAAW,EAAE,KAAlC;AAAyCC,YAAU,EAAE,uBAArD;AAA8EC,QAAM,EAAE;AAAtF,CAdqB,EAerB;AAAEH,OAAK,EAAE,UAAT;AAAqBC,aAAW,EAAE,KAAlC;AAAyCC,YAAU,EAAE,wBAArD;AAA+EC,QAAM,EAAE;AAAvF,CAfqB,CAAvB;AAkBO,IAAMC,yBAAyB,GAAG;AACvCtiB,SAAO,EAAEgiB,4DAD8B;AAEvC/hB,UAAQ,EAAEgiB,cAF6B;AAGvC/H,OAAK,EAAE;AAHgC,CAAlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBP;AACA;;;;;;;;;;;;ACFApc,IAAAA,gEAAAA;;;;;;AAIAA,IAAAA,gEAAAA;;;;;;AAMEA,IAAAA,uDAAAA;;;;;;AAWAA,IAAAA,uDAAAA;;;;;AAEEA,IAAAA,wDAAAA;;;;;;AAFFA,IAAAA,wDAAAA;;;;;AACGA,IAAAA,wDAAAA;;;;;;;;;;AAgBDA,IAAAA,uDAAAA;;;;;AAEEA,IAAAA,wDAAAA,YAAAA,6DAAAA;;;;;;;;;;AAcFA,IAAAA,4DAAAA;AASEA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;;;;;AAREA,IAAAA,wDAAAA,uDAA8C,SAA9C,EAA8CA,6DAAAA,4EAA9C;;;;;;AApBJA,IAAAA,4DAAAA;AAEEA,IAAAA,wDAAAA;AAgBAA,IAAAA,wDAAAA;AAWFA,IAAAA,0DAAAA;;;;;AAdKA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;AAOAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;AD9CA,IAAMykB,yBAAb;AAME;;;;;AAKA,qCAAoBne,kBAApB,EAAyD;AAAA;;AAArC,iDAAqC,CACvD;;AACA,SAAK3D,eAAL,GAAuB,IAAIL,yCAAJ,EAAvB;AACD,GAdH,CAgBE;AACA;;AAEA;;;;;AAnBF;AAAA;AAAA,WAsBE,iBAAQ;AAAA;;AACN;AACA,WAAKgE,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,yDAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF,aAAI,CAACwD,UAAL,GAAkBD,MAAlB;AACD,OAFD;AAGD;AAED;;;;AA7BF;AAAA;AAAA,WAgCE,oBAAW;AACT;AACA,WAAK5D,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD;AApCH;AAAA;;;mBAAayd,2BAAyBzkB,+DAAAA,CAAAA,4EAAAA;AAAA;;;QAAzBykB;AAAyBljB;AAAAG;AAAAC;AAAAC;AAAAC;AAAA;ACZtC7B,MAAAA,wDAAAA;AAIAA,MAAAA,wDAAAA;AAIAA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AACAA,MAAAA,wDAAAA;AAEAA,MAAAA,uDAAAA;AAEFA,MAAAA,0DAAAA;AAMAA,MAAAA,wDAAAA,oFAAAA,oEAAAA;AAeAA,MAAAA,wDAAAA,oFAAAA,oEAAAA;;;;;;;;AAnCeA,MAAAA,wDAAAA;AAIAA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAMsBA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVrC;AAEA;AACA;AAEA;AACA;AACA;AACA;AAEA;;AAOO,IAAM0kB,sBAAb;AAAA;AAAA;;;mBAAaA;AAAsB;;;QAAtBA;;;YAHF,CAACthB,0DAAD,EAAevD,iEAAf,EAAiCkN,+DAAjC,EAAoDkX,yFAApD,EAAkEjD,4FAAlE,EAAiFoB,mFAAjF,EAA6Ff,yFAA7F;;;;sHAGEqD,wBAAsB;AAAAriB,mBAJlBoiB,6GAIkB;AAJO3kB,cAC9BsD,0DAD8B,EAChBvD,iEADgB,EACEkN,+DADF,EACqBkX,yFADrB,EACmCjD,4FADnC,EACkDoB,mFADlD,EAC8Df,yFAD9D,CAIP;AAHiFthB,cACxG0kB,6GADwG;AAGjF;AAFE;;;;;;;;;;;;;;;;;;;;;;;ACfrC;AAEA;AACA;AACA;;;AAOO,IAAMlJ,YAAb;AAAA;AAAA;;;mBAAaA;AAAY;;;QAAZA;;;aAHA,CAACiJ,yFAAD;AAA2B1kB,YAD7B,CAACN,6EAAA,CAA4B;AAAEqlB,qBAAiB,EAAE;AAArB,GAA5B,CAAD,EAA2DF,iGAA3D,EAAiFD,uGAAjF,CAC6B,EAC5BC,iGAD4B,EACND,uGADM;;;;sHAG3BnJ,cAAY;AAAAzb,cAAAA,kEAAAA,EAJ6C6kB,iGAI7C,EAJmED,uGAInE;AAJyF3kB,cAEtG4kB,iGAFsG,EAEhFD,uGAFgF;AAIzF;AAF+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRxD;AACA;;;;;;;;;;;;ACFA1kB,IAAAA,gEAAAA;;;;;;AAIAA,IAAAA,gEAAAA;;;;;;AAMEA,IAAAA,uDAAAA;;;;;;;;;;AAeAA,IAAAA,uDAAAA;;;;;AACEA,IAAAA,wDAAAA,kCAAyB,SAAzB,EAAyBA,6DAAAA,oYAAzB;;;;;;AADFA,IAAAA,wDAAAA;;;;;AAEGA,IAAAA,wDAAAA;;;;;;AAmBHA,IAAAA,4DAAAA;AAYEA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;;;;;AAXEA,IAAAA,wDAAAA,uDAA8C,SAA9C,EAA8CA,6DAAAA,2LAA9C;;;;;;AAFFA,IAAAA,wDAAAA;;;;;AAIGA,IAAAA,wDAAAA;;;;ADtCE,IAAM8kB,uBAAb;AASE;;;;;AAKA,mCAAoBxe,kBAApB,EAAmEuD,WAAnE,EAA0F;AAAA;;AAAtE;AAA+C,mCAAuB,CACxF;;AACA,SAAKlH,eAAL,GAAuB,IAAIL,yCAAJ,EAAvB;AACD,GAjBH,CAmBE;AACA;;AAEA;;;;;AAtBF;AAAA;AAAA,WAyBE,iBAAQ;AAAA;;AACN;AACA,WAAKgE,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,yDAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF,aAAI,CAACwD,UAAL,GAAkBD,MAAlB;AACD,OAFD;AAGD;AAED;;;;AAhCF;AAAA;AAAA,WAmCE,oBAAW;AACT;AACA,WAAK5D,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD;AAvCH;AAAA;;;mBAAa8d,yBAAuB9kB,+DAAAA,CAAAA,4EAAAA,GAAAA,+DAAAA,CAAAA,qDAAAA;AAAA;;;QAAvB8kB;AAAuBvjB;AAAAC;AAAA6D;AAAA;AAAA3D;AAAAC;AAAAC;AAAAC;AAAA;ACZpC7B,MAAAA,wDAAAA;AAIAA,MAAAA,wDAAAA;AAIAA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AACAA,MAAAA,wDAAAA;AAEAA,MAAAA,4DAAAA;AACEA,MAAAA,uDAAAA;AACFA,MAAAA,0DAAAA;AAGFA,MAAAA,0DAAAA;AAOAA,MAAAA,wDAAAA,kFAAAA,oEAAAA;AAqBAA,MAAAA,wDAAAA,kFAAAA,oEAAAA;;;;;;;;AA7CeA,MAAAA,wDAAAA;AAIAA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAMsBA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAE9BA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZP;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQO,IAAM2kB,oBAAb;AAAA;AAAA;;;mBAAaA;AAAoB;;;QAApBA;;;YAHF,CAACvhB,0DAAD,EAAevD,iEAAf,EAAiCkN,+DAAjC,EAAoDkX,0EAApD,EAAkE7B,oEAAlE,EAA8EpB,6EAA9E,EAA6FK,0EAA7F;;;;sHAGEsD,sBAAoB;AAAAtiB,mBAJhByiB,+EAIgB;AAJOhlB,cAC5BsD,0DAD4B,EACdvD,iEADc,EACIkN,+DADJ,EACuBkX,0EADvB,EACqC7B,oEADrC,EACiDpB,6EADjD,EACgEK,0EADhE,CAIP;AAHmFthB,cACxG+kB,+EADwG;AAGnF;AAFE;;;;;;;;;;;;;;;;;;;;;;ACb5B,IAAMxgB,gCAAgC,GAAa;AACxD4Y,IAAE,EAAE,SADoD;AAExDiG,OAAK,EAAE,eAFiD;AAGxDpY,MAAI,EAAE,SAHkD;AAIxD2U,WAAS,EAAE,eAJ6C;AAKxDrY,UAAQ,EAAE,CACR;AACE6V,MAAE,EAAE,iBADN;AAEEiG,SAAK,EAAE,iBAFT;AAGEzD,aAAS,EAAE,iBAHb;AAIEqF,QAAI,EAAE,OAJR;AAKEha,QAAI,EAAE,MALR;AAMEhE,OAAG,EAAE;AANP,GADQ,EASR;AACEmW,MAAE,EAAE,SADN;AAEEiG,SAAK,EAAE,gBAFT;AAGEzD,aAAS,EAAE,gBAHb;AAIEqF,QAAI,EAAE,aAJR;AAKEha,QAAI,EAAE,MALR;AAMEia,QAAI,EAAE,CAAC,OAAD,CANR;AAOEje,OAAG,EAAE;AAPP,GATQ;AAL8C,CAAnD;AA0BA,IAAM3C,+BAA+B,GAAa;AACvD8Y,IAAE,EAAE,gBADmD;AAEvDiG,OAAK,EAAE,gBAFgD;AAGvDpY,MAAI,EAAE,SAHiD;AAIvD2U,WAAS,EAAE,gBAJ4C;AAKvDrY,UAAQ,EAAE,CACR;AACE6V,MAAE,EAAE,SADN;AAEEiG,SAAK,EAAE,SAFT;AAGEzD,aAAS,EAAE,SAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,OALR;AAMEhe,OAAG,EAAE;AANP,GADQ;AAL6C,CAAlD;AAiBA,IAAM1C,sCAAsC,GAAa;AAC9D6Y,IAAE,EAAE,gBAD0D;AAE9DiG,OAAK,EAAE,gBAFuD;AAG9DpY,MAAI,EAAE,SAHwD;AAI9D2U,WAAS,EAAE,gBAJmD;AAK9DrY,UAAQ,EAAE,CACR;AACE6V,MAAE,EAAE,SADN;AAEEiG,SAAK,EAAE,SAFT;AAGEzD,aAAS,EAAE,SAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,OALR;AAMEhe,OAAG,EAAE;AANP,GADQ,EASR;AACEmW,MAAE,EAAE,kBADN;AAEEiG,SAAK,EAAE,kBAFT;AAGEzD,aAAS,EAAE,iBAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,MALR;AAMEhe,OAAG,EAAE;AANP,GATQ;AALoD,CAAzD;AAyBA,IAAM5C,oBAAoB,GAAa;AAC1C+Y,IAAE,EAAE,OADsC;AAE1CiG,OAAK,EAAE,OAFmC;AAG1CzD,WAAS,EAAE,OAH+B;AAI1C3U,MAAI,EAAE,SAJoC;AAK1C1D,UAAQ,EAAE,CACR;AACE6V,MAAE,EAAE,eADN;AAEEiG,SAAK,EAAE,eAFT;AAGEzD,aAAS,EAAE,eAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,MALR;AAMEhe,OAAG,EAAE;AANP,GADQ,EASR;AACEmW,MAAE,EAAE,aADN;AAEEiG,SAAK,EAAE,aAFT;AAGEzD,aAAS,EAAE,aAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,MALR;AAMEhe,OAAG,EAAE;AANP,GATQ;AALgC,CAAvC;AAyBA,IAAMxC,iCAAiC,GAAa;AACzD2Y,IAAE,EAAE,gBADqD;AAEzDiG,OAAK,EAAE,YAFkD;AAGzDpY,MAAI,EAAE,SAHmD;AAIzD2U,WAAS,EAAE,gBAJ8C;AAKzDrY,UAAQ,EAAE,CACR;AACE6V,MAAE,EAAE,eADN;AAEEiG,SAAK,EAAE,eAFT;AAGEzD,aAAS,EAAE,eAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,UALR;AAMEhe,OAAG,EAAE;AANP,GADQ,EASR;AACEmW,MAAE,EAAE,QADN;AAEEiG,SAAK,EAAE,QAFT;AAGEzD,aAAS,EAAE,QAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,WALR;AAMEhe,OAAG,EAAE;AANP,GATQ,EAiBR;AACEmW,MAAE,EAAE,UADN;AAEEiG,SAAK,EAAE,UAFT;AAGEzD,aAAS,EAAE,UAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,MALR;AAMEhe,OAAG,EAAE;AANP,GAjBQ,EAyBR;AACEmW,MAAE,EAAE,gBADN;AAEEiG,SAAK,EAAE,gBAFT;AAGEzD,aAAS,EAAE,gBAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,cALR;AAMEhe,OAAG,EAAE;AANP,GAzBQ,EAiCR;AACEmW,MAAE,EAAE,SADN;AAEEiG,SAAK,EAAE,SAFT;AAGEzD,aAAS,EAAE,SAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,UALR;AAMEhe,OAAG,EAAE;AANP,GAjCQ;AAL+C,CAApD;AAiDA,IAAM9C,mBAAmB,GAAa;AAC3CiZ,IAAE,EAAE,qBADuC;AAE3CiG,OAAK,EAAE,qBAFoC;AAG3CzD,WAAS,EAAE,qBAHgC;AAI3C3U,MAAI,EAAE,SAJqC;AAK3C1D,UAAQ,EAAE,CACR;AACE6V,MAAE,EAAE,iBADN;AAEEiG,SAAK,EAAE,sBAFT;AAGEzD,aAAS,EAAE,sBAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,cALR;AAMEhe,OAAG,EAAE;AANP,GADQ,EASR;AACEmW,MAAE,EAAE,iBADN;AAEEiG,SAAK,EAAE,cAFT;AAGEzD,aAAS,EAAE,cAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,YALR;AAMEhe,OAAG,EAAE;AANP,GATQ;AALiC,CAAtC;AAyBA,IAAM7C,4BAA4B,GAAa;AACpDgZ,IAAE,EAAE,SADgD;AAEpDiG,OAAK,EAAE,SAF6C;AAGpDzD,WAAS,EAAE,SAHyC;AAIpD3U,MAAI,EAAE,SAJ8C;AAKpD1D,UAAQ,EAAE,CACR;AACE6V,MAAE,EAAE,SADN;AAEEiG,SAAK,EAAE,SAFT;AAGEzD,aAAS,EAAE,SAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,WALR;AAMEhe,OAAG,EAAE;AANP,GADQ;AAL0C,CAA/C;AAiBA,IAAMvC,wBAAwB,GAAa;AAChD0Y,IAAE,EAAE,SAD4C;AAEhDiG,OAAK,EAAE,SAFyC;AAGhDzD,WAAS,EAAE,SAHqC;AAIhD3U,MAAI,EAAE,SAJ0C;AAKhD1D,UAAQ,EAAE,CACR;AACE6V,MAAE,EAAE,SADN;AAEEiG,SAAK,EAAE,SAFT;AAGEzD,aAAS,EAAE,SAHb;AAIE3U,QAAI,EAAE,MAJR;AAKEga,QAAI,EAAE,WALR;AAMEhe,OAAG,EAAE;AANP,GADQ;AALsC,CAA3C;AAiBA,IAAMtC,qBAAqB,GAAa;AAC7CyY,IAAE,EAAE,eADyC;AAE7CiG,OAAK,EAAE,eAFsC;AAG7CpY,MAAI,EAAE,MAHuC;AAI7Cka,SAAO,EAAE,sCAJoC;AAK7Cle,KAAG,EAAE,eALwC;AAM7Cme,cAAY,EAAE,KAN+B;AAO7CC,SAAO,EAAE,eAPoC;AAQ7CC,UAAQ,EAAE,KARmC;AAS7CC,YAAU,EAAE;AATiC,CAAxC;;;;;;;;;;;;;;;;;;;AC3MA,IAAMC,KAAb,mLASE,eAAY3L,IAAZ,EAAgC;AAAA;;AAC9BtY,QAAM,CAACkkB,MAAP,CAAc,IAAd,EAAoB5L,IAApB;AACD,CAXH;AAeO,IAAKgD,SAAZ;;AAAA,WAAYA,SAAZ,EAAqB;AACnBA;AACAA;AACAA;AACAA;AACD,CALD,EAAYA,SAAS,KAATA,SAAS,MAArB;;;;;;;;;;;;;;ACfO,IAAK3Y,IAAZ;;AAAA,WAAYA,IAAZ,EAAgB;AACdA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACAA;AACD,CAZD,EAAYA,IAAI,KAAJA,IAAI,MAAhB;;;;;;;;;;;;;;;;;;;;;;;ACCA;AACA;AACA;;;AAMO,IAAMwhB,YAAb;AAKE,wBAAoB9F,SAApB,EAA+C;AAAA;;AAA3B;AAHZ,mBAAU,IAAIpd,yCAAJ,EAAV;AACA,qBAAY,eAAZ;AAGP;;AANH;AAAA;AAAA,WAQE,gBAAO,GAAoB;AAAA,UAAnB4a,EAAmB,uEAAd,KAAKuI,SAAS;AACzB,aAAO,KAAKC,OAAL,CAAa1gB,YAAb,GAA4BjC,IAA5B,CAAiCoD,sDAAM,CAAC,WAAC;AAAA,eAAIyX,CAAC,IAAIA,CAAC,CAACV,EAAF,KAASA,EAAlB;AAAA,OAAF,CAAvC,CAAP;AACD;AAVH;AAAA;AAAA,WAYE,gBAAO,CAACyI,OAAD,EAAkBC,OAAlB,EAA+B;AACpCD,aAAO,GAAG,KAAKjG,SAAL,CAAemG,OAAf,CAAuBF,OAAvB,CAAV;AACA,WAAKvI,KAAL,CAAW,IAAIkI,8DAAJ,CAASjkB,gCAAKukB,OAAL,GAAY;AAAE7a,YAAI,EAAE4R,0EAAR;AAA2BgJ,eAAO,EAAPA;AAA3B,OAAZ,CAAT,CAAX;AACD;AAfH;AAAA;AAAA,WAiBE,cAAK,CAACA,OAAD,EAAkBC,OAAlB,EAA+B;AAClCD,aAAO,GAAG,KAAKjG,SAAL,CAAemG,OAAf,CAAuBF,OAAvB,CAAV;AACA,WAAKvI,KAAL,CAAW,IAAIkI,8DAAJ,CAASjkB,gCAAKukB,OAAL,GAAY;AAAE7a,YAAI,EAAE4R,wEAAR;AAAyBgJ,eAAO,EAAPA;AAAzB,OAAZ,CAAT,CAAX;AACD;AApBH;AAAA;AAAA,WAsBE,aAAI,CAACA,OAAD,EAAkBC,OAAlB,EAA+B;AACjCD,aAAO,GAAG,KAAKjG,SAAL,CAAemG,OAAf,CAAuBF,OAAvB,CAAV;AACA,WAAKvI,KAAL,CAAW,IAAIkI,8DAAJ,CAASjkB,gCAAKukB,OAAL,GAAY;AAAE7a,YAAI,EAAE4R,uEAAR;AAAwBgJ,eAAO,EAAPA;AAAxB,OAAZ,CAAT,CAAX;AACD;AAzBH;AAAA;AAAA,WA2BE,aAAI,CAACA,OAAD,EAAkBC,OAAlB,EAA+B;AACjCD,aAAO,GAAG,KAAKjG,SAAL,CAAemG,OAAf,CAAuBF,OAAvB,CAAV;AACA,WAAKvI,KAAL,CAAW,IAAIkI,8DAAJ,CAASjkB,gCAAKukB,OAAL,GAAY;AAAE7a,YAAI,EAAE4R,0EAAR;AAA2BgJ,eAAO,EAAPA;AAA3B,OAAZ,CAAT,CAAX;AACD;AA9BH;AAAA;AAAA,WAgCE,cAAK,CAACvI,MAAD,EAAa;AAChBA,YAAK,CAACF,EAAN,GAAWE,MAAK,CAACF,EAAN,IAAY,KAAKuI,SAA5B;AACA,WAAKC,OAAL,CAAangB,IAAb,CAAkB6X,MAAlB;AACD;AAnCH;AAAA;AAAA,WAqCE,cAAK,GAAoB;AAAA,UAAnBF,EAAmB,uEAAd,KAAKuI,SAAS;AACvB,WAAKC,OAAL,CAAangB,IAAb,CAAkB,IAAI+f,8DAAJ,CAAU;AAACpI,UAAE,EAAFA;AAAD,OAAV,CAAlB;AACD;AAvCH;AAAA;;;mBAAasI,cAAYxlB,sDAAAA,CAAAA,iEAAAA;AAAA;;;SAAZwlB;AAAYxf,WAAZwf,YAAY;AAAAvf,cAFX;;;;;;;;;;;;;;;;;;;;;;;;;ACNd;AAOA;;;;;;AAIA,IAAM6f,QAAQ,GAAG,WAAjB;AAKO,IAAMC,WAAb;AAIE,uBAAoB/J,IAApB,EACoBhD,mBADpB,EAEoBC,4BAFpB,EAGoB+M,aAHpB,EAGgD;AAAA;;AAH5B;AACA;AACA;AACA;AALpB,yBAAgB,IAAIvc,uDAAJ,EAAhB;AAMC;;AARH;AAAA;AAAA,WAUE,cAAK,CAACwc,SAAD,EAAsB;AACzB,aAAO,KAAKjK,IAAL,CAAUkK,IAAV,CAA2BJ,QAA3B,EAAqCG,SAArC,CAAP;AACD;AAZH;AAAA;AAAA,WAcE,eAAM;AACJ,WAAKjN,mBAAL,CAAyBmN,aAAzB;AACA,WAAKH,aAAL,CAAmBI,SAAnB;AACD;AAjBH;AAAA;AAAA,WAmBE,qBAAY,CAACC,KAAD,EAAgBpO,KAAhB,EAA+B;AACzC,WAAKe,mBAAL,CAAyBsN,QAAzB,CAAkCD,KAAlC;AACA,WAAKrN,mBAAL,CAAyBuN,QAAzB,CAAkCtO,KAAlC;AACD;AAtBH;AAAA;AAAA,WAwBE,mBAAU;AACR,aAAO,CAAC,CAAC,KAAKsI,QAAL,EAAT;AACD;AA1BH;AAAA;AAAA,WA4BE,iBAAQ;AACN,aAAO,KAAKvH,mBAAL,CAAyBuH,QAAzB,EAAP;AACD;AA9BH;AAAA;AAAA,WAgCE,oBAAW;;;AACT,UAAMiG,KAAK,GAAG,eAAI,IAAJ,aAAI,MAAJ,GAAI,MAAJ,QAAMC,WAAN,QAAmB,IAAnB,IAAmBC,aAAnB,GAAmB,MAAnB,GAAmBA,GAAEC,QAAnC;AACA,UAAIH,KAAK,IAAI,IAAb,EACE,OAAOA,KAAP;AACF,UAAMI,GAAG,GAAG,eAAI,IAAJ,aAAI,MAAJ,GAAI,MAAJ,QAAMH,WAAN,QAAmB,IAAnB,IAAmBI,aAAnB,GAAmB,MAAnB,GAAmBA,GAAED,GAAjC;AACA,UAAIA,GAAG,IAAI,IAAX,EACE,OAAOA,GAAP;AACF,aAAO,EAAP;AACD;AAxCH;AAAA;AAAA,WA0CE,iBAAQ;AACN,aAAO,KAAK5N,mBAAL,CAAyBmG,QAAzB,EAAP;AACD;AA5CH;AAAA;AAAA,WA8CE,qBAAY;AACV,UAAI,CAAC,KAAK9Z,UAAL,EAAL,EAAwB,OAAO,KAAP;AACxB,aAAO,KAAK8Z,QAAL,GAAgB1W,QAAhB,CAAyBzE,yEAAzB,CAAP;AACD;AAjDH;AAAA;AAAA,WAmDE,qBAAY;;;AACV,UAAI,CAAC,KAAKqB,UAAL,EAAL,EAAwB,OAAO,KAAP;AACxB,aAAO,EAAC,WAAK8Z,QAAL,QAAe,IAAf,IAAeuH,aAAf,GAAe,MAAf,GAAeA,GAAEje,QAAF,CAAWzE,yEAAX,CAAhB,KAA0D,KAAKmb,QAAL,GAAgB1W,QAAhB,CAAyBzE,+DAAzB,CAAjE;AACD;AAtDH;AAAA;AAAA,WAwDE,wBAAe;;;AACb,UAAI,CAAC,KAAKqB,UAAL,EAAL,EAAwB,OAAO,KAAP;AACxB,aAAO,YAAK8Z,QAAL,QAAe,IAAf,IAAeuH,aAAf,GAAe,MAAf,GAAeA,GAAEje,QAAF,CAAWzE,yEAAX,CAAf,KAAyD,KAAKmb,QAAL,GAAgB1W,QAAhB,CAAyBzE,+DAAzB,CAAhE;AACD;AA3DH;AAAA;AAAA,WA6DE,wBAAe;AACb,UAAI,CAAC,KAAKqB,UAAL,EAAL,EAAwB,OAAO,KAAP;AACxB,aAAO,KAAK8Z,QAAL,GAAgB1W,QAAhB,CAAyBzE,mEAAzB,CAAP;AACD;AAhEH;AAAA;AAAA,WAkEE,mBAAU;AACR,UAAI,CAAC,KAAKqB,UAAL,EAAL,EAAwB,OAAO,KAAP;AACxB,aAAO,KAAK8Z,QAAL,GAAgB1W,QAAhB,CAAyBzE,qEAAzB,CAAP;AACD;AArEH;AAAA;AAAA,WAuEE,6BAAoB;AAClB,aAAO,KAAKqB,UAAL,OAAsB,KAAKyhB,eAAL,MAA0B,KAAKC,UAAL,EAA1B,IAA+C,KAAKC,eAAL,EAArE,CAAP;AACD;AAzEH;AAAA;AAAA,WA2EE,sBAAa;AACX,aAAO,KAAK3hB,UAAL,OACJ,KAAK8Z,QAAL,GAAgB1W,QAAhB,CAAyBzE,oEAAzB,KAAmD,KAAKmb,QAAL,GAAgB1W,QAAhB,CAAyBzE,4EAAzB,CAD/C,CAAP;AAED;AA9EH;AAAA;AAAA,WAgFE,mBAAU;AAAA;;AACR,UAAI,CAAC,KAAKqB,UAAL,EAAD,IAAsB,CAAC,KAAK8Z,QAAL,EAA3B,EAA4C,OAAO,KAAP;AAC5C,UAAIE,OAAO,GAAG,KAAd;AACA,WAAKpG,4BAAL,CAAkCgO,gBAAlC,GAAqD7P,OAArD,CAA6D,cAAI,EAAG;AAClE,YAAI,KAAI,CAAC+H,QAAL,GAAgB1W,QAAhB,CAAyBuc,IAAzB,CAAJ,EAAoC3F,OAAO,GAAG,IAAV;AACrC,OAFD;AAGA,aAAOA,OAAP;AACD;AAvFH;AAAA;AAAA,WAyFE,mBAAU;AAAA;;AACR,UAAI,CAAC,KAAKha,UAAL,EAAL,EAAwB,OAAO,KAAP;AACxB,UAAIga,OAAO,GAAG,KAAd;AACA,WAAKpG,4BAAL,CAAkCiO,gBAAlC,GAAqD9P,OAArD,CAA6D,cAAI,EAAG;AAClE,YAAI,MAAI,CAAC+H,QAAL,GAAgB1W,QAAhB,CAAyBuc,IAAzB,CAAJ,EAAoC3F,OAAO,GAAG,IAAV;AACrC,OAFD;AAGA,aAAOA,OAAP;AACD;AAhGH;AAAA;AAAA,WAkGE,2BAAkB,CAAC2F,IAAD,EAAa;AAC7B,UAAI,KAAKhM,mBAAL,CAAyBmG,QAAzB,EAAJ,EAAyC;AACvC,eAAO,KAAKA,QAAL,GAAgB1W,QAAhB,CAAyBzE,mDAAI,CAACghB,IAAD,CAA7B,CAAP;AACD;;AACD,aAAO,IAAP;AACD;AAvGH;AAAA;AAAA,WAyGE,oBAAW;AACT,UAAI,KAAKzE,QAAL,MAAmB,IAAvB,EAA6B,OAAO,IAAP;AAC7B,UAAM4G,OAAO,GAAG,KAAK5G,QAAL,GAAgBxN,KAAhB,CAAsB,GAAtB,EAA2B,CAA3B,CAAhB;AACA,UAAMqU,gBAAgB,GAAGD,OAAO,GAAGA,OAAO,CAAC3S,OAAR,CAAgB,GAAhB,EAAqB,GAArB,EAA0BA,OAA1B,CAAkC,GAAlC,EAAuC,GAAvC,CAAH,GAAiD,IAAjF;AACA,UAAM6S,kBAAkB,GAAGC,IAAI,CAACF,gBAAD,CAA/B;AACA,aAAOrS,IAAI,CAACC,KAAL,CAAWqS,kBAAX,CAAP;AACD;AA/GH;AAAA;AAAA,WAiHS,6BAAoB,CAACE,qBAAD,EAA2C;AACpE,aAAO,KAAKvL,IAAL,CAAUkK,IAAV,CAAqBJ,QAAQ,GAAG,iBAAhC,EAAmDyB,qBAAnD,CAAP;AACD;AAnHH;AAAA;AAAA,WAqHS,sBAAa,CAACC,QAAD,EAA0BC,QAA1B,EAA0C;AAC5D,aAAO,KAAKzL,IAAL,CAAUkK,IAAV,CAAqBJ,QAAQ,GAAG,kBAAX,GAAgC2B,QAArD,EAA+DD,QAA/D,CAAP;AACD;AAvHH;AAAA;AAAA,WAyHE,4BAAmB;AACjB,WAAKE,aAAL,CAAmB9c,IAAnB;AACD;AA3HH;AAAA;AAAA,WA6HE,2BAAkB;AAChB,UAAI,CAAC,KAAKvF,UAAL,EAAD,IAAsB,KAAK8Z,QAAL,GAAgB1W,QAAhB,CAAyBzE,oEAAzB,CAAtB,IAAyE,KAAKmb,QAAL,GAAgB1W,QAAhB,CAAyBzE,qEAAzB,CAAzE,IACC,KAAKmb,QAAL,GAAgB1W,QAAhB,CAAyBzE,yEAAzB,CADD,IACyD,KAAKmb,QAAL,GAAgB1W,QAAhB,CAAyBzE,+DAAzB,CAD7D,EAEE,OAAO,KAAP;AACF,aAAO,KAAKmb,QAAL,GAAgB1W,QAAhB,CAAyBzE,4EAAzB,CAAP;AACD;AAlIH;AAAA;AAAA,WAoIE,uBAAc;AACZ,UAAI,CAAC,KAAKqB,UAAL,EAAL,EACE,OAAO,KAAP;AACF,aAAO,KAAK8Z,QAAL,GAAgB1W,QAAhB,CAAyBzE,4EAAzB,CAAP;AACD;AAxIH;AAAA;AAAA,WA0IE,qBAAY,CAAC2jB,SAAD,EAAgB;AAC1B,WAAK3O,mBAAL,CAAyB4O,YAAzB,CAAsCD,SAAtC;AACD;AA5IH;AAAA;AAAA,WA8IE,qBAAY;AACV,aAAO,KAAK3O,mBAAL,CAAyB6O,YAAzB,EAAP;AACD;AAhJH;AAAA;;;mBAAa9B,aAAW/lB,sDAAAA,CAAAA,4DAAAA,GAAAA,sDAAAA,CAAAA,uEAAAA,GAAAA,sDAAAA,CAAAA,yFAAAA,GAAAA,sDAAAA,CAAAA,6DAAAA;AAAA;;;SAAX+lB;AAAW/f,WAAX+f,WAAW;AAAA9f,cAFV;;;;;;;;;;;;;;;;;;;;;;;ACNP,IAAM6hB,sBAAb;AAIE,kCAAoB9L,IAApB,EAAoC;AAAA;;AAAhB;AAFZ,sBAAa,wBAAb;AAGP;;AALH;AAAA;AAAA,WAOE,qCAA4B;AAC1B,aAAO,KAAKA,IAAL,CAAU3L,GAAV,CAA+B,KAAK0X,UAAL,GAAkB,UAAjD,CAAP;AACD;AATH;AAAA;AAAA,WAWE,kCAAyB,CAACC,QAAD,EAA6B;AACpD,aAAO,KAAKhM,IAAL,CAAU3L,GAAV,CAA+B,KAAK0X,UAAL,GAAkB,GAAlB,GAAwBC,QAAvD,CAAP;AACD;AAbH;AAAA;AAAA,WAeE,oCAA2B;AACzB,aAAO,KAAKhM,IAAL,CAAU3L,GAAV,CAA+B,KAAK0X,UAAL,GAAkB,SAAjD,CAAP;AACD;AAjBH;AAAA;AAAA,WAmBE,kCAAyB,CAACE,gBAAD,EAA0B;AACjD,aAAO,KAAKjM,IAAL,CAAU3L,GAAV,CAA+B,KAAK0X,UAAL,GAAkB,yBAAlB,GAA8CE,gBAA7E,CAAP;AACD;AArBH;AAAA;AAAA,WAuBE,4CAAmC;AACjC,aAAO,KAAKjM,IAAL,CAAU3L,GAAV,CAAwB,KAAK0X,UAAL,GAAkB,uBAA1C,CAAP;AACD;AAzBH;AAAA;AAAA,WA2BE,4CAAmC;AACjC,aAAO,KAAK/L,IAAL,CAAU3L,GAAV,CAA+B,KAAK0X,UAAL,GAAkB,kBAAjD,CAAP;AACD;AA7BH;AAAA;;;mBAAaD,wBAAsB9nB,sDAAAA,CAAAA,4DAAAA;AAAA;;;SAAtB8nB;AAAsB9hB,WAAtB8hB,sBAAsB;AAAA7hB,cAFrB;;;;;;;;;;;;;;;;;;;;;;;ACCd;;;;AAKO,IAAMiiB,mBAAb;AAII,+BAAoBC,sBAApB,EACoBC,uBADpB,EACoE;AAAA;;AADhD;AACA;AAHpB,4BAA4D,IAAIrkB,iDAAJ,CAA4C,IAA5C,CAA5D;AAkBQ,0BAA+B;AACnCskB,gBAAU,EAAE;AAACC,iBAAS,EAAE,IAAIpH,IAAJ,CAAS,EAAT,CAAZ;AAA0BqH,eAAO,EAAE,IAAIrH,IAAJ,CAAS,EAAT,CAAnC;AAAiDsH,4BAAoB,EAAE;AAAvE,OADuB;AAEnCC,aAAO,EAAE;AAACvd,YAAI,EAAE,aAAP;AAAsBwd,eAAO,EAAE,EAA/B;AAAmCC,0BAAkB,EAAE;AAAvD,OAF0B;AAGnCC,gBAAU,EAAE;AAHuB,KAA/B;AAMA,8BAAyC;AAC7CP,gBAAU,EAAE;AAACC,iBAAS,EAAE,IAAIpH,IAAJ,CAAS,EAAT,CAAZ;AAA0BqH,eAAO,EAAE,IAAIrH,IAAJ,CAAS,EAAT,CAAnC;AAAiDsH,4BAAoB,EAAE;AAAvE,OADiC;AAE7CK,uBAAiB,EAAE;AAF0B,KAAzC;AApBP;;AANL;AAAA;AAAA,WAQI,mBAAU;AACN,WAAKC,kBAAL;AACH;AAVL;AAAA;AAAA,WAYI,2BAAkB;AAAA;;AACd,WAAKX,sBAAL,CAA4BY,4BAA5B,GAA2D/lB,SAA3D,CAAqE,UAACgmB,eAAD,EAAoB;AACrF,aAAI,CAACC,cAAL,CAAoBZ,UAApB,GAAiCW,eAAe,CAACE,iBAAjD;AACA,aAAI,CAACC,kBAAL,CAAwBd,UAAxB,GAAqCW,eAAe,CAACE,iBAArD;;AACA,aAAI,CAACE,gBAAL,CAAsB7jB,IAAtB,CAA2ByjB,eAA3B;AACD,OAJH;AAKH;AAlBL;AAAA;AAAA,WA+BI,sBAAa,CAAC7iB,MAAD,EAAqB;AAC9B,WAAK8iB,cAAL,GAAsB9iB,MAAtB;AACA,WAAKkjB,mBAAL;AACH;AAlCL;AAAA;AAAA,WAoCI,iCAAwB,CAACljB,MAAD,EAA2B;AAC/C,WAAKgjB,kBAAL,GAA0BhjB,MAA1B;AACH;AAtCL;AAAA;AAAA,WAwCI,kBAAS;AACL,aAAO,KAAK8iB,cAAZ;AACH;AA1CL;AAAA;AAAA,WA4CI,6BAAoB;AAChB,aAAO,KAAKE,kBAAZ;AACH;AA9CL;AAAA;AAAA,WAgDI,0BAAiB;AACf,WAAKF,cAAL,GAAsB;AACpBK,gBAAQ,EAAE,IAAIpI,IAAJ,CAAS,EAAT,CADU;AAEpBqI,cAAM,EAAE,IAAIrI,IAAJ,CAAS,EAAT,CAFY;AAGpBmH,kBAAU,EAAE;AAACC,mBAAS,EAAE,IAAIpH,IAAJ,CAAS,EAAT,CAAZ;AAA0BqH,iBAAO,EAAE,IAAIrH,IAAJ,CAAS,EAAT,CAAnC;AAAiDsH,8BAAoB,EAAE;AAAvE,SAHQ;AAIpBC,eAAO,EAAE;AAACvd,cAAI,EAAE,aAAP;AAAsBwd,iBAAO,EAAE,EAA/B;AAAmCC,4BAAkB,EAAE;AAAvD,SAJW;AAKpBa,cAAM,EAAE;AAACte,cAAI,EAAE,OAAP;AAAgBwd,iBAAO,EAAE,iBAAzB;AAA4CC,4BAAkB,EAAE;AAAhE,SALY;AAMpBc,wBAAgB,EAAE,aANE;AAOpBb,kBAAU,EAAE;AAPQ,OAAtB;AASD;AA1DL;AAAA;AAAA,WA4DI,+BAAsB;AACpB,WAAKO,kBAAL,GAA0B;AACxBG,gBAAQ,EAAE,IAAIpI,IAAJ,CAAS,EAAT,CADc;AAExBqI,cAAM,EAAE,IAAIrI,IAAJ,CAAS,EAAT,CAFgB;AAGxBmH,kBAAU,EAAE;AAACC,mBAAS,EAAE,IAAIpH,IAAJ,CAAS,EAAT,CAAZ;AAA0BqH,iBAAO,EAAE,IAAIrH,IAAJ,CAAS,EAAT,CAAnC;AAAiDsH,8BAAoB,EAAE;AAAvE,SAHY;AAIxBK,yBAAiB,EAAE;AAJK,OAA1B;AAMD;AAnEL;AAAA;AAAA,WAqEI,4BAAmB;AACjB,UAAI,KAAKI,cAAL,CAAoBR,OAApB,IAA+B,KAAKQ,cAAL,CAAoBR,OAApB,CAA4BC,OAA5B,KAAwC,EAA3E,EAA+E;AAC7E,aAAKO,cAAL,CAAoBQ,gBAApB,GAAuC,KAAKR,cAAL,CAAoBR,OAApB,CAA4BC,OAA5B,GAAsC,GAAtC,GAA4C,KAAKO,cAAL,CAAoBO,MAApB,CAA2Bd,OAA9G;AACD,OAFD,MAEO,IAAI,KAAKO,cAAL,CAAoBO,MAApB,IAA8B,KAAKP,cAAL,CAAoBO,MAApB,CAA2Bd,OAA3B,KAAuC,EAAzE,EAA6E;AAClF,aAAKO,cAAL,CAAoBQ,gBAApB,GAAuC,KAAKR,cAAL,CAAoBO,MAApB,CAA2Bd,OAAlE;AACD;AACF;AA3EL;AAAA;AAAA,WA6EI,8BAAqB;AAAA;;AACnB,WAAKN,uBAAL,CAA6BsB,oBAA7B,GAAoD1mB,SAApD,CAA8D,aAAG,EAAG;AAClE,YAAI6W,GAAJ,EAAS;AACP,gBAAI,CAACoP,cAAL,CAAoBL,UAApB,GAAiC/O,GAAG,CAAC8P,aAArC;;AACA,gBAAI,CAACC,UAAL,CAAgB/P,GAAG,CAAC2P,MAApB;;AACA,gBAAI,CAACP,cAAL,CAAoB9F,KAApB,GAA4BtJ,GAAG,CAACsJ,KAAhC;AACA,gBAAI,CAAC8F,cAAL,CAAoBY,QAApB,GAA+BhQ,GAAG,CAACgQ,QAAnC;AACA,gBAAI,CAACZ,cAAL,CAAoBZ,UAApB,GAAiC;AAACC,qBAAS,EAAEzO,GAAG,CAACyP,QAAhB;AAA0Bf,mBAAO,EAAG1O,GAAG,CAAC0P,MAAxC;AAAgDf,gCAAoB,EAAE;AAAtE,WAAjC;AAEA,gBAAI,CAACS,cAAL,CAAoBa,cAApB,GAAqCjQ,GAAG,CAACiQ,cAAzC;AACA,gBAAI,CAACb,cAAL,CAAoBc,yBAApB,GAAgDlQ,GAAG,CAACkQ,yBAApD;AACA,gBAAI,CAACd,cAAL,CAAoBe,IAApB,GAA2BnQ,GAAG,CAACmQ,IAA/B;AACA,gBAAI,CAACf,cAAL,CAAoBgB,SAApB,GAAgCpQ,GAAG,CAACoQ,SAApC;AAEA,gBAAI,CAAChB,cAAL,CAAoBiB,WAApB,GAAkCrQ,GAAG,CAACsQ,kBAAtC;AACA,gBAAI,CAAClB,cAAL,CAAoBmB,oBAApB,GAA2CvQ,GAAG,CAACuQ,oBAA/C;AACA,gBAAI,CAACnB,cAAL,CAAoBoB,aAApB,GAAoCxQ,GAAG,CAACwQ,aAAxC;AACA,gBAAI,CAACpB,cAAL,CAAoBqB,cAApB,GAAqCzQ,GAAG,CAACyQ,cAAzC;AACD;AACF,OAlBD;AAmBD;AAjGL;AAAA;AAAA,WAmGI,mBAAU,CAACd,MAAD,EAAe;AACvB,UAAI,CAACA,MAAD,IAAWA,MAAM,KAAK,EAAtB,IAA4BA,MAAM,KAAK,MAA3C,EAAmD;AACjD,aAAKP,cAAL,CAAoBO,MAApB,GAA6B;AAACte,cAAI,EAAE,MAAP;AAAewd,iBAAO,EAAE,iBAAxB;AAA2CC,4BAAkB,EAAE;AAA/D,SAA7B;AACD,OAFD,MAEO,IAAIa,MAAM,KAAK,QAAf,EAAyB;AAC9B,aAAKP,cAAL,CAAoBO,MAApB,GAA6B;AAACte,cAAI,EAAE,QAAP;AAAiBwd,iBAAO,EAAE,sBAA1B;AAAkDC,4BAAkB,EAAE;AAAtE,SAA7B;AACD,OAFM,MAEA;AACL,aAAKM,cAAL,CAAoBO,MAApB,GAA6B;AAACte,cAAI,EAAE,OAAP;AAAgBwd,iBAAO,EAAE,iBAAzB;AAA4CC,4BAAkB,EAAE;AAAhE,SAA7B;AACD;AACF;AA3GL;AAAA;AAAA,WA6GI,8BAAqB;AACnB,UAAI4B,iBAAiB,GAAG;AACtBZ,qBAAa,EAAE,KAAKV,cAAL,CAAoBL,UADb;AAEtBY,cAAM,EAAE,KAAKP,cAAL,CAAoBO,MAApB,CAA2Bte,IAFb;AAGtBiY,aAAK,EAAE,KAAK8F,cAAL,CAAoB9F,KAHL;AAItB0G,gBAAQ,EAAE,KAAKZ,cAAL,CAAoBY,QAJR;AAKtBP,gBAAQ,EAAE,KAAKL,cAAL,CAAoBK,QALR;AAMtBC,cAAM,EAAE,KAAKN,cAAL,CAAoBM,MANN;AAOtBO,sBAAc,EAAE,KAAKb,cAAL,CAAoBa,cAPd;AAQtBC,iCAAyB,EAAE,KAAKd,cAAL,CAAoBc,yBARzB;AAStBC,YAAI,EAAE,KAAKf,cAAL,CAAoBe,IATJ;AAUtBC,iBAAS,EAAE,KAAKhB,cAAL,CAAoBgB,SAVT;AAWtBE,0BAAkB,EAAE,KAAKlB,cAAL,CAAoBiB,WAXlB;AAYtBE,4BAAoB,EAAE,KAAKnB,cAAL,CAAoBmB,oBAZpB;AAatBC,qBAAa,EAAE,KAAKpB,cAAL,CAAoBoB,aAbb;AActBC,sBAAc,EAAE,KAAKrB,cAAL,CAAoBqB;AAdd,OAAxB;AAiBA,WAAKlC,uBAAL,CAA6BoC,qBAA7B,CAAmDD,iBAAnD,EAAsEvnB,SAAtE;AACD;AAhIL;AAAA;;;mBAAaklB,qBAAmBloB,sDAAAA,CAAAA,6EAAAA,GAAAA,sDAAAA,CAAAA,iFAAAA;AAAA;;;SAAnBkoB;AAAmBliB,WAAnBkiB,mBAAmB;AAAAjiB,cAFhB;;;;;;;;;;;;;;;;;;;;;;;;;ACJT,IAAMwkB,qBAAb;AAEE,iCAAoB7lB,WAApB,EACoB8lB,mBADpB,EAC4D;AAAA;;AADxC;AACA;AACnB;;AAJH;AAAA;AAAA,WAME,mBAAU;AACN,WAAKA,mBAAL,CAAyBhR,UAAzB;;AACA,UAAI,KAAK9U,WAAL,CAAiBS,UAAjB,EAAJ,EAAmC;AACjC,aAAKslB,mBAAL;AACD;AACJ;AAXH;AAAA;AAAA,WAaE,4BAAmB;AACf,WAAKD,mBAAL,CAAyBE,qBAAzB;AACH;AAfH;AAAA;;;mBAAaH,uBAAqBzqB,sDAAAA,CAAAA,sDAAAA,GAAAA,sDAAAA,CAAAA,uEAAAA;AAAA;;;SAArByqB;AAAqBzkB,WAArBykB,qBAAqB;AAAAxkB,cAFpB;;;;;;;;;;;;;;;;;;;;;ACJd;;AAEA,IAAM4kB,KAAK,GAAG,OAAd;AACA,IAAMC,KAAK,GAAG,OAAd;AACA,IAAMC,QAAQ,GAAG,UAAjB;AACA,IAAMC,UAAU,GAAG,WAAnB;AAMO,IAAMC,mBAAb;AAIE;AAAA;;AAFO,wBAAkC,IAAI3oB,yCAAJ,EAAlC;AAGN;;AALH;AAAA;AAAA,WAOE,oBAAW;AACT2S,kBAAY,CAACE,UAAb,CAAwB,QAAxB;AACD;AATH;AAAA;AAAA,WAWE,cAAK;AACHF,kBAAY,CAACuI,KAAb;AACD;AAbH;AAAA;AAAA,WAeE,sBAAa;AACXvI,kBAAY,CAACE,UAAb,CAAwB2V,KAAxB;AACA7V,kBAAY,CAACE,UAAb,CAAwB0V,KAAxB;AACD;AAlBH;AAAA;AAAA,WAoBE,iBAAQ;AACN,aAAO5V,YAAY,CAACC,OAAb,CAAqB2V,KAArB,CAAP;AACD;AAtBH;AAAA;AAAA,WAwBE,iBAAQ;AACN,aAAO,KAAKxa,GAAL,CAASya,KAAT,CAAP;AACD;AA1BH;AAAA;AAAA,WA4BE,iBAAQ,CAACzE,KAAD,EAAc;AACpBpR,kBAAY,CAACS,OAAb,CAAqBmV,KAArB,EAA4BxE,KAA5B;AACD;AA9BH;AAAA;AAAA,WAgCE,iBAAQ,CAACpO,KAAD,EAAgB;AACtBhD,kBAAY,CAACS,OAAb,CAAqBoV,KAArB,EAA4B/V,IAAI,CAACY,SAAL,CAAesC,KAAf,CAA5B;AACA,WAAKiT,mBAAL;AACD;AAnCH;AAAA;AAAA,WAqCE,qBAAY,CAACvD,SAAD,EAAgB;AAC1B,UAAIA,SAAJ,EAAe;AACb1S,oBAAY,CAACS,OAAb,CAAqBsV,UAArB,EAAiCjW,IAAI,CAACY,SAAL,CAAegS,SAAf,CAAjC;AACD,OAFD,MAEO;AACL1S,oBAAY,CAACE,UAAb,CAAwB6V,UAAxB;AACD;AACF;AA3CH;AAAA;AAAA,WA6CE,oBAAW,CAACG,UAAD,EAAW;AACpBlW,kBAAY,CAACS,OAAb,CAAqBqV,QAArB,EAA+BI,UAA/B;AACD;AA/CH;AAAA;AAAA,WAiDE,oBAAW;AACT,aAAOlW,YAAY,CAACC,OAAb,CAAqB6V,QAArB,CAAP;AACD;AAnDH;AAAA;AAAA,WAqDE,qBAAY;AACV,UAAMK,iBAAiB,GAAGnW,YAAY,CAACC,OAAb,CAAqB8V,UAArB,CAA1B;;AACA,UAAII,iBAAJ,EAAuB;AACrB,eAAOrW,IAAI,CAACC,KAAL,CAAWoW,iBAAX,CAAP;AACD;;AACD,aAAO,IAAP;AACD;AA3DH;AAAA;AAAA,WA6DU,YAAG,CAACne,GAAD,EAAY;AACrB,aAAO8H,IAAI,CAACC,KAAL,CAAWC,YAAY,CAACC,OAAb,CAAqBjI,GAArB,CAAX,CAAP;AACD;AA/DH;AAAA;AAAA,WAiEU,4BAAmB;AACzB,WAAKoe,YAAL,CAAkB9lB,IAAlB;AACD;AAnEH;AAAA;;;mBAAa0lB;AAAmB;;;SAAnBA;AAAmBjlB,WAAnBilB,mBAAmB;AAAAhlB,cAFlB;;;;;;;;;;;;;;;;;;;;;;;;;ACHP,IAAMqlB,mBAAb;AAeE,+BAAoBrU,iBAApB,EACoBsU,oBADpB,EAC6D;AAAA;;AADzC;AACA;AAbZ,2BAAkB,CACxB;AACE,eAAS,SADX;AAEE,YAAM;AAFR,KADwB,EAKxB;AACE,eAAS,OADX;AAEE,YAAM;AAFR,KALwB,CAAlB;AAUD,oCAA2B,KAA3B;AAIN;;AAjBH;AAAA;AAAA,WAmBE,oBAAW,CAAC/H,QAAD,EAAU;AACnB,UAAIA,QAAQ,KAAK,KAAK+H,oBAAL,CAA0B/R,WAA1B,EAAb,IAAwD,CAACgK,QAA7D,EAAuE;AACrE;AACD;;AACDA,cAAQ,GAAG,KAAKgI,eAAL,CAAqBhI,QAArB,CAAX;;AACA,UAAI,CAACA,QAAL,EAAe;AACb;AACD;;AACD,WAAKvM,iBAAL,CAAuBsC,GAAvB,CAA2BiK,QAAQ,CAACtG,EAApC;;AACA,WAAKqO,oBAAL,CAA0BzR,WAA1B,CAAsC0J,QAAQ,CAACtG,EAA/C;;AACA,UAAI,KAAKuG,gBAAT,EAA2B;AACzB,aAAKA,gBAAL,GAAwBD,QAAxB;AACA/b,cAAM,CAACoX,QAAP,CAAgB4M,MAAhB;AACD,OAHD,MAGO;AACL,aAAKhI,gBAAL,GAAwBD,QAAxB;AACD;AACF;AAnCH;AAAA;AAAA,WAqCU,wBAAe,CAACtG,EAAD,EAAW;AAChC,aAAO,KAAK+F,eAAL,CAAqB9c,MAArB,CAA4B,cAAI;AAAA,eAAIoR,IAAI,CAAC2F,EAAL,KAAYA,EAAhB;AAAA,OAAhC,EAAoD,CAApD,CAAP;AACD;AAvCH;AAAA;AAAA,WAyCE,4BAAmB;AAAA;;AACjB,aAAO,KAAK+F,eAAL,CAAqB9c,MAArB,CAA4B,cAAI;AAAA,eAAIoR,IAAI,CAAC2F,EAAL,KAAY,KAAI,CAACqO,oBAAL,CAA0B/R,WAA1B,EAAhB;AAAA,OAAhC,EAAyF,CAAzF,CAAP;AACD;AA3CH;AAAA;AAAA,WA6CE,2BAAkB;AAChB,aAAO,KAAKyJ,eAAZ;AACD;AA/CH;AAAA;;;mBAAaqI,qBAAmBtrB,sDAAAA,CAAAA,iEAAAA,GAAAA,sDAAAA,CAAAA,uEAAAA;AAAA;;;SAAnBsrB;AAAmBtlB,WAAnBslB,mBAAmB;AAAArlB,cAFlB;;;;;;;;;;;;;;;;;;;;;;;ACFd;AACA;;;AAKO,IAAMylB,4BAAb;AAcE,wCAAoB1P,IAApB,EAAoC;AAAA;;AAAhB;AAZZ,sCAA6B,6BAA7B;AAQA,uBAAsB,MAAtB;AAER,gCAAuB,IAAIjY,iDAAJ,CAA6B,KAA7B,CAAvB;AAGC;;AAfH;AAAA;AAAA,WAiBE,iCAAwB;AAAA;;AACtB,WAAKiY,IAAL,CAAU3L,GAAV,CAAmC,KAAKsb,0BAAxC,EAAoE3oB,SAApE,CAA8E,gBAAM,EAAG;AACrF,aAAI,CAAC4oB,WAAL,GAAmBrlB,MAAM,CAACqlB,WAA1B;AACA,aAAI,CAACC,WAAL,GAAmBtlB,MAAM,CAACslB,WAA1B;AACA,aAAI,CAACC,WAAL,GAAmBvlB,MAAM,CAACulB,WAA1B;AACA,aAAI,CAACC,WAAL,GAAmBxlB,MAAM,CAACwlB,WAA1B;;AAEA,aAAI,CAACC,oBAAL,CAA0BzmB,IAA1B,CAA+B,IAA/B;AACD,OAPD;AAQD;AA1BH;AAAA;AAAA,WA4BE,wCAA+B;AAC7B,aAAO,KAAKyW,IAAL,CAAU3L,GAAV,CAAmC,KAAKsb,0BAAxC,CAAP;AACD;AA9BH;AAAA;AAAA,WAgCE,uBAAc;AACZ,aAAO,KAAKC,WAAZ;AACD;AAlCH;AAAA;AAAA,WAoCE,uBAAc;AACZ,aAAO,KAAKC,WAAZ;AACD;AAtCH;AAAA;AAAA,WAwCE,uBAAc;AACZ,aAAO,KAAKC,WAAZ;AACD;AA1CH;AAAA;AAAA,WA4CE,uBAAc;AACZ,aAAO,KAAKC,WAAZ;AACD;AA9CH;AAAA;AAAA,WAgDE,2BAAkB;AAChB,aAAO,CAAC,uBAAD,EAA0B,uBAA1B,EAAmD,uBAAnD,EACL,yEADK,EACsE,wEADtE,EACgJ,8DADhJ,EAEL,0EAFK,EAEuE,yEAFvE,EAEkJ,uDAFlJ,EAGL,gFAHK,EAG6E,+EAH7E,EAIL,uCAJK,EAIoC,6BAJpC,EAImE,sCAJnE,EAKL,wCALK,EAKqC,8BALrC,EAKqE,uCALrE,EAML,yBANK,EAMsB,kCANtB,EAM0D,mCAN1D,CAAP;AAOD;AAxDH;AAAA;AAAA,WA0DE,yBAAgB;AACd,aAAO,CAAC/nB,yEAAD,EAA6BA,oEAA7B,EAAoDA,qEAApD,EAA4EA,qEAA5E,EACCA,4EADD,EACgCA,qEADhC,EACwDA,oEADxD,EAC+EA,kEAD/E,EACoGA,+DADpG,CAAP;AAED;AA7DH;AAAA;AAAA,WA+DE,yBAAgB;AACd,aAAO,CAACA,mEAAD,EAAuBA,oEAAvB,CAAP;AACD;AAjEH;AAAA;;;mBAAa0nB,8BAA4B1rB,sDAAAA,CAAAA,4DAAAA;AAAA;;;SAA5B0rB;AAA4B1lB,WAA5B0lB,4BAA4B;AAAAzlB,cAF3B;;;;;;;;;;;;;;;;;;;;;;;ACLd;AAGA;;;AAKO,IAAM6V,cAAb;AAIE,0BAAoBE,IAApB,EAAoC;AAAA;;AAAhB;AAFb,0BAA0C,IAAIjY,iDAAJ,CAA4BgK,SAA5B,CAA1C;AAGN;;AALH;AAAA;AAAA,WAOS,uBAAc;AAAA;;AACnB,aAAO,KAAKiO,IAAL,CAAU3L,GAAV,CAA+B,oBAA/B,EACJtN,IADI,CAEHupB,mDAAG,CAAC,qBAAW;AAAA,eACb,KAAI,CAACC,cAAL,CAAoBhnB,IAApB,CAAyBinB,WAAW,CAACC,QAArC,CADa;AAAA,OAAZ,CAFA,CAAP;AAMD;AAdH;AAAA;AAAA,WAgBS,8BAAqB,CAACC,eAAD,EAAiC;AAC3D,aAAO,KAAK1Q,IAAL,CAAUkK,IAAV,CAAoB,yBAApB,EAA+CwG,eAA/C,CAAP;AACD;AAlBH;AAAA;AAAA,WAoBS,6BAAoB,CAACC,iBAAD,EAAuC;AAChE,aAAO,KAAK3Q,IAAL,CAAUkK,IAAV,CAAoB,4BAApB,EAAkDyG,iBAAlD,CAAP;AACD;AAtBH;AAAA;;;mBAAa7Q,gBAAc9b,sDAAAA,CAAAA,4DAAAA;AAAA;;;SAAd8b;AAAc9V,WAAd8V,cAAc;AAAA7V,cAFb;;;;;;;;;;;;;;;;;;;;;;;ACHd,IAAM6f,QAAQ,GAAG,yBAAjB;AAKO,IAAM8G,uBAAb;AACE,mCAAoB5Q,IAApB,EAAoC;AAAA;;AAAhB;AACnB;;AAFH;AAAA;AAAA,WAIE,6BAAoB;AAClB,aAAO,KAAKA,IAAL,CAAU3L,GAAV,CAAiCyV,QAAjC,CAAP;AACD;AANH;AAAA;AAAA,WAQE,8BAAqB,CAACyE,iBAAD,EAAqC;AACxD,aAAO,KAAKvO,IAAL,CAAUkK,IAAV,CAAkCJ,QAAlC,EAA4CyE,iBAA5C,CAAP;AACD;AAVH;AAAA;AAAA,WAYE,+BAAsB,CAACsC,MAAD,EAAe;AACnC,aAAO,KAAK7Q,IAAL,CAAU3L,GAAV,CAAiCyV,QAAQ,cAAO+G,MAAP,CAAzC,CAAP;AACD;AAdH;AAAA;;;mBAAaD,yBAAuB5sB,sDAAAA,CAAAA,4DAAAA;AAAA;;;SAAvB4sB;AAAuB5mB,WAAvB4mB,uBAAuB;AAAA3mB,cAFtB;;;;;;;;;;;;;;;;;;;ACNP,IAAMka,oBAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,WAES,SAAOG,UAAP,CAAkBX,OAAlB,EAA6C0G,KAA7C,EAA0D;AAC/D1G,aAAO,GAAGQ,oBAAoB,CAAC2M,sBAArB,CAA4CnN,OAA5C,EAAqD0G,KAArD,CAAV;AACA,aAAO1G,OAAP;AACD;AALH;AAAA;AAAA,WAOU,SAAOmN,sBAAP,CAA8BnN,OAA9B,EAAyD0G,KAAzD,EAAsE;AAC5E1G,aAAO,GAAGA,OAAO,CAACoN,KAAR,CAAc;AACtBzM,kBAAU,EAAE;AACV0M,uBAAa,mBAAY3G,KAAZ;AADH;AADU,OAAd,CAAV;AAKA,aAAO1G,OAAP;AACD;AAdH;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;;;;;;;AAWO,IAAMsN,cAAb;AAOE;;;;;;;AAOA,0BAAoB3mB,kBAApB,EACoB1B,WADpB,EAEoBkY,MAFpB,EAEkC;AAAA;;AAFd;AACA;AACA;AAdpB,sBAAa,KAAb;AAgBE,SAAKzX,UAAL,GAAkBT,WAAW,CAACS,UAAZ,EAAlB;AACA,SAAK1C,eAAL,GAAuB,IAAIL,yCAAJ,EAAvB,CAHgC,CAKhC;;AACA,SAAKgE,kBAAL,CAAwBC,MAAxB,GAAiC;AAC/BrD,YAAM,EAAE;AACNwM,cAAM,EAAE;AACND,gBAAM,EAAE;AADF,SADF;AAINK,cAAM,EAAE;AACNL,gBAAM,EAAE;AADF,SAJF;AAON7M,YAAI,EAAE;AACJ6M,gBAAM,EAAE;AADJ,SAPA;AAUNO,kBAAU,EAAE,KAVN;AAWND,0BAAkB,EAAE;AAXd;AADuB,KAAjC;AAeD,GArCH,CAuCE;AACA;;AAEA;;;;;AA1CF;AAAA;AAAA,WA6CE,iBAAQ;AAAA;;AACN;AACA,WAAKzJ,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,yDAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF,aAAI,CAACwD,UAAL,GAAkBD,MAAlB;AACD,OAFD;AAGD;AAED;;;;AApDF;AAAA;AAAA,WAuDE,oBAAW;AACT;AACA,WAAK5D,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD;AA3DH;AAAA;AAAA,WA6DE,mBAAU;AACR,UAAI,KAAKpC,WAAL,CAAiBS,UAAjB,EAAJ,EACE,KAAKyX,MAAL,CAAYkC,QAAZ,CAAqB,CAAC,GAAD,CAArB,EADF,KAGE,KAAKlC,MAAL,CAAYkC,QAAZ,CAAqB,CAAC,QAAD,CAArB;AACH;AAlEH;AAAA;;;mBAAaiO,gBAAcjtB,+DAAAA,CAAAA,4EAAAA,GAAAA,+DAAAA,CAAAA,oEAAAA,GAAAA,+DAAAA,CAAAA,mDAAAA;AAAA;;;QAAditB;AAAc1rB;AAAAG;AAAAC;AAAAC;AAAAC;AAAA;ACb3B7B,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAGA,MAAAA,wDAAAA;AAAA,eAAS4I,gBAAT;AAAqB,OAArB;AACD5I,MAAAA,uDAAAA;AACAA,MAAAA,4DAAAA;AAAyCA,MAAAA,oDAAAA;AAAYA,MAAAA,0DAAAA;AAAKA,MAAAA,0DAAAA;AAE5DA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAiBA,MAAAA,oDAAAA;;AAAiCA,MAAAA,0DAAAA;AAClDA,MAAAA,4DAAAA;AAAgBA,MAAAA,oDAAAA;;AAAyCA,MAAAA,0DAAAA;AACzDA,MAAAA,4DAAAA;AAAQA,MAAAA,wDAAAA;AAAA,eAAS4I,gBAAT;AAAqB,OAArB;AACP5I,MAAAA,oDAAAA;;AAA+BA,MAAAA,0DAAAA;AAChCA,MAAAA,uDAAAA;AAOFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;;;;AAlBsCA,MAAAA,uDAAAA;AAAAA,MAAAA,mEAAAA,yCAAAA,2DAAAA;AAKfA,MAAAA,uDAAAA;AAAAA,MAAAA,gEAAAA,KAAAA,yDAAAA;AACDA,MAAAA,uDAAAA;AAAAA,MAAAA,+DAAAA,CAAAA,yDAAAA;AAEfA,MAAAA,uDAAAA;AAAAA,MAAAA,+DAAAA,CAAAA,yDAAAA;AAEDA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA,wHAAAA,2DAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXN;AACA;;;;;;;AAWO,IAAMktB,oBAAb;AAOE;;;;;;;AAOA,gCAAoB5mB,kBAApB,EACoB1B,WADpB,EAEoBkY,MAFpB,EAEkC;AAAA;;AAFd;AACA;AACA;AAdpB,sBAAa,KAAb;AAgBE,SAAKzX,UAAL,GAAkBT,WAAW,CAACS,UAAZ,EAAlB;AACA,SAAK1C,eAAL,GAAuB,IAAIL,yCAAJ,EAAvB,CAHgC,CAKhC;;AACA,SAAKgE,kBAAL,CAAwBC,MAAxB,GAAiC;AAC/BrD,YAAM,EAAE;AACNwM,cAAM,EAAE;AACND,gBAAM,EAAE;AADF,SADF;AAINK,cAAM,EAAE;AACNL,gBAAM,EAAE;AADF,SAJF;AAON7M,YAAI,EAAE;AACJ6M,gBAAM,EAAE;AADJ,SAPA;AAUNO,kBAAU,EAAE,KAVN;AAWND,0BAAkB,EAAE;AAXd;AADuB,KAAjC;AAeD,GArCH,CAuCE;AACA;;AAEA;;;;;AA1CF;AAAA;AAAA,WA6CE,iBAAQ;AAAA;;AACN;AACA,WAAKzJ,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,yDAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF,aAAI,CAACwD,UAAL,GAAkBD,MAAlB;AACD,OAFD;AAGD;AAED;;;;AApDF;AAAA;AAAA,WAuDE,oBAAW;AACT;AACA,WAAK5D,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD;AA3DH;AAAA;AAAA,WA6DE,mBAAU;AACR,UAAI,KAAKpC,WAAL,CAAiBS,UAAjB,EAAJ,EACE,KAAKyX,MAAL,CAAYkC,QAAZ,CAAqB,CAAC,GAAD,CAArB,EADF,KAGE,KAAKlC,MAAL,CAAYkC,QAAZ,CAAqB,CAAC,QAAD,CAArB;AACH;AAlEH;AAAA;;;mBAAakO,sBAAoBltB,+DAAAA,CAAAA,4EAAAA,GAAAA,+DAAAA,CAAAA,oEAAAA,GAAAA,+DAAAA,CAAAA,mDAAAA;AAAA;;;QAApBktB;AAAoB3rB;AAAAG;AAAAC;AAAAC;AAAAC;AAAA;ACbjC7B,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAGA,MAAAA,wDAAAA;AAAA,eAAS4I,gBAAT;AAAqB,OAArB;AACD5I,MAAAA,uDAAAA;AACAA,MAAAA,4DAAAA;AAAyCA,MAAAA,oDAAAA;AAAYA,MAAAA,0DAAAA;AAAKA,MAAAA,0DAAAA;AAE5DA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAiBA,MAAAA,oDAAAA;;AAAkCA,MAAAA,0DAAAA;AACnDA,MAAAA,4DAAAA;AAAgBA,MAAAA,oDAAAA;;AAA8CA,MAAAA,0DAAAA;AAC9DA,MAAAA,4DAAAA;AAAQA,MAAAA,wDAAAA;AAAA,eAAS4I,gBAAT;AAAqB,OAArB;AACP5I,MAAAA,oDAAAA;;AAA+BA,MAAAA,0DAAAA;AAChCA,MAAAA,uDAAAA;AASFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;;;;AApBsCA,MAAAA,uDAAAA;AAAAA,MAAAA,mEAAAA,yCAAAA,2DAAAA;AAKfA,MAAAA,uDAAAA;AAAAA,MAAAA,+DAAAA,CAAAA,yDAAAA;AACDA,MAAAA,uDAAAA;AAAAA,MAAAA,+DAAAA,CAAAA,yDAAAA;AAEfA,MAAAA,uDAAAA;AAAAA,MAAAA,+DAAAA,CAAAA,yDAAAA;AAECA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA,gJAAAA,2DAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACbR;AAEA;AAEA;AACA;AACA;AACA;AACA;;CAGA;;AACA,IAAMyX,MAAM,GAAW,CACrB;AACEC,MAAI,EAAE,sCADR;AAEE0V,WAAS,EAAED,4FAAsBA;AAFnC,CADqB,EAKrB;AACEzV,MAAI,EAAE,8BADR;AAEE0V,WAAS,EAAED,4FAAsBA;AAFnC,CALqB,EASrB;AACEzV,MAAI,EAAE,2BADR;AAEE0V,WAAS,EAAEF,oFAAoBA;AAFjC,CATqB,EAarB;AACExV,MAAI,EAAE,qBADR;AAEE0V,WAAS,EAAEH,kEAAcA;AAF3B,CAbqB,EAiBrB;AACEvV,MAAI,EAAE,IADR;AAEE2V,YAAU,EAAE;AAFd,CAjBqB,CAAvB;AA2BO,IAAMxR,mBAAb;AAAA;AAAA;;;mBAAaA;AAAmB;;;QAAnBA;;;YAFF,CAACtc,yDAAD,EAAe6D,kEAAA,CAAsBqU,MAAtB,CAAf,EAA8C5X,iEAA9C,EAAgEwD,gEAAhE;;;;sHAEEwY,qBAAmB;AAAAxZ,mBAHf8qB,4FAGe,EAHSD,oFAGT,EAH+BD,kEAG/B;AAH6CntB,cACjEP,yDADiE,EACrDuE,yDADqD,EACpBjE,iEADoB,EACFwD,gEADE;AAG7C;AAF0D;;;;;;;;;;;;;;;;;;;;;;;;;;ACnC1F;AACA;;;;;;;AAWO,IAAM8pB,sBAAb;AAOE;;;;;;;AAOA,kCAAoB7mB,kBAApB,EACoB1B,WADpB,EAEoBkY,MAFpB,EAEkC;AAAA;;AAFd;AACA;AACA;AAdpB,sBAAa,KAAb;AAgBE,SAAKzX,UAAL,GAAkBT,WAAW,CAACS,UAAZ,EAAlB;AACA,SAAK1C,eAAL,GAAuB,IAAIL,yCAAJ,EAAvB,CAHgC,CAKhC;;AACA,SAAKgE,kBAAL,CAAwBC,MAAxB,GAAiC;AAC/BrD,YAAM,EAAE;AACNwM,cAAM,EAAE;AACND,gBAAM,EAAE;AADF,SADF;AAINK,cAAM,EAAE;AACNL,gBAAM,EAAE;AADF,SAJF;AAON7M,YAAI,EAAE;AACJ6M,gBAAM,EAAE;AADJ,SAPA;AAUNO,kBAAU,EAAE,KAVN;AAWND,0BAAkB,EAAE;AAXd;AADuB,KAAjC;AAeD;;AArCH;AAAA;AAAA,WAuCE,mBAAU;AACR,UAAI,KAAKnL,WAAL,CAAiBS,UAAjB,EAAJ,EACE,KAAKyX,MAAL,CAAYkC,QAAZ,CAAqB,CAAC,GAAD,CAArB,EADF,KAGE,KAAKlC,MAAL,CAAYkC,QAAZ,CAAqB,CAAC,QAAD,CAArB;AACH,KA5CH,CA8CE;AACA;;AAEA;;;;AAjDF;AAAA;AAAA,WAoDE,iBAAQ;AAAA;;AACN;AACA,WAAK1Y,kBAAL,CAAwBC,MAAxB,CAA+BxD,IAA/B,CAAoCR,yDAAS,CAAC,KAAKI,eAAN,CAA7C,EAAqEK,SAArE,CAA+E,gBAAM,EAAG;AACtF,aAAI,CAACwD,UAAL,GAAkBD,MAAlB;AACD,OAFD;AAGD;AAED;;;;AA3DF;AAAA;AAAA,WA8DE,oBAAW;AACT;AACA,WAAK5D,eAAL,CAAqB4C,IAArB;;AACA,WAAK5C,eAAL,CAAqBqE,QAArB;AACD;AAlEH;AAAA;;;mBAAammB,wBAAsBntB,+DAAAA,CAAAA,4EAAAA,GAAAA,+DAAAA,CAAAA,oEAAAA,GAAAA,+DAAAA,CAAAA,mDAAAA;AAAA;;;QAAtBmtB;AAAsB5rB;AAAAG;AAAAC;AAAAC;AAAAC;AAAA;ACbnC7B,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAGA,MAAAA,wDAAAA;AAAA,eAAS4I,gBAAT;AAAqB,OAArB;AACD5I,MAAAA,uDAAAA;AACAA,MAAAA,4DAAAA;AAAyCA,MAAAA,oDAAAA;AAAYA,MAAAA,0DAAAA;AAAKA,MAAAA,0DAAAA;AAE5DA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAiBA,MAAAA,oDAAAA;;AAAgCA,MAAAA,0DAAAA;AACjDA,MAAAA,4DAAAA;AACEA,MAAAA,oDAAAA;;AACFA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AAAQA,MAAAA,wDAAAA;AAAA,eAAS4I,gBAAT;AAAqB,OAArB;AACP5I,MAAAA,oDAAAA;;AAA+BA,MAAAA,0DAAAA;AAChCA,MAAAA,uDAAAA;AASFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;;;;AAtBsCA,MAAAA,uDAAAA;AAAAA,MAAAA,mEAAAA,yCAAAA,2DAAAA;AAKfA,MAAAA,uDAAAA;AAAAA,MAAAA,+DAAAA,CAAAA,yDAAAA;AAEfA,MAAAA,uDAAAA;AAAAA,MAAAA,gEAAAA,MAAAA,yDAAAA;AAGDA,MAAAA,uDAAAA;AAAAA,MAAAA,+DAAAA,CAAAA,yDAAAA;AAECA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA,0IAAAA,2DAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACFFA,IAAAA,4DAAAA;AACEA,IAAAA,uDAAAA;AACAA,IAAAA,uDAAAA;AACFA,IAAAA,0DAAAA;;;;;;AACAA,IAAAA,4DAAAA;AACEA,IAAAA,oDAAAA;;AACFA,IAAAA,0DAAAA;;;;AADEA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;;;;ACTD,IAAMwY,2BAAb;AAGE,uCACS8U,WADT,EAEUrU,4BAFV,EAEoE;AAAA;;AAD3D;AACC;AAJV,6BAAoB,KAApB;AAMC;;AAPH;AAAA;AAAA,WASE,iBAAQ;AAAA;;AACNhE,kBAAY,CAACS,OAAb,CAAqB,gBAArB,EAAuC,MAAvC;AACA,WAAK6X,4BAAL;AACA,WAAKC,iBAAL,GAAyB,IAAzB;AACAtsB,gBAAU,CAAC,YAAK;AACd,aAAI,CAACosB,WAAL,CAAiBG,OAAjB,CAAyB,UAAzB;AACD,OAFS,EAEP,IAFO,CAAV;AAGD;AAhBH;AAAA;AAAA,WAkBE,qCAA4B;AAC1B,WAAKxU,4BAAL,CAAkCyU,+BAAlC,GAAoE1qB,SAApE,CAA8E,uBAAa,EAAG;AAC5F,YAAM2qB,cAAc,GAAGltB,QAAQ,CAACmtB,oBAAT,CAA8B,QAA9B,EAAwC,CAAxC,EAA2CC,aAAlE;AACA,YAAMC,cAAc,GAAGrtB,QAAQ,CAACmtB,oBAAT,CAA8B,QAA9B,EAAwC,CAAxC,EAA2CC,aAAlE;AACAptB,gBAAQ,CAACmtB,oBAAT,CAA8B,QAA9B,EAAwC,CAAxC,EAA2CG,GAA3C,GAAiDC,aAAa,CAACnC,WAAd,GAA4B,GAA7E;AACAprB,gBAAQ,CAACmtB,oBAAT,CAA8B,QAA9B,EAAwC,CAAxC,EAA2CG,GAA3C,GAAiDC,aAAa,CAACpC,WAAd,GAA4B,GAA7E;AACA1qB,kBAAU,CAAC,YAAK;AACdysB,wBAAc,CAACM,WAAf,CAA2BlZ,IAAI,CAACY,SAAL,CAAe;AACxC1I,eAAG,EAAE,gBADmC;AAExCsI,gBAAI,EAAE;AAFkC,WAAf,CAA3B,EAGIyY,aAAa,CAACnC,WAHlB;AAIAiC,wBAAc,CAACG,WAAf,CAA2BlZ,IAAI,CAACY,SAAL,CAAe;AACxC1I,eAAG,EAAE,gBADmC;AAExCsI,gBAAI,EAAE;AAFkC,WAAf,CAA3B,EAGIyY,aAAa,CAACpC,WAHlB;AAID,SATS,EASP,IATO,CAAV;AAUD,OAfD;AAgBD;AAnCH;AAAA;;;mBAAapT,6BAA2BxY,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,uGAAAA;AAAA;;;QAA3BwY;AAA2BjX;AAAAG;AAAAC;AAAAC;AAAAC;AAAA;ADTxC7B,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAmBA,MAAAA,oDAAAA;;AAA0CA,MAAAA,0DAAAA;AAC/DA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAA4CA,MAAAA,oDAAAA;;AAAyCA,MAAAA,0DAAAA;AACvFA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAQA,MAAAA,wDAAAA;AAAA,eAAS4I,cAAT;AAAmB,OAAnB;AACN5I,MAAAA,wDAAAA;AAIAA,MAAAA,wDAAAA;AAGFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACAA,MAAAA,uDAAAA;AACAA,MAAAA,uDAAAA;;;;AApB2BA,MAAAA,uDAAAA;AAAAA,MAAAA,+DAAAA,CAAAA,yDAAAA;AAKqBA,MAAAA,uDAAAA;AAAAA,MAAAA,+DAAAA,CAAAA,yDAAAA;AAIpCA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAIAA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AETL,IAAMkuB,qBAAb;AAOE,iCAAoBZ,WAApB,EAA+C;AAAA;;AAA3B;AACnB;;AARH;AAAA;AAAA,WAUS,gBAAO;AACZ,WAAKA,WAAL,CAAiB5iB,KAAjB,CAAuB,KAAvB;AACD;AAZH;AAAA;AAAA,WAcS,eAAM;AACX,WAAK4iB,WAAL,CAAiB5iB,KAAjB,CAAuB,IAAvB;AACD;AAhBH;AAAA;;;mBAAawjB,uBAAqBluB,+DAAAA,CAAAA,sEAAAA;AAAA;;;QAArBkuB;AAAqB3sB;AAAAC;AAAA2hB;AAAAwC;AAAAwI;AAAAC;AAAA;AAAA1sB;AAAAC;AAAAC;AAAAC;AAAA;ACRlC7B,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAqCA,MAAAA,oDAAAA;AAAWA,MAAAA,0DAAAA;AAClDA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,oDAAAA;AACFA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAQA,MAAAA,wDAAAA;AAAA,eAAS4I,aAAT;AAAkB,OAAlB;AACN5I,MAAAA,oDAAAA;AACFA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AAAQA,MAAAA,wDAAAA;AAAA,eAAS4I,YAAT;AAAiB,OAAjB;AACN5I,MAAAA,oDAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;;;;AAbyCA,MAAAA,uDAAAA;AAAAA,MAAAA,+DAAAA;AAGrCA,MAAAA,uDAAAA;AAAAA,MAAAA,gEAAAA;AAIEA,MAAAA,uDAAAA;AAAAA,MAAAA,gEAAAA;AAGAA,MAAAA,uDAAAA;AAAAA,MAAAA,gEAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZN;AAYA;AACA;;;;;;;AAaO,IAAMwuB,mBAAb;AAiBE,+BAAoBzR,YAApB,EAAwD2C,SAAxD,EAAmF;AAAA;;AAA/D;AAAoC;AANxD,oBAAoB,KAApB;AAEA,wBAAe,IAAIjW,uDAAJ,EAAf;AAKC;;AAlBH;AAAA;AAAA,WAoBE,8BAAqB,CAACglB,IAAD,EAAa;AAChC,UAAIC,UAAU,GAAG,IAAIxN,IAAJ,CAASA,IAAI,CAAClM,KAAL,CAAWyZ,IAAX,CAAT,CAAjB;AACA,WAAKA,IAAL,GAAY,IAAIJ,+DAAJ,CAAYK,UAAU,CAACvN,WAAX,EAAZ,EAAsCuN,UAAU,CAACC,QAAX,KAAwB,CAA9D,EAAiED,UAAU,CAACE,OAAX,EAAjE,CAAZ;AACD;AAvBH;AAAA;AAAA,WAyBE,sBAAa,CAACH,IAAD,EAAc;AACzB,UAAII,YAAY,GAAG,IAAI3N,IAAJ,CAASuN,IAAI,CAACK,IAAd,EAAoBL,IAAI,CAACM,KAAL,GAAa,CAAjC,EAAoCN,IAAI,CAACO,GAAL,GAAW,CAA/C,CAAnB;AACA,WAAKC,YAAL,CAAkBrkB,IAAlB,CAAuBikB,YAAvB;AACD;AA5BH;AAAA;AAAA,WA8BE,iBAAQ;AACN,UAAI,KAAKK,WAAT,EAAsB;AACpB,aAAKC,qBAAL,CAA2B,KAAKD,WAAhC;AACD;AACF;AAlCH;AAAA;AAAA,WAoCE,oBAAW,CAACld,OAAD,EAAuB;AAChC,UAAI,KAAKkd,WAAT,EAAsB;AACpB,aAAKC,qBAAL,CAA2B,KAAKD,WAAhC;AACD;AACF;AAxCH;AAAA;AAAA,WA0CE,qBAAY;;;AACV,UAAIL,YAAY,GAAG,IAAnB;;AACA,UAAI,YAAKJ,IAAL,MAAS,IAAT,IAAS/H,aAAT,GAAS,MAAT,GAASA,GAAEsI,GAAX,KAAkB,IAAtB,EAA4B;AAC1BH,oBAAY,GAAG,IAAI3N,IAAJ,CACbA,IAAI,CAACkO,GAAL,CAAS,KAAKX,IAAL,CAAUK,IAAnB,EAAyB,KAAKL,IAAL,CAAUM,KAAV,GAAkB,CAA3C,EAA8C,KAAKN,IAAL,CAAUO,GAAxD,EAA6D,CAA7D,EAAgE,CAAhE,CADa,CAAf;AAGD;;AACD,aAAOH,YAAP;AACD;AAlDH;AAAA;AAAA,WAoDE,0BAAiB;AAAA;;;;AACf,UAAIA,YAAY,GAAG,IAAnB;;AACA,UAAI,YAAKJ,IAAL,MAAS,IAAT,IAAS/H,aAAT,GAAS,MAAT,GAASA,GAAEsI,GAAX,KAAkB,IAAtB,EAA4B;AAC1BH,oBAAY,GAAG,IAAI3N,IAAJ,CACbA,IAAI,CAACkO,GAAL,CAAS,KAAKX,IAAL,CAAUK,IAAnB,EAAyB,KAAKL,IAAL,CAAUM,KAAV,GAAkB,CAA3C,EAA8C,KAAKN,IAAL,CAAUO,GAAxD,EAA6D,CAA7D,EAAgE,CAAhE,CADa,CAAf;AAGD;;AACD,UAAIH,YAAY,IAAIQ,KAAK,CAACR,YAAY,CAACS,OAAb,EAAD,CAAzB,EAAmD;AACjD,aAAK5P,SAAL,CAAerP,GAAf,CAAmB,cAAnB,EAAmCrN,SAAnC,CAA6C,8BAAoB;AAAA,iBAC/D,KAAI,CAAC+Z,YAAL,CAAkBzP,KAAlB,CAAwBiiB,oBAAxB,EAA8C;AAACtP,uBAAW,EAAE,IAAd;AAAoB5C,qBAAS,EAAE;AAA/B,WAA9C,CAD+D;AAAA,SAAjE;AAGD,OAJD,MAIO;AACL,aAAK4R,YAAL,CAAkBrkB,IAAlB,CAAuBikB,YAAvB;AACD;AACF;AAlEH;AAAA;;;mBAAaL,qBAAmBxuB,+DAAAA,CAAAA,sEAAAA,GAAAA,+DAAAA,CAAAA,iEAAAA;AAAA;;;QAAnBwuB;AAAmBjtB;AAAAshB;AAAA;wEAeDlR,qDAAUA;;;;;;;;;;;;;;;;;;;8EAnB5B,CACT;AAACzP,WAAO,EAAEosB,8EAAV;AAAkCnS,YAAQ,EAAEoS,yFAAyBA;AAArE,GADS,IAEVvuB,kEAAAA;AAAA0B;AAAAC;AAAAC;AAAAC;AAAA;;;ACxBH7B,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAA0BA,MAAAA,wDAAAA;AAAA,eAAc4I,uBAAd;AAAiC,OAAjC,EAAkC,UAAlC,EAAkC;AAAA,eAAaA,uBAAb;AAAgC,OAAlE,EAAkC,aAAlC,EAAkC;AAAA,eACtCA,uBADsC;AACnB,OADf,EAAkC,eAAlC,EAAkC;AAAA;AAAA,OAAlC;AAA1B5I,MAAAA,0DAAAA;AASAA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAQA,MAAAA,wDAAAA;AAAAA,QAAAA,2DAAAA;;AAAA;;AAAA,eAASwvB,YAAT;AAAmB,OAAnB;AAEcxvB,MAAAA,uDAAAA;AACjBA,MAAAA,0DAAAA;AACPA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;;;;AAnBOA,MAAAA,uDAAAA;AAAAA,MAAAA,oEAAAA;AACEA,MAAAA,uDAAAA;AAAAA,MAAAA,oEAAAA;AAIIA,MAAAA,uDAAAA;AAAAA,MAAAA,oEAAAA;AADAA,MAAAA,wDAAAA,sBAAkB,UAAlB,EAAkB4I,YAAlB;AASG5I,MAAAA,uDAAAA;AAAAA,MAAAA,oEAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdhB;;;;;;;;;;ACCEA,IAAAA,4DAAAA;AAA0DA,IAAAA,oDAAAA;;AAAmBA,IAAAA,0DAAAA;;;;;AAAxDA,IAAAA,wDAAAA;AAAqCA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;;;AAepDA,IAAAA,4DAAAA;AAAGA,IAAAA,wDAAAA;AAAA;AAAA;AAAA;AAAA,aAAS8iB,iCAAT;AAAgC,KAAhC;AACgB9iB,IAAAA,oDAAAA;;;AACnBA,IAAAA,0DAAAA;;;;;;AADmBA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,2BAAAA,yDAAAA,uCAAAA,yDAAAA;;;;ADApB,IAAMyvB,iBAAb;AAgCE;AAAA;;AA7BA,yBAAwB,SAAxB;AAEA,iBAAgB,EAAhB;AAIA,wBAAuB,EAAvB,CAuBA,CAvB4B;;AAE5B,iBAAgB,EAAhB;AAEA,uBAAsB,EAAtB,CAmBA,CAnB0B;;AAE1B,0BAAiB,IAAIhmB,uDAAJ,EAAjB;AAGA,yBAAgB,IAAhB;AAEA,sBAAa,YAAb;AAIA,oBAAW,KAAX;AAEA,qBAAY,IAAZ;AAEA,oBAAW,KAAX;AAKC;;AAjCH;AAAA;AAAA,WAmCE,iBAAQ;AACN,UAAI,KAAKylB,WAAT,EAAsB;AACpB,aAAKQ,oBAAL,GAA4B,KAAKR,WAAjC;AACD,OAFD,MAEO;AACL,aAAKS,iBAAL,CAAuB,KAAKC,UAAL,GAAkB,KAAKA,UAAvB,GAAoC,KAAKtc,KAAL,CAAW,CAAX,CAA3D;AACD;AACF;AAzCH;AAAA;AAAA,WA2CE,oBAAW,CAACtB,OAAD,EAAuB;;;AAChC,UAAIA,OAAO,CAACkd,WAAZ,EAAyB;AACvB,aAAKQ,oBAAL,GAA4B,KAAKR,WAAjC;AACD,OAFD,MAEO;AACL,YAAIld,OAAO,CAAC4d,UAAZ,EACE,KAAKD,iBAAL,CAAuB,cAAO,CAACC,UAAR,MAAkB,IAAlB,IAAkBlJ,aAAlB,GAAkB,MAAlB,GAAkBA,GAAExU,YAApB,IAAmC,aAAO,CAAC0d,UAAR,MAAkB,IAAlB,IAAkB/I,aAAlB,GAAkB,MAAlB,GAAkBA,GAAE3U,YAAvD,GAAsE,aAAO,CAAC0T,OAAR,MAAe,IAAf,IAAeiK,aAAf,GAAe,MAAf,GAAeA,GAAE3d,YAAF,CAAe,CAAf,CAA5G;AACH;AACF;AAlDH;AAAA;AAAA,WAoDE,0BAAiB,CAAC4d,MAAD,EAAO;AACtB,UAAI,CAACA,MAAL,EAAa;AACb,WAAKJ,oBAAL,GAA4B,KAAKK,YAAL,IAAqBD,MAArB,GAA8BA,MAAM,CAAC,KAAKC,YAAN,CAApC,GAA0DD,MAAtF;AACA,WAAKE,cAAL,CAAoBplB,IAApB,CAAyBklB,MAAzB;AACD;AAxDH;AAAA;;;mBAAaL;AAAiB;;;QAAjBA;AAAiBluB;AAAAshB;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjB9B7iB,MAAAA,4DAAAA;AACEA,MAAAA,wDAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AASEA,MAAAA,oDAAAA;;AACFA,MAAAA,0DAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,wDAAAA;AAGFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;;;;AAtBKA,MAAAA,wDAAAA;AACKA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAIFA,MAAAA,uDAAAA;AAAAA,MAAAA,oEAAAA;AACAA,MAAAA,wDAAAA,2BAAqB,UAArB,EAAqB4I,sBAArB;AAOA5I,MAAAA,uDAAAA;AAAAA,MAAAA,gEAAAA,MAAAA,yDAAAA;AAGsDA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChB9D;AACA;AACA;;;;;;;;;;ACgBMA,IAAAA,4DAAAA;AAAkBA,IAAAA,oDAAAA;;;AAAqEA,IAAAA,0DAAAA;;;;;;AAArEA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,uBAAAA,yDAAAA,uCAAAA,yDAAAA;;;;;;;;AAIlBA,IAAAA,4DAAAA;AAA8BA,IAAAA,oDAAAA;;;AAAsEA,IAAAA,0DAAAA;AACpGA,IAAAA,4DAAAA;AAAMA,IAAAA,wDAAAA;AAAA;AAAA;AAAA;AAAA,aAASmwB,iBAAT;AAAoB,KAApB;AAAqEnwB,IAAAA,oDAAAA;AAACA,IAAAA,0DAAAA;;;;;;AAD9CA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,4BAAAA,yDAAAA,uCAAAA,yDAAAA;;;;;;;;;;ADZ7B,IAAMowB,4BAAb;AANA;AAAA;;AAWE,iBAAgB,EAAhB;AAIA,wBAAuB,EAAvB,CAfF,CAe6B;;AAE3B,uBAAc,EAAd;AAIA,oBAAW,KAAX;AAEA,oBAAW,KAAX;AAKA,wBAAe,IAAI3mB,uDAAJ,EAAf;AAEA,sBAAa,IAAIA,uDAAJ,EAAb;AAeD;;AAvCD;AAAA;AAAA,WA2BE,oBAAW,CAACuI,OAAD,EAAuB;AAChC,UAAIA,OAAO,CAACsB,KAAZ,EACE,KAAK+c,UAAL,GAAkBJ,wCAAE,CAACje,OAAO,CAACsB,KAAR,CAAcpB,YAAf,CAAF,CAA+BnP,IAA/B,CAAoCmtB,qDAAK,CAAC,CAAD,CAAzC,CAAlB;AACH;AA9BH;AAAA;AAAA,WAgCE,wBAAe,CAACI,MAAD,EAAY;AACzB,WAAKC,YAAL,CAAkB3lB,IAAlB,CAAuB0lB,MAAvB;AACD;AAlCH;AAAA;AAAA,WAoCE,iBAAQ,CAACA,MAAD,EAAuC;AAC7C,WAAKE,UAAL,CAAgB5lB,IAAhB,CAAqB0lB,MAAM,CAACG,IAA5B;AACD;AAtCH;AAAA;;;mBAAaL;AAA4B;;;QAA5BA;AAA4B7uB;AAAAC;AAAAkuB;AAAAvM;AAAA7P;AAAAyc;AAAAb;AAAAwB;AAAAC;AAAAvL;AAAA;AAAA9W;AAAA+hB;AAAAE;AAAAC;AAAA;AAAA7d,aAAAA,kEAAAA;AAAAjR;AAAAC;AAAAC;AAAAC;AAAA;ACVzC7B,MAAAA,4DAAAA;AACEA,MAAAA,4DAAAA;AAAOA,MAAAA,oDAAAA;;AAAqBA,MAAAA,0DAAAA;AAC5BA,MAAAA,4DAAAA;AACEA,MAAAA,wDAAAA;AAAA,eAAS4I,2BAAT;AAAgC,OAAhC,EAAgC,eAAhC,EAAgC;AAAA;AAAA,OAAhC,EAAgC,QAAhC,EAAgC;AAAA,eAOtBA,oBAPsB;AAON,OAP1B;;;AAcA5I,MAAAA,wDAAAA;AAIAA,MAAAA,wDAAAA;AAIFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;;;;AA1B6BA,MAAAA,oEAAAA;AAAxBA,MAAAA,wDAAAA;AACIA,MAAAA,uDAAAA;AAAAA,MAAAA,+DAAAA,CAAAA,yDAAAA;AAcLA,MAAAA,uDAAAA;AAAAA,MAAAA,oEAAAA;AAFAA,MAAAA,mEAAAA,gBAAAA,yDAAAA;AACAA,MAAAA,mEAAAA;AAVAA,MAAAA,wDAAAA,sCAAkC,eAAlC,EAAkC,IAAlC,EAAkC,OAAlC,EAAkCA,yDAAAA,uBAAlC,EAAkC,UAAlC,EAAkC,KAAlC,EAAkC,SAAlC,EAAkCA,6DAAAA,SAAlC,EAAkC,YAAlC,EAAkC,IAAlC,EAAkC,eAAlC,EAAkC,CAAlC,EAAkC,UAAlC,EAAkC4I,YAAlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJJ;AACA;AACA;AACA;;;;;;;;;;ACFE5I,IAAAA,4DAAAA;AAA4BA,IAAAA,oDAAAA;;AAAqBA,IAAAA,0DAAAA;;;;;AAArBA,IAAAA,uDAAAA;AAAAA,IAAAA,+DAAAA,CAAAA,yDAAAA;;;;;;AAgBxBA,IAAAA,4DAAAA;AACEA,IAAAA,oDAAAA;;AACFA,IAAAA,0DAAAA;;;;;AAFsCA,IAAAA,wDAAAA;AACpCA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;AAFJA,IAAAA,4DAAAA;AACEA,IAAAA,wDAAAA;AAGFA,IAAAA,0DAAAA;;;;;AAH8BA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAK5BA,IAAAA,4DAAAA;AACEA,IAAAA,oDAAAA;;;AACFA,IAAAA,0DAAAA;;;;;;AAFsCA,IAAAA,wDAAAA;AACpCA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,4BAAAA,yDAAAA,uCAAAA,yDAAAA;;;;;;AAFJA,IAAAA,4DAAAA;AACEA,IAAAA,wDAAAA;AAGFA,IAAAA,0DAAAA;;;;;AAH8BA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;AAM5BA,IAAAA,4DAAAA;AAAmDA,IAAAA,oDAAAA;;AAAoCA,IAAAA,0DAAAA;;;;;AAApCA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,MAAAA,yDAAAA;;;;;;AACnDA,IAAAA,4DAAAA;AAAoDA,IAAAA,oDAAAA;;;AAAsEA,IAAAA,0DAAAA;;;;;;AAAtEA,IAAAA,uDAAAA;AAAAA,IAAAA,gEAAAA,6BAAAA,yDAAAA,wCAAAA,yDAAAA;;;;;;;;AADpDA,IAAAA,wDAAAA;AACAA,IAAAA,wDAAAA;AACAA,IAAAA,4DAAAA;AAAMA,IAAAA,wDAAAA;AAAA;AAAA;AAAA;AAAA,aAAS4wB,iBAAT;AAAoB,KAApB;AAAqE5wB,IAAAA,oDAAAA;AAACA,IAAAA,0DAAAA;;;;;AAFrEA,IAAAA,wDAAAA;AACAA,IAAAA,uDAAAA;AAAAA,IAAAA,wDAAAA;;;;;;;;;;;ADnBN,IAAM6wB,uBAAb;AA8BE;AAAA;;AA1BA,iCAAwB,EAAxB;AAEA,iBAAgB,EAAhB;AAIA,wBAAuB,EAAvB,CAoBA,CApB2B;;AAE3B,yBAAgB,IAAIpnB,uDAAJ,EAAhB;AAEA,uBAAc,EAAd;AAEA,uBAAc,KAAd;AAIA,oBAAW,KAAX;AAEA,qBAAY,KAAZ;AAEA,sBAAa,KAAb;AAEA,wBAAe,KAAf;AAEA,uBAAc,KAAd;AAGC;;AA/BH;AAAA;AAAA,WAiCE,oBAAW,CAACuI,OAAD,EAAuB;AAChC,UAAIA,OAAO,CAACsB,KAAZ,EACE,KAAKwd,WAAL,GAAmBb,wCAAE,CAACje,OAAO,CAACsB,KAAR,CAAcpB,YAAf,CAAF,CAA+BnP,IAA/B,CAAoCmtB,qDAAK,CAAC,CAAD,CAAzC,CAAnB;AACH;AApCH;AAAA;AAAA,WAsCE,iBAAQ;;;AACN,UAAIa,UAAU,GAAG,CAAjB;;AADM,uMAEY,KAAKzd,KAFjB;AAAA;;AAAA;AAEN,4DAA8B;AAAA,cAArB3S,KAAqB;AAC5B,cAAIqwB,SAAS,GAAG,KAAKjB,YAAL,GAAoBpvB,KAAK,CAAC,KAAKovB,YAAN,CAAzB,GAA+CpvB,KAA/D;;AACA,cAAI,UAAS,SAAT,aAAS,WAAT,GAAS,MAAT,YAAS,CAAEyE,MAAX,IAAoB2rB,UAAxB,EAAoC;AAClCA,sBAAU,GAAGC,SAAS,SAAT,aAAS,WAAT,GAAS,MAAT,YAAS,CAAE5rB,MAAxB;AACD;AACF;AAPK;AAAA;AAAA;AAAA;AAAA;;AAQN,UAAI,YAAK8pB,WAAL,MAAgB,IAAhB,IAAgBxI,aAAhB,GAAgB,MAAhB,GAAgBA,GAAEthB,MAAlB,IAA2B2rB,UAA/B,EACEA,UAAU,GAAG,WAAK7B,WAAL,MAAgB,IAAhB,IAAgBrI,aAAhB,GAAgB,MAAhB,GAAgBA,GAAEzhB,MAA/B;AACF,aAAO2rB,UAAP;AACD;AAjDH;AAAA;AAAA,WAmDE,oBAAW;AACT,aAAOtpB,MAAM,CAACW,UAAP,GAAoB,GAApB,GAA0B,CAA1B,GAA8B,KAAK6oB,QAAL,KAAkB,EAAvD;AACD;AArDH;AAAA;AAAA,WAuDE,wBAAe,CAACX,MAAD,EAAY;AACzB,WAAKY,aAAL,CAAmBtmB,IAAnB,CAAwB0lB,MAAxB;AACD;AAzDH;AAAA;AAAA,WA2DE,sBAAa,CAACR,MAAD,EAAcqB,QAAd,EAA2B;AACtC,aAAOrb,+CAAO,CAACga,MAAD,EAASqB,QAAT,CAAd;AACD;AA7DH;AAAA;;;mBAAaN;AAAuB;;;QAAvBA;AAAuBtvB;AAAAC;AAAA4vB;AAAAjO;AAAA7P;AAAAyc;AAAAb;AAAAmC;AAAAX;AAAAC;AAAAW;AAAAC;AAAAC;AAAAC;AAAA;AAAAnjB;AAAA4iB;AAAA;AAAAve,aAAAA,kEAAAA;AAAAjR;AAAAC;AAAAC;AAAAC;AAAA;ACVpC7B,MAAAA,4DAAAA;AACEA,MAAAA,wDAAAA;AACAA,MAAAA,4DAAAA;AACEA,MAAAA,wDAAAA;AAAA,eAAS4I,2BAAT;AAAgC,OAAhC,EAAgC,eAAhC,EAAgC;AAAA;AAAA,OAAhC;;AAaA5I,MAAAA,wDAAAA;AAKAA,MAAAA,wDAAAA;AAMAA,MAAAA,wDAAAA;AAKFA,MAAAA,0DAAAA;AACFA,MAAAA,0DAAAA;;;;AAjC6BA,MAAAA,oEAAAA;AAAxBA,MAAAA,wDAAAA;AACKA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAWNA,MAAAA,uDAAAA;AAAAA,MAAAA,oEAAAA;AADAA,MAAAA,mEAAAA,gBAAAA,yDAAAA;AAPAA,MAAAA,wDAAAA,uCAAmC,eAAnC,EAAmC,KAAnC,EAAmC,UAAnC,EAAmC,IAAnC,EAAmC,SAAnC,EAAmCA,6DAAAA,mCAAnC,EAAmC,YAAnC,EAAmC4I,cAAnC,EAAmC,kBAAnC,EAAmCA,cAAnC,EAAmC,UAAnC,EAAmCA,eAAnC,EAAmC,aAAnC,EAAmCA,iBAAnC;AAYM5I,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;AAKAA,MAAAA,uDAAAA;AAAAA,MAAAA,wDAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBH,IAAM0xB,sCAAb;AAIE,kDAAoBrrB,EAApB,EAAkC;AAAA;;AAAd;AAHZ,iBAAgB,IAAIsrB,MAAJ,CAAW,kBAAX,CAAhB;AACA,uBAA6B,CAAC,WAAD,EAAc,KAAd,EAAqB,KAArB,EAA4B,MAA5B,EAAoC,WAApC,EAAiD,YAAjD,EAA+D,KAA/D,EAAsE,QAAtE,CAA7B;AAGP;;AALH;AAAA;AAAA,WAQE,kBAAS,CAACjrB,KAAD,EAAqB;AAC5B,UAAI,KAAKkrB,WAAL,CAAiBnpB,QAAjB,CAA0B/B,KAAK,CAACuG,GAAhC,CAAJ,EAA0C;AACxC;AACD;;AACD,UAAM4kB,OAAO,GAAW,KAAKxrB,EAAL,CAAQc,aAAR,CAAsBxG,KAA9C;AACA,UAAM9B,QAAQ,GAAG,KAAKwH,EAAL,CAAQc,aAAR,CAAsB2qB,cAAvC;AACA,UAAMvsB,IAAI,GAAW,CAACssB,OAAO,CAACE,KAAR,CAAc,CAAd,EAAiBlzB,QAAjB,CAAD,EAA6B6H,KAAK,CAACuG,GAAN,IAAa,SAAb,GAAyB,GAAzB,GAA+BvG,KAAK,CAACuG,GAAlE,EAAuE4kB,OAAO,CAACE,KAAR,CAAclzB,QAAd,CAAvE,EAAgGkV,IAAhG,CAAqG,EAArG,CAArB;;AACA,UAAIxO,IAAI,IAAI,CAACysB,MAAM,CAACzsB,IAAD,CAAN,CAAa0sB,KAAb,CAAmB,KAAKC,KAAxB,CAAb,EAA6C;AAC3CxrB,aAAK,CAAC4C,cAAN;AACD;AACF;AAlBH;AAAA;;;mBAAaooB,wCAAsC1xB,+DAAAA,CAAAA,qDAAAA;AAAA;;;QAAtC0xB;AAAsCnwB;AAAAoH;AAAA;;eAAtCC;AAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACJ9B;AAEA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAEA,IAAM6O,MAAM,GAAW,EAAvB;AAgCO,IAAMiE,YAAb;AAAA;AAAA;;;mBAAaA;AAAY;;;QAAZA;;;aAFA,CAAC0W,8DAAD;AAAetyB,YAnBjB,CACPP,0DADO,EAEPM,iEAFO,EAGPiC,kEAHO,EAIPqwB,iEAJO,EAKP1yB,wDALO,EAMP2D,mEAAA,CAAsBqU,MAAtB,CANO,EAOPpU,iEAPO,CAmBiB,EANxBA,iEAMwB;;;;sHAEfqY,cAAY;AAAArZ,mBA5BrBotB,sFA4BqB,EA3BrBoB,yHA2BqB,EA1BrB3C,oGA0BqB,EAzBrBM,4FAyBqB,EAxBrBkD,2HAwBqB,EAvBrBtB,2HAuBqB;AAvBOtwB,cAG5BP,0DAH4B,EAI5BM,iEAJ4B,EAK5BiC,kEAL4B,EAM5BqwB,iEAN4B,EAO5B1yB,wDAP4B,EAOjBqE,0DAPiB,EAS5BT,iEAT4B,CAuBP;AAdNtD,cAGf0vB,sFAHe,EAIfoB,yHAJe,EAKf3C,oGALe,EAMf7qB,iEANe,EAOfquB,2HAPe,EAQftB,2HARe,EASf5B,4FATe;AAcM;AALF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7CvB;;AAKO,IAAMD,yBAAb;AAHA;AAAA;;AAAA;;;AAKW,sBAAY,GAAZ;AALX;AAwBC;;AArBD;;AAAA;AAAA;AAAA,WAIE,cAAK,CAAC5tB,KAAD,EAAc;AACjB,UAAIA,KAAJ,EAAW;AACT,YAAM8tB,IAAI,GAAG9tB,KAAK,CAACoS,KAAN,CAAY,KAAKsf,SAAjB,CAAb;AACA,eAAO;AACLrD,aAAG,EAAEsD,QAAQ,CAAC7D,IAAI,CAAC,CAAD,CAAL,EAAU,EAAV,CADR;AAELM,eAAK,EAAEuD,QAAQ,CAAC7D,IAAI,CAAC,CAAD,CAAL,EAAU,EAAV,CAFV;AAGLK,cAAI,EAAEwD,QAAQ,CAAC7D,IAAI,CAAC,CAAD,CAAL,EAAU,EAAV;AAHT,SAAP;AAKD;;AACD,aAAO,IAAP;AACD;AAdH;AAAA;AAAA,WAgBE,eAAM,CAACA,IAAD,EAA2B;AAC/B,aAAOA,IAAI,GAAG,CAAC,MAAMA,IAAI,CAACO,GAAZ,EAAiB+C,KAAjB,CAAuB,CAAC,CAAxB,IAA6B,KAAKM,SAAlC,GACV,CAAC,MAAO5D,IAAI,CAACM,KAAb,EAAqBgD,KAArB,CAA2B,CAAC,CAA5B,CADU,GACuB,KAAKM,SAD5B,GAEV5D,IAAI,CAACK,IAFK,GAEE,KAAKuD,SAFV,GAEsB,EAFjC;AAGD;AApBH;AAAA,EAA+C/D,8EAA/C;;;;;oKAAaC,6BAAyBgE,KAAzBhE;AAAyB;AAAA;;;SAAzBA;AAAyBvoB,WAAzBuoB,yBAAyB;AAAAtoB,cAFxB;;;;;;;;;;;;;;;;;;;;;ACFd,IAAMusB,UAAU,GAAG,GAAnB;AACA,IAAMC,SAAS,GAAG,GAAlB;AACA,IAAMC,UAAU,GAAG,GAAnB;AACA,IAAMC,UAAU,GAAG,IAAnB;AACA,IAAMC,UAAU,GAAG,IAAnB,EAMA;;AACO,IAAMC,kBAAb;AALA;AAAA;;AAOE,gBAAOprB,MAAM,CAACW,UAAP,GAAoBoqB,UAA3B;AACA,eAAM/qB,MAAM,CAACW,UAAP,IAAqBoqB,UAA3B;AACA,gBAAO/qB,MAAM,CAACW,UAAP,IAAqBqqB,SAA5B;AACA,gBAAOhrB,MAAM,CAACW,UAAP,IAAqBsqB,UAA5B;AACA,gBAAOjrB,MAAM,CAACW,UAAP,IAAqBuqB,UAA5B;AACA,iBAAQlrB,MAAM,CAACW,UAAP,IAAqBwqB,UAA7B;AAWD;;AAlBD;AAAA;AAAA,WAUE,wBAAe,CAACE,WAAD,EAAY;AACzB,WAAKC,IAAL,GAAYD,WAAW,IAAIN,UAA3B;AACA,WAAKQ,GAAL,GAAWF,WAAW,IAAIN,UAA1B;AACA,WAAKS,IAAL,GAAYH,WAAW,IAAIL,SAA3B;AACA,WAAKS,IAAL,GAAYJ,WAAW,IAAIJ,UAA3B;AACA,WAAKS,IAAL,GAAYL,WAAW,IAAIH,UAA3B;AACA,WAAKS,KAAL,GAAaN,WAAW,IAAIF,UAA5B;AACD;AAjBH;AAAA;;;mBAAaC;AAAkB;;;SAAlBA;AAAkB7sB,WAAlB6sB,kBAAkB;AAAA5sB,cAJjB;;;;;;;;;;;;;;;ACTd;AACA;AACA;AAEO,IAAM8lB,WAAW,GAAG;AACzBsH,YAAU,EAAE,KADa;AAEzBC,KAAG,EAAE,KAFoB;AAGzBC,QAAM,EAAE;AAHiB,CAApB;AAMP;;;;;;;AAOA;;;;;;;;;;;;;;;;ACjBA;AAEA;AAEO,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAACC,MAAD,EAAczX,SAAd,EAA4D;AACtF,MAAIzK,QAAJ;AACAkiB,QAAM,CAACC,GAAP,CAAWC,MAAX;AACA3X,WAAS,GAAGtE,IAAZ,CAAiB,aAAG;AAAA,WAAKnG,QAAQ,GAAGqiB,GAAhB;AAAA,GAApB;AACAH,QAAM,CAACC,GAAP,CAAWG,OAAX,CAAmB,YAAK;AACtB,QAAMC,MAAM,GAAmBviB,QAAQ,CAACwiB,QAAT,CAAkB5jB,GAAlB,CAAsBmjB,yDAAtB,CAA/B;AACA,QAAMU,QAAQ,GAAGF,MAAM,CAACG,UAAP,CAAkBtgB,GAAlB,CAAsB,WAAC;AAAA,aAAIZ,CAAC,CAAC4L,QAAF,CAAW1X,aAAf;AAAA,KAAvB,CAAjB;AACA,QAAMitB,WAAW,GAAGX,iEAAc,CAACS,QAAD,CAAlC;AACAziB,YAAQ,CAAC4iB,OAAT;AACAD,eAAW;AACZ,GAND;AAOD,CAXM;;;;;;;;;;;;;;;;;ACJP;AAGA;AACA;AAEA;;AAEA,IAAIrI,6EAAJ,EAA4B;AAC1BuI,EAAAA,6DAAc;AACf;;AAED,IAAMpY,SAAS,GAAG,SAAZA,SAAY;AAAA,SAAMqY,sEAAAA,GAAyBC,eAAzB,CAAyCvY,sDAAzC,CAAN;AAAA,CAAlB;;AAEA,IAAI8P,sEAAJ,EAAqB;AACnB,MAAI4H,KAAJ,EAAmB,EAAnB,MAEO;AACL;AACAxmB,WAAO,CAACG,KAAR,CAAc,4CAAd;AACAH,WAAO,CAACsnB,GAAR,CAAY,4CAAZ;AACA;AACD;AACF,CATD,MASO;AACLvY,WAAS,GAAGwY,KAAZ,CAAkB,aAAG;AAAA;AACnB;AACAvnB,aAAO,CAACsnB,GAAR,CAAY5U,GAAZ;AAFmB;AAAA;AAGnB;AAHF;AAKD","sources":["./src/@core/animations/core.animation.ts","./src/@core/common.module.ts","./src/@core/components/card-snippet/card-snippet.component.html","./src/@core/components/card-snippet/card-snippet.component.ts","./src/@core/components/card-snippet/card-snippet.module.ts","./src/@core/components/core-menu/core-menu.component.ts","./src/@core/components/core-menu/core-menu.component.html","./src/@core/components/core-menu/core-menu.module.ts","./src/@core/components/core-menu/core-menu.service.ts","./src/@core/components/core-menu/horizontal/collapsible/collapsible.component.ts","./src/@core/components/core-menu/horizontal/collapsible/collapsible.component.html","./src/@core/components/core-menu/horizontal/item/item.component.html","./src/@core/components/core-menu/horizontal/item/item.component.ts","./src/@core/components/core-menu/vertical/collapsible/collapsible.component.ts","./src/@core/components/core-menu/vertical/collapsible/collapsible.component.html","./src/@core/components/core-menu/vertical/icon/icon.component.html","./src/@core/components/core-menu/vertical/icon/icon.component.ts","./src/@core/components/core-menu/vertical/item/item.component.html","./src/@core/components/core-menu/vertical/item/item.component.ts","./src/@core/components/core-menu/vertical/section/section.component.html","./src/@core/components/core-menu/vertical/section/section.component.ts","./src/@core/components/core-sidebar/core-sidebar.component.ts","./src/@core/components/core-sidebar/core-sidebar.component.html","./src/@core/components/core-sidebar/core-sidebar.module.ts","./src/@core/components/core-sidebar/core-sidebar.service.ts","./src/@core/components/core-touchspin/core-touchspin.component.ts","./src/@core/components/core-touchspin/core-touchspin.component.html","./src/@core/components/core-touchspin/core-touchspin.module.ts","./src/@core/components/index.ts","./src/@core/components/theme-customizer/theme-customizer.component.ts","./src/@core/components/theme-customizer/theme-customizer.component.html","./src/@core/components/theme-customizer/theme-customizer.module.ts","./src/@core/core.module.ts","./src/@core/directives/core-feather-icons/core-feather-icons.ts","./src/@core/directives/core-ripple-effect/core-ripple-effect.directive.ts","./src/@core/directives/directives.ts","./src/@core/pipes/filter.pipe.ts","./src/@core/pipes/initials.pipe.ts","./src/@core/pipes/pipes.module.ts","./src/@core/pipes/safe.pipe.ts","./src/@core/pipes/stripHtml.pipe.ts","./src/@core/services/config.service.ts","./src/@core/services/loading-screen.service.ts","./src/@core/services/media.service.ts","./src/@core/services/translation.service.ts","./src/app/app-config.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/core/components/alert/alert.component.ts","./src/app/core/components/alert/alert.component.html","./src/app/core/components/core-components.module.ts","./src/app/core/components/pagination/pagination.component.ts","./src/app/core/components/pagination/pagination.component.html","./src/app/core/guards/auth.guards.ts","./src/app/core/interceptors/error-interceptor.ts","./src/app/core/interceptors/token.interceptor.ts","./src/app/core/layout/components/content-header/breadcrumb/breadcrumb.component.html","./src/app/core/layout/components/content-header/breadcrumb/breadcrumb.component.ts","./src/app/core/layout/components/content-header/breadcrumb/breadcrumb.module.ts","./src/app/core/layout/components/content-header/content-header.component.html","./src/app/core/layout/components/content-header/content-header.component.ts","./src/app/core/layout/components/content-header/content-header.module.ts","./src/app/core/layout/components/content/content.component.ts","./src/app/core/layout/components/content/content.component.html","./src/app/core/layout/components/content/content.module.ts","./src/app/core/layout/components/footer/footer.component.ts","./src/app/core/layout/components/footer/footer.component.html","./src/app/core/layout/components/footer/footer.module.ts","./src/app/core/layout/components/footer/scroll-to-top/scroll-top.component.ts","./src/app/core/layout/components/footer/scroll-to-top/scroll-top.component.html","./src/app/core/layout/components/menu/horizontal-menu/horizontal-menu.component.ts","./src/app/core/layout/components/menu/horizontal-menu/horizontal-menu.component.html","./src/app/core/layout/components/menu/horizontal-menu/horizontal-menu.module.ts","./src/app/core/layout/components/menu/menu.component.html","./src/app/core/layout/components/menu/menu.component.ts","./src/app/core/layout/components/menu/menu.module.ts","./src/app/core/layout/components/menu/vertical-menu/vertical-menu.component.ts","./src/app/core/layout/components/menu/vertical-menu/vertical-menu.component.html","./src/app/core/layout/components/menu/vertical-menu/vertical-menu.module.ts","./src/app/core/layout/components/navbar/navbar.component.ts","./src/app/core/layout/components/navbar/navbar.component.html","./src/app/core/layout/components/navbar/navbar.module.ts","./src/app/core/layout/custom-breakpoints.ts","./src/app/core/layout/horizontal/horizontal-layout.component.ts","./src/app/core/layout/horizontal/horizontal-layout.component.html","./src/app/core/layout/horizontal/horizontal-layout.module.ts","./src/app/core/layout/layout.module.ts","./src/app/core/layout/vertical/vertical-layout.component.ts","./src/app/core/layout/vertical/vertical-layout.component.html","./src/app/core/layout/vertical/vertical-layout.module.ts","./src/app/core/menu/menu.ts","./src/app/core/models/miscellaneous/alert.ts","./src/app/core/models/user/role.ts","./src/app/core/services/alert.service.ts","./src/app/core/services/auth.service.ts","./src/app/core/services/course-constants.service.ts","./src/app/core/services/course-filter.service.ts","./src/app/core/services/initialization.service.ts","./src/app/core/services/local-storage.service.ts","./src/app/core/services/localization.service.ts","./src/app/core/services/platform-configuration.service.ts","./src/app/core/services/profile.service.ts","./src/app/core/services/users-course-filter.service.ts","./src/app/core/utils/token-interceptor-util.ts","./src/app/features/miscellaneous/error/error.component.ts","./src/app/features/miscellaneous/error/error.component.html","./src/app/features/miscellaneous/maintenance/maintenance.component.ts","./src/app/features/miscellaneous/maintenance/maintenance.component.html","./src/app/features/miscellaneous/miscellaneous.module.ts","./src/app/features/miscellaneous/not-authorized/not-authorized.component.ts","./src/app/features/miscellaneous/not-authorized/not-authorized.component.html","./src/app/features/public/cookie-consent-modal/cookie-consent-modal.component.html","./src/app/features/public/cookie-consent-modal/cookie-consent-modal.component.ts","./src/app/shared/components/confirm-modal/confirm-modal.component.ts","./src/app/shared/components/confirm-modal/confirm-modal.component.html","./src/app/shared/components/datepicker/datepicker.component.ts","./src/app/shared/components/datepicker/datepicker.component.html","./src/app/shared/components/dropdown/dropdown.component.ts","./src/app/shared/components/dropdown/dropdown.component.html","./src/app/shared/components/input-filter-dropdown/input-filter-dropdown.component.ts","./src/app/shared/components/input-filter-dropdown/input-filter-dropdown.component.html","./src/app/shared/components/multipleselect/multiple-select/multiple-select.component.ts","./src/app/shared/components/multipleselect/multiple-select/multiple-select.component.html","./src/app/shared/directives/two-digit-decimal-positive-number.directive.ts","./src/app/shared/shared.module.ts","./src/app/shared/util/custom-date-parser-formatter.ts","./src/app/shared/util/responsiveness-util.service.ts","./src/environments/environment.ts","./src/hmr.ts","./src/main.ts"],"sourcesContent":["import { trigger, transition, style, query, group, animateChild, animate, keyframes } from '@angular/animations';\n\n// Animation: FadeInLeft\nexport const fadeInLeft = trigger('fadeInLeft', [\n transition('* => *', [\n query(\n ':enter, :leave',\n style({ position: 'absolute', left: 0, width: '100%', paddingRight: '2rem', paddingLeft: '2rem', opacity: 0 }),\n {\n optional: true\n }\n ),\n query(':enter', style({ transform: 'translateX(-100%)', opacity: 0 }), { optional: true }),\n\n group([\n query(\n ':leave',\n [\n style({ transform: 'translateX(0%)' }),\n animate('600ms ease', style({ opacity: 1, transform: 'translateX(100%)' }))\n ],\n { optional: true }\n ),\n query(':enter', [animate('800ms ease', style({ opacity: 1, transform: 'translateX(0%)' })), animateChild()], {\n optional: true\n })\n ])\n ])\n]);\n\n// Animation: ZoomIn\nexport const zoomIn = trigger('zoomIn', [\n transition('* <=> *', [\n query(\n ':enter, :leave',\n [\n style({\n position: 'absolute',\n left: 0,\n width: '100%',\n paddingRight: '2rem',\n paddingLeft: '2rem',\n opacity: 0,\n transform: 'scale(0.5) translateY(-20%)'\n })\n ],\n { optional: true }\n ),\n query(\n ':enter',\n [\n animate(\n '400ms ease',\n style({ opacity: 1, paddingRight: '2rem', paddingLeft: '2rem', transform: 'scale(1) translateY(0)' })\n )\n ],\n {\n optional: true\n }\n )\n ])\n]);\n\n// Animation: FadeIn\nexport const fadeIn = trigger('fadeIn', [\n transition('* <=> *', [\n query(\n ':enter, :leave',\n [\n style({\n position: 'absolute',\n left: 0,\n width: '100%',\n paddingRight: '2rem',\n paddingLeft: '2rem',\n opacity: 0\n })\n ],\n { optional: true }\n ),\n query(':enter', [animate('500ms ease', style({ opacity: 1, paddingRight: '2rem', paddingLeft: '2rem' }))], {\n optional: true\n })\n ])\n]);\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { CoreDirectivesModule } from '@core/directives/directives';\nimport { CorePipesModule } from '@core/pipes/pipes.module';\n\n@NgModule({\n imports: [CommonModule, FlexLayoutModule, FormsModule, ReactiveFormsModule, CoreDirectivesModule, CorePipesModule],\n exports: [CommonModule, FlexLayoutModule, FormsModule, ReactiveFormsModule, CoreDirectivesModule, CorePipesModule]\n})\nexport class CoreCommonModule {}\n","\n
\n
\n \n\n \n
\n\n \n \n\n \n \n\n \n
\n
\n \n
    \n
  • \n HTML\n \n
    \n
    \n                  \n                  copied !\n                  \n                  \n                
    \n
    \n
    \n
  • \n
  • \n TS\n \n
    \n
    \n                  \n                  copied !\n                  \n                  \n                
    \n
    \n
    \n
  • \n
  • \n SCSS\n \n
    \n
    \n                  \n                  copied !\n                  \n                  \n                
    \n
    \n
    \n
  • \n
  • \n JSON\n \n
    \n
    \n
    \n                  \n                  copied !\n                  \n                  \n                
    \n
    \n
    \n
  • \n
\n \n\n \n
\n \n
\n
\n \n
\n\n","import { Component, OnInit, Input } from '@angular/core';\n\n// snippetCode interface\nexport interface snippetCode {\n isCollapsed?: boolean;\n active?: string;\n html?: string;\n ts?: string;\n scss?: string;\n json?: string;\n}\n\n@Component({\n selector: 'core-card-snippet',\n templateUrl: './card-snippet.component.html',\n styleUrls: ['./card-snippet.component.scss']\n})\nexport class CoreCardSnippetComponent implements OnInit {\n // public\n public copyCodeStatus: boolean = false;\n\n // private\n private _defaultSnippetCode: snippetCode = {\n isCollapsed: true // default collapsed is true\n };\n\n @Input() snippetCode: snippetCode;\n\n constructor() {}\n\n // Public Methods\n // -----------------------------------------------------------------------------------------------------\n /**\n * copyCode\n *\n * @param code\n */\n copyCode(code) {\n const selectBox = document.createElement('textarea');\n selectBox.style.position = 'fixed';\n selectBox.value = code;\n document.body.appendChild(selectBox);\n selectBox.focus();\n selectBox.select();\n document.execCommand('copy');\n document.body.removeChild(selectBox);\n setTimeout(() => {\n this.copyCodeStatus = false;\n }, 500);\n this.copyCodeStatus = true;\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n /**\n * On init\n */\n ngOnInit(): void {\n // concatenate default properties with passed properties\n this.snippetCode = { ...this._defaultSnippetCode, ...this.snippetCode };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { HighlightModule, HIGHLIGHT_OPTIONS } from 'ngx-highlightjs';\n\nimport { CoreCommonModule } from '@core/common.module';\nimport { CoreCardSnippetComponent } from '@core/components/card-snippet/card-snippet.component';\n\n@NgModule({\n declarations: [CoreCardSnippetComponent],\n imports: [CommonModule, NgbModule, HighlightModule, CoreCommonModule],\n providers: [\n {\n provide: HIGHLIGHT_OPTIONS,\n useValue: {\n fullLibraryLoader: () => import('highlight.js')\n }\n }\n ],\n exports: [CoreCardSnippetComponent]\n})\nexport class CardSnippetModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CoreMenuService } from '@core/components/core-menu/core-menu.service';\n\n@Component({\n selector: '[core-menu]',\n templateUrl: './core-menu.component.html',\n styleUrls: ['./core-menu.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CoreMenuComponent implements OnInit {\n\n @Input()\n layout = 'vertical';\n\n @Input()\n menu: any;\n\n private _unsubscribeAll: Subject;\n\n constructor(private _changeDetectorRef: ChangeDetectorRef, private _coreMenuService: CoreMenuService) {\n this._unsubscribeAll = new Subject();\n }\n\n ngOnInit(): void {\n // Set the menu either from the input or from the service\n this.menu = this.menu || this._coreMenuService.getCurrentMenu();\n\n // Subscribe to the current menu changes\n this._coreMenuService.onMenuChanged.pipe(takeUntil(this._unsubscribeAll)).subscribe(() => {\n\n // Load menu\n this.menu = this._coreMenuService.getCurrentMenu();\n\n this._changeDetectorRef.markForCheck();\n });\n }\n}\n","\n\n \n \n
  • \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n
  • \n
    \n
    \n \n \n \n
    \n
    \n\n\n\n\n \n \n
  • \n\n \n \n \n \n\n \n \n
    \n
    \n \n \n \n
    \n
    \n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { CoreCommonModule } from '@core/common.module';\nimport { CoreMenuComponent } from '@core/components/core-menu/core-menu.component';\n\nimport { CoreMenuVerticalSectionComponent } from '@core/components/core-menu/vertical/section/section.component';\nimport { CoreMenuVerticalItemComponent } from '@core/components/core-menu/vertical/item/item.component';\nimport { CoreMenuVerticalCollapsibleComponent } from '@core/components/core-menu/vertical/collapsible/collapsible.component';\nimport { CoreMenuHorizontalItemComponent } from '@core/components/core-menu/horizontal/item/item.component';\nimport { CoreMenuHorizontalCollapsibleComponent } from '@core/components/core-menu/horizontal/collapsible/collapsible.component';\nimport { CoreMenuVerticalIconComponent } from './vertical/icon/icon.component';\n\nCoreMenuVerticalSectionComponent;\nCoreMenuVerticalItemComponent;\nCoreMenuVerticalCollapsibleComponent;\n\n@NgModule({\n imports: [CommonModule, RouterModule, TranslateModule.forChild(), CoreCommonModule],\n exports: [CoreMenuComponent],\n declarations: [\n CoreMenuComponent,\n CoreMenuVerticalSectionComponent,\n CoreMenuVerticalItemComponent,\n CoreMenuVerticalCollapsibleComponent,\n CoreMenuHorizontalItemComponent,\n CoreMenuHorizontalCollapsibleComponent,\n CoreMenuVerticalIconComponent\n ]\n})\nexport class CoreMenuModule {}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport {CoreMenu} from '../../types';\nimport {AuthService} from '../../../app/core/services/auth.service';\nimport {Role} from '../../../app/core/models/user/role';\nimport {\n menuSectionApprover, menuSectionParticipantCourse, menuSectionPostsUser,\n menuSectionCourseAdministration, menuSectionCourseAndPostAdministration,\n menuSectionGeneralAdministration, menuSectionMagazineAdministration, menuSectionPublicCourses, menuAccessibilityIcon\n\n} from '../../../app/core/menu/menu';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CoreMenuService {\n onItemCollapsed: Subject;\n onItemCollapseToggled: Subject;\n\n private _onMenuChanged: BehaviorSubject;\n private currentMenu: CoreMenu[] = [];\n\n constructor(private _router: Router,\n private authService: AuthService) {\n this.onItemCollapsed = new Subject();\n this.onItemCollapseToggled = new Subject();\n this._onMenuChanged = new BehaviorSubject(null);\n }\n\n get onMenuChanged(): Observable {\n return this._onMenuChanged.asObservable();\n }\n\n getCurrentMenu(): any {\n return this.currentMenu;\n }\n\n addSectionToMenu(menuSection: CoreMenu): void {\n this.currentMenu.push(menuSection);\n }\n\n setMenu(): void {\n if (this.currentMenu.length > 0) {\n this.currentMenu = [];\n }\n if (!this.authService.isLoggedIn()) {\n this.addSectionToMenu(menuSectionPublicCourses);\n this.addSectionToMenu(menuSectionPostsUser);\n this._onMenuChanged.next({});\n return;\n }\n if (this.authService.currentUserHasRole(Role.SUPERADMIN_SCHAARBEEK)) {\n this.addSectionToMenu(menuSectionGeneralAdministration);\n this.addSectionToMenu(menuSectionCourseAndPostAdministration)\n }\n if (this.authService.currentUserHasRole(Role.LOCAL_ADMIN)) {\n this.addSectionToMenu(menuSectionCourseAdministration);\n }\n if (this.authService.currentUserHasRole(Role.APPROVER_FREE_CLB)) {\n this.addSectionToMenu(menuSectionApprover);\n }\n if (this.authService.currentUserHasRole(Role.PARTICIPANT_FREE) ||\n this.authService.currentUserHasRole(Role.CLB_EXTERNAL_PARTICIPANT)) {\n this.addSectionToMenu(menuSectionParticipantCourse);\n }\n if (this.authService.isAcademie()) {\n this.addSectionToMenu(menuSectionPostsUser);\n }\n\n if (this.authService.currentUserHasRole(Role.EMAGAZINE_ADMIN)) {\n this.addSectionToMenu(menuSectionMagazineAdministration);\n }\n\n if (this.authService.currentUserHasRole(Role.PARTICIPANT_FREE) ||\n this.authService.currentUserHasRole(Role.CLB_EXTERNAL_PARTICIPANT)) {\n this.addSectionToMenu(menuAccessibilityIcon);\n }\n\n this._onMenuChanged.next({});\n }\n}\n","import { Component, HostListener, HostBinding, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { CoreConfigService } from '@core/services/config.service';\nimport { CoreMenuService } from '@core/components/core-menu/core-menu.service';\n\n\n\n@Component({\n selector: '[core-menu-horizontal-collapsible]',\n templateUrl: './collapsible.component.html'\n})\nexport class CoreMenuHorizontalCollapsibleComponent implements OnInit, OnDestroy {\n coreConfig: any;\n isShow = false;\n\n // Conditionally add the active classes if UrlInChildren\n @HostBinding('class.active')\n @HostBinding('class.open')\n @HostBinding('class.sidebar-group-active')\n public isActive = false;\n\n @Input()\n item: any;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {Router} _router\n * @param {CoreConfigService} _coreConfigService\n * @param {CoreMenuService} _coreMenuService\n */\n constructor(\n private el: ElementRef,\n private _router: Router,\n private _coreConfigService: CoreConfigService,\n private _coreMenuService: CoreMenuService\n ) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n\n\n // Listen for router events and expand\n this._router.events\n .pipe(\n filter(event => event instanceof NavigationEnd),\n takeUntil(this._unsubscribeAll)\n )\n .subscribe((event: NavigationEnd) => {\n // Confirm if the urlAfterRedirects can be found in one of the children of this item\n if (this.confirmUrlInChildren(this.item, event.urlAfterRedirects)) {\n this.isActive = true;\n } else {\n this.isActive = false;\n }\n });\n\n // Check if the url can be found in one of the children of this item\n // Required for onInit case (i.e switching theme customizer menu layout)\n if (this.confirmUrlInChildren(this.item, this._router.url)) {\n this.isActive = true;\n } else {\n this.isActive = false;\n }\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Open\n */\n @HostListener('mouseenter')\n show(): void {\n this.isShow = true;\n this.setSubMenuProp();\n }\n\n /**\n * Close\n */\n @HostListener('mouseleave')\n hide(): void {\n this.isShow = false;\n }\n\n /**\n * Set sub-menu properties based on screen size\n *\n */\n setSubMenuProp(): void {\n setTimeout(() => {\n let nativeElement = this.el.nativeElement,\n nativeElementChildren = this.el.nativeElement.children[1];\n // If element has sub menu\n if (nativeElement.classList.contains('dropdown-submenu')) {\n const innerHeight = window.innerHeight,\n dropdownTop = nativeElementChildren.getBoundingClientRect().top,\n dropdownLeft = nativeElementChildren.getBoundingClientRect().left,\n dropdownHeight = nativeElementChildren.scrollHeight,\n dropdownWidth = nativeElementChildren.scrollWidth;\n\n //Set sub-menu height\n if (innerHeight - dropdownTop - dropdownHeight - 28 < 1) {\n let maxHeight = innerHeight - dropdownTop - 25;\n nativeElementChildren.setAttribute(\n 'style',\n 'overflow-y: auto; overflow-x: hidden; max-height : ' + maxHeight + 'px'\n );\n }\n\n // Open sub-menu on left based on screen size (To avoid opn sub-menu outside of the screen)\n if (dropdownLeft + dropdownWidth - (window.innerWidth - 16) >= 0) {\n nativeElementChildren.parentElement.classList.add('openLeft');\n }\n }\n });\n }\n\n /**\n * Confirms if the provided url can be found in one of the given parent's children\n *\n * @param parent\n * @param url\n * @returns {boolean}\n */\n confirmUrlInChildren(parent, url): boolean {\n const children = parent.children;\n\n // Return false if parent don't have any children\n if (!children) {\n return false;\n }\n\n // Loop all the children\n for (const child of children) {\n // If children has child (Sub to sub item url)\n if (child.children) {\n // Call function again with child\n if (this.confirmUrlInChildren(child, url)) {\n return true;\n }\n }\n\n // If child.url is same as provided url\n if (child.url === url || url.includes(child.url)) {\n return true;\n }\n }\n\n return false;\n }\n}\n","\n \n \n \n \n\n \n \n \n {{ item.title }}\n \n\n \n
      \n \n \n \n \n \n \n \n \n
    \n
    \n","\n \n \n \n \n\n \n \n \n \n\n \n \n {{ item.title }}\n \n\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: '[core-menu-horizontal-item]',\n templateUrl: './item.component.html'\n})\nexport class CoreMenuHorizontalItemComponent {\n @Input()\n item: any;\n}\n","import { ChangeDetectorRef, Component, HostBinding, Input, OnDestroy, OnInit } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { CoreMenuItem } from '@core/types';\nimport { CoreMenuService } from '@core/components/core-menu/core-menu.service';\n\n\n@Component({\n selector: '[core-menu-vertical-collapsible]',\n templateUrl: './collapsible.component.html'\n})\nexport class CoreMenuVerticalCollapsibleComponent implements OnInit, OnDestroy {\n\n @Input()\n item: CoreMenuItem;\n\n @HostBinding('class.open')\n public isOpen = false;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {Router} _router\n * @param {CoreMenuService} _coreMenuService\n * @param {ChangeDetectorRef} _changeDetectorRef\n */\n constructor(\n private _router: Router,\n private _coreMenuService: CoreMenuService,\n private _changeDetectorRef: ChangeDetectorRef\n ) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Listen for router events and expand\n this._router.events\n .pipe(\n filter(event => event instanceof NavigationEnd),\n takeUntil(this._unsubscribeAll)\n )\n .subscribe((event: NavigationEnd) => {\n // Confirm if the urlAfterRedirects can be found in one of the children of this item\n if (this.confirmUrlInChildren(this.item, event.urlAfterRedirects)) {\n this.expand();\n } else {\n this.collapse();\n }\n });\n\n // Subscribe to the current menu changes\n this._coreMenuService.onMenuChanged.pipe(takeUntil(this._unsubscribeAll)).subscribe(() => {\n });\n\n // Listen for collapsing of any menu item\n this._coreMenuService.onItemCollapsed.pipe(takeUntil(this._unsubscribeAll)).subscribe(clickedItem => {\n if (clickedItem && clickedItem.children) {\n // Check if the clicked item is one of the children of this item\n if (this.confirmItemInChildren(this.item, clickedItem)) {\n return;\n }\n\n // Check if the url can be found in one of the children of this item\n if (this.confirmUrlInChildren(this.item, this._router.url)) {\n return;\n }\n\n // If the clicked item is not this item, collapse...\n if (this.item !== clickedItem) {\n this.collapse();\n }\n }\n });\n\n // Check if the url can be found in one of the children of this item\n // Required for onInit case (i.e switching theme customizer menu layout)\n if (this.confirmUrlInChildren(this.item, this._router.url)) {\n this.expand();\n } else {\n this.collapse();\n }\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Toggle collapse\n *\n * @param e\n */\n toggleOpen(e): void {\n e.preventDefault();\n\n this.isOpen = !this.isOpen;\n\n // Menu collapse toggled...\n this._coreMenuService.onItemCollapsed.next(this.item);\n this._coreMenuService.onItemCollapseToggled.next();\n }\n\n /**\n * Expand the collapsible menu\n */\n expand(): void {\n if (this.isOpen) {\n return;\n }\n\n this.isOpen = true;\n\n // Mark for check\n this._changeDetectorRef.markForCheck();\n\n this._coreMenuService.onItemCollapseToggled.next();\n }\n\n /**\n * Collapse the collapsible menu\n */\n collapse(): void {\n if (!this.isOpen) {\n return;\n }\n\n this.isOpen = false;\n\n // Mark for check\n this._changeDetectorRef.markForCheck();\n\n this._coreMenuService.onItemCollapseToggled.next();\n }\n\n /**\n * Confirms if the provided url can be found in one of the given parent's children\n *\n * @param parent\n * @param url\n * @returns {boolean}\n */\n confirmUrlInChildren(parent, url): boolean {\n const children = parent.children;\n\n // Return false if parent don't have any children\n if (!children) {\n return false;\n }\n\n // Loop all the children\n for (const child of children) {\n // If children has child (Sub to sub item url)\n if (child.children) {\n // Call function again with child\n if (this.confirmUrlInChildren(child, url)) {\n return true;\n }\n }\n\n // If child.url is same as provided url\n if (child.url === url || url.includes(child.url)) {\n return true;\n }\n }\n\n return false;\n }\n\n /**\n * Check if the provided parent has the provided item in one of its children\n *\n * @param parent\n * @param item\n * @returns {boolean}\n */\n confirmItemInChildren(parent, item): boolean {\n const children = parent.children;\n\n // Return false if parent don't have any children\n if (!children) {\n return false;\n }\n\n // Return true parent has the provided item in one of its children\n if (children.indexOf(item) > -1) {\n return true;\n }\n\n for (const child of children) {\n if (child.children) {\n // Call function again with child (for sub to sub item)\n if (this.confirmItemInChildren(child, item)) {\n return true;\n }\n }\n }\n\n return false;\n }\n}\n","\n \n \n \n \n\n \n \n \n {{ item.title }}\n \n {{ item.badge.title }}\n \n \n\n \n
      \n \n \n \n \n \n \n \n \n
    \n
    \n","\n \n \n \n \n\n\n","import { Component, Input } from '@angular/core';\n\nimport { CoreMenuItem } from '@core/types';\n\n@Component({\n selector: '[core-menu-vertical-icon]',\n templateUrl: './icon.component.html',\n styleUrls: ['icon.component.scss']\n})\nexport class CoreMenuVerticalIconComponent {\n @Input()\n item: CoreMenuItem;\n}\n","\n \n \n \n \n\n \n \n \n \n\n \n \n \n {{ item.translate | translate }}\n \n {{ item.badge.title }}\n \n \n\n","import { Component, Input } from '@angular/core';\n\nimport { CoreMenuItem } from '@core/types';\n\n@Component({\n selector: '[core-menu-vertical-item]',\n templateUrl: './item.component.html'\n})\nexport class CoreMenuVerticalItemComponent {\n @Input()\n item: CoreMenuItem;\n}\n","\n {{ item.translate | translate }}\n \n \n\n","import { Component, Input } from '@angular/core';\n\nimport { CoreMenuItem } from '@core/types';\n\n@Component({\n selector: '[core-menu-vertical-section]',\n templateUrl: './section.component.html'\n})\nexport class CoreMenuVerticalSectionComponent {\n @Input()\n item: CoreMenuItem;\n}\n","import {\n Component,\n Inject,\n ChangeDetectorRef,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\nimport { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations';\nimport { DOCUMENT } from '@angular/common';\nimport { MediaObserver } from '@angular/flex-layout';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CoreMediaService } from '@core/services/media.service';\nimport { CoreConfigService } from '@core/services/config.service';\n\nimport { CoreSidebarService } from '@core/components/core-sidebar/core-sidebar.service';\n\n@Component({\n selector: 'core-sidebar',\n templateUrl: './core-sidebar.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class CoreSidebarComponent implements OnInit, OnDestroy {\n // Sidebar name (Component input)\n @Input()\n name: string;\n\n // Class name for the overlay (Component input)\n @Input()\n overlayClass: string;\n\n // Sidebar Opened\n isOpened: boolean;\n\n // Collapsible sidebar (Component input)\n @Input()\n collapsibleSidebar: string;\n\n // iscollapsibleSidebar\n iscollapsibleSidebar: boolean;\n\n // Collapsible Sidebar expanded\n @HostBinding('class.expanded')\n expanded: boolean;\n\n // Collapsed changed event\n @Output()\n collapsedChangedEvent: EventEmitter;\n\n // Opened changed event\n @Output()\n openedChangedEvent: EventEmitter;\n\n // Set overlay visibility\n @Input()\n overlayVisibility: boolean;\n\n // Hide sidebar on esc key press\n @Input()\n hideOnEsc: boolean;\n\n @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n if (this.hideOnEsc) {\n this.close();\n }\n }\n\n // Set menu class for current menu type\n menuClass: string;\n\n rootElement: any;\n\n // Private\n private _coreConfig: any;\n private _collapsed: boolean;\n private _wasCollapsible: boolean;\n private _wasCollapsed: boolean;\n private _animationPlayer: AnimationPlayer;\n private _overlay: HTMLElement | null = null;\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {DOCUMENT} document\n * @param {Renderer2} _renderer\n * @param {ElementRef} _elementRef\n * @param {CoreConfigService} _coreConfigService\n * @param {ChangeDetectorRef} _changeDetectorRef\n * @param {CoreMediaService} _coreMediaService\n * @param {CoreSidebarService} _coreSidebarService\n * @param {AnimationBuilder} _animationBuilder\n * @param {MediaObserver} _mediaObserver\n */\n constructor(\n @Inject(DOCUMENT) private document: any,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _coreConfigService: CoreConfigService,\n private _changeDetectorRef: ChangeDetectorRef,\n private _coreMediaService: CoreMediaService,\n private _coreSidebarService: CoreSidebarService,\n private _animationBuilder: AnimationBuilder,\n private _mediaObserver: MediaObserver\n ) {\n // Set Defaults\n this.isOpened = false;\n this.overlayVisibility = true;\n this.hideOnEsc = false;\n\n // Layout root element\n this.rootElement =\n this.document.querySelectorAll('.vertical-layout')[0] || this.document.querySelectorAll('.horizontal-layout')[0];\n\n this.collapsedChangedEvent = new EventEmitter();\n this.openedChangedEvent = new EventEmitter();\n\n // Set Private Defaults\n this._collapsed = false;\n this._unsubscribeAll = new Subject();\n }\n\n // Accessors\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Collapsed\n *\n * @param {boolean} value\n */\n @Input()\n set collapsed(value: boolean) {\n // Set the collapsed value\n this._collapsed = value;\n\n // If the sidebar is closed, return\n if (!this.isOpened) {\n this.rootElement.classList.add('menu-expanded'); // Add menu expanded class default\n return;\n }\n\n // If Collapsed\n if (value) {\n // Collapse the sidebar\n this.collapse();\n\n // Add menu-collapsed in body and remove menu-expanded\n this.rootElement.classList.add('menu-collapsed');\n this.rootElement.classList.remove('menu-expanded');\n }\n // If Expanded\n else {\n // Expanded the sidebar\n this.expand();\n\n // Add menu-expanded in body and remove menu-collapsed\n this.rootElement.classList.add('menu-expanded');\n this.rootElement.classList.remove('menu-collapsed');\n }\n\n // Emit the 'collapsedChangedEvent' event\n this.collapsedChangedEvent.emit(this.collapsed);\n }\n\n get collapsed(): boolean {\n return this._collapsed;\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to app-config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this._coreConfig = config;\n if (config.layout.type == 'vertical') {\n this.menuClass = 'vertical-menu-modern';\n } else {\n this.menuClass = 'horizontal-menu';\n }\n });\n\n // Register the sidebar\n this._coreSidebarService.setSidebarRegistry(this.name, this);\n\n // Setup collapsibleSidebar\n this._setupCollapsibleSidebar();\n\n // Default collapsed\n this._defaultCollapsed();\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // If the sidebar is collapsed, expand it to reset changes\n if (this.collapsed) {\n this.expand();\n }\n\n // Remove sidebar registry\n this._coreSidebarService.removeSidebarRegistry(this.name);\n\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n // Private Methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Setup the collapsible sidebar handler\n *\n * @private\n */\n private _setupCollapsibleSidebar(): void {\n // Return if the collapsible sidebar breakpoint was not set from the layout\n if (!this.collapsibleSidebar) {\n return;\n }\n\n // Set the _wasCollapsible false for the first time\n this._wasCollapsible = false;\n\n // Set the wasCollapsed from the layout\n this._wasCollapsed = this.collapsed;\n\n // On every media(screen) change\n this._coreMediaService.onMediaUpdate.pipe(takeUntil(this._unsubscribeAll)).subscribe(() => {\n // Get the collapsible status\n const isCollapsible = this._mediaObserver.isActive(this.collapsibleSidebar);\n //! On screen resize set the config collapsed state if we have else this.collapsed\n this._wasCollapsed = this._coreConfig.layout.menu.collapsed || this.collapsed;\n\n // If sidebar is not collapsible, switch to overlay menu (On page load without resize the window)\n // ? Improve this menu condition\n if (!isCollapsible && this.name === 'menu') {\n this.rootElement.classList.remove(this.menuClass);\n this.rootElement.classList.add('vertical-overlay-menu');\n }\n\n // If the both status are the same, then return\n if (this._wasCollapsible === isCollapsible) {\n return;\n }\n\n // If isCollapsible is true, use collapsible sidebar\n if (isCollapsible) {\n // Set the collapsibleSidebar status\n this.iscollapsibleSidebar = true;\n\n // Set the the opened status to true\n this.isOpened = true;\n\n this.expanded = true; // Adde expanded class init\n\n // Emit the 'openedChangedEvent' event\n this.openedChangedEvent.emit(this.isOpened);\n\n // If the sidebar was collapsed, forcefully collapse it again\n if (this._wasCollapsed) {\n // Collapse\n this.collapsed = true;\n\n this.expanded = false; // Remove expanded class\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n // If sidebar is collapsible, switch to collapsible menu (modern-menu)\n if (this.name === 'menu') {\n this.rootElement.classList.add(this.menuClass);\n this.rootElement.classList.remove('vertical-overlay-menu', 'menu-hide');\n }\n\n // Hide the overlay if any exists\n this._hideOverlay();\n }\n // Else use overlay sidebar\n else {\n // Set the collapsibleSidebar status\n this.iscollapsibleSidebar = false;\n\n // Expanded the sidebar in case if it was collapsed\n this.expand();\n\n // Force the the opened status to close\n this.isOpened = false;\n\n // Emit the 'openedChangedEvent' event\n this.openedChangedEvent.emit(this.isOpened);\n\n // If sidebar is not collapsible, switch to overlay menu (On window resize)\n this.rootElement.classList.remove(this.menuClass);\n this.rootElement.classList.add('vertical-overlay-menu');\n\n // Hide the sidebar\n this._hideSidebar();\n }\n\n // Set the new active status\n this._wasCollapsible = isCollapsible;\n });\n }\n\n /**\n * Setup the initial collapsed status\n *\n * @private\n */\n private _defaultCollapsed(): void {\n // Return, if sidebar is not collapsed\n if (!this.collapsed) {\n return;\n }\n\n // Return if the sidebar is closed\n if (!this.isOpened) {\n return;\n }\n\n // Collapse the sidebar\n this.collapse();\n }\n\n /**\n * Show the overlay\n *\n * @private\n */\n private _showOverlay(): void {\n // Create the overlay element\n this._overlay = this._renderer.createElement('div');\n\n // Add a class to the overlay element and make it visible\n this._overlay.classList.add(this.overlayClass);\n this._overlay.classList.add('show');\n\n // If overlayVisibility is false, set the bg transparent\n if (!this.overlayVisibility) {\n this._overlay.classList.add('bg-transparent');\n }\n\n // Append the overlay element to the parent element of the sidebar\n this._renderer.appendChild(this._elementRef.nativeElement.parentElement, this._overlay);\n\n // Overlay enter animation and attach it to the animationPlayer\n this._animationPlayer = this._animationBuilder\n .build([animate('300ms ease', style({ opacity: 1 }))])\n .create(this._overlay);\n\n // Play the overlay animation\n this._animationPlayer.play();\n\n // Add an event listener to the overlay, on click of it close the sidebar\n this._overlay.addEventListener('click', () => {\n this.close();\n });\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Hide the overlay\n *\n * @private\n */\n private _hideOverlay(): void {\n // If overlay is already hidden, return\n if (!this._overlay) {\n return;\n }\n\n // Overlay leave animation and attach it to the animationPlayer\n this._animationPlayer = this._animationBuilder\n .build([animate('300ms ease', style({ opacity: 0 }))])\n .create(this._overlay);\n\n // Play the overlay leave animation\n this._animationPlayer.play();\n\n // Once the animation is done...\n this._animationPlayer.onDone(() => {\n // If the overlay still exists...\n if (this._overlay) {\n // Remove the overlay\n this._overlay.parentNode.removeChild(this._overlay);\n this._overlay = null;\n }\n });\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Change sidebar properties to make it visible\n *\n * @private\n */\n private _showSidebar(): void {\n // If menu as sidebar, add relevant classes to body to show menu\n if (this.name == 'menu') {\n // Open overlay menu\n this.rootElement.classList.add('menu-open');\n this.rootElement.classList.remove('menu-hide');\n }\n // For default sidebar add show class to make it visible\n else {\n this._renderer.addClass(this._elementRef.nativeElement, 'show');\n // Add .modal-open from body to remove browser scroll\n if (this.overlayClass === 'modal-backdrop') {\n this.rootElement.classList.add('modal-open');\n }\n }\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Change sidebar properties to make it invisible\n *\n * @private\n */\n private _hideSidebar(): void {\n // If menu as sidebar, add relevant classes to body to show menu\n if (this.name == 'menu') {\n // Hide overlay menu\n this.rootElement.classList.remove('menu-open');\n this.rootElement.classList.add('menu-hide');\n }\n // For default sidebar remove show class to make it visible\n else {\n this._renderer.removeClass(this._elementRef.nativeElement, 'show');\n\n // Remove .modal-open from body\n if (this.overlayClass === 'modal-backdrop') {\n this.rootElement.classList.remove('modal-open');\n }\n }\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n // Public Methods\n // -----------------------------------------------------------------------------------------------------\n\n // For Collapsible Sidebar\n\n /**\n * Collapse the temporarily expanded sidebar\n */\n collapseTemporarily(): void {\n // Only work if the sidebar is collapsed\n if (!this.collapsed) {\n return;\n }\n\n // Collapse the sidebar back\n this.expanded = false;\n this.collapsed = true; // Set the menu collapsed while collapsed temp.\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Expanded the sidebar temporarily\n */\n expandTemporarily(): void {\n // Only work if the sidebar is collapsed\n if (!this.collapsed) {\n return;\n }\n\n // Expanded the sidebar temporarily\n this.expanded = true;\n this.collapsed = true; // Set the menu collapsed while collapsed temp.\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * On Sidebar's Mouseenter Event\n */\n @HostListener('mouseenter')\n onMouseEnter(): void {\n // Expand the sidebar temporarily\n this.expandTemporarily();\n }\n\n /**\n * On Sidebar's Mouseleave Event\n */\n @HostListener('mouseleave')\n onMouseLeave(): void {\n // Collapse the sidebar temporarily\n this.collapseTemporarily();\n }\n\n /**\n * Collapse the sidebar permanently\n */\n collapse(): void {\n // If the sidebar is not collapsed\n if (this.collapsed) {\n return;\n }\n\n // Set collapse true\n this.collapsed = true;\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Expanded the sidebar permanently\n */\n expand(): void {\n // If the sidebar is collapsed\n if (!this.collapsed) {\n return;\n }\n\n // Set collapse false (expanded)\n this.collapsed = false;\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Toggle the sidebar expand/collapse permanently\n */\n toggleCollapsible(): void {\n if (this.collapsed) {\n this.expand();\n } else {\n this.collapse();\n }\n }\n\n // For Overlay Sidebar\n\n /**\n * Open the sidebar\n */\n open(): void {\n // If sidebar already open or collapsible, then return\n if (this.isOpened || this.iscollapsibleSidebar) {\n return;\n }\n\n // Show the sidebar\n this._showSidebar();\n\n // Show the overlay\n this._showOverlay();\n\n // Set the sidebar opened status\n this.isOpened = true;\n\n // Emit the 'openedChangedEvent' event\n this.openedChangedEvent.emit(this.isOpened);\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Close the sidebar\n */\n close(): void {\n // If sidebar is not open or collapsible, then return\n if (!this.isOpened || this.iscollapsibleSidebar) {\n return;\n }\n\n // Hide the overlay\n this._hideOverlay();\n\n // Set the opened status\n this.isOpened = false;\n\n // Emit the 'openedChangedEvent' event\n this.openedChangedEvent.emit(this.isOpened);\n\n // Hide overlay menu\n this._hideSidebar();\n\n // Change detector\n this._changeDetectorRef.markForCheck();\n }\n\n /**\n * Toggle open/close the sidebar\n */\n toggleOpen(): void {\n if (this.isOpened) {\n this.close();\n } else {\n this.open();\n }\n }\n}\n","\n","import { NgModule } from '@angular/core';\n\nimport { CoreSidebarComponent } from '@core/components/core-sidebar/core-sidebar.component';\n\n@NgModule({\n declarations: [CoreSidebarComponent],\n exports: [CoreSidebarComponent]\n})\nexport class CoreSidebarModule {}\n","import { Injectable } from '@angular/core';\nimport { CoreSidebarComponent } from '@core/components/core-sidebar/core-sidebar.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CoreSidebarService {\n // Private\n private _registry: { [key: string]: CoreSidebarComponent } = {};\n\n /**\n * Get the sidebar with the given key\n *\n * @param key\n * @returns {CoreSidebarComponent}\n */\n getSidebarRegistry(key): CoreSidebarComponent {\n // Check if the sidebar registered\n\n if (!this._registry[key]) {\n console.warn(`The sidebar with the key '${key}' doesn't exist in the registry.`);\n return;\n }\n\n // Return the sidebar\n return this._registry[key];\n }\n\n /**\n * Set the sidebar to the registry\n *\n * @param key\n * @param sidebar\n */\n\n setSidebarRegistry(key, sidebar): void {\n // Check if the key already being used\n if (this._registry[key]) {\n console.error(\n `The sidebar with the key '${key}' already exists. Either unregister it first or use a unique key.`\n );\n\n return;\n }\n\n // Set to the registry\n this._registry[key] = sidebar;\n }\n\n /**\n * Remove the sidebar from the registry\n *\n * @param key\n */\n removeSidebarRegistry(key): void {\n // Check if the sidebar registered\n if (!this._registry[key]) {\n console.warn(`The sidebar with the key '${key}' doesn't exist in the registry.`);\n }\n\n // Unregister the sidebar\n delete this._registry[key];\n }\n}\n","import { Component, OnInit, Input, Output, ViewEncapsulation, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'core-touchspin',\n templateUrl: './core-touchspin.component.html',\n styleUrls: ['./core-touchspin.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class CoreTouchspinComponent implements OnInit {\n @Input('numberValue') numberValue = 0;\n @Input('iconChevron') iconChevron = false;\n @Input('disable') disabledValue = false;\n @Input('size') size: string = '';\n @Input('color') color: string = '';\n @Input('stepValue') stepValue: number;\n @Input('maxValue') maxValue: number = 9999;\n @Input('minValue') minValue: number = 0;\n\n @Output() onChange = new EventEmitter();\n\n public disabledValueIncrement = false;\n public disabledValueDecrement = false;\n\n constructor() {}\n\n inputChange(inputValue: number) {\n if (inputValue == this.maxValue || inputValue > this.maxValue) {\n this.disabledValueIncrement = true;\n } else {\n this.disabledValueIncrement = false;\n }\n if (inputValue == this.minValue || inputValue < this.minValue) {\n this.disabledValueDecrement = true;\n } else {\n this.disabledValueDecrement = false;\n }\n\n this.emitChange(inputValue);\n }\n\n increment() {\n if (this.stepValue == undefined) {\n this.numberValue += 1;\n } else {\n this.numberValue += this.stepValue;\n }\n\n this.emitChange(this.numberValue);\n\n if (!(this.minValue == undefined || this.maxValue == undefined)) {\n if (this.numberValue == this.maxValue || this.numberValue > this.maxValue) {\n this.disabledValueIncrement = true;\n } else {\n this.disabledValueIncrement = false;\n }\n if (this.numberValue > this.minValue) {\n this.disabledValueDecrement = false;\n } else {\n this.disabledValueDecrement = true;\n }\n }\n }\n\n decrement() {\n if (this.stepValue == undefined) {\n this.numberValue -= 1;\n } else {\n this.numberValue -= this.stepValue;\n }\n\n this.emitChange(this.numberValue);\n\n if (!(this.minValue == undefined || this.maxValue == undefined)) {\n if (this.numberValue == this.minValue || this.numberValue < this.minValue) {\n this.disabledValueDecrement = true;\n } else {\n this.disabledValueDecrement = false;\n }\n if (this.numberValue < this.maxValue) {\n this.disabledValueIncrement = false;\n } else {\n this.disabledValueIncrement = true;\n }\n }\n }\n\n /**\n * Emit changed value\n * @param value\n */\n emitChange(value) {\n this.onChange.emit(value);\n }\n\n ngOnInit(): void {\n this.disabledValueIncrement = this.disabledValue;\n this.disabledValueDecrement = this.disabledValue;\n\n // Check if current value is equal to min / max value then disable button respectively\n if (this.numberValue === this.minValue) {\n this.disabledValueDecrement = true;\n } else if (this.numberValue === this.maxValue) {\n this.disabledValueIncrement = true;\n }\n }\n}\n","
    \n \n \n \n \n \n \n \n \n \n
    \n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { CoreTouchspinComponent } from '@core/components/core-touchspin/core-touchspin.component';\nimport { CoreCommonModule } from '@core/common.module';\n\n@NgModule({\n declarations: [CoreTouchspinComponent],\n imports: [CommonModule, FormsModule, CoreCommonModule],\n exports: [CoreTouchspinComponent]\n})\nexport class CoreTouchspinModule {}\n","// common components\nexport * from './core-menu/core-menu.module';\nexport * from './core-sidebar/core-sidebar.module';\nexport * from './theme-customizer/theme-customizer.module';\n","import { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CoreConfigService } from '@core/services/config.service';\nimport { CoreSidebarService } from '@core/components/core-sidebar/core-sidebar.service';\n\n@Component({\n selector: 'core-theme-customizer',\n templateUrl: './theme-customizer.component.html',\n styleUrls: ['./theme-customizer.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class CoreThemeCustomizerComponent implements OnInit, OnDestroy {\n navbarColorValue: string;\n coreConfig: any;\n form: FormGroup;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n\n * @param {FormBuilder} _formBuilder\n * @param {CoreConfigService} _coreConfigService\n * @param {CoreSidebarService} _coreSidebarService\n * */\n constructor(\n private _formBuilder: FormBuilder,\n private _coreConfigService: CoreConfigService,\n private _coreSidebarService: CoreSidebarService\n ) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Build theme config form\n this.form = this._formBuilder.group({\n app: this._formBuilder.group({\n appName: new FormControl(),\n appTitle: new FormControl(),\n appLogoImage: new FormControl(),\n appLanguage: new FormControl()\n }),\n layout: this._formBuilder.group({\n skin: new FormControl(),\n type: new FormControl(),\n animation: new FormControl(),\n menu: this._formBuilder.group({\n hidden: new FormControl(),\n collapsed: new FormControl()\n }),\n navbar: this._formBuilder.group({\n hidden: new FormControl(),\n type: new FormControl(),\n background: new FormControl(),\n customBackgroundColor: new FormControl(),\n backgroundColor: new FormControl()\n }),\n footer: this._formBuilder.group({\n hidden: new FormControl(),\n type: new FormControl(),\n background: new FormControl(),\n customBackgroundColor: new FormControl(),\n backgroundColor: new FormControl()\n }),\n enableLocalStorage: new FormControl(),\n customizer: new FormControl(),\n scrollTop: new FormControl(),\n buyNow: new FormControl()\n })\n });\n\n // Subscribe to the config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n // Update config\n this.coreConfig = config;\n\n // Set the config form values\n this.form.setValue(config, { emitEvent: false });\n });\n\n // Subscribe to the form layout.type value changes\n this.form\n .get('layout.type')\n .valueChanges.pipe(takeUntil(this._unsubscribeAll))\n .subscribe(value => {\n this._resetFormValues(value);\n });\n\n // Subscribe to the form value changes\n this.form.valueChanges.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this._coreConfigService.config = config;\n });\n\n // Set navbar color\n this.navbarColor(this.form.get('layout.navbar.backgroundColor').value);\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n // Private methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Reset form values based on the selected menu layout\n *\n * @param value\n * @private\n */\n private _resetFormValues(value): void {\n switch (value) {\n case 'vertical': {\n this.form.patchValue({\n layout: {\n // skin: 'default',\n animation: 'fadeIn',\n menu: {\n hidden: false,\n collapsed: false\n },\n navbar: {\n hidden: false,\n type: 'floating-nav',\n background: 'navbar-light',\n customBackgroundColor: true,\n backgroundColor: ''\n },\n footer: {\n hidden: false,\n type: 'footer-static',\n background: 'footer-light',\n customBackgroundColor: false,\n backgroundColor: 'bg-primary'\n }\n }\n });\n }\n case 'horizontal': {\n this.form.patchValue({\n layout: {\n // skin: 'default',\n animation: 'fadeIn',\n menu: {\n hidden: false,\n collapsed: false\n },\n navbar: {\n hidden: false,\n type: 'floating-nav',\n background: 'navbar-light',\n customBackgroundColor: true,\n backgroundColor: ''\n },\n footer: {\n hidden: false,\n type: 'footer-static',\n background: 'footer-light',\n customBackgroundColor: false,\n backgroundColor: 'bg-primary'\n }\n }\n });\n }\n }\n\n // Set navbar color\n this.navbarColor(this.form.get('layout.navbar.backgroundColor').value);\n }\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Patch selected navbar color value to form\n *\n * @param value\n */\n navbarColor(value): void {\n this.navbarColorValue = value;\n this.form.patchValue({\n layout: { navbar: { customBackgroundColor: true, backgroundColor: this.navbarColorValue } }\n });\n }\n\n /**\n * Toggle sidebar open\n *\n * @param key\n */\n toggleSidebar(key): void {\n this._coreSidebarService.getSidebarRegistry(key).toggleOpen();\n }\n}\n","
    \n \n
    \n

    Theme Customizer

    \n

    Customize & Preview in Real Time

    \n\n \n
    \n\n
    \n
    \n
    \n \n
    \n \n
    \n

    Skin

    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n
    \n

    Route Transition

    \n \n
    \n
    \n
    \n\n
    \n\n \n
    \n \n
    \n

    Menu Layout

    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n\n \n \n

    Menu Collapsed

    \n
    \n \n \n
    \n
    \n\n \n
    \n

    Menu Hidden

    \n
    \n \n \n
    \n
    \n
    \n
    \n\n \n
    \n \n
    \n

    Navbar Color

    \n
      \n \n \n \n \n \n \n \n \n
    \n
    \n \n
    \n \n Navbar Type\n

    \n

    Menu Type

    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n\n \n
    \n \n
    \n
    \n \n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport {\n PerfectScrollbarConfigInterface,\n PerfectScrollbarModule,\n PERFECT_SCROLLBAR_CONFIG\n} from 'ngx-perfect-scrollbar';\n\nimport { CoreDirectivesModule } from '@core/directives/directives';\nimport { CoreSidebarModule } from '@core/components/core-sidebar/core-sidebar.module';\n\nimport { CoreThemeCustomizerComponent } from '@core/components/theme-customizer/theme-customizer.component';\n\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\n suppressScrollX: true,\n wheelPropagation: false\n};\n\n@NgModule({\n declarations: [CoreThemeCustomizerComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n FlexLayoutModule,\n PerfectScrollbarModule,\n CoreDirectivesModule,\n CoreSidebarModule\n ],\n providers: [\n {\n provide: PERFECT_SCROLLBAR_CONFIG,\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG\n }\n ],\n exports: [CoreThemeCustomizerComponent]\n})\nexport class CoreThemeCustomizerModule {}\n","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\n\nimport { CORE_CUSTOM_CONFIG } from '@core/services/config.service';\n\n@NgModule()\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\n if (parentModule) {\n throw new Error('Import CoreModule in the AppModule only');\n }\n }\n\n static forRoot(config): ModuleWithProviders {\n return {\n ngModule: CoreModule,\n providers: [\n {\n provide: CORE_CUSTOM_CONFIG,\n useValue: config\n }\n ]\n };\n }\n}\n","import { Directive, ElementRef, Input, Inject, ChangeDetectorRef, OnChanges, SimpleChanges } from '@angular/core';\n\nimport * as Feather from 'feather-icons';\n\n@Directive({\n selector: '[data-feather]'\n})\nexport class FeatherIconDirective implements OnChanges {\n // Private\n private _nativeElement: any;\n\n @Input('data-feather') name!: string;\n @Input() class!: string;\n @Input() size!: string;\n @Input() inner!: boolean;\n\n /**\n * Constructor\n *\n * @param {ElementRef} _elementRef\n */\n constructor(\n @Inject(ElementRef) private _elementRef: ElementRef,\n @Inject(ChangeDetectorRef) private _changeDetector: ChangeDetectorRef\n ) {}\n\n ngOnChanges(changes: SimpleChanges) {\n // Get the native element\n this._nativeElement = this._elementRef.nativeElement;\n\n // SVG parameter\n this.name = changes.name ? changes.name.currentValue : '';\n this.size = changes.size ? changes.size.currentValue : '14'; // Set default size 14\n this.class = changes.class ? changes.class.currentValue : '';\n\n // Create SVG\n const svg = Feather.icons[this.name].toSvg({\n class: this.class,\n width: this.size,\n height: this.size\n });\n\n // Set SVG\n if (this.inner) {\n this._nativeElement.innerHTML = svg;\n } else {\n this._nativeElement.outerHTML = svg;\n }\n this._changeDetector.markForCheck();\n }\n}\n","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\n\nimport * as Waves from 'node-waves';\n\n@Directive({\n selector: '[rippleEffect]'\n})\nexport class RippleEffectDirective {\n // Private\n private _nativeElement: any;\n @Input() wave: string;\n /**\n * Constructor\n *\n * @param {ElementRef} _elementRef\n */\n constructor(private _elementRef: ElementRef) {}\n\n ngOnInit(): void {\n // Get the native element\n this._nativeElement = this._elementRef.nativeElement;\n\n if (\n // Attach ripple with light style i.e solid variant of button\n !this._nativeElement.className.split(' ').some(function (c) {\n return /btn-outline-.*/.test(c);\n }) &&\n !this._nativeElement.className.split(' ').some(function (c) {\n return /btn-flat-.*/.test(c);\n })\n ) {\n Waves.attach(this._nativeElement, ['waves-float', 'waves-light']);\n } else {\n // Attach ripple with transparent style i.e flat, outline variant of button\n Waves.attach(this._nativeElement);\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { FeatherIconDirective } from '@core/directives/core-feather-icons/core-feather-icons';\nimport { RippleEffectDirective } from '@core/directives/core-ripple-effect/core-ripple-effect.directive';\n\n@NgModule({\n declarations: [RippleEffectDirective, FeatherIconDirective],\n exports: [RippleEffectDirective, FeatherIconDirective]\n})\nexport class CoreDirectivesModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n@Pipe({\n name: 'filter'\n})\nexport class FilterPipe implements PipeTransform {\n /**\n * Transform\n *\n * @param {any[]} items\n * @param {string} searchText\n * @param {string} key\n *\n * @returns {any}\n */\n transform(items: any[], searchText: string, key: string): any[] {\n if (!items) return [];\n if (!searchText) return items;\n\n searchText = searchText.toLowerCase();\n return items.filter(it => {\n return it[key].toLowerCase().includes(searchText);\n });\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'initials'\n})\nexport class InitialsPipe implements PipeTransform {\n transform(fullName: string): any {\n return fullName\n ?.split(' ')\n .map(n => n[0])\n .join('');\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { FilterPipe } from '@core/pipes/filter.pipe';\n\nimport { InitialsPipe } from '@core/pipes/initials.pipe';\n\nimport { SafePipe } from '@core/pipes/safe.pipe';\nimport { StripHtmlPipe } from '@core/pipes/stripHtml.pipe';\n\n@NgModule({\n declarations: [InitialsPipe, FilterPipe, StripHtmlPipe, SafePipe],\n imports: [],\n exports: [InitialsPipe, FilterPipe, StripHtmlPipe, SafePipe]\n})\nexport class CorePipesModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';\n\n/**\n * Sanitize HTML\n */\n@Pipe({\n name: 'safe'\n})\nexport class SafePipe implements PipeTransform {\n /**\n * Pipe Constructor\n *\n * @param _sanitizer: DomSanitezer\n */\n // tslint:disable-next-line\n constructor(protected _sanitizer: DomSanitizer) {}\n\n /**\n * Transform\n *\n * @param value: string\n * @param type: string\n */\n transform(value: string, type: string): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {\n switch (type) {\n case 'html':\n return this._sanitizer.bypassSecurityTrustHtml(value);\n case 'style':\n return this._sanitizer.bypassSecurityTrustStyle(value);\n case 'script':\n return this._sanitizer.bypassSecurityTrustScript(value);\n case 'url':\n return this._sanitizer.bypassSecurityTrustUrl(value);\n case 'resourceUrl':\n return this._sanitizer.bypassSecurityTrustResourceUrl(value);\n default:\n return this._sanitizer.bypassSecurityTrustHtml(value);\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'striphtml'\n})\nexport class StripHtmlPipe implements PipeTransform {\n transform(value: string): any {\n return value.replace(/<.*?>/g, ''); // replace tags\n }\n}\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { ResolveEnd, Router } from '@angular/router';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport * as _ from 'lodash';\n\n// Injection token for the core custom settings\nexport const CORE_CUSTOM_CONFIG = new InjectionToken('coreCustomConfig');\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CoreConfigService {\n // Private\n public localConfig: any;\n private readonly _defaultConfig: any;\n private _configSubject: BehaviorSubject;\n\n /**\n * Constructor\n *\n * @param _config\n * @param {Router} _router\n */\n constructor(private _router: Router, @Inject(CORE_CUSTOM_CONFIG) private _config) {\n // Get the config from local storage\n if (_config.layout.enableLocalStorage) {\n this.localConfig = JSON.parse(localStorage.getItem('config'));\n } else {\n localStorage.removeItem('config');\n }\n\n // Set the defaultConfig to localConfig if we have else appConfig (app-config.ts)\n this._defaultConfig = this.localConfig ? this.localConfig : _config;\n\n // Initialize the config service\n this._initConfig();\n }\n\n // Accessors\n // -----------------------------------------------------------------------------------------------------\n\n // Set the config\n set config(data) {\n let config;\n\n // Set config = localConfig, If we have else defaultConfig\n if (this.localConfig) {\n config = this.localConfig;\n } else {\n config = this._configSubject.getValue();\n }\n\n // Merge provided data with config, and create new merged config\n config = _.merge({}, config, data);\n\n // Set config to local storage if enableLocalStorage parameter is true\n if (config.layout.enableLocalStorage) {\n localStorage.setItem('config', JSON.stringify(config));\n }\n\n // Inform the observers\n this._configSubject.next(config);\n }\n\n // Get the config\n get config(): any | Observable {\n return this._configSubject.asObservable();\n }\n\n /**\n * Get default config\n *\n * @returns {any}\n */\n get defaultConfig(): any {\n return this._defaultConfig;\n }\n\n // Private methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Initialize\n *\n * @private\n */\n private _initConfig(): void {\n // Set the config from the default config\n this._configSubject = new BehaviorSubject(_.cloneDeep(this._defaultConfig));\n\n // On every RoutesRecognized event\n // Check if localDefault (localStorage if we have else defaultConfig) is different form the default one\n this._router.events.pipe(filter(event => event instanceof ResolveEnd)).subscribe(() => {\n // Get the local config from local storage\n this.localConfig = JSON.parse(localStorage.getItem('config'));\n\n // Set localDefault to localConfig if we have else defaultConfig\n let localDefault = this.localConfig ? this.localConfig : this._defaultConfig;\n\n // If localDefault is different form the provided config (page config)\n if (!_.isEqual(this._configSubject.getValue().layout, localDefault.layout)) {\n // Clone the current config\n const config = _.cloneDeep(this._configSubject.getValue());\n\n // Reset the layout from the default config\n config.layout = _.cloneDeep(localDefault.layout);\n\n // Set the config\n this._configSubject.next(config);\n }\n });\n }\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Set config\n *\n * @param data\n * @param {{emitEvent: boolean}} param\n */\n setConfig(data, param = { emitEvent: true }): void {\n let config;\n\n // Set config = localConfig, If we have else defaultConfig\n this.localConfig = JSON.parse(localStorage.getItem('config'));\n if (this.localConfig) {\n config = this.localConfig;\n } else {\n config = this._configSubject.getValue();\n }\n\n // Merge provided value with config, and create new merged config\n config = _.merge({}, config, data);\n\n // Set config to local storage if enableLocalStorage parameter is true\n if (config.layout.enableLocalStorage) {\n localStorage.setItem('config', JSON.stringify(config));\n }\n\n // If emitEvent option is true...\n if (param.emitEvent === true) {\n // Inform the observers\n this._configSubject.next(config);\n }\n }\n\n /**\n * Get config\n *\n * @returns {Observable}\n */\n getConfig(): Observable {\n return this._configSubject.asObservable();\n }\n\n /**\n * Reset to the default config\n */\n resetConfig(): void {\n this._configSubject.next(_.cloneDeep(this._defaultConfig));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\nimport { animate, AnimationBuilder, AnimationPlayer, style } from '@angular/animations';\nimport { NavigationEnd, Router } from '@angular/router';\n\nimport { filter, take } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CoreLoadingScreenService {\n loadingScreenEl: any;\n animationPlayer: AnimationPlayer;\n\n /**\n * Constructor\n *\n * @param _document\n * @param {Router} _router\n * @param {AnimationBuilder} _animationBuilder\n */\n constructor(\n @Inject(DOCUMENT) private _document: any,\n private _router: Router,\n private _animationBuilder: AnimationBuilder\n ) {\n // Initialize\n this._init();\n }\n\n // Private methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Initialize\n *\n * @private\n */\n private _init(): void {\n // Get the loading screen element\n this.loadingScreenEl = this._document.body.querySelector('#loading-bg');\n\n // If loading screen element\n if (this.loadingScreenEl) {\n // Hide it on the first NavigationEnd event\n this._router.events\n .pipe(\n filter(event => event instanceof NavigationEnd),\n take(1)\n )\n .subscribe(() => {\n setTimeout(() => {\n this.hide();\n });\n });\n }\n }\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Show the loading screen\n */\n show(): void {\n this.animationPlayer = this._animationBuilder\n .build([\n style({\n opacity: '0',\n zIndex: '99999'\n }),\n animate('250ms ease', style({ opacity: '1' }))\n ])\n .create(this.loadingScreenEl);\n\n setTimeout(() => {\n this.animationPlayer.play();\n }, 0);\n }\n\n /**\n * Hide the loading screen\n */\n hide(): void {\n this.animationPlayer = this._animationBuilder\n .build([\n style({ opacity: '1' }),\n animate(\n '250ms ease',\n style({\n opacity: '0',\n zIndex: '-10'\n })\n )\n ])\n .create(this.loadingScreenEl);\n\n setTimeout(() => {\n this.loadingScreenEl.remove();\n this.animationPlayer.play();\n }, 0);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { MediaChange, MediaObserver } from '@angular/flex-layout';\n\nimport { BehaviorSubject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CoreMediaService {\n currentMediaQuery: string;\n onMediaUpdate: BehaviorSubject = new BehaviorSubject('');\n\n /**\n * Constructor\n *\n * @param {MediaObserver} _mediaObserver\n */\n constructor(private _mediaObserver: MediaObserver) {\n // Set the defaults\n this.currentMediaQuery = '';\n\n // Initialize\n this._init();\n }\n\n // @ Private methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Initialize\n *\n * @private\n */\n private _init(): void {\n this._mediaObserver.media$.pipe(debounceTime(500), distinctUntilChanged()).subscribe((change: MediaChange) => {\n // console.log('subscription: ', change);\n if (this.currentMediaQuery !== change.mqAlias) {\n this.currentMediaQuery = change.mqAlias;\n this.onMediaUpdate.next(change.mqAlias);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nexport interface Locale {\n lang: string;\n data: Object;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CoreTranslationService {\n /**\n * Constructor\n *\n * @param {TranslateService} _translateService\n */\n constructor(private _translateService: TranslateService) {}\n\n // Public methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Translate\n *\n * @param {Locale} args\n */\n translate(...args: Locale[]): void {\n const locales = [...args];\n\n locales.forEach(locale => {\n // use setTranslation() with the third argument value as true to append translations instead of replacing them\n this._translateService.setTranslation(locale.lang, locale.data, true);\n });\n }\n}\n","import {CoreConfig} from '@core/types';\n\n/**\n * Default App Config\n *\n * ? TIP:\n *\n * Change app config based on your preferences.\n * You can also change them on each component basis. i.e `app/main/pages/authentication/auth-login-v1/auth-login-v1.component.ts`\n *\n * ! IMPORTANT: If the enableLocalStorage option is true then make sure you clear the browser local storage(https://developers.google.com/web/tools/chrome-devtools/storage/localstorage#delete).\n * ! Otherwise, it will not take the below config changes and use stored config from local storage.\n *\n */\n\n// prettier-ignore\nexport const coreConfig: CoreConfig = {\n app: {\n appName : 'Caleidoscoop Platform', // App Name\n appTitle : 'Caleidoscoop Platform', // App Title\n appLogoImage: 'assets/images/logo/vclblogo.svg', // App Logo\n appLanguage : 'en', // App Default Language (en, fr, de, pt etc..)\n },\n layout: {\n skin : 'default', // default, dark, bordered, semi-dark\n type : 'vertical', // vertical, horizontal\n animation : 'fadeIn', // fadeInLeft, zoomIn , fadeIn, none\n menu : {\n hidden : false, // Boolean: true, false\n collapsed : false, // Boolean: true, false\n },\n // ? For horizontal menu, navbar type will work for navMenu type\n navbar: {\n hidden : false, // Boolean: true, false\n type : 'floating-nav', // navbar-static-top, fixed-top, floating-nav, d-none\n background : 'navbar-light', // navbar-light. navbar-dark\n customBackgroundColor: true, // Boolean: true, false\n backgroundColor : '' // BS color i.e bg-primary, bg-success\n },\n footer: {\n hidden: true, // Boolean: true, false\n type: 'footer-static', // footer-static, footer-sticky, d-none\n background: 'footer-light', // footer-light. footer-dark\n customBackgroundColor: false, // Boolean: true, false\n backgroundColor: '' // BS color i.e bg-primary, bg-success\n },\n enableLocalStorage: true,\n customizer : true, // Boolean: true, false (Enable theme customizer)\n scrollTop : true, // Boolean: true, false (Enable scroll to top button)\n buyNow : false // Boolean: true, false (Set false in real project, For demo purpose only)\n }\n}\n","import {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {AuthGuard} from './core/guards/auth.guards';\nimport {Role} from './core/models/user/role';\n\nconst routes: Routes = [\n {\n path: '',\n loadChildren: () => import('./features/public/public.module').then(m => m.PublicModule)\n },\n {\n path: 'account',\n canActivate: [AuthGuard],\n loadChildren: () => import('./features/profile/profile.module').then(m => m.ProfileModule)\n },\n {\n path: 'admin',\n canActivate: [AuthGuard],\n data: {roles: [Role.APPROVER_FREE_CLB, Role.SUPERADMIN_SCHAARBEEK, Role.EMAGAZINE_ADMIN, Role.LOCAL_ADMIN]},\n loadChildren: () => import('./features/admin/admin.module').then(m => m.AdminModule)\n },\n {\n path: 'courses',\n data: {roles: [Role.PARTICIPANT_FREE, Role.CLB_EXTERNAL_PARTICIPANT]},\n loadChildren: () => import('./features/courses/courses.module').then(m => m.CoursesModule)\n },\n {\n path: 'posts',\n loadChildren: () => import('./features/participant/posts/posts.module').then(m => m.PostsModule)\n }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {paramsInheritanceStrategy: 'always', onSameUrlNavigation: 'reload'})],\n exports: [RouterModule]\n})\nexport class AppRoutingModule {\n}\n","import {AfterViewInit, Component, ElementRef, HostListener, Inject, OnDestroy, OnInit, Renderer2} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {Title} from '@angular/platform-browser';\nimport {BehaviorSubject, Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {TranslateService} from '@ngx-translate/core';\nimport * as Waves from 'node-waves';\nimport {CoreMenuService} from '@core/components/core-menu/core-menu.service';\nimport {CoreSidebarService} from '@core/components/core-sidebar/core-sidebar.service';\nimport {CoreConfigService} from '@core/services/config.service';\nimport {CoreLoadingScreenService} from '@core/services/loading-screen.service';\nimport {CoreTranslationService} from '@core/services/translation.service';\nimport {ActivatedRoute} from '@angular/router';\nimport {LocalizationService} from './core/services/localization.service';\nimport {LocalStorageService} from './core/services/local-storage.service';\nimport {PlatformConfigurationService} from './core/services/platform-configuration.service';\nimport {AuthService} from './core/services/auth.service';\nimport {ResponsivenessUtil} from './shared/util/responsiveness-util.service';\nimport {NgbModal, NgbModalOptions} from '@ng-bootstrap/ng-bootstrap';\nimport {CookieConsentModalComponent} from './features/public/cookie-consent-modal/cookie-consent-modal.component';\nimport {InitializationService} from './core/services/initialization.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit, OnDestroy, AfterViewInit {\n coreConfig: any;\n defaultLanguage: 'en'; // This language will be used as a fallback when a translation isn't found in the current language\n appLanguage: 'en'; // Set application default language i.e fr\n langObserver;\n\n // Private\n private _unsubscribeAll: Subject;\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n private _title: Title,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n public _coreConfigService: CoreConfigService,\n private _coreSidebarService: CoreSidebarService,\n private _coreLoadingScreenService: CoreLoadingScreenService,\n private _coreMenuService: CoreMenuService,\n private _coreTranslationService: CoreTranslationService,\n private _translateService: TranslateService,\n private responsivenessUtil: ResponsivenessUtil,\n private route: ActivatedRoute,\n private localizationService: LocalizationService,\n private localStorageService: LocalStorageService,\n public authService: AuthService,\n private platformConfigurationService: PlatformConfigurationService,\n private modalService: NgbModal,\n private initializationService: InitializationService\n ) {\n\n // // Set the main menu as our current menu\n setTimeout(() => this.setMenu(), 150);\n\n // Add languages to the translation service\n this._translateService.addLangs(['en', 'nl']);\n\n // This language will be used as a fallback when a translation isn't found in the current language\n this._translateService.setDefaultLang('nl');\n if (localStorage.getItem('language') == undefined) {\n localStorage.setItem('language', 'nl');\n }\n\n if (localStorage.getItem('cookie-consent') == undefined) {\n localStorage.setItem('cookie-consent', 'false');\n }\n\n this._translateService.use(this.localStorageService.getLanguage());\n this.platformConfigurationService.fetchPortalConfiguration();\n this.initializationService.initialize();\n\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n ngOnInit(): void {\n // Init wave effect (Ripple effect)\n Waves.init();\n\n this.langObserver = new BehaviorSubject('nl');\n this.langObserver.subscribe(res => {\n if (res)\n this.localizationService.setLanguage(res);\n });\n\n this.route.queryParamMap\n .subscribe((params) => {\n let lang = params.get('lang');\n if (lang)\n this.langObserver.next(lang);\n }\n );\n\n // Subscribe to config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n\n // Remove default classes first\n this._elementRef.nativeElement.classList.remove(\n 'vertical-layout',\n 'vertical-menu-modern',\n 'horizontal-layout',\n 'horizontal-menu'\n );\n // Add class based on config options\n if (this.coreConfig.layout.type === 'vertical') {\n this._elementRef.nativeElement.classList.add('vertical-layout', 'vertical-menu-modern');\n } else if (this.coreConfig.layout.type === 'horizontal') {\n this._elementRef.nativeElement.classList.add('horizontal-layout', 'horizontal-menu');\n }\n\n // Navbar\n //--------\n\n // Remove default classes first\n this._elementRef.nativeElement.classList.remove(\n 'navbar-floating',\n 'navbar-static',\n 'navbar-sticky',\n 'navbar-hidden'\n );\n\n // Add class based on config options\n if (this.coreConfig.layout.navbar.type === 'navbar-static-top') {\n this._elementRef.nativeElement.classList.add('navbar-static');\n } else if (this.coreConfig.layout.navbar.type === 'fixed-top') {\n this._elementRef.nativeElement.classList.add('navbar-sticky');\n } else if (this.coreConfig.layout.navbar.type === 'floating-nav') {\n this._elementRef.nativeElement.classList.add('navbar-floating');\n } else {\n this._elementRef.nativeElement.classList.add('navbar-hidden');\n }\n\n // Footer\n //--------\n\n // Remove default classes first\n this._elementRef.nativeElement.classList.remove('footer-fixed', 'footer-static', 'footer-hidden');\n\n // Add class based on config options\n if (this.coreConfig.layout.footer.type === 'footer-sticky') {\n this._elementRef.nativeElement.classList.add('footer-fixed');\n } else if (this.coreConfig.layout.footer.type === 'footer-static') {\n this._elementRef.nativeElement.classList.add('footer-static');\n } else {\n this._elementRef.nativeElement.classList.add('footer-hidden');\n }\n\n // Blank layout\n if (\n this.coreConfig.layout.menu.hidden &&\n this.coreConfig.layout.navbar.hidden &&\n this.coreConfig.layout.footer.hidden\n ) {\n this._elementRef.nativeElement.classList.add('blank-page');\n // ! Fix: Transition issue while coming from blank page\n this._renderer.setAttribute(\n this._elementRef.nativeElement.getElementsByClassName('app-content')[0],\n 'style',\n 'transition:none'\n );\n } else {\n this._elementRef.nativeElement.classList.remove('blank-page');\n // ! Fix: Transition issue while coming from blank page\n setTimeout(() => {\n this._renderer.setAttribute(\n this._elementRef.nativeElement.getElementsByClassName('app-content')[0],\n 'style',\n 'transition:300ms ease all'\n );\n }, 0);\n // If navbar hidden\n if (this.coreConfig.layout.navbar.hidden) {\n this._elementRef.nativeElement.classList.add('navbar-hidden');\n }\n // Menu (Vertical menu hidden)\n if (this.coreConfig.layout.menu.hidden) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'data-col', '1-column');\n } else {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'data-col');\n }\n // Footer\n if (this.coreConfig.layout.footer.hidden) {\n this._elementRef.nativeElement.classList.add('footer-hidden');\n }\n }\n\n // Skin Class (Adding to body as it requires highest priority)\n if (this.coreConfig.layout.skin !== '' && this.coreConfig.layout.skin !== undefined) {\n this.document.body.classList.remove('default-layout', 'bordered-layout', 'dark-layout', 'semi-dark-layout');\n this.document.body.classList.add(this.coreConfig.layout.skin + '-layout');\n }\n });\n\n // Set the application page title\n this._title.setTitle(this.coreConfig.app.appTitle);\n }\n\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n ngAfterViewInit() {\n this.isCookieConsentGiven();\n }\n\n toggleSidebar(key): void {\n this._coreSidebarService.getSidebarRegistry(key).toggleOpen();\n }\n\n private setMenu(): void {\n this._coreMenuService.setMenu();\n }\n\n setIsMobile() {\n this.responsivenessUtil.setIsScreenSize(window.innerWidth);\n }\n\n isCookieConsentGiven() {\n if (!localStorage.getItem('cookie-consent') || localStorage.getItem('cookie-consent') === 'false') {\n const ngbModalOptions: NgbModalOptions = {\n size: 'md',\n centered: true,\n backdrop: 'static',\n keyboard: false,\n };\n setTimeout(() => {\n this.modalService.open(CookieConsentModalComponent, ngbModalOptions);\n }, 1000);\n }\n }\n\n @HostListener('window:resize', ['$event'])\n onResize() {\n this.setIsMobile();\n }\n\n @HostListener('window:message', ['$event'])\n onPostMessage(e) {\n const internalUrls = this.platformConfigurationService.getAllInternalUrls();\n if (!internalUrls.includes(e.origin) || e.data === undefined || e.data.type === 'webpackOk') {\n return;\n }\n const payload = JSON.parse(e.data);\n if (payload.key === 'cookie-consent') {\n localStorage.setItem(payload.key, payload.data);\n }\n }\n}\n","\n\n\n","import {NgModule} from '@angular/core';\nimport {BrowserModule} from '@angular/platform-browser';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {HTTP_INTERCEPTORS, HttpClient, HttpClientModule} from '@angular/common/http';\n\nimport 'hammerjs';\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport {ToastrModule} from 'ngx-toastr';\nimport {TranslateLoader, TranslateModule} from '@ngx-translate/core';\nimport {ContextMenuModule} from '@ctrl/ngx-rightclick';\n\nimport {CoreModule} from '@core/core.module';\nimport {CoreCommonModule} from '@core/common.module';\nimport {CoreSidebarModule, CoreThemeCustomizerModule} from '@core/components';\nimport {CardSnippetModule} from '@core/components/card-snippet/card-snippet.module';\n\nimport {coreConfig} from 'app/app-config';\nimport {AppComponent} from 'app/app.component';\nimport {LayoutModule} from 'app/core/layout/layout.module';\nimport {ContentHeaderModule} from 'app/core/layout/components/content-header/content-header.module';\n\nimport {AppRoutingModule} from './app-routing.module';\nimport {TranslateHttpLoader} from '@ngx-translate/http-loader';\nimport {SharedModule} from './shared/shared.module';\nimport {ErrorInterceptor} from './core/interceptors/error-interceptor';\nimport {TokenInterceptor} from './core/interceptors/token.interceptor';\nimport {MiscellaneousModule} from './features/miscellaneous/miscellaneous.module';\nimport {CookieConsentModalComponent} from './features/public/cookie-consent-modal/cookie-consent-modal.component';\nimport {ProfileService} from './core/services/profile.service';\n\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http);\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n CookieConsentModalComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n HttpClientModule,\n AppRoutingModule,\n NgbModule,\n ToastrModule.forRoot(),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n }),\n ContextMenuModule,\n CoreModule.forRoot(coreConfig),\n CoreCommonModule,\n CoreSidebarModule,\n CoreThemeCustomizerModule,\n CardSnippetModule,\n\n ContentHeaderModule,\n SharedModule,\n LayoutModule,\n MiscellaneousModule,\n ],\n providers: [\n {provide: HTTP_INTERCEPTORS, useClass: TokenInterceptor, multi: true},\n {provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true},\n ProfileService\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n","import {Component, Input, OnDestroy, OnInit} from '@angular/core';\nimport {NavigationStart, Router} from '@angular/router';\nimport {Subscription} from 'rxjs';\nimport {Alert, AlertType} from '../../models/miscellaneous/alert';\nimport {AlertService} from '../../services/alert.service';\n\n@Component({ selector: 'app-alert', templateUrl: 'alert.component.html' })\nexport class AlertComponent implements OnInit, OnDestroy {\n @Input() id = 'default-alert';\n @Input() fade = true;\n\n alerts: Alert[] = [];\n alertSubscription: Subscription;\n routeSubscription: Subscription;\n\n constructor(private router: Router, private alertService: AlertService) { }\n\n ngOnInit() {\n this.alertSubscription = this.alertService.onAlert(this.id)\n .subscribe(alert => {\n this.alerts = [];\n\n this.alerts.push(alert);\n\n if (alert.autoClose) {\n setTimeout(() => this.removeAlert(alert), 8000);\n }\n });\n\n this.routeSubscription = this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n this.alertService.clear(this.id);\n }\n });\n }\n\n ngOnDestroy() {\n this.alertSubscription.unsubscribe();\n this.routeSubscription.unsubscribe();\n }\n\n removeAlert(alert: Alert) {\n if (!this.alerts.includes(alert)) return;\n\n if (this.fade) {\n this.alerts.find(x => x === alert).fade = true;\n\n setTimeout(() => {\n this.alerts = this.alerts.filter(x => x !== alert);\n }, 250);\n } else {\n this.alerts = this.alerts.filter(x => x !== alert);\n }\n }\n\n cssClass(alert: Alert) {\n if (!alert) return;\n\n const classes = ['alert', 'alert-dismissable'];\n\n const alertTypeClass = {\n [AlertType.Success]: 'alert my-alert-success',\n [AlertType.Error]: 'alert my-alert-danger',\n [AlertType.Info]: 'alert my-alert-info',\n [AlertType.Warning]: 'alert my-alert-warning',\n }\n\n classes.push(alertTypeClass[alert.type]);\n\n if (alert.fade) {\n classes.push('fade');\n }\n\n return classes.join(' ');\n }\n}\n","
    \n
    \n ×\n
    \n \n
    \n
    \n
    \n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {AlertComponent} from './alert/alert.component';\nimport {PaginationComponent} from './pagination/pagination.component';\nimport {NgbPaginationModule} from '@ng-bootstrap/ng-bootstrap';\nimport {CoreCommonModule} from '../../../@core/common.module';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n imports: [\n CommonModule,\n NgbPaginationModule,\n CoreCommonModule,\n TranslateModule\n ],\n declarations: [\n AlertComponent,\n PaginationComponent\n ],\n exports: [\n AlertComponent,\n PaginationComponent\n ]\n})\nexport class CoreComponentsModule{ }\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n selector: 'pagination-component',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.scss']\n})\nexport class PaginationComponent {\n\n @Input()\n pageSize: number = 10;\n @Input()\n collectionSize: number = 0;\n @Input()\n page: number = 1;\n\n @Output()\n pageChange = new EventEmitter();\n\n @Output()\n pageSizeChange = new EventEmitter();\n\n\n onPageChange(selectedPage: number) {\n this.page = selectedPage;\n this.pageChange.emit(this.page);\n }\n\n onPageSizeChange(pageSize: number) {\n this.pageSize = pageSize\n this.pageSizeChange.emit(this.pageSize);\n }\n}\n","\n","import {Injectable} from '@angular/core';\nimport {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot} from '@angular/router';\nimport {AuthService} from '../services/auth.service';\n\n\n@Injectable({ providedIn: 'root' })\nexport class AuthGuard implements CanActivate {\n\n constructor(private _router: Router,\n private _authenticationService: AuthService\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n if (!this._authenticationService.isLoggedIn()) {\n if (window.location.pathname === '/') {\n this._router.navigateByUrl('/public');\n } else {\n this._router.navigate(['miscellaneous/not-authorized']);\n }\n return false;\n }\n\n if(!this.checkIfRouteContainsRole(route)){\n if(this._authenticationService.isLoggedIn())\n this._router.navigate(['miscellaneous/not-authorized']);\n }\n\n return true;\n }\n\n private checkIfRouteContainsRole(route): boolean{\n const userRoles = this._authenticationService.getRoles();\n const routeRoles = route.data.roles;\n\n if(routeRoles){\n return this.hasRole(userRoles, routeRoles)\n }\n\n return true;\n }\n\n private hasRole(userRoles, routeRoles): boolean {\n for(let userRole in userRoles){\n if(routeRoles.indexOf(userRoles[userRole]) > -1)\n return true\n }\n return false\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {Observable, throwError} from 'rxjs';\nimport {catchError} from 'rxjs/operators';\nimport {AuthService} from '../services/auth.service';\nimport {AlertService} from '../services/alert.service';\nimport {TranslateService} from '@ngx-translate/core';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorInterceptor implements HttpInterceptor {\n\n constructor(private _router: Router, private _authService: AuthService, private alertService: AlertService,\n private translate: TranslateService) {\n }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(request).pipe(\n catchError(err => {\n if (err.status === 401 && this._router.url !== '/login') {\n this._router.navigate(['/login-expired']);\n }\n if ([500, 501, 502, 503, 504].includes(err.status)) {\n this._router.navigate(['miscellaneous/maintenance']);\n }\n const error = err.error.translationKey || err.statusText;\n this.alertService.error(error, {closeButton: true, autoClose: false, keepAfterRouteChange: false});\n return throwError(error);\n })\n );\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {TokenInterceptorUtil} from '../utils/token-interceptor-util';\nimport {AuthService} from '../services/auth.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokenInterceptor implements HttpInterceptor {\n\n constructor(private authService: AuthService) {\n }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if (this.authService.isLoggedIn() && !request.headers.has('No-Auth')) {\n request = TokenInterceptorUtil.setHeaders(request, this.authService.getToken());\n }\n return next.handle(request);\n }\n\n}\n","\n\n \n
  • \n {{ link.name }}\n {{ link.name }}\n
  • \n \n\n\n","import { Component, OnInit, Input } from '@angular/core';\n\n// Breadcrumb component interface\nexport interface Breadcrumb {\n type?: string;\n alignment?: string;\n links?: Array<{\n name: string;\n isLink: boolean;\n link?: string;\n }>;\n}\n\n@Component({\n selector: 'app-breadcrumb',\n templateUrl: './breadcrumb.component.html'\n})\nexport class BreadcrumbComponent implements OnInit {\n // input variable\n @Input() breadcrumb: Breadcrumb;\n\n constructor() {}\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit() {\n // concatenate default properties with passed properties\n this.breadcrumb = this.breadcrumb;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { BreadcrumbComponent } from 'app/core/layout/components/content-header/breadcrumb/breadcrumb.component';\n\n@NgModule({\n declarations: [BreadcrumbComponent],\n imports: [CommonModule, RouterModule.forChild([])],\n exports: [BreadcrumbComponent]\n})\nexport class BreadcrumbModule {}\n","\n
    \n \n
    \n\n
    \n
    \n
    \n
    \n

    \n {{ contentHeader.headerTitle }}\n

    \n \n \n
    \n
    \n
    \n
    \n
    \n\n","import { Component, OnInit, Input } from '@angular/core';\n\n// ContentHeader component interface\nexport interface ContentHeader {\n headerTitle: string;\n actionButton: boolean;\n breadcrumb?: {\n type?: string;\n links?: Array<{\n name?: string;\n isLink?: boolean;\n link?: string;\n }>;\n };\n}\n\n@Component({\n selector: 'app-content-header',\n templateUrl: './content-header.component.html'\n})\nexport class ContentHeaderComponent {\n // input variable\n @Input() contentHeader: ContentHeader;\n\n constructor() {}\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\n\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { CoreCommonModule } from '@core/common.module';\n\nimport { BreadcrumbModule } from 'app/core/layout/components/content-header/breadcrumb/breadcrumb.module';\nimport { ContentHeaderComponent } from 'app/core/layout/components/content-header/content-header.component';\nimport {CoreComponentsModule} from '../../../components/core-components.module';\n\n@NgModule({\n declarations: [ContentHeaderComponent],\n imports: [CommonModule, RouterModule, CoreCommonModule, BreadcrumbModule, NgbModule, CoreComponentsModule],\n exports: [ContentHeaderComponent]\n})\nexport class ContentHeaderModule {}\n","import {Component, OnInit, ViewEncapsulation} from '@angular/core';\nimport { CoreConfigService } from '@core/services/config.service';\nimport { fadeInLeft, zoomIn, fadeIn } from '@core/animations/core.animation';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'content',\n templateUrl: './content.component.html',\n encapsulation: ViewEncapsulation.None,\n animations: [fadeInLeft, zoomIn, fadeIn]\n})\nexport class ContentComponent implements OnInit{\n public coreConfig: any;\n public animate;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n *\n */\n constructor(private _coreConfigService: CoreConfigService) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n /**\n * Fade In Left Animation\n *\n * @param outlet\n */\n fadeInLeft(outlet) {\n if (this.animate === 'fadeInLeft') {\n return outlet.activatedRouteData.animation;\n }\n return null;\n }\n\n /**\n * Zoom In Animation\n *\n * @param outlet\n */\n zoomIn(outlet) {\n if (this.animate === 'zoomIn') {\n return outlet.activatedRouteData.animation;\n }\n return null;\n }\n\n /**\n * Fade In Animation\n *\n * @param outlet\n */\n fadeIn(outlet) {\n if (this.animate === 'fadeIn') {\n return outlet.activatedRouteData.animation;\n }\n return null;\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On Init\n */\n ngOnInit(): void {\n // Subscribe config change\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n this.animate = this.coreConfig.layout.animation;\n });\n }\n}\n","\n
    \n \n
    \n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { CoreCommonModule } from '@core/common.module';\n\nimport { ContentComponent } from 'app/core/layout/components/content/content.component';\n\n@NgModule({\n declarations: [ContentComponent],\n imports: [RouterModule, CoreCommonModule],\n exports: [ContentComponent]\n})\nexport class ContentModule {}\n","import { OnInit, OnDestroy, Component } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CoreConfigService } from '@core/services/config.service';\n\n@Component({\n selector: 'footer',\n templateUrl: './footer.component.html'\n})\nexport class FooterComponent implements OnInit, OnDestroy {\n public coreConfig: any;\n public year: number = new Date().getFullYear();\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n */\n constructor(public _coreConfigService: CoreConfigService) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n}\n","\n

    \n \n COPYRIGHT © {{ year }}\n Pixinvent\n , All rights Reserved\n \n \n Hand-crafted & Made with \n \n

    \n\n\n\n\n\n\n\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { CoreCommonModule } from '@core/common.module';\n\nimport { FooterComponent } from 'app/core/layout/components/footer/footer.component';\nimport { ScrollTopComponent } from 'app/core/layout/components/footer/scroll-to-top/scroll-top.component';\n\n@NgModule({\n declarations: [FooterComponent, ScrollTopComponent],\n imports: [RouterModule, CoreCommonModule],\n exports: [FooterComponent]\n})\nexport class FooterModule {}\n","import { Component, OnInit, Inject, HostListener } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n selector: 'app-scroll-top',\n templateUrl: './scroll-top.component.html',\n styleUrls: ['./scroll-top.component.scss']\n})\nexport class ScrollTopComponent {\n windowScrolled: boolean;\n topOffset: number = 150; // Top offset to display scroll to top button\n\n constructor(@Inject(DOCUMENT) private document: Document) {}\n\n @HostListener('window:scroll', [])\n onWindowScroll() {\n if (\n window.pageYOffset > this.topOffset ||\n document.documentElement.scrollTop > this.topOffset ||\n document.body.scrollTop > this.topOffset\n ) {\n this.windowScrolled = true;\n } else if (\n (this.windowScrolled && window.pageYOffset) ||\n document.documentElement.scrollTop ||\n document.body.scrollTop < 10\n ) {\n this.windowScrolled = false;\n }\n }\n\n scrollToTop() {\n (function smoothscroll() {\n var currentScroll = document.documentElement.scrollTop || document.body.scrollTop;\n\n if (currentScroll > 0) {\n window.requestAnimationFrame(smoothscroll);\n window.scrollTo(0, currentScroll - currentScroll / 8);\n }\n })();\n }\n\n}\n","\n\n \n\n","import { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil, filter } from 'rxjs/operators';\n\nimport { CoreConfigService } from '@core/services/config.service';\nimport { CoreMenuService } from '@core/components/core-menu/core-menu.service';\nimport { CoreSidebarService } from '@core/components/core-sidebar/core-sidebar.service';\n\n@Component({\n selector: 'horizontal-menu',\n templateUrl: './horizontal-menu.component.html',\n styleUrls: ['./horizontal-menu.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HorizontalMenuComponent implements OnInit, OnDestroy {\n coreConfig: any;\n menu: any;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n * @param {CoreMenuService} _coreMenuService\n * @param {CoreSidebarService} _coreSidebarService\n */\n constructor(\n private _coreConfigService: CoreConfigService,\n private _coreMenuService: CoreMenuService,\n private _coreSidebarService: CoreSidebarService\n ) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On Init\n */\n ngOnInit(): void {\n // Subscribe config change\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n\n // Get current menu\n this._coreMenuService.onMenuChanged\n .pipe(\n filter(value => value !== null),\n takeUntil(this._unsubscribeAll)\n )\n .subscribe(() => {\n this.menu = this._coreMenuService.getCurrentMenu();\n });\n }\n\n /**\n * On Destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n}\n","\n
    \n
      \n
      \n\n","import { NgModule } from '@angular/core';\n\nimport { CoreMenuModule } from '@core/components';\nimport { CoreCommonModule } from '@core/common.module';\n\nimport { HorizontalMenuComponent } from 'app/core/layout/components/menu/horizontal-menu/horizontal-menu.component';\n\n@NgModule({\n declarations: [HorizontalMenuComponent],\n imports: [CoreMenuModule, CoreCommonModule],\n exports: [HorizontalMenuComponent]\n})\nexport class HorizontalMenuModule {}\n","\n\n \n\n\n\n\n\n \n\n\n","import { Component, ElementRef, Input, Renderer2, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'app-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class MenuComponent {\n private _menuType: string;\n\n /**\n * Constructor\n *\n * @param {ElementRef} _elementRef\n * @param {Renderer2} _renderer\n */\n constructor(private _elementRef: ElementRef, private _renderer: Renderer2) {\n // Set the default menu\n this._menuType = 'vertical-menu';\n }\n\n // Accessors\n // -----------------------------------------------------------------------------------------------------\n\n //Get the menu type\n get menuType(): string {\n return this._menuType;\n }\n\n @Input()\n //Set the menu type to the native element\n set menuType(value: string) {\n // Remove the old class name from native element\n this._renderer.removeClass(this._elementRef.nativeElement, this.menuType);\n\n // Store the menuType value\n this._menuType = value;\n\n // Add the new class name from native element\n this._renderer.addClass(this._elementRef.nativeElement, value);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { CoreCommonModule } from '@core/common.module';\n\nimport { MenuComponent } from 'app/core/layout/components/menu/menu.component';\nimport { VerticalMenuModule } from 'app/core/layout/components/menu/vertical-menu/vertical-menu.module';\nimport { HorizontalMenuModule } from 'app/core/layout/components/menu/horizontal-menu/horizontal-menu.module';\n\n@NgModule({\n declarations: [MenuComponent],\n imports: [CoreCommonModule, VerticalMenuModule, HorizontalMenuModule],\n exports: [MenuComponent]\n})\nexport class MenuModule {}\n","import { Component, OnInit, OnDestroy, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { Router, NavigationEnd } from '@angular/router';\n\nimport { Subject } from 'rxjs';\nimport { take, takeUntil, filter } from 'rxjs/operators';\nimport { PerfectScrollbarDirective } from 'ngx-perfect-scrollbar';\n\nimport { CoreConfigService } from '@core/services/config.service';\nimport { CoreMenuService } from '@core/components/core-menu/core-menu.service';\nimport { CoreSidebarService } from '@core/components/core-sidebar/core-sidebar.service';\nimport {AuthService} from '../../../../services/auth.service';\nimport {PlatformConfigurationService} from '../../../../services/platform-configuration.service';\n\n@Component({\n selector: 'vertical-menu',\n templateUrl: './vertical-menu.component.html',\n styleUrls: ['./vertical-menu.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class VerticalMenuComponent implements OnInit, OnDestroy {\n coreConfig: any;\n menu: any;\n isCollapsed: boolean;\n isScrolled: boolean = false;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n * @param {CoreMenuService} _coreMenuService\n * @param {CoreSidebarService} _coreSidebarService\n * @param {Router} _router\n */\n constructor(\n private _coreConfigService: CoreConfigService,\n private _coreMenuService: CoreMenuService,\n private _coreSidebarService: CoreSidebarService,\n private _router: Router,\n private authService: AuthService,\n private platformConfigurationService: PlatformConfigurationService\n ) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n @ViewChild(PerfectScrollbarDirective, { static: false }) directiveRef?: PerfectScrollbarDirective;\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On Init\n */\n ngOnInit(): void {\n // Subscribe config change\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n\n this.isCollapsed = this._coreSidebarService.getSidebarRegistry('menu').collapsed;\n\n // Close the menu on router NavigationEnd (Required for small screen to close the menu on select)\n this._router.events\n .pipe(\n filter(event => event instanceof NavigationEnd),\n takeUntil(this._unsubscribeAll)\n )\n .subscribe(() => {\n if (this._coreSidebarService.getSidebarRegistry('menu')) {\n this._coreSidebarService.getSidebarRegistry('menu').close();\n }\n });\n\n // scroll to active on navigation end\n this._router.events\n .pipe(\n filter(event => event instanceof NavigationEnd),\n take(1)\n )\n .subscribe(() => {\n setTimeout(() => {\n this.directiveRef.scrollToElement('.navigation .active', -180, 500);\n });\n });\n\n // Get current menu\n this._coreMenuService.onMenuChanged\n .pipe(\n filter(value => value !== null),\n takeUntil(this._unsubscribeAll)\n )\n .subscribe(() => {\n this.menu = this._coreMenuService.getCurrentMenu();\n });\n }\n\n /**\n * On Destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n // Public Methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On Sidebar scroll set isScrolled as true\n */\n onSidebarScroll(): void {\n if (this.directiveRef.position(true).y > 3) {\n this.isScrolled = true;\n } else {\n this.isScrolled = false;\n }\n }\n\n /**\n * Toggle sidebar expanded status\n */\n toggleSidebar(): void {\n this._coreSidebarService.getSidebarRegistry('menu').toggleOpen();\n }\n\n /**\n * Toggle sidebar collapsed status\n */\n toggleSidebarCollapsible(): void {\n // Get the current menu state\n this._coreConfigService\n .getConfig()\n .pipe(takeUntil(this._unsubscribeAll))\n .subscribe(config => {\n this.isCollapsed = config.layout.menu.collapsed;\n });\n\n if (this.isCollapsed) {\n this._coreConfigService.setConfig({ layout: { menu: { collapsed: false } } }, { emitEvent: true });\n } else {\n this._coreConfigService.setConfig({ layout: { menu: { collapsed: true } } }, { emitEvent: true });\n }\n }\n\n resolveHomeRoute() {\n\n if(this.authService.isLoggedIn())\n return '/account/profile';\n else\n return '/public';\n }\n}\n","\n
      \n\n\n\n
      \n
      \n\n
      \n
        \n
        \n\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\nimport { PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\n\nimport { CoreMenuModule } from '@core/components';\nimport { CoreCommonModule } from '@core/common.module';\n\nimport { VerticalMenuComponent } from 'app/core/layout/components/menu/vertical-menu/vertical-menu.component';\n\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\n suppressScrollX: true,\n wheelPropagation: false\n};\n@NgModule({\n declarations: [VerticalMenuComponent],\n imports: [CoreMenuModule, CoreCommonModule, PerfectScrollbarModule, RouterModule],\n providers: [\n {\n provide: PERFECT_SCROLLBAR_CONFIG,\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG\n }\n ],\n exports: [VerticalMenuComponent]\n})\nexport class VerticalMenuModule {}\n","import {Component, HostBinding, HostListener, Input, OnDestroy, OnInit, ViewEncapsulation} from '@angular/core';\nimport {MediaObserver} from '@angular/flex-layout';\n\nimport * as _ from 'lodash';\nimport {Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\nimport {TranslateService} from '@ngx-translate/core';\n\nimport {CoreSidebarService} from '@core/components/core-sidebar/core-sidebar.service';\nimport {CoreConfigService} from '@core/services/config.service';\nimport {CoreMediaService} from '@core/services/media.service';\nimport {Router} from '@angular/router';\nimport {AuthService} from '../../../services/auth.service';\nimport {PlatformConfigurationService} from '../../../services/platform-configuration.service';\nimport {ProfileService} from '../../../services/profile.service';\n\n@Component({\n selector: 'app-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class NavbarComponent implements OnInit, OnDestroy {\n public horizontalMenu: boolean;\n public hiddenMenu: boolean;\n\n public coreConfig: any;\n public currentSkin: string;\n public prevSkin: string;\n\n public languageOptions: any;\n public navigation: any;\n public selectedLanguage: any;\n\n public stockImage: string = '../../../../../assets/images/avatars/stock.png';\n\n @Input()\n isLoggedIn: boolean;\n\n @HostBinding('class.fixed-top')\n public isFixed = false;\n\n @HostBinding('class.navbar-static-style-on-scroll')\n public windowScrolled = false;\n\n // Add .navbar-static-style-on-scroll on scroll using HostListener & HostBinding\n @HostListener('window:scroll', [])\n onWindowScroll() {\n if (\n (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop > 100) &&\n this.coreConfig.layout.navbar.type == 'navbar-static-top' &&\n this.coreConfig.layout.type == 'horizontal'\n ) {\n this.windowScrolled = true;\n } else if (\n (this.windowScrolled && window.pageYOffset) ||\n document.documentElement.scrollTop ||\n document.body.scrollTop < 10\n ) {\n this.windowScrolled = false;\n }\n }\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {Router} _router\n * @param {CoreConfigService} _coreConfigService\n * @param {CoreSidebarService} _coreSidebarService\n * @param {CoreMediaService} _coreMediaService\n * @param {MediaObserver} _mediaObserver\n * @param {TranslateService} _translateService\n * @param platformConfigurationService\n * @param _authenticationService\n * @param authService\n */\n constructor(\n private _router: Router,\n private _coreConfigService: CoreConfigService,\n private _coreMediaService: CoreMediaService,\n private _coreSidebarService: CoreSidebarService,\n private _mediaObserver: MediaObserver,\n public _translateService: TranslateService,\n public platformConfigurationService: PlatformConfigurationService,\n private _authenticationService: AuthService,\n public authService: AuthService,\n public profileService: ProfileService\n ) {\n this.languageOptions = {\n en: {\n title: 'English',\n flag: 'us'\n },\n fr: {\n title: 'French',\n flag: 'fr'\n },\n de: {\n title: 'German',\n flag: 'de'\n },\n pt: {\n title: 'Portuguese',\n flag: 'pt'\n }\n };\n\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Public Methods\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * Toggle sidebar open\n *\n * @param key\n */\n toggleSidebar(key): void {\n this._coreSidebarService.getSidebarRegistry(key).toggleOpen();\n }\n\n /**\n * Set the language\n *\n * @param language\n */\n setLanguage(language): void {\n // Set the selected language for the navbar on change\n this.selectedLanguage = language;\n\n // Use the selected language id for translations\n this._translateService.use(language);\n\n this._coreConfigService.setConfig({app: {appLanguage: language}}, {emitEvent: true});\n }\n\n /**\n * Toggle Dark Skin\n */\n toggleDarkSkin() {\n // Get the current skin\n this._coreConfigService\n .getConfig()\n .pipe(takeUntil(this._unsubscribeAll))\n .subscribe(config => {\n this.currentSkin = config.layout.skin;\n });\n\n // Toggle Dark skin with prevSkin skin\n this.prevSkin = localStorage.getItem('prevSkin');\n\n if (this.currentSkin === 'dark') {\n this._coreConfigService.setConfig(\n {layout: {skin: this.prevSkin ? this.prevSkin : 'default'}},\n {emitEvent: true}\n );\n } else {\n localStorage.setItem('prevSkin', this.currentSkin);\n this._coreConfigService.setConfig({layout: {skin: 'dark'}}, {emitEvent: true});\n }\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n\n // Subscribe to the config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n this.horizontalMenu = config.layout.type === 'horizontal';\n this.hiddenMenu = config.layout.menu.hidden === true;\n this.currentSkin = config.layout.skin;\n\n // Fix: for vertical layout if default navbar fixed-top than set isFixed = true\n if (this.coreConfig.layout.type === 'vertical') {\n setTimeout(() => {\n if (this.coreConfig.layout.navbar.type === 'fixed-top') {\n this.isFixed = true;\n }\n }, 0);\n }\n });\n\n // Horizontal Layout Only: Add class fixed-top to navbar below large screen\n if (this.coreConfig.layout.type == 'horizontal') {\n // On every media(screen) change\n this._coreMediaService.onMediaUpdate.pipe(takeUntil(this._unsubscribeAll)).subscribe(() => {\n const isFixedTop = this._mediaObserver.isActive('bs-gt-xl');\n if (isFixedTop) {\n this.isFixed = false;\n } else {\n this.isFixed = true;\n }\n });\n }\n\n // Set the selected language from default languageOptions\n this.selectedLanguage = _.find(this.languageOptions, {\n id: this._translateService.currentLang\n });\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n isAcademieUser(): boolean {\n return this.authService.isLoggedIn() && this.authService.isAcademie();\n }\n}\n","\n\n
        \n
        \n \n \n \n\n \n
      • \n \n \n \n
      • \n \n
        \n\n \n\n\n \n
        \n","import {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\n\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport {PERFECT_SCROLLBAR_CONFIG, PerfectScrollbarConfigInterface, PerfectScrollbarModule} from 'ngx-perfect-scrollbar';\n\nimport {CoreCommonModule} from '@core/common.module';\nimport {CoreTouchspinModule} from '@core/components/core-touchspin/core-touchspin.module';\n\nimport {NavbarComponent} from 'app/core/layout/components/navbar/navbar.component';\nimport {TranslateModule} from '@ngx-translate/core';\n\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\n suppressScrollX: true,\n wheelPropagation: false\n};\n\n@NgModule({\n declarations: [\n NavbarComponent\n ],\n imports: [RouterModule, NgbModule, CoreCommonModule, PerfectScrollbarModule, CoreTouchspinModule, TranslateModule],\n providers: [\n {\n provide: PERFECT_SCROLLBAR_CONFIG,\n useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG\n }\n ],\n exports: [NavbarComponent]\n})\nexport class NavbarModule {\n}\n","import { BREAKPOINT } from '@angular/flex-layout';\n\nconst BS_BREAKPOINTS = [\n { alias: 'bs-xs', overlapping: false, mediaQuery: '(max-width: 575.98px)', suffix: 'BsXs' },\n { alias: 'bs-sm', overlapping: false, mediaQuery: '(min-width: 576px) and (max-width: 767.98px)', suffix: 'BsSm' },\n { alias: 'bs-md', overlapping: false, mediaQuery: '(min-width: 768px) and (max-width: 991.98px)', suffix: 'BsMd' },\n { alias: 'bs-lg', overlapping: false, mediaQuery: '(min-width: 992px) and (max-width: 1199.98px)', suffix: 'BsLg' },\n { alias: 'bs-xl', overlapping: false, mediaQuery: '(min-width: 1200px)', suffix: 'BsXl' },\n\n { alias: 'bs-gt-sm', overlapping: false, mediaQuery: '(min-width: 576px)', suffix: 'BsGtSm' },\n { alias: 'bs-gt-md', overlapping: false, mediaQuery: '(min-width: 768px)', suffix: 'BsGtMd' },\n { alias: 'bs-gt-lg', overlapping: false, mediaQuery: '(min-width: 992px)', suffix: 'BsGtLg' },\n { alias: 'bs-gt-xl', overlapping: false, mediaQuery: '(min-width: 1200px)', suffix: 'BsGtXl' },\n\n { alias: 'bs-lt-sm', overlapping: false, mediaQuery: '(max-width: 575.98px)', suffix: 'BsLtSm' },\n { alias: 'bs-lt-md', overlapping: false, mediaQuery: '(max-width: 767.98px)', suffix: 'BsLtMd' },\n { alias: 'bs-lt-lg', overlapping: false, mediaQuery: '(max-width: 991.98px)', suffix: 'BsLtLg' },\n { alias: 'bs-lt-xl', overlapping: false, mediaQuery: '(max-width: 1199.98px)', suffix: 'BsLtXl' }\n];\n\nexport const CustomBreakPointsProvider = {\n provide: BREAKPOINT,\n useValue: BS_BREAKPOINTS,\n multi: true\n};\n","import { Component, OnDestroy, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CoreConfigService } from '@core/services/config.service';\n\n@Component({\n selector: 'horizontal-layout',\n templateUrl: './horizontal-layout.component.html',\n styleUrls: ['./horizontal-layout.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class HorizontalLayoutComponent implements OnInit, OnDestroy {\n coreConfig: any;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n */\n constructor(private _coreConfigService: CoreConfigService) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n}\n","\n\n\n\n\n\n\n\n\n
        \n
        \n
        \n \n \n \n
        \n\n\n\n\n\n\n \n \n\n\n\n\n\n
        \n \n \n \n \n \n \n
        \n
        \n\n\n","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { CoreSidebarModule } from '@core/components';\nimport { CoreCommonModule } from '@core/common.module';\n\nimport { NavbarModule } from 'app/core/layout/components/navbar/navbar.module';\nimport { ContentModule } from 'app/core/layout/components/content/content.module';\nimport { MenuModule } from 'app/core/layout/components/menu/menu.module';\nimport { FooterModule } from 'app/core/layout/components/footer/footer.module';\n\nimport { HorizontalLayoutComponent } from 'app/core/layout/horizontal/horizontal-layout.component';\n\n@NgModule({\n declarations: [HorizontalLayoutComponent],\n imports: [RouterModule, CoreCommonModule, CoreSidebarModule, NavbarModule, ContentModule, MenuModule, FooterModule],\n exports: [HorizontalLayoutComponent]\n})\nexport class HorizontalLayoutModule {}\n","import { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { CustomBreakPointsProvider } from 'app/core/layout/custom-breakpoints';\nimport { VerticalLayoutModule } from 'app/core/layout/vertical/vertical-layout.module';\nimport { HorizontalLayoutModule } from 'app/core/layout/horizontal/horizontal-layout.module';\n\n@NgModule({\n imports: [FlexLayoutModule.withConfig({ disableDefaultBps: true }), VerticalLayoutModule, HorizontalLayoutModule],\n providers: [CustomBreakPointsProvider],\n exports: [VerticalLayoutModule, HorizontalLayoutModule]\n})\nexport class LayoutModule {}\n","import {Component, ElementRef, Input, OnDestroy, OnInit, ViewEncapsulation} from '@angular/core';\n\nimport {Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {CoreConfigService} from '@core/services/config.service';\n\n@Component({\n selector: 'vertical-layout',\n templateUrl: './vertical-layout.component.html',\n styleUrls: ['./vertical-layout.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class VerticalLayoutComponent implements OnInit, OnDestroy {\n coreConfig: any;\n\n @Input()\n isLoggedIn: boolean;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n */\n constructor(private _coreConfigService: CoreConfigService, private _elementRef: ElementRef) {\n // Set the private defaults\n this._unsubscribeAll = new Subject();\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n}\n","\n\n\n\n\n\n\n\n\n
        \n
        \n
        \n \n
        \n \n
        \n\n \n
        \n\n\n\n\n\n\n\n \n \n\n\n\n\n\n \n \n \n\n\n\n","import {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\n\nimport {CoreCommonModule} from '@core/common.module';\nimport {CoreSidebarModule} from '@core/components';\nimport {VerticalLayoutComponent} from './vertical-layout.component';\nimport {NavbarModule} from '../components/navbar/navbar.module';\nimport {MenuModule} from '../components/menu/menu.module';\nimport {FooterModule} from '../components/footer/footer.module';\nimport {ContentModule} from '../components/content/content.module';\n\n\n@NgModule({\n declarations: [VerticalLayoutComponent],\n imports: [RouterModule, CoreCommonModule, CoreSidebarModule, NavbarModule, MenuModule, ContentModule, FooterModule],\n exports: [VerticalLayoutComponent]\n})\nexport class VerticalLayoutModule {\n}\n","import {CoreMenu} from '@core/types';\n\nexport const menuSectionGeneralAdministration: CoreMenu = {\n id: 'general',\n title: 'General admin',\n type: 'section',\n translate: 'GENERAL_ADMIN',\n children: [\n {\n id: 'user-management',\n title: 'User Management',\n translate: 'USER_MANAGEMENT',\n icon: 'users',\n type: 'item',\n url: 'admin/administration/user-management'\n },\n {\n id: 'payment',\n title: 'Course payment',\n translate: 'COURSE_PAYMENT',\n icon: 'credit-card',\n type: 'item',\n role: ['Admin'],\n url: 'admin/administration/payment-management/courses'\n }\n ]\n};\n\nexport const menuSectionCourseAdministration: CoreMenu = {\n id: 'academie-admin',\n title: 'Academie admin',\n type: 'section',\n translate: 'ACADEMIE_ADMIN',\n children: [\n {\n id: 'courses',\n title: 'Courses',\n translate: 'COURSES',\n type: 'item',\n icon: 'award',\n url: 'admin/academie/courses/all'\n }\n ]\n}\n\nexport const menuSectionCourseAndPostAdministration: CoreMenu = {\n id: 'academie-admin',\n title: 'Academie admin',\n type: 'section',\n translate: 'ACADEMIE_ADMIN',\n children: [\n {\n id: 'courses',\n title: 'Courses',\n translate: 'COURSES',\n type: 'item',\n icon: 'award',\n url: 'admin/academie/courses/all'\n },\n {\n id: 'posts-management',\n title: 'Posts management',\n translate: 'POST_MANAGEMENT',\n type: 'item',\n icon: 'bell',\n url: 'admin/academie/posts/posts-management'\n }\n ]\n}\n\nexport const menuSectionPostsUser: CoreMenu = {\n id: 'posts',\n title: 'Posts',\n translate: 'POSTS',\n type: 'section',\n children: [\n {\n id: 'general-posts',\n title: 'General Posts',\n translate: 'GENERAL_POSTS',\n type: 'item',\n icon: 'bell',\n url: 'posts/general-posts'\n },\n {\n id: 'course-news',\n title: 'Course News',\n translate: 'COURSE_NEWS',\n type: 'item',\n icon: 'book',\n url: 'posts/course-news'\n }\n ]\n}\n\nexport const menuSectionMagazineAdministration: CoreMenu = {\n id: 'magazine-admin',\n title: 'eMag admin',\n type: 'section',\n translate: 'MAGAZINE_ADMIN',\n children: [\n {\n id: 'subscriptions',\n title: 'Subscriptions',\n translate: 'SUBSCRIPTIONS',\n type: 'item',\n icon: 'calendar',\n url: '/admin/magazine/subscription'\n },\n {\n id: 'issues',\n title: 'Issues',\n translate: 'ISSUES',\n type: 'item',\n icon: 'book-open',\n url: '/admin/magazine/issues'\n },\n {\n id: 'articles',\n title: 'Articles',\n translate: 'ARTICLES',\n type: 'item',\n icon: 'file',\n url: '/admin/magazine/articles'\n },\n {\n id: 'advertisements',\n title: 'Advertisements',\n translate: 'ADVERTISEMENTS',\n type: 'item',\n icon: 'shopping-bag',\n url: '/admin/magazine/advertisements'\n },\n {\n id: 'authors',\n title: 'Authors',\n translate: 'AUTHORS',\n type: 'item',\n icon: 'pen-tool',\n url: '/admin/magazine/authors'\n }\n ]\n}\n\nexport const menuSectionApprover: CoreMenu = {\n id: 'approval-management',\n title: 'Approval management',\n translate: 'APPROVAL_MANAGEMENT',\n type: 'section',\n children: [\n {\n id: 'courses-approve',\n title: 'Courses for approval',\n translate: 'COURSES_FOR_APPROVAL',\n type: 'item',\n icon: 'check-square',\n url: 'admin/academie/courses/approve',\n },\n {\n id: 'courses-approve',\n title: 'Subordinates',\n translate: 'SUBORDINATES',\n type: 'item',\n icon: 'user-check',\n url: 'admin/academie/courses/subordinates/approve',\n }\n ]\n}\n\nexport const menuSectionParticipantCourse: CoreMenu = {\n id: 'courses',\n title: 'Courses',\n translate: 'COURSES',\n type: 'section',\n children: [\n {\n id: 'courses',\n title: 'Courses',\n translate: 'COURSES',\n type: 'item',\n icon: 'book-open',\n url: 'courses/all'\n }\n ]\n}\n\nexport const menuSectionPublicCourses: CoreMenu = {\n id: 'courses',\n title: 'Courses',\n translate: 'COURSES',\n type: 'section',\n children: [\n {\n id: 'courses',\n title: 'Courses',\n translate: 'COURSES',\n type: 'item',\n icon: 'book-open',\n url: 'public'\n }\n ]\n}\n\nexport const menuAccessibilityIcon: CoreMenu = {\n id: 'accessibility',\n title: 'Accessibility',\n type: 'icon',\n iconUrl: '/assets/images/svg/accessibility.svg',\n url: 'accessibility',\n openInNewTab: false,\n tooltip: 'ACCESSIBILITY',\n disabled: false,\n exactMatch: true\n}\n","export class Alert {\n id: string;\n type: AlertType;\n message: string;\n autoClose: boolean;\n keepAfterRouteChange: boolean;\n fade: boolean;\n closeButton: true;\n\n constructor(init?:Partial) {\n Object.assign(this, init);\n }\n}\n\n\nexport enum AlertType {\n Success,\n Error,\n Info,\n Warning,\n}\n","export enum Role {\n INTERNAL_TEACHERS = 'INTERNAL_TEACHERS',\n MANAGER_FREE_CLB = 'MANAGER_FREE_CLB',\n APPROVER_FREE_CLB = 'APPROVER_FREE_CLB',\n CLB_EXTERNAL_PARTICIPANT = 'CLB_EXTERNAL_PARTICIPANT',\n EXTERNAL_TEACHERS = 'EXTERNAL_TEACHERS',\n PARTICIPANT_FREE = 'PARTICIPANT_FREE',\n PAYER_FREE_CLB = 'PAYER_FREE_CLB',\n SUPERADMIN_SCHAARBEEK = 'SUPERADMIN_SCHAARBEEK',\n EMAGAZINE_ADMIN = 'EMAGAZINE_ADMIN',\n EMAGAZINE_READER = 'EMAGAZINE_READER',\n LOCAL_ADMIN = 'LOCAL_ADMIN'\n}\n","import {Injectable} from '@angular/core';\nimport {Observable, Subject} from 'rxjs';\nimport {Alert, AlertType} from '../models/miscellaneous/alert';\nimport {filter} from 'rxjs/operators';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertService {\n\n private subject = new Subject();\n private defaultId = 'default-alert';\n\n constructor(private translate: TranslateService) {\n }\n\n onAlert(id = this.defaultId): Observable {\n return this.subject.asObservable().pipe(filter(x => x && x.id === id));\n }\n\n success(message: string, options?: any): void {\n message = this.translate.instant(message);\n this.alert(new Alert({...options, type: AlertType.Success, message}));\n }\n\n error(message: string, options?: any): void {\n message = this.translate.instant(message);\n this.alert(new Alert({...options, type: AlertType.Error, message}));\n }\n\n info(message: string, options?: any): void {\n message = this.translate.instant(message);\n this.alert(new Alert({...options, type: AlertType.Info, message}));\n }\n\n warn(message: string, options?: any): void {\n message = this.translate.instant(message);\n this.alert(new Alert({...options, type: AlertType.Warning, message}));\n }\n\n alert(alert: Alert): void {\n alert.id = alert.id || this.defaultId;\n this.subject.next(alert);\n }\n\n clear(id = this.defaultId): void {\n this.subject.next(new Alert({id}));\n }\n}\n","import {HttpClient} from '@angular/common/http';\nimport {EventEmitter, Injectable} from '@angular/core';\nimport {LocalStorageService} from './local-storage.service';\nimport {Observable} from 'rxjs';\nimport {LoginModel} from '../models/auth/login';\nimport {TokenModel} from '../models/auth/token';\nimport {RequestResetPassword} from '../models/auth/request-reset-password';\nimport {ResetPassword} from '../models/auth/reset-password';\nimport {Role} from '../models/user/role';\nimport {CookieService} from 'ngx-cookie-service';\nimport {PlatformConfigurationService} from './platform-configuration.service';\n\nconst BASE_URL = '/api/auth';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthService {\n\n loginOccurred = new EventEmitter();\n\n constructor(private http: HttpClient,\n private localStorageService: LocalStorageService,\n private platformConfigurationService: PlatformConfigurationService,\n private cookieService: CookieService) {\n }\n\n login(loginData: LoginModel): Observable {\n return this.http.post(BASE_URL, loginData);\n }\n\n logout() {\n this.localStorageService.clearUserData();\n this.cookieService.deleteAll();\n }\n\n saveUserInfo(token: string, roles: string[]) {\n this.localStorageService.setToken(token);\n this.localStorageService.setRoles(roles);\n }\n\n isLoggedIn(): boolean {\n return !!this.getToken();\n }\n\n getToken(): string {\n return this.localStorageService.getToken();\n }\n\n getUsername(): string {\n const email = this?.decodeToken()?.vo_email;\n if (email != null)\n return email;\n const sub = this?.decodeToken()?.sub;\n if (sub != null)\n return sub;\n return ''\n }\n\n getRoles(): string[] {\n return this.localStorageService.getRoles();\n }\n\n isSuperAdmin(): boolean {\n if (!this.isLoggedIn()) return false;\n return this.getRoles().includes(Role.SUPERADMIN_SCHAARBEEK);\n }\n\n isLocalAdmin(): boolean {\n if (!this.isLoggedIn()) return false;\n return !this.getRoles()?.includes(Role.SUPERADMIN_SCHAARBEEK) && this.getRoles().includes(Role.LOCAL_ADMIN);\n }\n\n isAcademieAdmin(): boolean {\n if (!this.isLoggedIn()) return false;\n return this.getRoles()?.includes(Role.SUPERADMIN_SCHAARBEEK) || this.getRoles().includes(Role.LOCAL_ADMIN);\n }\n\n isMagazineAdmin(): boolean {\n if (!this.isLoggedIn()) return false;\n return this.getRoles().includes(Role.EMAGAZINE_ADMIN);\n }\n\n isApprover(): boolean {\n if (!this.isLoggedIn()) return false;\n return this.getRoles().includes(Role.APPROVER_FREE_CLB);\n }\n\n isAdministrativeRole(): boolean {\n return this.isLoggedIn() && (this.isAcademieAdmin() || this.isApprover() || this.isMagazineAdmin());\n }\n\n isParticipant(): boolean {\n return this.isLoggedIn() &&\n (this.getRoles().includes(Role.PARTICIPANT_FREE) || this.getRoles().includes(Role.CLB_EXTERNAL_PARTICIPANT));\n }\n\n isAcademie(): boolean {\n if (!this.isLoggedIn() || !this.getRoles()) return false;\n let hasRole = false;\n this.platformConfigurationService.getAcademieRoles().forEach(role => {\n if (this.getRoles().includes(role)) hasRole = true;\n })\n return hasRole;\n }\n\n isMagazine(): boolean {\n if (!this.isLoggedIn()) return false;\n let hasRole = false;\n this.platformConfigurationService.getMagazineRoles().forEach(role => {\n if (this.getRoles().includes(role)) hasRole = true;\n })\n return hasRole;\n }\n\n currentUserHasRole(role: string): boolean {\n if (this.localStorageService.getRoles()) {\n return this.getRoles().includes(Role[role]);\n }\n return true;\n }\n\n decodeToken(): any {\n if (this.getToken() == null) return null\n const jwtData = this.getToken().split('.')[1];\n const jwtFormattedData = jwtData ? jwtData.replace('-', '+').replace('_', '/') : null;\n const decodedJwtJsonData = atob(jwtFormattedData);\n return JSON.parse(decodedJwtJsonData);\n }\n\n public requestResetPassword(requestResetPassword: RequestResetPassword) {\n return this.http.post(BASE_URL + '/reset-password', requestResetPassword);\n }\n\n public resetPassword(password: ResetPassword, linkHash: string) {\n return this.http.post(BASE_URL + '/reset-password/' + linkHash, password);\n }\n\n notifyLoginOccurred() {\n this.loginOccurred.emit()\n }\n\n isOnlyExternalUser(): boolean {\n if (!this.isLoggedIn() || this.getRoles().includes(Role.PARTICIPANT_FREE) || this.getRoles().includes(Role.APPROVER_FREE_CLB)\n || this.getRoles().includes(Role.SUPERADMIN_SCHAARBEEK) || this.getRoles().includes(Role.LOCAL_ADMIN))\n return false;\n return this.getRoles().includes(Role.CLB_EXTERNAL_PARTICIPANT);\n }\n\n isExternalUser(): boolean {\n if (!this.isLoggedIn())\n return false;\n return this.getRoles().includes(Role.CLB_EXTERNAL_PARTICIPANT);\n }\n\n setLastLogin(lastLogin: Date) {\n this.localStorageService.setLastLogin(lastLogin);\n }\n\n getLastLogin(): Date {\n return this.localStorageService.getLastLogin();\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {CourseConstants} from '../models/course/course-constants';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CourseConstantsService {\n\n private COURSE_API = '/api/courses/constants';\n\n constructor(private http: HttpClient) {\n }\n\n getCourseConstantsForFilters(): Observable {\n return this.http.get(this.COURSE_API + '/filters');\n }\n\n getCourseConstantsForEdit(courseId: number | undefined): Observable {\n return this.http.get(this.COURSE_API + '/' + courseId);\n }\n\n getCourseConstantsForCreate(): Observable {\n return this.http.get(this.COURSE_API + '/create');\n }\n\n getCourseConstantsForCopy(moveParticipants: boolean): Observable {\n return this.http.get(this.COURSE_API + '/copy?moveParticipants=' + moveParticipants);\n }\n\n getCourseApplicationStatusConstants(): Observable {\n return this.http.get(this.COURSE_API + '/application-statuses');\n }\n\n getCourseConstantsForCreatePersonal(): Observable {\n return this.http.get(this.COURSE_API + '/personal/create');\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {CourseFilter} from '../models/course/course-filter';\nimport {CourseConstantsService} from './course-constants.service';\nimport {SubordinateFilters} from '../models/course/participant/subordinate-filters';\nimport {UserCourseFilterService} from './users-course-filter.service';\nimport {UsersCourseFilter} from '../models/user/users-course-filter';\nimport {SimpleEntity} from '../models/shared/simple-entity';\nimport {CourseConstants} from '../models/course/course-constants';\nimport {BehaviorSubject} from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CourseFilterService {\n\n courseConstants$: BehaviorSubject = new BehaviorSubject(null);\n\n constructor(private courseConstantsService: CourseConstantsService,\n private userCourseFilterService: UserCourseFilterService) {\n }\n\n initialize() {\n this.getFilterConstants();\n }\n\n getFilterConstants(): void {\n this.courseConstantsService.getCourseConstantsForFilters().subscribe((courseConstants) => {\n this.currentFilters.schoolYear = courseConstants.currentSchoolYear;\n this.subordinateFilters.schoolYear = courseConstants.currentSchoolYear;\n this.courseConstants$.next(courseConstants);\n });\n }\n\n private currentFilters: CourseFilter = {\n schoolYear: {startDate: new Date(''), endDate: new Date(''), stringRepresentation: 'NO_SELECTION'},\n groupBy: {name: 'NO_GROUPING', sortKey: '', noValueTranslation: 'NO_GROUPING'},\n courseType: 'ALL_COURSES'\n } as CourseFilter;\n\n private subordinateFilters: SubordinateFilters = {\n schoolYear: {startDate: new Date(''), endDate: new Date(''), stringRepresentation: 'NO_SELECTION'},\n applicationStatus: []\n } as SubordinateFilters;\n\n updateFilters(filter: CourseFilter): void {\n this.currentFilters = filter;\n this.setSortWithGrouping();\n }\n\n updateSubordinateFilters(filter: SubordinateFilters): void {\n this.subordinateFilters = filter;\n }\n\n getFilter(): CourseFilter {\n return this.currentFilters;\n }\n\n getSubordinateFilter(): SubordinateFilters {\n return this.subordinateFilters;\n }\n\n resetCourseFilter(): void {\n this.currentFilters = {\n dateFrom: new Date(''),\n dateTo: new Date(''),\n schoolYear: {startDate: new Date(''), endDate: new Date(''), stringRepresentation: 'NO_SELECTION'},\n groupBy: {name: 'NO_GROUPING', sortKey: '', noValueTranslation: 'NO_GROUPING'},\n sortBy: {name: 'TITLE', sortKey: 'title,startDate', noValueTranslation: ''},\n sortWithGrouping: 'title, date',\n courseType: 'ALL_COURSES'\n } as CourseFilter;\n }\n\n resetSubordinateFilter(): void {\n this.subordinateFilters = {\n dateFrom: new Date(''),\n dateTo: new Date(''),\n schoolYear: {startDate: new Date(''), endDate: new Date(''), stringRepresentation: 'NO_SELECTION'},\n applicationStatus: []\n } as SubordinateFilters;\n }\n\n setSortWithGrouping(): void {\n if (this.currentFilters.groupBy && this.currentFilters.groupBy.sortKey !== '') {\n this.currentFilters.sortWithGrouping = this.currentFilters.groupBy.sortKey + ',' + this.currentFilters.sortBy.sortKey;\n } else if (this.currentFilters.sortBy && this.currentFilters.sortBy.sortKey !== '') {\n this.currentFilters.sortWithGrouping = this.currentFilters.sortBy.sortKey;\n }\n }\n\n loadUsersCourseFilter(): void {\n this.userCourseFilterService.getUsersCourseFilter().subscribe(res => {\n if (res) {\n this.currentFilters.courseType = res.organiserType;\n this.loadSortBy(res.sortBy);\n this.currentFilters.title = res.title;\n this.currentFilters.speakers = res.speakers;\n this.currentFilters.schoolYear = {startDate: res.dateFrom, endDate: res.dateTo, stringRepresentation: 'NO_SELECTION'};\n\n this.currentFilters.courseStatuses = res.courseStatuses;\n this.currentFilters.courseApplicationStatuses = res.courseApplicationStatuses;\n this.currentFilters.tags = res.tags;\n this.currentFilters.provinces = res.provinces;\n\n this.currentFilters.disciplines = res.disciplinesPrimary;\n this.currentFilters.disciplinesSecondary = res.disciplinesSecondary;\n this.currentFilters.coreProcesses = res.coreProcesses;\n this.currentFilters.formationTypes = res.formationTypes;\n }\n })\n }\n\n loadSortBy(sortBy: string): void {\n if (!sortBy || sortBy === '' || sortBy === 'DATE') {\n this.currentFilters.sortBy = {name: 'DATE', sortKey: 'startDate,title', noValueTranslation: ''};\n } else if (sortBy === 'RECENT') {\n this.currentFilters.sortBy = {name: 'RECENT', sortKey: 'createDate,startDate', noValueTranslation: ''};\n } else {\n this.currentFilters.sortBy = {name: 'TITLE', sortKey: 'title,startDate', noValueTranslation: ''};\n }\n }\n\n saveUsersCourseFilter(): void {\n let usersCourseFilter = {\n organiserType: this.currentFilters.courseType,\n sortBy: this.currentFilters.sortBy.name,\n title: this.currentFilters.title,\n speakers: this.currentFilters.speakers,\n dateFrom: this.currentFilters.dateFrom,\n dateTo: this.currentFilters.dateTo,\n courseStatuses: this.currentFilters.courseStatuses,\n courseApplicationStatuses: this.currentFilters.courseApplicationStatuses,\n tags: this.currentFilters.tags,\n provinces: this.currentFilters.provinces,\n disciplinesPrimary: this.currentFilters.disciplines as SimpleEntity[],\n disciplinesSecondary: this.currentFilters.disciplinesSecondary as SimpleEntity[],\n coreProcesses: this.currentFilters.coreProcesses as SimpleEntity[],\n formationTypes: this.currentFilters.formationTypes as SimpleEntity[],\n } as UsersCourseFilter;\n\n this.userCourseFilterService.saveUsersCourseFilter(usersCourseFilter).subscribe();\n }\n}\n","import {Injectable} from '@angular/core';\nimport {AuthService} from './auth.service';\nimport {CourseFilterService} from './course-filter.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InitializationService {\n\n constructor(private authService: AuthService,\n private courseFilterService: CourseFilterService) {\n }\n\n initialize(): void {\n this.courseFilterService.initialize();\n if (this.authService.isLoggedIn()) {\n this.userLoggedInActions();\n }\n }\n\n userLoggedInActions(): void {\n this.courseFilterService.loadUsersCourseFilter();\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nconst TOKEN = 'token';\nconst ROLES = 'roles';\nconst LANGUAGE = 'language';\nconst LAST_LOGIN = 'lastLogin';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalStorageService {\n\n public rolesChanged: Subject = new Subject();\n\n constructor() {\n }\n\n clearConfig() {\n localStorage.removeItem('config')\n }\n\n clear() {\n localStorage.clear();\n }\n\n clearUserData() {\n localStorage.removeItem(ROLES);\n localStorage.removeItem(TOKEN);\n }\n\n getToken(): string {\n return localStorage.getItem(TOKEN);\n }\n\n getRoles(): string[] {\n return this.get(ROLES);\n }\n\n setToken(token: string) {\n localStorage.setItem(TOKEN, token);\n }\n\n setRoles(roles: string[]) {\n localStorage.setItem(ROLES, JSON.stringify(roles));\n this.emitRoleChangeEvent();\n }\n\n setLastLogin(lastLogin: Date) {\n if (lastLogin) {\n localStorage.setItem(LAST_LOGIN, JSON.stringify(lastLogin));\n } else {\n localStorage.removeItem(LAST_LOGIN);\n }\n }\n\n setLanguage(languageId) {\n localStorage.setItem(LANGUAGE, languageId);\n }\n\n getLanguage(): string {\n return localStorage.getItem(LANGUAGE);\n }\n\n getLastLogin(): Date {\n const lastLoginInString = localStorage.getItem(LAST_LOGIN);\n if (lastLoginInString) {\n return JSON.parse(lastLoginInString);\n }\n return null;\n }\n\n private get(key: string): any {\n return JSON.parse(localStorage.getItem(key));\n }\n\n private emitRoleChangeEvent() {\n this.rolesChanged.next();\n }\n}\n","import {Injectable} from '@angular/core';\nimport {TranslateService} from '@ngx-translate/core';\nimport {LocalStorageService} from './local-storage.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalizationService {\n\n private selectedLanguage;\n private languageOptions = [\n {\n 'title': 'English',\n 'id': 'en'\n },\n {\n 'title': 'Dutch',\n 'id': 'nl'\n }];\n\n public shouldShowLanguagePicker = false;\n\n constructor(private _translateService: TranslateService,\n private _localStorageService: LocalStorageService) {\n }\n\n setLanguage(language?): void {\n if (language === this._localStorageService.getLanguage() || !language) {\n return;\n }\n language = this.getLanguageById(language);\n if (!language) {\n return;\n }\n this._translateService.use(language.id);\n this._localStorageService.setLanguage(language.id);\n if (this.selectedLanguage) {\n this.selectedLanguage = language;\n window.location.reload();\n } else {\n this.selectedLanguage = language;\n }\n }\n\n private getLanguageById(id: string) {\n return this.languageOptions.filter(lang => lang.id === id)[0];\n }\n\n getSelectedLanguage() {\n return this.languageOptions.filter(lang => lang.id === this._localStorageService.getLanguage())[0];\n }\n\n getLanguageOptions() {\n return this.languageOptions;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {PortalConfiguration} from '../models/miscellaneous/portal-configuration';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {Role} from '../models/user/role';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PlatformConfigurationService {\n\n private PLATFORM_CONFIGURATION_API = '/api/platform/configuration';\n\n private magazineUrl: string;\n\n private academieUrl: string;\n\n private platformUrl: string;\n\n private environment: string = 'prod';\n\n configurationFetched = new BehaviorSubject(false);\n\n constructor(private http: HttpClient) {\n }\n\n fetchPortalConfiguration(): void {\n this.http.get(this.PLATFORM_CONFIGURATION_API).subscribe(config => {\n this.magazineUrl = config.magazineUrl;\n this.academieUrl = config.academieUrl;\n this.platformUrl = config.platformUrl;\n this.environment = config.environment;\n\n this.configurationFetched.next(true);\n });\n }\n\n subscribeForPortalConfiguration(): Observable {\n return this.http.get(this.PLATFORM_CONFIGURATION_API);\n }\n\n getMagazineUrl(): string {\n return this.magazineUrl;\n }\n\n getAcademieUrl(): string {\n return this.academieUrl;\n }\n\n getPlatformUrl(): string {\n return this.platformUrl;\n }\n\n getEnvironment(): string {\n return this.environment;\n }\n\n getAllInternalUrls() {\n return ['http://localhost:4200', 'http://localhost:4201', 'http://localhost:4202',\n 'https://caleidoscoop-emagazine-ui-dev.eu-central-1.elasticbeanstalk.com', 'https://caleidoscoop-platform-ui-dev.eu-central-1.elasticbeanstalk.com', 'https://lms-ui-development.eu-central-1.elasticbeanstalk.com',\n 'https://caleidoscoop-emagazine-ui-test.eu-central-1.elasticbeanstalk.com', 'https://caleidoscoop-platform-ui-test.eu-central-1.elasticbeanstalk.com', 'https://lms-ui-test.eu-central-1.elasticbeanstalk.com',\n 'https://caleidoscoop-emagazine-ui-production.eu-central-1.elasticbeanstalk.com', 'https://caleidoscoop-platform-ui-production.eu-central-1.elasticbeanstalk.com',\n 'https://dev.emagazine.caleidoscoop.be', 'https://dev.caleidoscoop.be', 'https://dev.academie.caleidoscoop.be',\n 'https://test.emagazine.caleidoscoop.be', 'https://test.caleidoscoop.be', 'https://test.academie.caleidoscoop.be',\n 'https://caleidoscoop.be', 'https://academie.caleidoscoop.be', 'https://emagazine.caleidoscoop.be']\n }\n\n getAcademieRoles(): Role[] {\n return [Role.SUPERADMIN_SCHAARBEEK, Role.PARTICIPANT_FREE, Role.APPROVER_FREE_CLB, Role.EXTERNAL_TEACHERS,\n Role.CLB_EXTERNAL_PARTICIPANT, Role.INTERNAL_TEACHERS, Role.MANAGER_FREE_CLB, Role.PAYER_FREE_CLB, Role.LOCAL_ADMIN];\n }\n\n getMagazineRoles(): Role[] {\n return [Role.EMAGAZINE_ADMIN, Role.EMAGAZINE_READER];\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {ChangePasswordModel} from '../models/auth/change-password';\nimport {UserProfileInfo} from '../models/user/profile-info';\nimport {tap} from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProfileService {\n\n public profilePicture: BehaviorSubject = new BehaviorSubject(undefined);\n\n constructor(private http: HttpClient) {\n }\n\n public getUserProfile(): Observable {\n return this.http.get('/api/users/profile')\n .pipe(\n tap(userProfile =>\n this.profilePicture.next(userProfile.imageSrc)\n )\n );\n }\n\n public updateUserProfileInfo(userProfileInfo: UserProfileInfo): Observable {\n return this.http.post('/api/users/edit-profile', userProfileInfo);\n }\n\n public updateChangePassword(changePasswordDto: ChangePasswordModel): Observable {\n return this.http.post('/api/users/change-password', changePasswordDto);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {UsersCourseFilter} from '../models/user/users-course-filter';\n\nconst BASE_URL = '/api/user/course/filter';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserCourseFilterService {\n constructor(private http: HttpClient) {\n }\n\n getUsersCourseFilter(): Observable {\n return this.http.get(BASE_URL);\n }\n\n saveUsersCourseFilter(usersCourseFilter: UsersCourseFilter): Observable {\n return this.http.post(BASE_URL, usersCourseFilter);\n }\n\n getCourseFilterForUser(userId: number): Observable {\n return this.http.get(BASE_URL + `/${userId}`);\n }\n\n}\n","import {HttpRequest} from '@angular/common/http';\n\nexport class TokenInterceptorUtil {\n\n public static setHeaders(request: HttpRequest, token: string) {\n request = TokenInterceptorUtil.setAuthorizationHeader(request, token);\n return request;\n }\n\n private static setAuthorizationHeader(request: HttpRequest, token: string) {\n request = request.clone({\n setHeaders: {\n Authorization: `Bearer ${token}`\n }\n });\n return request;\n }\n}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\n\nimport {takeUntil} from 'rxjs/operators';\nimport {Subject} from 'rxjs';\n\nimport {CoreConfigService} from '@core/services/config.service';\nimport {AuthService} from '../../../core/services/auth.service';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'app-error',\n templateUrl: './error.component.html',\n styleUrls: ['./error.component.scss']\n})\nexport class ErrorComponent implements OnInit, OnDestroy {\n public coreConfig: any;\n isLoggedIn = false;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n * @param authService\n * @param router\n */\n constructor(private _coreConfigService: CoreConfigService,\n private authService: AuthService,\n private router: Router\n ) {\n this.isLoggedIn = authService.isLoggedIn();\n this._unsubscribeAll = new Subject();\n\n // Configure the layout\n this._coreConfigService.config = {\n layout: {\n navbar: {\n hidden: true\n },\n footer: {\n hidden: true\n },\n menu: {\n hidden: true\n },\n customizer: false,\n enableLocalStorage: false\n }\n };\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n backToHome() {\n if (this.authService.isLoggedIn())\n this.router.navigate(['/']);\n else\n this.router.navigate(['/login']);\n }\n}\n","\n\n\n","import {Component, OnDestroy, OnInit} from '@angular/core';\n\nimport {takeUntil} from 'rxjs/operators';\nimport {Subject} from 'rxjs';\n\nimport {CoreConfigService} from '@core/services/config.service';\nimport {AuthService} from '../../../core/services/auth.service';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'app-maintenance',\n templateUrl: './maintenance.component.html',\n styleUrls: ['./maintenance.component.scss']\n})\nexport class MaintenanceComponent implements OnInit, OnDestroy {\n public coreConfig: any;\n isLoggedIn = false;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n * @param authService\n * @param router\n */\n constructor(private _coreConfigService: CoreConfigService,\n private authService: AuthService,\n private router: Router\n ) {\n this.isLoggedIn = authService.isLoggedIn();\n this._unsubscribeAll = new Subject();\n\n // Configure the layout\n this._coreConfigService.config = {\n layout: {\n navbar: {\n hidden: true\n },\n footer: {\n hidden: true\n },\n menu: {\n hidden: true\n },\n customizer: false,\n enableLocalStorage: false\n }\n };\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n\n backToHome() {\n if (this.authService.isLoggedIn())\n this.router.navigate(['/']);\n else\n this.router.navigate(['/login']);\n }\n}\n","\n\n\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\n\nimport {CoreCommonModule} from '@core/common.module';\nimport {NotAuthorizedComponent} from './not-authorized/not-authorized.component';\nimport {MaintenanceComponent} from './maintenance/maintenance.component';\nimport {ErrorComponent} from './error/error.component';\nimport {TranslateModule} from '@ngx-translate/core';\n\n\n// routing\nconst routes: Routes = [\n {\n path: 'miscellaneous/not-authorized/:logout',\n component: NotAuthorizedComponent\n },\n {\n path: 'miscellaneous/not-authorized',\n component: NotAuthorizedComponent\n },\n {\n path: 'miscellaneous/maintenance',\n component: MaintenanceComponent\n },\n {\n path: 'miscellaneous/error',\n component: ErrorComponent\n },\n {\n path: '**',\n redirectTo: 'miscellaneous/error'\n }\n];\n\n@NgModule({\n declarations: [NotAuthorizedComponent, MaintenanceComponent, ErrorComponent],\n imports: [CommonModule, RouterModule.forChild(routes), CoreCommonModule, TranslateModule]\n})\nexport class MiscellaneousModule {\n}\n","import {Component, OnDestroy, OnInit} from '@angular/core';\n\nimport {takeUntil} from 'rxjs/operators';\nimport {Subject} from 'rxjs';\n\nimport {CoreConfigService} from '@core/services/config.service';\nimport {AuthService} from '../../../core/services/auth.service';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'app-not-authorized',\n templateUrl: './not-authorized.component.html',\n styleUrls: ['./not-authorized.component.scss']\n})\nexport class NotAuthorizedComponent implements OnInit, OnDestroy {\n public coreConfig: any;\n isLoggedIn = false;\n\n // Private\n private _unsubscribeAll: Subject;\n\n /**\n * Constructor\n *\n * @param {CoreConfigService} _coreConfigService\n * @param authService\n * @param router\n */\n constructor(private _coreConfigService: CoreConfigService,\n private authService: AuthService,\n private router: Router\n ) {\n this.isLoggedIn = authService.isLoggedIn();\n this._unsubscribeAll = new Subject();\n\n // Configure the layout\n this._coreConfigService.config = {\n layout: {\n navbar: {\n hidden: true\n },\n footer: {\n hidden: true\n },\n menu: {\n hidden: true\n },\n customizer: false,\n enableLocalStorage: false\n }\n };\n }\n\n backToHome() {\n if (this.authService.isLoggedIn())\n this.router.navigate(['/']);\n else\n this.router.navigate(['/login']);\n }\n\n // Lifecycle Hooks\n // -----------------------------------------------------------------------------------------------------\n\n /**\n * On init\n */\n ngOnInit(): void {\n // Subscribe to config changes\n this._coreConfigService.config.pipe(takeUntil(this._unsubscribeAll)).subscribe(config => {\n this.coreConfig = config;\n });\n }\n\n /**\n * On destroy\n */\n ngOnDestroy(): void {\n // Unsubscribe from all subscriptions\n this._unsubscribeAll.next();\n this._unsubscribeAll.complete();\n }\n}\n","\n\n\n","
        \n
        \n
        \n

        \n {{'COOKIE_CONSENT_MODAL_TITLE'|translate}}\n

        \n
        \n
        \n
        \n \n
        \n \n
        \n\n\n","import {Component} from '@angular/core';\nimport {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\nimport {PlatformConfigurationService} from '../../../core/services/platform-configuration.service';\n\n@Component({\n selector: 'app-cookie-consent-modal',\n templateUrl: './cookie-consent-modal.component.html',\n styleUrls: ['./cookie-consent-modal.component.scss'],\n})\nexport class CookieConsentModalComponent {\n shouldShowLoading = false;\n\n constructor(\n public activeModal: NgbActiveModal,\n private platformConfigurationService: PlatformConfigurationService\n ) {\n }\n\n onAccept() {\n localStorage.setItem('cookie-consent', 'true');\n this.sendCookieConsentToOtherApps();\n this.shouldShowLoading = true;\n setTimeout(() => {\n this.activeModal.dismiss('Accepted');\n }, 2100);\n }\n\n sendCookieConsentToOtherApps() {\n this.platformConfigurationService.subscribeForPortalConfiguration().subscribe(configuration => {\n const iframeAcademie = document.getElementsByTagName('iframe')[0].contentWindow;\n const iframeMagazine = document.getElementsByTagName('iframe')[1].contentWindow;\n document.getElementsByTagName('iframe')[0].src = configuration.academieUrl + '/';\n document.getElementsByTagName('iframe')[1].src = configuration.magazineUrl + '/';\n setTimeout(() => {\n iframeAcademie.postMessage(JSON.stringify({\n key: 'cookie-consent',\n data: 'true'\n }), configuration.academieUrl);\n iframeMagazine.postMessage(JSON.stringify({\n key: 'cookie-consent',\n data: 'true'\n }), configuration.magazineUrl);\n }, 2000);\n })\n }\n}\n","import {Component, Input} from '@angular/core';\nimport {NgbActiveModal} from '@ng-bootstrap/ng-bootstrap';\n\n@Component({\n selector: 'app-confirm-modal',\n templateUrl: './confirm-modal.component.html',\n styleUrls: ['./confirm-modal.component.scss']\n})\nexport class ConfirmModalComponent {\n\n @Input() title: string;\n @Input() message: string;\n @Input() btnOkText: string;\n @Input() btnCancelText: string;\n\n constructor(private activeModal: NgbActiveModal) {\n }\n\n public decline() {\n this.activeModal.close(false);\n }\n\n public accept() {\n this.activeModal.close(true);\n }\n}\n","
        \n
        \n

        {{ title }}

        \n
        \n
        \n {{ message }}\n
        \n
        \n \n \n
        \n
        \n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {NgbDate, NgbDateParserFormatter, NgbDateStruct} from '@ng-bootstrap/ng-bootstrap';\nimport {CustomDateParserFormatter} from '../../util/custom-date-parser-formatter';\nimport {AlertService} from '../../../core/services/alert.service';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Component({\n selector: 'app-datepicker',\n templateUrl: './datepicker.component.html',\n styleUrls: ['./datepicker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {provide: NgbDateParserFormatter, useClass: CustomDateParserFormatter},\n ],\n})\nexport class DatepickerComponent implements OnInit, OnChanges {\n public date: NgbDateStruct;\n @Input()\n placeholder: string;\n @Input()\n hasError: boolean;\n @Input()\n submitted: boolean;\n @Input()\n datepickerStyle: string;\n @Input()\n readonly: boolean = false;\n @Output()\n selectedDate = new EventEmitter();\n\n @ViewChild('myInput', {read: ElementRef}) myInput: ElementRef;\n\n constructor(private alertService: AlertService, private translate: TranslateService) {\n }\n\n setDateFromDateString(date: string): void {\n var parsedDate = new Date(Date.parse(date));\n this.date = new NgbDate(parsedDate.getFullYear(), parsedDate.getMonth() + 1, parsedDate.getDate());\n }\n\n setDateSelect(date: NgbDate): void {\n var dateToReturn = new Date(date.year, date.month - 1, date.day + 1);\n this.selectedDate.emit(dateToReturn);\n }\n\n ngOnInit(): void {\n if (this.placeholder) {\n this.setDateFromDateString(this.placeholder);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.placeholder) {\n this.setDateFromDateString(this.placeholder);\n }\n }\n\n onDateSelect(): Date {\n let dateToReturn = null;\n if (this.date?.day != null) {\n dateToReturn = new Date(\n Date.UTC(this.date.year, this.date.month - 1, this.date.day, 0, 0)\n );\n }\n return dateToReturn;\n }\n\n onDateSelectFinal(): void {\n let dateToReturn = null;\n if (this.date?.day != null) {\n dateToReturn = new Date(\n Date.UTC(this.date.year, this.date.month - 1, this.date.day, 0, 0)\n );\n }\n if (dateToReturn && isNaN(dateToReturn.getTime())) {\n this.translate.get('INVALID_DATE').subscribe(invalidDateTranslate =>\n this.alertService.error(invalidDateTranslate, {closeButton: true, autoClose: false})\n );\n } else {\n this.selectedDate.emit(dateToReturn);\n }\n }\n\n}\n","
        \n
        \n
        \n \n
        \n \n
        \n
        \n
        \n
        \n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild\n} from '@angular/core';\n\n@Component({\n selector: 'app-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss']\n})\nexport class DropdownComponent implements OnInit, OnChanges {\n\n @Input()\n dropdownStyle: string = 'primary';\n @Input()\n width: string = '';\n @Input()\n items: any[];\n @Input()\n displayField: string = ''; //use this field when working with list of objects to specify field to show in dropdown\n @Input()\n title: string = '';\n @Input()\n placeholder: string = ''; //use this field if dropdown should have placeholder before setting first value\n @Output()\n selectedOption = new EventEmitter();\n selectedItemInternal: string;\n @Input()\n verticalAlign = true;\n @Input()\n cssClasses = 'form-group';\n @Input()\n firstValue;\n @Input()\n disabled = false;\n @Input()\n tabAccess = true;\n @Input()\n hasError = false;\n\n @ViewChild('myInput') myInput!: ElementRef\n\n constructor() {\n }\n\n ngOnInit(): void {\n if (this.placeholder) {\n this.selectedItemInternal = this.placeholder;\n } else {\n this.setSelectedOption(this.firstValue ? this.firstValue : this.items[0]);\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.placeholder) {\n this.selectedItemInternal = this.placeholder;\n } else {\n if (changes.firstValue)\n this.setSelectedOption(changes.firstValue?.currentValue ? changes.firstValue?.currentValue : changes.options?.currentValue[0]);\n }\n }\n\n setSelectedOption(option) {\n if (!option) return;\n this.selectedItemInternal = this.displayField && option ? option[this.displayField] : option;\n this.selectedOption.emit(option);\n }\n}\n","
        \n","import {Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewEncapsulation} from '@angular/core';\nimport {Observable, of} from 'rxjs';\nimport {delay} from 'rxjs/operators';\n\n@Component({\n selector: 'app-input-filter-dropdown',\n templateUrl: './input-filter-dropdown.component.html',\n styleUrls: ['./input-filter-dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class InputFilterDropdownComponent implements OnChanges {\n\n @Input()\n selectedItemInternal;\n @Input()\n title: string = '';\n @Input()\n items: any[];\n @Input()\n displayField: string = ''; //use this field when working with list of objects to specify field to show in multiple select\n @Input()\n placeholder = '';\n @Input()\n customStyle: any;\n @Input()\n hasError = false;\n @Input()\n disabled = false;\n\n @Output()\n public itemSelect: Observable;\n @Output()\n selectedItem = new EventEmitter();\n @Output()\n searchTerm = new EventEmitter();\n\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.items)\n this.itemSelect = of(changes.items.currentValue).pipe(delay(1));\n }\n\n selectedChanged($event: any) {\n this.selectedItem.emit($event);\n }\n\n onSearch($event: { term: string; items: any[] }) {\n this.searchTerm.emit($event.term);\n }\n}\n","
        \n \n \n \n
        {{displayField ? (item[displayField]|translate) : (item|translate)}}
        \n
        \n\n \n {{ displayField ? (item[displayField]|translate) : (item|translate)}}\n ×\n \n \n
        \n","import {Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewEncapsulation} from '@angular/core';\nimport {Observable, of} from 'rxjs';\nimport {delay} from 'rxjs/operators';\nimport {isEqual} from 'lodash';\n\n@Component({\n selector: 'app-multiple-select',\n templateUrl: './multiple-select.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class MultipleSelectComponent implements OnChanges {\n public selectMulti: Observable;\n\n @Input()\n selectedItemsInternal = [];\n @Input()\n title: string = '';\n @Input()\n items: any[];\n @Input()\n displayField: string = ''; //use this field when working with list of objects to specify field to show in multiple select\n @Output()\n selectedItems = new EventEmitter();\n @Input()\n placeholder = '';\n @Input()\n hasSetWidth = false;\n @Input()\n customStyle: any;\n @Input()\n hasError = false;\n @Input()\n submitted = false;\n @Input()\n searchable = false;\n @Input()\n isArticleTag = false;\n @Input()\n isPublished = false;\n\n constructor() {\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.items)\n this.selectMulti = of(changes.items.currentValue).pipe(delay(1));\n }\n\n getWidth() {\n let max_length = 0;\n for (let value of this.items) {\n let showValue = this.displayField ? value[this.displayField] : value;\n if (showValue?.length > max_length) {\n max_length = showValue?.length\n }\n }\n if (this.placeholder?.length > max_length)\n max_length = this.placeholder?.length;\n return max_length;\n }\n\n getMinWidth() {\n return window.innerWidth < 600 ? 0 : this.getWidth() + 10;\n }\n\n selectedChanged($event: any) {\n this.selectedItems.emit($event);\n }\n\n compareValues(option: any, selected: any): boolean {\n return isEqual(option, selected);\n }\n}\n","
        \n \n \n\n
        \n \n {{ 'ARTICLE_TAGS.' + item|translate }}\n \n
        \n
        \n \n {{ displayField ? (item[displayField]|translate) : (item|translate) }}\n \n
        \n\n \n {{'ARTICLE_TAGS.' + item|translate}}\n {{ displayField ? (item[displayField]|translate) : (item|translate) }}\n ×\n \n \n
        \n","import { Directive, ElementRef, HostListener } from '@angular/core';\n@Directive({\n selector: '[appTwoDigitDecimalNumber]'\n})\nexport class TwoDigitDecimalPositiveNumberDirective {\n private regex: RegExp = new RegExp(/^\\d+\\.?\\d{0,2}$/g);\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'ArrowLeft', 'ArrowRight', 'Del', 'Delete'];\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (this.specialKeys.includes(event.key)) {\n return;\n }\n const current: string = this.el.nativeElement.value;\n const position = this.el.nativeElement.selectionStart;\n const next: string = [current.slice(0, position), event.key == 'Decimal' ? '.' : event.key, current.slice(position)].join('');\n if (next && !String(next).match(this.regex)) {\n event.preventDefault();\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\n\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\nimport {NgSelectModule} from '@ng-select/ng-select';\n\nimport {CoreCommonModule} from '@core/common.module';\n\nimport {DropdownComponent} from './components/dropdown/dropdown.component';\nimport {RouterModule, Routes} from '@angular/router';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {CookieService} from 'ngx-cookie-service';\nimport {MultipleSelectComponent} from './components/multipleselect/multiple-select/multiple-select.component';\nimport {ConfirmModalComponent} from './components/confirm-modal/confirm-modal.component';\nimport {DatepickerComponent} from './components/datepicker/datepicker.component';\nimport {InputFilterDropdownComponent} from './components/input-filter-dropdown/input-filter-dropdown.component';\nimport {TwoDigitDecimalPositiveNumberDirective} from './directives/two-digit-decimal-positive-number.directive';\n\nconst routes: Routes = [];\n\n@NgModule({\n declarations: [\n DropdownComponent,\n MultipleSelectComponent,\n ConfirmModalComponent,\n DatepickerComponent,\n TwoDigitDecimalPositiveNumberDirective,\n InputFilterDropdownComponent\n ],\n imports: [\n CommonModule,\n CoreCommonModule,\n NgbModule,\n NgSelectModule,\n FormsModule,\n RouterModule.forChild(routes),\n TranslateModule\n ],\n exports: [\n DropdownComponent,\n MultipleSelectComponent,\n ConfirmModalComponent,\n TranslateModule,\n TwoDigitDecimalPositiveNumberDirective,\n InputFilterDropdownComponent,\n DatepickerComponent\n ],\n\n providers: [CookieService]\n})\nexport class SharedModule {\n}\n","import {Injectable} from '@angular/core';\nimport {NgbDateParserFormatter, NgbDateStruct} from '@ng-bootstrap/ng-bootstrap';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomDateParserFormatter extends NgbDateParserFormatter {\n\n readonly DELIMITER = '.';\n\n parse(value: string): NgbDateStruct | null {\n if (value) {\n const date = value.split(this.DELIMITER);\n return {\n day: parseInt(date[0], 10),\n month: parseInt(date[1], 10),\n year: parseInt(date[2], 10)\n };\n }\n return null;\n }\n\n format(date: NgbDateStruct | null): string {\n return date ? ('0' + date.day).slice(-2) + this.DELIMITER\n + ('0' + (date.month)).slice(-2) + this.DELIMITER\n + date.year + this.DELIMITER : '';\n }\n}\n","import {Injectable} from '@angular/core';\n\nconst maxXSWidth = 576;\nconst maxSWidth = 768;\nconst maxMdWidth = 992;\nconst maxLgWidth = 1200;\nconst maxXlWidth = 1400;\n\n@Injectable({\n providedIn: 'root'\n})\n\n// works same as bootstrap responsive grids\nexport class ResponsivenessUtil {\n\n isXs = window.innerWidth < maxXSWidth;\n isS = window.innerWidth >= maxXSWidth;\n isMd = window.innerWidth >= maxSWidth;\n isLg = window.innerWidth >= maxMdWidth;\n isXl = window.innerWidth >= maxLgWidth;\n isXxl = window.innerWidth >= maxXlWidth;\n\n\n setIsScreenSize(screenWidth) {\n this.isXs = screenWidth <= maxXSWidth;\n this.isS = screenWidth >= maxXSWidth;\n this.isMd = screenWidth >= maxSWidth;\n this.isLg = screenWidth >= maxMdWidth;\n this.isXl = screenWidth >= maxLgWidth;\n this.isXxl = screenWidth >= maxXlWidth;\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n hmr: false,\n apiUrl: 'http://localhost:4000'\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\n","import { NgModuleRef, ApplicationRef } from '@angular/core';\n\nimport { createNewHosts } from '@angularclass/hmr';\n\nexport const hmrBootstrap = (module: any, bootstrap: () => Promise>) => {\n let ngModule: NgModuleRef;\n module.hot.accept();\n bootstrap().then(mod => (ngModule = mod));\n module.hot.dispose(() => {\n const appRef: ApplicationRef = ngModule.injector.get(ApplicationRef);\n const elements = appRef.components.map(c => c.location.nativeElement);\n const makeVisible = createNewHosts(elements);\n ngModule.destroy();\n makeVisible();\n });\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nimport { hmrBootstrap } from './hmr';\n\nif (environment.production) {\n enableProdMode();\n}\n\nconst bootstrap = () => platformBrowserDynamic().bootstrapModule(AppModule);\n\nif (environment.hmr) {\n if (module['hot']) {\n hmrBootstrap(module, bootstrap);\n } else {\n /*eslint-disable */\n console.error('HMR is not enabled for webpack-dev-server!');\n console.log('Are you using the --hmr flag for ng serve?');\n /*eslint-enable */\n }\n} else {\n bootstrap().catch(err =>\n /*eslint-disable */\n console.log(err)\n /*eslint-enable */\n );\n}\n"],"names":["trigger","transition","style","query","group","animateChild","animate","fadeInLeft","position","left","width","paddingRight","paddingLeft","opacity","optional","transform","zoomIn","fadeIn","CommonModule","FlexLayoutModule","FormsModule","ReactiveFormsModule","CoreDirectivesModule","CorePipesModule","CoreCommonModule","imports","exports","i0","ctx_r8","ctx_r13","ctx_r18","ctx_r23","CoreCardSnippetComponent","isCollapsed","code","selectBox","document","createElement","value","body","appendChild","focus","select","execCommand","removeChild","setTimeout","copyCodeStatus","snippetCode","Object","_defaultSnippetCode","selectors","inputs","ngContentSelectors","decls","vars","consts","template","NgbModule","HighlightModule","HIGHLIGHT_OPTIONS","CardSnippetModule","provide","useValue","fullLibraryLoader","declarations","Subject","takeUntil","CoreMenuComponent","_changeDetectorRef","_coreMenuService","_unsubscribeAll","menu","getCurrentMenu","onMenuChanged","pipe","subscribe","markForCheck","layout","attrs","RouterModule","TranslateModule","CoreMenuVerticalSectionComponent","CoreMenuVerticalItemComponent","CoreMenuVerticalCollapsibleComponent","CoreMenuHorizontalItemComponent","CoreMenuHorizontalCollapsibleComponent","CoreMenuVerticalIconComponent","CoreMenuModule","forChild","i1","BehaviorSubject","Role","menuSectionApprover","menuSectionParticipantCourse","menuSectionPostsUser","menuSectionCourseAdministration","menuSectionCourseAndPostAdministration","menuSectionGeneralAdministration","menuSectionMagazineAdministration","menuSectionPublicCourses","menuAccessibilityIcon","CoreMenuService","_router","authService","onItemCollapsed","onItemCollapseToggled","_onMenuChanged","asObservable","currentMenu","menuSection","push","length","isLoggedIn","addSectionToMenu","next","currentUserHasRole","SUPERADMIN_SCHAARBEEK","LOCAL_ADMIN","APPROVER_FREE_CLB","PARTICIPANT_FREE","CLB_EXTERNAL_PARTICIPANT","isAcademie","EMAGAZINE_ADMIN","factory","providedIn","NavigationEnd","filter","ctx_r1","el","_coreConfigService","config","coreConfig","events","event","confirmUrlInChildren","item","urlAfterRedirects","isActive","url","complete","isShow","setSubMenuProp","nativeElement","nativeElementChildren","children","classList","contains","innerHeight","window","dropdownTop","getBoundingClientRect","top","dropdownLeft","dropdownHeight","scrollHeight","dropdownWidth","scrollWidth","maxHeight","setAttribute","innerWidth","parentElement","add","parent","child","includes","hostVars","hostBindings","ctx","encapsulation","ctx_r2","ctx_r6","ctx_r9","expand","collapse","clickedItem","confirmItemInChildren","e","preventDefault","isOpen","indexOf","EventEmitter","DOCUMENT","CoreSidebarComponent","_renderer","_elementRef","_coreMediaService","_coreSidebarService","_animationBuilder","_mediaObserver","isOpened","overlayVisibility","hideOnEsc","rootElement","querySelectorAll","collapsedChangedEvent","openedChangedEvent","_collapsed","close","remove","emit","collapsed","_coreConfig","type","menuClass","setSidebarRegistry","name","_setupCollapsibleSidebar","_defaultCollapsed","removeSidebarRegistry","collapsibleSidebar","_wasCollapsible","_wasCollapsed","onMediaUpdate","isCollapsible","iscollapsibleSidebar","expanded","_hideOverlay","_hideSidebar","_overlay","overlayClass","_animationPlayer","build","create","play","addEventListener","onDone","parentNode","addClass","removeClass","expandTemporarily","collapseTemporarily","_showSidebar","_showOverlay","open","CoreSidebarModule","CoreSidebarService","key","_registry","console","warn","sidebar","error","CoreTouchspinComponent","inputValue","maxValue","disabledValueIncrement","minValue","disabledValueDecrement","emitChange","stepValue","undefined","numberValue","onChange","disabledValue","iconChevron","size","color","outputs","CoreTouchspinModule","FormControl","ctx_r7","ctx_r10","ctx_r11","ctx_r12","ctx_r14","ctx_r15","CoreThemeCustomizerComponent","_formBuilder","form","app","appName","appTitle","appLogoImage","appLanguage","skin","animation","hidden","navbar","background","customBackgroundColor","backgroundColor","footer","enableLocalStorage","customizer","scrollTop","buyNow","setValue","emitEvent","get","valueChanges","_resetFormValues","navbarColor","patchValue","navbarColorValue","getSidebarRegistry","toggleOpen","_r4","PerfectScrollbarModule","PERFECT_SCROLLBAR_CONFIG","DEFAULT_PERFECT_SCROLLBAR_CONFIG","suppressScrollX","wheelPropagation","CoreThemeCustomizerModule","CORE_CUSTOM_CONFIG","CoreModule","parentModule","Error","forRoot","ngModule","providers","ElementRef","ChangeDetectorRef","Feather","FeatherIconDirective","_changeDetector","changes","_nativeElement","currentValue","class","svg","icons","toSvg","height","inner","innerHTML","outerHTML","features","Waves","RippleEffectDirective","className","split","some","c","test","attach","wave","FilterPipe","items","searchText","toLowerCase","it","pure","InitialsPipe","fullName","map","n","join","SafePipe","StripHtmlPipe","_sanitizer","bypassSecurityTrustHtml","bypassSecurityTrustStyle","bypassSecurityTrustScript","bypassSecurityTrustUrl","bypassSecurityTrustResourceUrl","replace","InjectionToken","ResolveEnd","_","CoreConfigService","_config","localConfig","JSON","parse","localStorage","getItem","removeItem","_defaultConfig","_initConfig","_configSubject","data","getValue","merge","setItem","stringify","cloneDeep","localDefault","isEqual","param","take","CoreLoadingScreenService","_document","_init","loadingScreenEl","querySelector","hide","animationPlayer","zIndex","debounceTime","distinctUntilChanged","CoreMediaService","currentMediaQuery","media$","change","mqAlias","CoreTranslationService","_translateService","args","locales","forEach","setTranslation","locale","lang","AuthGuard","routes","path","loadChildren","then","m","PublicModule","canActivate","ProfileModule","roles","AdminModule","CoursesModule","PostsModule","AppRoutingModule","paramsInheritanceStrategy","onSameUrlNavigation","CookieConsentModalComponent","AppComponent","_title","_coreLoadingScreenService","_coreTranslationService","responsivenessUtil","route","localizationService","localStorageService","platformConfigurationService","modalService","initializationService","setMenu","addLangs","setDefaultLang","use","getLanguage","fetchPortalConfiguration","initialize","init","langObserver","res","setLanguage","queryParamMap","params","getElementsByClassName","removeAttribute","setTitle","isCookieConsentGiven","setIsScreenSize","ngbModalOptions","centered","backdrop","keyboard","setIsMobile","internalUrls","getAllInternalUrls","origin","payload","BrowserModule","BrowserAnimationsModule","HTTP_INTERCEPTORS","HttpClient","HttpClientModule","ToastrModule","TranslateLoader","ContextMenuModule","LayoutModule","ContentHeaderModule","TranslateHttpLoader","SharedModule","ErrorInterceptor","TokenInterceptor","MiscellaneousModule","ProfileService","HttpLoaderFactory","http","AppModule","bootstrap","useClass","multi","loader","useFactory","deps","i2","i3","NavigationStart","AlertType","ctx_r3","AlertComponent","router","alertService","alertSubscription","onAlert","id","alerts","alert","autoClose","removeAlert","routeSubscription","clear","unsubscribe","fade","find","x","classes","alertTypeClass","Success","Info","Warning","PaginationComponent","NgbPaginationModule","CoreComponentsModule","selectedPage","page","pageChange","pageSize","pageSizeChange","collectionSize","_authenticationService","state","location","pathname","navigateByUrl","navigate","checkIfRouteContainsRole","userRoles","getRoles","routeRoles","hasRole","userRole","throwError","catchError","_authService","translate","request","handle","err","status","translationKey","statusText","closeButton","keepAfterRouteChange","TokenInterceptorUtil","headers","has","setHeaders","getToken","BreadcrumbComponent","breadcrumb","BreadcrumbModule","ContentHeaderComponent","contentHeader","ContentComponent","outlet","activatedRouteData","ContentModule","FooterComponent","Date","getFullYear","ScrollTopComponent","FooterModule","pageYOffset","topOffset","documentElement","windowScrolled","smoothscroll","currentScroll","requestAnimationFrame","scrollTo","HorizontalMenuComponent","HorizontalMenuModule","MenuComponent","_menuType","menuType","VerticalMenuModule","MenuModule","PerfectScrollbarDirective","VerticalMenuComponent","directiveRef","scrollToElement","y","isScrolled","getConfig","setConfig","viewQuery","ctx_r4","NavbarComponent","profileService","languageOptions","en","title","flag","fr","de","pt","language","selectedLanguage","currentSkin","prevSkin","horizontalMenu","hiddenMenu","isFixed","isFixedTop","currentLang","NavbarModule","BREAKPOINT","BS_BREAKPOINTS","alias","overlapping","mediaQuery","suffix","CustomBreakPointsProvider","HorizontalLayoutComponent","HorizontalLayoutModule","VerticalLayoutModule","withConfig","disableDefaultBps","VerticalLayoutComponent","icon","role","iconUrl","openInNewTab","tooltip","disabled","exactMatch","Alert","assign","AlertService","defaultId","subject","message","options","instant","BASE_URL","AuthService","cookieService","loginData","post","clearUserData","deleteAll","token","setToken","setRoles","email","decodeToken","_a","vo_email","sub","_b","isAcademieAdmin","isApprover","isMagazineAdmin","getAcademieRoles","getMagazineRoles","jwtData","jwtFormattedData","decodedJwtJsonData","atob","requestResetPassword","password","linkHash","loginOccurred","lastLogin","setLastLogin","getLastLogin","CourseConstantsService","COURSE_API","courseId","moveParticipants","CourseFilterService","courseConstantsService","userCourseFilterService","schoolYear","startDate","endDate","stringRepresentation","groupBy","sortKey","noValueTranslation","courseType","applicationStatus","getFilterConstants","getCourseConstantsForFilters","courseConstants","currentFilters","currentSchoolYear","subordinateFilters","courseConstants$","setSortWithGrouping","dateFrom","dateTo","sortBy","sortWithGrouping","getUsersCourseFilter","organiserType","loadSortBy","speakers","courseStatuses","courseApplicationStatuses","tags","provinces","disciplines","disciplinesPrimary","disciplinesSecondary","coreProcesses","formationTypes","usersCourseFilter","saveUsersCourseFilter","InitializationService","courseFilterService","userLoggedInActions","loadUsersCourseFilter","TOKEN","ROLES","LANGUAGE","LAST_LOGIN","LocalStorageService","emitRoleChangeEvent","languageId","lastLoginInString","rolesChanged","LocalizationService","_localStorageService","getLanguageById","reload","PlatformConfigurationService","PLATFORM_CONFIGURATION_API","magazineUrl","academieUrl","platformUrl","environment","configurationFetched","EXTERNAL_TEACHERS","INTERNAL_TEACHERS","MANAGER_FREE_CLB","PAYER_FREE_CLB","EMAGAZINE_READER","tap","profilePicture","userProfile","imageSrc","userProfileInfo","changePasswordDto","UserCourseFilterService","userId","setAuthorizationHeader","clone","Authorization","ErrorComponent","MaintenanceComponent","NotAuthorizedComponent","component","redirectTo","activeModal","sendCookieConsentToOtherApps","shouldShowLoading","dismiss","subscribeForPortalConfiguration","iframeAcademie","getElementsByTagName","contentWindow","iframeMagazine","src","configuration","postMessage","ConfirmModalComponent","btnOkText","btnCancelText","NgbDate","NgbDateParserFormatter","CustomDateParserFormatter","DatepickerComponent","date","parsedDate","getMonth","getDate","dateToReturn","year","month","day","selectedDate","placeholder","setDateFromDateString","UTC","isNaN","getTime","invalidDateTranslate","_r0","DropdownComponent","selectedItemInternal","setSelectedOption","firstValue","_c","option","displayField","selectedOption","of","delay","clear_r3","InputFilterDropdownComponent","itemSelect","$event","selectedItem","searchTerm","term","customStyle","hasError","clear_r8","MultipleSelectComponent","selectMulti","max_length","showValue","getWidth","selectedItems","selected","selectedItemsInternal","hasSetWidth","submitted","searchable","isArticleTag","isPublished","TwoDigitDecimalPositiveNumberDirective","RegExp","specialKeys","current","selectionStart","slice","String","match","regex","NgSelectModule","CookieService","DELIMITER","parseInt","t","maxXSWidth","maxSWidth","maxMdWidth","maxLgWidth","maxXlWidth","ResponsivenessUtil","screenWidth","isXs","isS","isMd","isLg","isXl","isXxl","production","hmr","apiUrl","ApplicationRef","createNewHosts","hmrBootstrap","module","hot","accept","mod","dispose","appRef","injector","elements","components","makeVisible","destroy","enableProdMode","__NgCli_bootstrap_1","bootstrapModule","log","catch"],"sourceRoot":"webpack:///"}